数码管计数00~99.

数码管计数00~99.

ID:11325744

大小:97.84 KB

页数:4页

时间:2018-07-11

数码管计数00~99._第1页
数码管计数00~99._第2页
数码管计数00~99._第3页
数码管计数00~99._第4页
资源描述:

《数码管计数00~99.》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单片机作业项目训练2:如图一电路所示,编程开机显示op51,按下k16键,四位数码管后四位开始计数00~99.图一一:程序流程图如图二所示图二二:程序如下#include#defineucharunsignedchar#defineuintunsignedintsbitdp=P2^7;sbitg=P2^6;sbitf=P2^5;sbite=P2^4;sbitd=P2^3;sbitc=P2^2;sbitb=P2^1;sbita=P2^0;sbitP1_7=P1^7;sbitP1_6=P1^6;sbitP1_5=P1^5;sbitP1_4=

2、P1^4;voiddelayx1ms(uintcount);//声明1ms延时子程序voiddisp_op51();//声明显示op51的子程序voidset_init_xint();//声明外部中断0初始化子程序voidset_init_timer();//声明定时器To初始化子程序voidshizhong();//00~99计数ucharcodedis_op51[]={0xc0,0x8c,0x92,0xf9};//op51/11000000/10001100/10010010/11111001ucharcodedis_playp1[10]={0xc0

3、,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};//0~9ucharx=1,n=0;intmain(){set_init_xint();//调用外部中断0初始化子程序set_init_timer();//调用定时器T0初始化子程序switch(x){case1:do{disp_op51();//显示op51的子程序}while(1);break;case2:do{shizhong();//动态显示00~99计数;}while(1);break;}return0;}voiddisp_op51(){P1=0x7f

4、;//01111111P2=dis_op51[0];delayx1ms(5);P1=0xbf;//10001111P2=dis_op51[1];delayx1ms(5);P1=0xdf;//11011111P2=dis_op51[2];delayx1ms(5);P1=0xef;//11101111P2=dis_op51[3];delayx1ms(5);}voiddelayx1ms(uintcount)//12Mhz{uintj;while(count--!=0){for(j=0;j<72;j++);}}voidset_init_xint()//{IT0=

5、1;//外部中断0,边沿触发方式EX0=1;//中断0开中断EA=1;//开总中断}voidset_init_timer()//{TMOD=0X01;TH0=0XD8;TL0=0XF0;ET0=1;}run_xint0()interrupt0using1//外部中断0服务程序,使用1组寄存器{TR0=1;}run_timer0()interrupt1using2//定时器T0服务程序,使用2组寄存器{TH0=0XD8;TL0=0XF0;n++;if(n==100){n=0;x=2;}}voidshizhong()//00~99计数显示{uinti,j;j

6、=0;for(i=0;i<10;i++){P1=0xdf;P2=dis_playp1[j];delayx1ms(5);P1=0xef;P2=dis_playp1[i];delayx1ms(5);}if(i==10){j++;if(j>=10){j=j%10;}}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。