欢迎来到天天文库
浏览记录
ID:48535345
大小:37.00 KB
页数:4页
时间:2020-01-26
《C51单片机秒表计时(C语言).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、南开大学滨海学院C51嵌入式软件设计(C语言)题目:计时秒表l功能描述:本设计实现在99秒内的秒表计时,一个按键实现开始、暂停、复位。l原理概述:P1接四位七段数码管,P3.2接一按键产生外部中断0,P3.4-P3.7控制扫描显示。计时使用定时器0产生10ms中断累计。按键不同次序决定了对应的控制功能,因为第一次按键必定为开始计时,所以第二次按键判断为暂停,依次第三次为置零。主程序调用显示程序,显示程序实时显示计时时间。l效果显示4/4l图一(电路总图)l图二(效果显示)注:第四位显示为单位:Sl程序清单#inclu
2、de#includeunsignedcharTab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};sbitP37=P3^7;sbitP36=P3^6;sbitP35=P3^5;sbitP34=P3^4;unsignedinta=0,cout=0,mm=0;x,y,p,q;/*********延时*********************/voiddelay(){intg;for(g=70;g>0;g--);}/*****
3、****显示程序*****************/4/4voiddisplay(){x=cout/10;//秒十位P34=0;P1=Tab[x];delay();P34=1;y=cout-x*10;//秒各位P35=0;P1=Tab[y];delay();P1=0x80;delay();P35=1;p=mm/10;//ms的高位P36=0;P1=Tab[p];delay();P36=1;P37=0;//显示单位:SP1=Tab[5];delay();P37=1;}/*********主程序*************
4、*******/voidmain(){IT0=1;EX0=1;ET0=1;TMOD=0x01;TH0=0xD8;//装初值,10msTL0=0xF0;EA=1;while(1){display();};}/*********外部按键中断子程序*********/voidint0()interrupt0{if(a==0)//开始计时{TR0=1;mm=0;a++;}elseif(a==1)//暂停计时{TR0=0;a++;}else//置零{a=0;mm=0;cout=0;}}4/4/*********定时器子程序**
5、**************/voidtime0()interrupt1{TH0=0xD8;TL0=0xF0;mm++;if(mm==80)//考虑其它损耗,调整后约为1S{cout++;mm=0;}}4/4
此文档下载收益归作者所有