《C51单片机秒表计时(C语言).pdf》由会员分享,可在线阅读,更多相关《C51单片机秒表计时(C语言).pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 南开大学滨海学院C51 嵌 入 式 软 件 设 计(C语 言)题目:计时秒表功能描述:本设计实现在 99 秒内的秒表计时,一个按键实现开始、暂停、复位。原理概述:P1 接四位七段数码管,接一按键产生外部中断 0,控制扫描显示。计时使用定时器0 产生 10ms中断累计。按键不同次序决定了对应的控制功能,因为第一次按键必定为开始计时,所以第二次按键判断为暂停,依次第三次为置零。主程序调用显示程序,显示程序实时显示计时时间。效果显示2 图一(电路总图)图二(效果显示)注:第四位显示为单位:S程序清单#include#includeunsigned char Tab=0 x3F,0 x06,0 x
2、5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F;sbit P37=P37;sbit P36=P36;sbit P35=P35;sbit P34=P34;unsigned int a=0,cout=0,mm=0;x,y,p,q;/*延时*/void delay()i nt g;f or(g=70;g0;g-);/*显示程序*/3 void display()x=cout/10;/秒十位P34=0;P1=Tabx;delay();P34=1;y=cout-x*10;/秒各位P35=0;P1=Taby;delay();P1=0 x80;delay();P35
3、=1;p=mm/10;/ms的高位P36=0;P1=Tabp;delay();P36=1;P37=0;/显示单位:SP1=Tab5;delay();P37=1;/*主程序*/void main()I T0=1;EX0=1;ET0=1;TMOD=0 x01;TH0=0 xD8;/装初值,10msTL0=0 xF0;EA=1;while(1)display();/*外部按键中断子程序*/void int0()interrupt 0i f(a=0)/开始计时 TR0=1;mm=0;a+;else if(a=1)/暂停计时 TR0=0;a+;else/置零 a=0;m m=0;cout=0;4/*定时器子程序*/void time0()interrupt 1 TH0=0 xD8;TL0=0 xF0;m m+;i f(mm=80)/考虑其它损耗,调整后约为1S cout+;mm=0;