“导航按键”程序设计说明
1 程序设计思想框架说明
系统初始化InitSYS();
ADC初始化InitADC();
如果计时器T0溢出,跳入计时器中断,显示数码管或发光二极管。
如果ADC采集完,跳入ADC中断,首先关闭所有中断,防止数据没有采集完就进入新的中断。然后,将ADC_FLAG位清零。之后,接收转换结果并进行累计,如果累计了1000次,去这一千次的平均值作为转换结果,送到数码管和发光二极管显示。最后,将ADC_START进行软件置位,并开启中断。
程序总框图设计流程
2定义及函数说明
定义说明
sbit SEL0 = P2^0; //SEL0、SEL1、SEL2为3-8译码器3位选择位
sbit SEL1 = P2^1;
sbit SEL2 = P2^2;
sbit LED_SEL = P2^3; //发光二极管和数码管选择位
uint global = 0; //1000次计数值
uint date_h = 0; //ADC采集结果高8位接收变量
ulint sum = 0; //1000次采集和
uint x = 0; //ADC采集结果高三位
uint y = 0; //ADC采集结果低五位
uchar seg_flag; //数码管位选和发光二极管选择标志
//0123456789-
char duanxuan[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
//选择哪一位数码管
uchar weixua
导航按键程序设计说明 来自淘豆网m.daumloan.com转载请标明出处.