当前位置:文档之家› 单片机课程设计-电子钟

单片机课程设计-电子钟

中北大学单片机课程设计说明书数字钟设计1 设计任务与要求 (1)1.1设计任务 (1)1.2设计要求 (1)2单片机简介 (2)2.1单片机的发展历程 (2)3系统设计思路和方案 (3)3.1系统总体方案 (3)3.2硬件简介 (3)3.2.1硬件选择 (3)3.2.2 51单片机的构成 (4)3.2.3 STC89C52RC引脚功能说明 (5)3.2.4 LED简介 (6)3.3 Keil调试 (7)4、系统实物图 (9)5、课程设计体会 (9)参考文献 (10)附录A (11)附录B (13)附录C (14)1 设计任务与要求1.1设计任务本课题应完成以下设计内容:1)硬件设计设计数字钟的电路原理图,用PROTEL绘制硬件电路。

制作实物。

2)软件设计(1)时、分、秒的设置及显示;(2)画出程序框图;(3)调试与分析。

用PROTEUS仿真。

3)课程设计说明书1.2设计要求本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论,熟悉掌握MCS-51 系列单片机的编程方法,具体要求:本例利用AT89C51的定时器和6位7段数码管,设计一个电子时钟。

显示格式为“XX XX XX”,由左向右分别是:时、分、秒。

2单片机简介2.1单片机的发展历程单片机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适用于工业控制领域。

1971年微处理器研制成功不久,就出现了单片机,但最早的单片机是1位的,处理能力有限。

单片机的发展共分四个阶段:第一阶段是初级阶段,功能非常简单;第二阶段是低性能阶段, 16位定时器/计数器,片内ROM、RAM容量加大,直到现在仍被广泛应用,是目前应用数量较多的单片机。

、32位单片机推出阶段,以满足不同的用户需要。

纵观单片机几十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功耗、低价格、外围电路内装化以及内存储器容量增加和FLASH存储器化方向发展。

2.2实用价值与理论意义在单片机模块里比较常见,数字时钟是一种用0数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更高的使用寿命,新词得到了广泛的应用。

数字时钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公用场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度远远超过老式钟表,钟表的数字化给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

因此研究数字时钟及扩大其应用有着非常现实的意义。

3系统设计思路和方案3.1系统总体方案图3.1整体设计思路针对要实现的功能,拟采用AT89C51单片机进行设计,AT89C51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。

这样,既能做到经济合理又能实现预期的功能。

在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。

程序可分为闹钟的声音程序、显示程序、闹钟显示程序、调时显示、定时程序。

运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。

3.2硬件简介3.2.1硬件选择(1)单片机的选择选用STC89C52单片机,并配备12MHz晶振,复位电路采用上电复位。

(2)显示电路选择采用软件译码动态显示,P3.0-P3.3作数码管的位选口。

P1.0-P1.6作数码管的段选口。

考虑直接用单片机I/O口作位选时驱动功率不够,(3)电源选择采用直流3V电源供电。

(4)STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-FlashProgramable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。

该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

3.2.2 51单片机的构成STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

主要特性如下:1、增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.2、工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)3、工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz4、用户应用程序空间为8K字节5、片上集成512字节RAM6、通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

7、ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片8、具有EEPROM功能9、具有看门狗功能10、共3个16位定时器/计数器。

即定时器T0、T1、T211、外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒12、通用异步串行口(UART),还可用定时器软件实现多个UART13、工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)14、PDIP封装3.2.3 STC89C52RC引脚功能说明VCC(40引脚):电源电压VSS(20引脚):接地RST(9引脚):复位输入。

当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。

看门狗计时完成后,RST引脚输出96个晶振周期的高电平。

特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。

DISRTO默认状态下,复位高电平有效。

ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

在Flash编程时,此引脚()也用作编程输入脉冲。

(29引脚):外部程序存储器选通信号()是外部程序存储器选通信号。

当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。

/VPP(31引脚):访问外部程序存储器控制信号。

为使能从0000H到FFFFH 的外部程序存储器读取指令,必须接GND。

注意加密方式1时,将内部锁定位RESET。

为了执行内部程序指令,应该接VCC。

在Flash编程期间,也接收12伏VPP电压。

XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2(18引脚):振荡器反相放大器的输入端。

图3.2 STC89C52RS3.2.4 LED简介LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。

图2.7(a)是共阴和共阳极数码管的内部电路图,它们的发光原理是一样的,只是它们的电源极性不同而已。

将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。

以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。

当然,LED的电流通常较小,一般均需在回路中接上限流电阻。

假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。

而将"a"、"b"、"d"、"e"和"g"段都接上正电源,其它引脚悬空,此时数码管将显示“2”。

其它数字的显示原理与此类同。

LED的7段数码管利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。

在这次的设计中采用的均是共阴极的LED显示,当I/O口输出为高电平的时候,对应段就被点亮。

LED数码管的结构图如图2.4(b)所示。

(a)(b)图3.3 LED分类结构图和结构图这次设计的显示部分采用AT89C51单片机动态扫描完成,在多数的应用场合中,我们并不希望使用多I/O端口的单片机,原则上是使用尽量少引脚的器件。

在没有富余端口的情况下,应通过优化设计程序和扩展电路达到预期的目的。

动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。

如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。

3.3 Keil调试启动Keil软件,选择“Project”菜单下的“New Project”命令,输入项目的文件名,选择存储路径,点击“保存”按钮。

在“Select Device”窗口中选择“Atmel”下的“AT89C51”芯片,单击“确定”按钮。

展开“Project Workspace”窗口中的“Target 1”, 右击“Target1”,选择“Options for Target ’Target 1’”,选择“Target”选项在Keil (MHZ)右边输入“12m”。

选择“Debug”选项,选择“Use Keil Monitor-51 Driver”。

单击“Settings”按钮,串口选择“COM1”,波特率选择“38400”,单击“OK”按钮。

右击“Source Group 1”,选择“Add files to Group ‘Source Group 1’,在文件类型中选择“Asm Source file”,找到将要编译的程序,单击“ADD”按钮,然后再单击“CLOSE”按钮。

单击“Rebuild all target files”,在“Build”窗口中观察编译结果,根据提示修改程序,直到没有错误出现。

4、系统实物图图4.1 系统实物图5、课程设计体会这次电子技术课程设计,我很用心的去完成,当总原理图绘好的那一刻,心里有说不出的满足感。

从这次课程设计中,我真正学到了很多有用的知识。

拿到课题后,我首先将《单片机原理与应用及C51程序设计》中有关本次设计的内容复习了一遍,比如七段译码显示器、计数器、振荡器等等。

相关主题