c语言单片机计时程序,C51单片机秒表计时(C语言)

本文介绍了一个基于C51单片机的秒表设计,通过定时器0实现10ms中断累计计时,并利用外部中断响应按键操作完成开始、暂停及复位功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《C51单片机秒表计时(C语言)》由会员分享,可在线阅读,更多相关《C51单片机秒表计时(C语言)(4页珍藏版)》请在人人文库网上搜索。

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,。

2、0x06,0x5B,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();P3。

3、5=1;p=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;。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值