单片机作息时间控制系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机作息时间控制系统设计

目录

第一章绪论 (3)

1. 1 课题的提出及意义 (3)

1. 2 设计的任务及要求 (3)

第二章总体方案设计 (3)

2. 1 芯片比较 (3)

2.1.1 单片机选型 (3)

2.1.3存储器的选择 (7)

2.1.4 继电器的选择 (8)

2. 2总体设计及系统原理 (9)

第三章硬件设计 (10)

3. 1 单片机部分 (10)

3.1.1 AT89C52 (10)

3. 2 存储器部分 (13)

3. 5 电源与复位电路部分 (23)

3.5.1 电源部分 (23)

3.5.2复位电路 (23)

3. 6 电铃和继电器部分 (24)

3. 7 按键部分 (24)

第四章软件设计 (25)

4.1 主程序设计 (25)

4. 2 子程序设计 (27)

第五章系统安装与调试 (28)

5.1 软件调试 (28)

5.2 系统调试 (28)

参考文献 (29)

第一章绪论

1. 1 课题的提出及意义

单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,实现代学校必不可少的设备。

1. 2 设计的任务及要求

1.作息时间能控制电铃

2.作息时间能启动和关闭放音机

单片机作息时间控制的功能如下:

●使用4位七段显示器来显示现在的时间。

●显示格式为“时分”

●由LED闪动来作秒计数表示

●具有4个按键来作功能设置,可以设置现在的时间及显示定时设置时间

●一旦时间到则发出一阵声响,同时继电器启动,可以控制放音机开启和

关闭。

第二章总体方案设计

2. 1 芯片比较

2.1.1 单片机选型

当今单片机厂商琳琅满目,产品性能各异。常用的单片机有很多种:Intel8051系列、Motorola和M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列、Microchip公司的PIC系列、Zilog 的Z86系列、Atmel的AT90S系列、韩国三星公司的KS57C系列4位单片机、台湾义隆的EM-78系列等。我们最终选用了ATMEL公司的AT89C52单片机。AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C52单片机适用于许多较为复杂控制应用场合。

2.1.2显示器接口芯片的选择

LED显示器接口芯片的选择常用的显示器接口芯片有CD4511,CD4513,MC14499,8279,MAX7219,74HC164等,它们的功能有:1.CPU接受来自键盘的

输入数据,并作预处理;2.数据显示的管理和数据显示器的控制。CD4511是BCD 锁存,7段译码,驱动器,但在显示6和9时,显示为b和q,不是很好看。CD4513是BCD锁存,7段译码,驱动器(消隐),但现在市面上不好买。MC14499为串行输入BCD码——十进制译码驱动器,用它来构成单片机应用系统的显示器接口,可以大大减少I/O口线的占用数量。但是,由片内震荡器经过四分频的信号,经位译码后只能提供4个位控信号,使信号的采集受到限制;并且,MC19944的价格偏高,也不经济。同样,8279为INTEL公司生产的通用键盘/显示器接口芯片,其内部设有16*8显示数据RAM,若采用8279管理键盘和显示器,可以减少软件程序,从而减轻主机的负担,但我们同时也发现,由于其功能比较强大,不可避免将会使外围设备与操作过程复杂化,同时价格比较贵。对比一下MAX7219和74HC164其占用资源少,且不需复杂的驱动电路。但MAX7219虽然比较好用,且一片能驱动四个数码管,但对于我们设计的系统来说,不需要很多数码管,此外MAX7219相对74HC164的价格也比较贵,所以我们最终选用74HC164,下面对MAX7219作一下介绍。

特点:

(1) 采用3线串行接口传送数据;

(2) 内部有8字节显示静态RAM和6个特殊功能寄存器,相当于14个字节的RAM单元。它们是可寻址的,即可以有选择的任意写入;

(3) 只需一个外部电阻即可调节LED的段电流,并且允许程控方式LED通电的占空比而可方便的调节LED显示的亮度,或用于模拟亮度显示;

(4) 可LED显示器的扫描个数;

(5) 有不译码和B码两种显示模式,这种选择可做到位控,即各LED显示器可以有不同的显示方式:译码或不译码;

(6) 含硬件动态扫描显示控制,可设置低功耗方式,可进行图条显示。

引脚图(如图2-1)

图2-1

说明:

工作原理简介

数据(含地址)接收

MAX7219采用串行寻址方式,在传送的串行数据中包含有RAM的地址。按照时序的要求,单片机将16位二进制数逐位发送DIN端,在CLK上升延到来之前DIN必须有效,在CLK的每个上升延,DIN被串行逐位移入MAX7219内部的16位穿行寄存器中。设最先移入的数据是D15,最后移入的数据是D0,则移入16位串行寄存器的数据是D15--D0。为了有选择的将数据写入8个显示RAM或6个特

殊功能寄存器,D0—D15中,D8—D11四位作为RAM和特殊功能寄存器的地址,D0—D7作为写入显示数据或控制字。与并行数据传送相比,MAX7219串行接收D0—D15并存放到16位串行寄存器中的过程,相当于并行传送中,将并行数据和地址送到数据和地址总线上的过程。

数据装载

16位接收寄存器将收到的D0—D7位数据写入RAM或特殊功能寄存器是在数据装载信号控制下完成的。图3-8是MAX7219的数据接收装载(写入)时序图,由图可知,LOAD必须在15个CLK下降延前由高变低,在16个CLK同时或之后由低变高(上升延)。在LOAD的上升延,8位数据D0—D7写入以4位二进制数D8—D11位地址的RAM或特殊功能寄存器中。

显示扫描

当显示模式设定后,写入显示RAM的数据将在控制器的控制下,按设定的显示模式,以动态扫描方式进行显示。

MAX7219内部显示RAM及特殊功能寄存器

显示RAM(地址*1—*8)

地址为*1H的RAM数据控制接D0引脚的显示器,地址为*2H的RAM数据控制接D1引脚的显示器。

译码方式寄存器(地址:*9H)

该寄存器的8位二进制数的各位值分别控制着8个LED显示器的译码方式。当高电平时选择BCD-B码译码模式,当低电平时选择不译码模式。B码译码的显示自行与现实数据的关系如下:

显示数据

(十六进制) 0 1 2 3 4 5 6 7 8 9 A B C D E F

B码字型 0 1 2 3 4 5 6 7 8 9 – E H L P * 其中,*代表全灭。小数点不译码,它由显示数据的D7位控制。

扫描界限寄存器(地址:*BH)

该寄存器的D0—D3位数据设定值为0—7,设定值表示显示器动态扫描个数为1—8。

停机寄存器(地址:*CH)

当位D0=0时,MAX7219处于停机状态;当D0=1时,处于正常工作状态。

显示测试寄存器(地址:*FH)

当位D0=0时,MAX7219按设定模式正常工作;当D0=1时,处于测试状态。在该状态下,不管MAX7219处于什么模式,全部LED将按最大亮度接通显示。

亮度寄存器(地址:*AH)及两度的调解或控制

亮度可通过硬件和软件两种方法调解或控制。

相关文档
最新文档