单片机原理及应用课程设计报告
for(i=400;i>0;i--){}}
void delay10ms(void){
unsigned char i,u; for(i=20;i>0;i--) for(u=200;u>0;u--);}
void keycode(){
uchar key,i=0;int a=0;P1=0xff;P1_7=0;key=P1&0x0f;if(key!=0x0f){
delay10ms();key=P1&0x0f;if(key!=0x0f){
switch(key){
case 0x0e: keycode1++; break;//当为key13按下时,改变模式
case 0x0d: keycode2++; break;//当key14按下时,改变时或分或秒,由这个键来选择
case 0x0b: keycode3=1;break;//当为key15按下时,短按加1长按以10倍单位时间加
case 0x07: keycode4=1;break;//当为key16按下时,短按减1长按以10倍时间减}
key=key&0x0f;while(key!=0x0f){key=P1;key=key&0x0f;i++;if(i==250){i=0;a++;if(a==150)
{a=0;
keytcount++;if(keytcount==6){
keytcount=0;}}}}}}}
void set_alarm(){
if(keycode2==0){
P2_2=0;//用来区别是否在改的状态,让时分暗一些P2_3=0;P2_4=0;P2_5=0;
if(keycode3==1){
if(keytcount==0){
alarm_second++;}
alarm_second=alarm_second+keytcount*10;
//长按以10倍加keytcount=0;
if(alarm_second==60){
alarm_second=0;}
if(alarm_second>60)返回从个位开始{
alarm_second=alarm_second-60;}
keycode3=0;}
if(keycode4==1){
//减秒
//超过60
//单击以1倍加//加秒
//改秒
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育单片机原理及应用课程设计报告(8)全文阅读和word下载服务。
相关推荐: