态 输出
uint8 i,r; r = 0;
for (i = 0; i < 4; i ++) { r |= ((t_kb[i].kb_s == 1) << i);
//将 按下的按键状
}
return r; }
int main (void) {
//添加按键的硬件端口部分初始化程序(如果需要的话)。。。
//添加led段码管相关硬件的初始化程序(如果需要的话)。。。 //注意:需要完成 led_display() 函数,将 leds[] 数组的数输
出到led灯上
//添加定时器初始化程序(必须要一个 5ms 的 循环 定时
器,在 定时器的中断服务程序中调用 tmr_isr())。。。
//注意:tmr_isr() 函数里的 “kb_updata(0, 0, 0, 0);” 处传递
的参数用实际的按键状态填充,否则,按键无效。
//按键初始化
uint8 ikb,flag_5=0,flag_0=0; t0_int();
kb_init(); P2_0=0; for(;;) {
alm1 = flag_8; alm2 = flag_9; if(num>=100) {
flag_6=0; num=0; TR1=0; }
ikb = kb_getstatus();
26
//
记录
记录
记录
记录
//
if(flag_1!=0)scr_cur=0; if (scr_cur == 1) { //时间设置页面
if (scr_cur != scr_curc) { scr_curc = scr_cur; //更新页面序号
scr_setting(ikb, 1); //页面切换后进入 } else {
scr_curc = scr_cur; //更新页面序号
scr_setting(ikb, 0); //页面未切换 } } else { //正常显示页面 if (scr_cur != scr_curc) { scr_curc = scr_cur; //更新页面序号 scr_normal(ikb, 1); //页面切换后进入 } else {
scr_curc = scr_cur; //更新页面序号
scr_normal(ikb, 0); //页面未切换 } }
led_display(); //led数据输出
if(value!=tmr_sec) {
if(tmr_sec==0) {
flag_2++; if(flag_2==4)flag_2=0; if(flag_2%2==0) {
27
flag_7=0; P3_0=0; P3_1=0; flag_10=0; flag_0=0; }
if(flag_2%2==1) { flag_7=1; P3_0=1; P3_1=1; flag_0=1; }
}
}
value=tmr_sec;
if(flag_0==1)continue; else {
if(hj_jc==0) {
delayms(10); if(hj_jc==0) {
P3_0=0; P3_1=0; } // P2_0=0; }
if(hj_jc==1) {
delayms(10); { if(hj_jc==1) { /*
28
if((P2_5==1)&&(P2_6==1)&&(P2_7==1)&&((flag_6==0)||(flag_5!=0)))
{ P3_0=0; P3_1=0; } */ if(flag_6==0) { if(P2_5==0) { flag_5=1; P3_0=1; P3_1=0; if(flag_9)flag_10=1; else flag_10=0; } if(P2_7==0) { flag_5=2; P3_0=0; P3_1=1; if(flag_8)flag_10=2; else flag_10=0; } } switch(flag_5) { case 1: if(P2_6==0) { flag_6=1; flag_5=0; P3_0=0; P3_1=1; if(flag_8)flag_10=2; else flag_10=0; } break; case 2: if(P2_6==0) { flag_6=2; flag_5=0; P3_0=1; P3_1=0; if(flag_9)flag_10=1; else flag_10=0;
29
} break; } switch(flag_6) { case 1: if(P2_7==0) { // flag_6=0; } } } } // if (((flag_8 flag_9)&&(flag_7==1)))P2_0=1;
// else P2_0=0; } return 0; }
P3_0=0; P3_1=0; flag_10=0; TR1=1; } break; case 2: if(P2_5==0) { // flag_6=0; P3_0=0; P3_1=0; flag_10=0; TR1=1; } break; || flag_9)&&(flag_10==1))||((flag_8
||
30
} 目录
一、 摘要……………………………………………………………(1) 二、 方案论证与比较………………………………………..(2) 三、 硬件设计……………………………………………………..(4) 四、 软件设计……………………………………………………..(5) 五、 系统测试………………………………………………………(7) 六、 总结…………………...............................................................(8) 七、 参考文献……………………………………………….
31