P0,P2口分别接两个八段数码管,显示秒的十个与个位,实现00~99的显示,P3.7接按键,实现秒表的启动,暂停与清零(长按则清零),用定时器方式实现准确的秒表计数。
单片机源程序如下:
- #include<reg51.h>//头文件
- #include"button.h"//头文件
- #include"interrupt.h"//头文件
- #include"led.h"//头文件
- #define uchar unsigned char//定义数据类型
- uchar led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //定义字模
- uchar count=0;//定义变量
- uchar judge=0;
- uchar i=0;
- long ling=0;
- void main()//主函数
- {
- TMOD=0x01;//设置定时器工作方式为2
- TH0=(65535-50000)/256;//给定时器高位赋初值,50ms
- TL0=(65535-50000)%256;//给定时器低位赋初值,50ms
- EA=1;//CPU全局中断
- ET0=1;
- TR0=0;
- while(1)
- {
- button();//按键函数
- led_2();//数码管显示函数
- }
- }
复制代码 全部资料51hei下载地址:
秒表.zip
(46.9 KB, 下载次数: 40)
|