用了两天 边学习边复习 可算是写出来了。
define.h
#ifndef __DEFINE_H__ #define __DEFINE_H__ #include "stc15.h" typedef unsigned char uchar; typedef unsigned int uint; #define Y4 P2 = (P2 & 0x1f)|0x80 #define Y5 P2 = (P2 & 0x1f)|0xa0 #define Y6 P2 = (P2 & 0x1f)|0xc0 #define Y7 P2 = (P2 & 0x1f)|0xe0 #define Y0 P2 = 0x1f #define KeyPort P3 #endif
main.h
#include "define.h"
//段码
uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};
uchar nu[8];
//按键用
uint key_f_t;//
uchar key_f;//10ms标志
uchar Trg,Cont,ReadData;//储存扫描的按键数据
//led用
uchar run_mode;//当前运行的模式
uint led_f_t;
uchar led_f;//流转标志
uchar led_run_f=0;//停止/运行标志
uchar led_i;//灯编号
//pwm设置亮度使用
uchar light,pwm_t,led;//亮度等级、pww_t、具有pwm性质的变量
uchar light_dat;//Rb2读取的数据
//数码管用
uint ds_i;//数码管编号
uint ds_t;
uchar ds_f=0xff;//数码管亮灭标志
//很多都在用
uchar mode = 0;//储存模式
uchar set;//设置编号
uint ms;//100us 转ms
uchar ms_t;//
uint led_t[4];//变化间隔
void Timer0Init(void);//定时器0,1ms
void cls_buzz();//关闭蜂鸣器、继电器
void Delay1ms();//1ms延时函数
void Timer0Init(void);//定时器0初始化函数, 0.1ms
void CA();//计算每个数码管应显示的数值
void led_run();
void display();
void display_time();
void display_mode();
void KeyScan();
void key_deal();
void Write_24C02(uchar addr, uchar dat);//写24C02寄存器
uchar Read_24C02(uchar addr);
void load();
void Read_AIN3();
void get_light();main.c
//太长了不贴了
我要赚赏金
