《单片机毕业设计论文》由会员分享,可在线阅读,更多相关《单片机毕业设计论文(28页珍藏版)》请在金锄头文库上搜索。
1、第一章 绪论1. 1 课题的提出及意义 单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时 间的长短的不便,实现代学校必不可少的设备。1. 2 设计的任务及要求1作息时间能控制电铃2作息时间能启动和关闭放音机 单片机作息时间控制的功能如下:使用4位七段显示器来显示现在的时间。显示格式为“时分”由LED闪动来作秒计数表示 具有4个按键来作功能设置,可以设置现在的时间及显示定时设置时间 一旦时间到则发出一阵声响,同时继电器启动,可以控制放音机开启和 关闭。第二章 总体方案设计2. 1 芯片比较2.1.1 单片机选型当今单片机厂商琳琅满目,产品性能各异。常用的单片机有很多种:Inte
2、l8051 系列、Motorola 和 M68HC 系列、Atmel 的 AT89 系列、台湾 Winbond(华 邦)W78系列、荷兰Pilips的PCF80C51系列.Microchip公司的PIC系列、Zilog 的Z86系列、At me l的AT90S系列、韩国三星公司的KS57C系列4位单片机、台 湾义隆的EM-78系列等。我们最终选用了 ATMEL公司的AT89C52单片机AT89C52 是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可 反复擦写的只读程序存储器(PER0M)和256bytes的随机存取数据存储器(RAM), 器件采用ATMEL公
3、司的高密度、非易失性存储技术生产,与标准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段译码
4、,驱动器(消隐),但现在市面上不好买MC14499为串行输 入BCD码一一十进制译码驱动器,用它来构成单片机应用系统的显示器接口,可 以大大减少1/O 口线的占用数量。但是,由片内震荡器经过四分频的信号,经位 译码后只能提供4个位控信号,使信号的采集受到限制;并且,MC19944的价格 偏高,也不经济。同样,8279为INTEL公司生产的通用键盘/显示器接口芯片, 其内部设有16*8显示数据RAM,若采用8279管理键盘和显示器,可以减少软件 程序,从而减轻主机的负担,但我们同时也发现,由于其功能比较强大,不可避 免将会使外围设备与操作过程复杂化,同时价格比较贵。对比一下MAX7219和 74
5、HC164其占用资源少,且不需复杂的驱动电路。但MAX7219虽然比较好用,且 一片能驱动四个数码管,但对于我们设计的系统来说,不需要很多数码管,此外 MAX7219相对74HC164的价格也比较贵,所以我们最终选用74HC164,下面对 MAX7219作一下介绍。特点:(1) 采用3线串行接口传送数据;(2) 内部有8字节显示静态RAM和6个特殊功能寄存器,相当于14个字节的 RAM单元。它们是可寻址的,即可以有选择的任意写入;(3) 只需一个外部电阻即可调节LED的段电流,并且允许程控方式LED通电的 占空比而可方便的调节LED显示的亮度,或用于模拟亮度显示;(4) 可LED显示器的扫描个
6、数;(5) 有不译码和B码两种显示模式,这种选择可做到位控,即各LED显示器可 以有不同的显示方式:译码或不译码;(6) 含硬件动态扫描显示控制,可设置低功耗方式,可进行图条显示。引脚图(如图2-1)应DOMT2S 8ECD 刘 SEC DPLKCLrt C G GB r Q G图2-1业论文说明引脚名称作用1DIN串行数据输入。在CLK上升沿时,数据被装入内部16 位移位寄存器。2, 3,5 - 8,10, 11DIG0 - DIG7八个数字驱动器线路,来自共阴极显示器的反向电 流。MAX7219当关闭的时候拉位输出到V+.当关闭的 时候MAX7221的位驱动器是高阻抗状态。4, 9GND地
7、(两个GND引脚必须被连接在 起)12LOAD装载数据输入。串行数据的最后16位被锁存在LOAD 的上升沿。CS片选输入。当/CS是低电平时穿行数据被装载到移位 寄存器中。在/CS上升沿时串行数据的最后16位被锁 存。13CLK串行时钟输入。10MHz的最大比率。在CLK上升沿时, 数据被转移到内部移位寄存器。在CLK下降沿时,数 据从DOUT输出。在MAX7221中只有/CS是低电平时CLK 输入被激活。14 - 17,20 - 23SEGA - SEGG,DP七段驱动和小数点驱动电源电流显示。在M AX7219 中,当段驱动器被关闭,它就被接到地。当关闭以 后M AX7221的段驱动器成高
8、阻状态。18ISET通过一只电阻器(RSET)连接VDD来设置最高段电流 (查阅选择RSET电阻器部分)。19V+正供给电压。连接到+5V。24DOUT串行数据输出。进入DIN的数据16.5个时钟周期以后 在DOUT有效。这个引脚常被用来链接 MAX7219/MAX7221,没有高阻状态。工作原理简介数据(含地址)接收MAX7219采用串行寻址方式,在传送的串行数据中包含有RAM的地址。按照 时序的要求,单片机将16位二进制数逐位发送DIN端,在CLK上升延到来之前 DIN必须有效,在CLK的每个上升延,DIN被串行逐位移入MAX7219内部的16 位穿行寄存器中。设最先移入的数据是D15,最
9、后移入的数据是D0,则移入16位 串行寄存器的数据是D15-D0。为了有选择的将数据写入8个显示RAM或6个特 殊功能寄存器,D0D15中,D8D11四位作为RAM和特殊功能寄存器的地址, D0D7作为写入显示数据或控制字。与并行数据传送相比,MAX7219串行接收 D0D15并存放到16位串行寄存器中的过程,相当于并行传送中,将并行数据 和地址送到数据和地址总线上的过程。数据装载16位接收寄存器将收到的D0D7位数据写入RAM或特殊功能寄存器是在数 据装载信号控制下完成的。图3-8是MAX7219的数据接收装载(写入)时序图, 由图可知,LOAD必须在15个CLK下降延前由高变低,在16个C
10、LK同时或之后 由低变高(上升延)。在LOAD的上升延,8位数据D0D7写入以4位二进制数 D8D11位地址的RAM或特殊功能寄存器中。显示扫描当显示模式设定后,写入显示RAM的数据将在控制器的控制下,按设定的显 示模式,以动态扫描方式进行显示。MAX7219内部显示RAM及特殊功能寄存器显示RAM (地址* 1*8)地址为* 1H的RAM数据控制接D0引脚的显示器,地址为*2H的RAM数据控制 接D1引脚的显示器。译码方式寄存器(地址:*9H)该寄存器的8位二进制数的各位值分别控制着8个LED显示器的译码方式。 当高电平时选择BCD-B码译码模式,当低电平时选择不译码模式。B码译码的显 示自
11、行与现实数据的关系如下:显示数据(十六进制)0 1 2 3 4 5 6 7 8 9 A B C D E FB码字型 012 34 56 7 8 9- E H L P *其中,*代表全灭。小数点不译码,它由显示数据的D7位控制。扫描界限寄存器(地址:*BH)该寄存器的D0D3位数据设定值为07,设定值表示显示器动态扫描个数 为18。停机寄存器(地址:*CH)当位D0=0时,MAX7219处于停机状态;当D0=1时,处于正常工作状态。显示测试寄存器(地址:*FH)当位D0=0时,MAX7219按设定模式正常工作;当D0=1时,处于测试状态。 在该状态下,不管MAX7219处于什么模式,全部LED将
12、按最大亮度接通显示。亮度寄存器(地址:*AH)及两度的调解或控制亮度可通过硬件和软件两种方法调解或控制。2.1.3 存储器的选择为了改善主 CPU 的资源与时序的分配,我们对 AT89C51 进行串行数据存储器 的扩展。常用的存储芯片有很多,如AT93C46/56/66, X5045。经过比较选择, 最终选用了 XICOR 公司的 X5045。X5045 把三种常用的功能:看门狗定时器,电压控制和 EEPROM 组合在单个 封装之内。这种组合降低了系统的成本并减少了对电路板空间的要求。看门狗定 时器对微控制器提供了独立的保护系统。低 VCC 检测电路可以保护系统免受低电 压的影响,同时 X50
13、45 是串行 EEPROM 具有简单的三总线工作的串行外设接口, 是一种有独特功能的高性能价格比存储器件。AT93C46/56/66 是 ATMEL 公司推出的低功耗、低电压电可擦除的可编程只读 存储器。它采用 CMOS 技术和 Fairchild Semiconductor 公司的 Mi-croWire 工业 标准 3 线串行接口,具有 1Kb/2kB/4kB 的容量,并可通过 ORG 管脚配置成 128*8/256*8/512*8 或 64*16/128*16256*16 等结构。该系列存储器可靠性高, 能够重复写 100 万次,数据可以保存 100 年不丢失;采用 8 脚 PDIP/SO
14、IC 封装和 14脚SOI封装(SOI封装为JEDEC和EIAJ标准),与并行的EEPROM相比, AT93C46/56/66 可大大节省印制板空间,且接线简单,因而在多功能的精密测试 仪中具有广阔的前途。引脚功能CS:片选信号。高电平有效,低电平时进入等待模式。在连续的指令之间, CS 信号必须持续至少 250ns 的低电平,才能保证芯片正常工作。CLK:串行时钟信号。在CLK的上升沿,操作码、地址和数据位进入器件或 从器件输出。在发送序列时,CLK最好不停止,以防止读/写数据的错误。DI:串行数据输入。可在CLK的同步下输入开始位、操作码、地址位和数据 位。DO:串行数据输出。在CLK同步
15、下读周期时,用于输出数据;而在地址擦/ 写周期或芯片擦/写周期时,该端用于提供忙/闲信息。VSS:接地。VCC:接+ 5V电源。ORG:存贮器构造配置端。该端接VCC或悬空时,输出为16位;接GND时, 输出为 8 位。指令及时序地址擦指令(ERASE)该指令用于强迫指定地址中所有数据位都为“ 1”。一旦信息在DI端上被译 码,就需使CS信号保持至少250ns的低电平,然后将CS置为高电平,这时,DO 端就会指示“忙”标志。DO为“0”,表示编程正在进行;DO为“1”,表示该 指定地址的寄存器单元已擦完,可以执行下一条指令。擦/写允许指令(EWEN)由于在上电复位后AT93C46/56/66首先将处于擦/写不允许状态。故该指 令必须在所有编程模式前执行,一旦该指令执行后,只要外部没有断电就可以对 芯片进行编程。地址写指令(WRITE)写指令时,先写地址,然后将16位的或8位数据写入到指定地址中。当DI 端输出最后一个数据位后,在CLK时钟的下一个上升沿以前,CS必须为低,且 需至少保持250ns,然后将CS置为高电平。需要说明的是:写周期时,每写一 个字节需耗时4ms。地址读指令(READ)读指令用于从指定的单元中把数据从