第一章 绪 论
1. 1 课题的提出及意义
单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,实现代学校必不可少的设备。
1. 2 设计的任务及要求
1.作息时间能控制电铃
2.作息时间能启动和关闭放音机
单片机作息时间控制的功能如下:
l 使用4位七段显示器来显示现在的时间。
l 显示格式为“时分”
l 由LED闪动来作秒计数表示
l 具有4个按键来作功能设置,可以设置现在的时间及显示定时设置时间
l 一旦时间到则发出一阵声响,同时继电器启动,可以控制放音机开启和关闭。
第二章 总体方案设计
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
说明:
引脚 |
名称 |
作用 |
1 |
DIN |
串行数据输入。在CLK上升沿时,数据被装入内部16位移位寄存器。 |
2, 3, 5–8,
10, 11 |
DIG0–DIG7 |
八个数字驱动器线路,来自共阴极显示器的反向电流。MAX7219当关闭的时候拉位输出到V+. 当关闭的时候MAX7221的位驱动器是高阻抗状态。 |
4, 9 |
GND |
地(两个GND引脚必须被连接在一起) |
12 |
LOAD |
装载数据输入。串行数据的最后16位被锁存在LOAD的上升沿。 |
CS |
片选输入。当/CS是低电平时穿行数据被装载到移位寄存器中。在/CS上升沿时串行数据的最后16位被锁存。 |
13 |
CLK |
串行时钟输入。10MHz的最大比率。在CLK上升沿时,数据被转移到内部移位寄存器。在CLK下降沿时,数据从DOUT输出。在MAX7221中只有/CS是低电平时CLK输入被激活。 |
14–17,
20–23 |
SEGA–SEG G,DP |
七段驱动和小数点驱动电源电流显示。在MAX7219中,当段驱动器被关闭,它就被接到地。当关闭以后MAX7221的段驱动器成高阻状态。 |
18 |
ISET |
通过一只电阻器(RSET)连接VDD来设置最高段电流(查阅选择RSET电阻器部分)。 |
19 |
V+ |
正供给电压。连接到+5V。 |
24 |
DOUT |
串行数据输出。进入DIN的数据16.5个时钟周期以后在DOUT有效。这个引脚常被用来链接MAX7219/MAX7221,没有高阻状态。 |