2.1记录

一、SMG模板

(一)调试后得到的结论

(1)按住按键不懂可连续产生键值,相当于连续按键

nDelaykey = 80;写在DisposeKey()中

(2)按键控制的功能——设置后,应该从变化过程的开始进行(重新流水,重新倒计时)

stop = 0;L_flag=0;

(3)流水灯和动态显示对P0的占用——进行完倒计时再进行流水灯

两个过程不重叠——则在中断函数中设置不同的nTimer

if(stop==1) nTimerSMG++

else if(stop==0&&Led_flag == 1)nTimerLED++

(二)模板

S1动态显示

Init_T0();        Service_T0()  {重新赋值; SMG清显+位选+送值+指针回位;}

main(){Init_t0();while(1){}}

S2倒计时=(中断函数中计时)+(主循环中 间隔-- + 至0停止)

Service_T0()  {  ;  ;计时nTimerSMG++}(中断函数中计时)

main ()  {  ;while(1){if(nTimerSMG >= 200) {nTimerSMG= 0; if(stop) Data--;  if(Data == 0) stop = 0;}}}(主循环中 间隔-- + 至0停止)

S3键控启停倒计时=(中断 扫描按键)+(处理按键函数 启停标志)

Service_T0{  ;  ;  ;if{if else} else{if{if}}; }

Dispose_Key{switch(Keycode){case 0x0c: if(bloose==0){stop= !stop;bloose = 1;}}}

S4键控设值倒计时=(处理按键函数 范围内加减值+按键设置后状态暂停+连续按键设置)

Dispos_Key() {case 0x18: if(Data<9999)Data++; flag = 0;L_flag = 0; nDelaykey = 80 }

S5流水灯和动态显示对P0的占用——进行完倒计时再进行流水灯

两个过程不重叠——则在中断函数中设置不同的nTimer

if(stop==1) nTimerSMG++

else if(stop==0&&Led_flag == 1)nTimerLED++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值