今天小编要和大家分享的是控制,MCU相关信息,接下来我将从AT89S52单片机实现多功能数字钟的设计,封神英雄榜这几个方面来介绍。

控制,MCU相关技术文章AT89S52单片机实现多功能数字钟的设计封神英雄榜

控制,MCU相关技术文章AT89S52单片机实现多功能数字钟的设计

一:电路原理和器件选择

制作电路:单片机(AT89S52)实现多功能数字钟

性能指标:该数字钟实现时钟运行,调整,倒计时,秒表功能,且精确度经调试一天的误差在2S内。

实现原理:利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

AT89S52单片机实现多功能数字钟的设计

电路主要模块及原理图:

1.数码显示硬件驱动

数码管驱动电路

2.单片机最小系统:

单片机最小系统

3.LED及单片机电源原理图

LED及单片机电源

4.外部控制状态输入模块原理图

外部控制状态输入模块原理图

主要元器件选择:

单片机:AT89S52采用市场上比较常用的AT89S52,这里采用AT89S52而不是AT89S51是为了最大限度减小误差,因为要实现多功能(例如秒表,时钟,倒计时)为了相互之间不干扰而要用到3个定时/计数器,而51系列只有2个,而52系列有3个,故采用52系列

三极管:用来进行数码管显示的位选,这里采用PNP管

数码管:采用共阳级四位数码管

晶振:采用的是11.0592MHZ的晶振

电源部分:采用5V电压供电,采用的是L7805稳压芯片供电(加滤波)

电阻:大部分时限流电阻,阻值为4.7K或10K,1K

端口分配及连接:

P0:LED数码管显示内容通过P1口从单片机传送到数码管

P2.4-P2.7:数码管位选控制端口

P2.0-P2.3:分别连接开关K0,K1,K2,K3通过不同的组合实现外部控制程序状态

P1.0:蜂鸣器,倒计时完毕产生鸣响

P1.2-P1.5:四个发光二极管,显示当前时钟状态

完整的源程序如下:

附程序源代码及注释

#include

#include

#define uint unsigned int

#define uchar unsigned char

/*定义P2口各管脚*/

sbit K0=P2^2;

sbit K1=P2^1;

sbit K2=P2^0;

sbit K3=P2^3;

sbit D0=P2^4;

sbit D1=P2^5;