标题:
51单片机时钟程序,初始时间为23时59分55秒,24时自动归零
[打印本页]
作者:
Astronomy_love
时间:
2018-5-23 13:22
标题:
51单片机时钟程序,初始时间为23时59分55秒,24时自动归零
51单片机时钟程序,定时中断,初始时间为23时59分55秒,24时自动归零
实验三 定时/计数器实验
一、实验目的
(1)掌握定时器/计数器的工作原理;
(2)掌握用C 语言程序实现 LED动态显示的方法;
(3)掌握C 程序下定时中断程序设计调试方法。
二、实验内容
(1)熟悉Proteus 软件,了解软件的结构组成与功能;
(2)熟悉uVision3 编译软件,了解软件的结构组成与功能;
(3)学习C51 语言的程序设计方法;
(4)用定时器/计数器 T0 实现 200ms 定时,控制 LED 闪烁;定时器/计数器 T1 实现
1 秒定时,在数码管上显示 2位数字,每秒加 1。
三、实验步骤
(1)按照下图,在 ISIS 中绘制电路原理图;
(2)在uVision3 中编写 C51 程序;
(3)利用uVision3 的编译调试功能检查程序的语法和逻辑错误;
(4)下载可执行文件,在 Proteus 中观察仿真结果,检验程序的正确性。
0.png
(49.42 KB, 下载次数: 75)
下载附件
2018-5-24 04:55 上传
0.png
(56.73 KB, 下载次数: 61)
下载附件
2018-5-24 04:55 上传
单片机源程序如下:
#include<reg51.h>
unsigned char code LED[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char hour=23,min=59,sec=59;
unsigned char num1=0,num2=0;
sbit led1=P1^0;
void display(unsigned char,unsigned char,unsigned char);
void delay(unsigned int time)
{
unsigned int j = 0;
for(;time>0;time--)
for(j=0;j<125;j++);
}
void main(void)
{
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
while(1)
{
display(hour,min,sec);
}
}
void display(unsigned char hour,unsigned char min,unsigned sec)
{
P0=LED[hour/10];
P2=0xfe;
delay(1);
P2=0xff;
P0=LED[hour%10];
P2=0xfd;
delay(1);
P2=0xff;
P0=LED[min/10];
P2=0xfb;
delay(1);
P2=0xff;
P0=LED[min%10];
P2=0xf7;
delay(1);
P2=0xff;
P0=LED[sec/10];
P2=0xef;
delay(1);
P2=0xff;
P0=LED[sec%10];
P2=0xdf;
delay(1);
P2=0xff;
}
void T0_time() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num1++;
if(num1==4)
{
num1=0;
led1=!led1;
}
}
void T1_time() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
num2++;
if(num2==20)
{
num2=0;
sec++;
if(sec==60)
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
实验三 定时器.zip
(203.16 KB, 下载次数: 171)
2018-5-23 13:20 上传
点击文件名下载附件
时钟程序
下载积分: 黑币 -5
作者:
ponuyy
时间:
2018-9-30 19:10
本帖最后由 ponuyy 于 2018-10-2 01:57 编辑
如果用7SEG-MPX8的话,这个程序需要怎么改,就是把第三个和第五个数码管改成横杠显示,程序怎么搞
作者:
qq1971190425
时间:
2019-6-21 09:13
谢谢大佬 感激不尽
作者:
佛士大夫
时间:
2019-6-23 21:50
感觉还可以
作者:
不喜。
时间:
2019-10-12 08:52
为什么源码和仿真都打不开???
作者:
凌驾1
时间:
2020-5-23 19:14
挺好的。
作者:
yujianwen
时间:
2020-5-27 20:47
是真的写的好!
作者:
ak333
时间:
2020-5-28 11:03
学习了,谢谢分享,代码看着写得很好,
作者:
jushuaibing
时间:
2020-6-7 20:07
感谢大佬 感激
作者:
jushuaibing
时间:
2020-6-7 20:08
感谢大佬 帮了我大忙了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1