网站大量收购闲置独家精品文档,联系QQ:2885784924

《单片机应用实训教程》课件第3章.ppt

  1. 1、本文档共211页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

clockbuf[0]=23; //设置时钟单元初值clockbuf[1]=59;clockbuf[2]=56;msec1=0; //设置10ms中断次数初值msec2=0; //设置1s中断次数初值timdata=0; //时钟内容修改位置记忆单元清零rtimdata=0; //闹钟内容修改位置记忆单元清零count=0; //闹钟启动后保持10s计时单元清零TMOD=0x02; //初始化定时器,定时器T0方式2TL1=0x06; //定时250μs初始值TH1=0x06;EA=1; //中断允许控制断ET0=1; //定时器1开中断TR0=1; //启动定时器0dis_p=clockbuf; //将时钟值送入显示指针dis_p=1;while(1){a=keytest();if(a==0x0f){ //调用判别键入测试程序display(dis_p); //无键输入调用显示程序if(armbit=1)alarm();} //判别闹钟设定否,若设定了,则调闹钟程序else{display(dis_p); //调用显示程序作为延时去抖动a=keytest(); if(a!=0x0f){ //没有抖动,则表示有键按下a=search(); //调用键号测试程序switch(a){case0x00:ftion0();break; //若是时钟参数修改功能键,则调用时钟修 改程序case0x01:ftion1();break; //若是闹钟参数修改功能键,则调用闹钟设 定程序case0x02:cum();break; //若是加1功能键,则调用加1修改程序default:break;}}}}}//****************6位LED扫描函数***************voiddisplay(unsignedchar*p){unsignedcharbuffer[]={0,0,0,0,0,0};unsignedchark,i,j,m,temp;unsignedcharled[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9的显示码buffer[0]=p[0]/10; //将缓冲区中的数的十位和个位分开buffer[1]=p[0]%10;buffer[2]=p[1]/10;buffer[3]=p[1]%10;buffer[4]=p[2]/10;buffer[5]=p[2]%10;for(k=0;k3;k++){temp=0x01;for(i=0;i6;i++) { PORTA=0xff; j=buffer[i]; PORTB=led[j]; //B口送段码PORTA=~temp; //A口选位temp=1;for(m=0;m100;m++); //每一位显示延时}}}//**************键盘测试函数***************unsignedcharkeytest(){unsignedcharc;PORTB=0x00;PORTA=0x00;c=PORTC;c=c0x0f;return(c);}//**********扫描键盘得到键值函数**********unsignedcharsearch(){unsignedchara,b,c,d,e;c=0xfe;

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档