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