单片机(5)

2018-11-21 21:29

第二章 硬件电路设计

17

图3.5 电子钟基本部分参考电路原理图

2.9 本章小结

本章介绍的是本设计的硬件结构,单片机的相关I/O口输入输出就可以实现相应的控制功能。还介绍了单片机的复位电路和时钟电路。

1 7

18

第二章 硬件电路设计

18

第三章 系统软件的设计

19

第三章 系统软件的设计

在基于单片机8051的控制下,实现时、分、秒的基本功能,本系统主要分为主程序和中断程序两大模块。我们通过8051单片机的基本的C语言进行其逻辑编程,使其实现上述功能。

3.1 调时功能

给三个按键,当8051单片机的P1.0端口的键按下,即P1.0端口检测到

低电平时,则进入调秒状态,当P1.1端口的键按下,则进入调分的状态;当P1.2端口的键按下,则进入调时的状态。当P1.0~P1.2所对应的键抬起,即对应的端口检测到高电平,则退出调时状态,进行正常的时钟显示。由于按键的过程中,存在按键的抖动,从而有时会使得误判断,而进入调时功能状态,对此,我们加入了去抖,其流程图如图4.1所示:

19

20

第三章 系统软件的设计

有按键信号?Y延时等待N仍有按键信号?Y按键处理N

图4.1按键去抖程序图

3.2 显示功能

由于我们需要显示的数字不是很多,故本系统采用数码管进行显示。系统

的时分秒显示部件由两只三位七段共阳极的LED数码管构成,为了保护各段LED不被损坏,我们加入了限流电阻。前两位用于时的显示,第三和第四位用于分钟的显示,第五和第六位用于秒的显示。

3.3 程序设计

本章主要对实现时分秒功能具体程序的设计,保证得到准确的时分秒显

示,及调时功能。

/*

* Desc:DS12C887 6位数码管显示 * */

#include

2 0

第三章 系统软件的设计

#define SEG_DAT P0 #define SEG_BIT P2 #define DS_DAT P0 #define DS_SEC 0x00 #define DS_MIN 0x02 #define DS_HOR 0x04 #define DS_WEK 0x06 #define DS_DAY 0x07 #define DS_MON 0x08 #define DS_YER 0x09 #define DS_R_A 0x0A #define DS_R_B 0x0B #define DS_R_C 0x0C #define DS_R_D 0x0D

#define DS_Y_S 0x0E //年千百位

#define CNT_M 30 //控制闪烁速度,为偶数

#define BCD_DEC(X) (((X & 0xF0) >> 4) * 10 + (X & 0x0F)) #define DEC_BCD(X) (((X / 10) << 4) | (X % 10))

sbit DS_DS = P3^0; sbit DS_RW = P3^1; sbit DS_AS = P3^2; sbit DS_CS = P3^3;

sbit KEY1 = P1^0; sbit KEY2 = P1^1; sbit KEY3 = P1^2;

21

21


单片机(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高岭土回转窑煅烧工艺,日产200-600吨的价格多少钱_ss

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: