当前位置:首页 > 毕业设计(论文)-基于AT89C51单片机的节日彩灯控制电路的设计与实现
第2章 总体方案与论证
十分广泛的用途,特别是在便携式和需要特殊信息保存的仪器和系统中显得更加有用。这里主要介绍AT89系列中的AT89C51。
AT89C51系列单片机对于一般用户来说,存在3个明显的特点: (1)内含Flash存储器 因此在应用[2]系统的开发过程中可以十分容易的进行程序的修改,这就大大缩短了系统的开发周期;同时,在系统工作过程中,能有效的保存一些数据信息,即使外接电源损坏也不影响信息的保存。
(2)与80C51插座兼容[3] AT89C51系列单片机的引脚与80C51是一样的,当用AT89C51单片机取代80C51时,可以直接进行取代。这时,不管采用40引脚还是44引脚的产品,只要用相同引脚的AT89C51单片机取代80C51的单片机即可。
(3)静态时钟方式 AT89C51单片机采用静态时钟方式,所以可以节省电能。这对于降低便携式产品的功耗十分有用。
AT89C51单片机的内部结构与一般单片机相似[4],有CPU、存储器和I/O接口等部件。AT89C51是ATMEL公司的8位Flash单片机系列,这个系列单片机的最大特点是在片内含有Flash存储器,因此,在应用中有广泛的前景和用途,特别是在便携式,省电及特殊信息保存的仪器和系统中显得更为有用。89系列单片机若干优点:内部含Flash存储器,在系统的开发过程中可以十分容易进行程序修改,大大缩短了系统的开发周期,同时,在系统工作过程中能有效保存一些数据信息[5],即使外界电源损坏也不会影响到信息的保存;与80c51插座兼容,用相同引脚的89系列单片机可直接取代80c51的单片机;静态时钟方式,89系列单片机采用静态的时钟方式所以可以节省电能,这对于降低便携式产品的功耗十分有用;错误编程亦无废品产生,一般的OTP产品,一旦编程编误即成废品,而89系列的单片机内部采用了Flash memory,所以错误编程之后仍可重新编程,直到正确为止,故不存在废品;可进行反复系统试验,用89系列单片机设计的系统,可以反复进行系统试验,每次试验可以编入不同的程序,这样保证用户的系统设计达到最优,而且,随用户的需要和发展[6],还可以修改,使系统不断能追随用户的最新要求。89C51在89系列单片机中属标准型单片机,它和MCS-51系列单片机兼容。内部有4K可重复编程的Flash memory,可进行1000次擦写操作,全静态工作为小33MHz,有三级程序存储器加密锁定,有内部含128-56字节的RAM,32条可编程的FO端口,有2个16位
7
燕山大学本科生毕业设计(论文)
定时器/计数器,有通用串行接口,有低电压空闲及电源下降方式;中断有6级。
2.1.3 AT89C51的引脚描述
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机[14]。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51[7]指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口[8],当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平[9],并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示:P3口管脚备选功能:P3.0 RXD(串行输入口),P3.1 TXD(串行输出口),P3.2 /INT0(外部中断0),P3.3 /INT1(外部中断1),P3.4 T0(记时器0外部输入),P3.5 T1(记时器1外部输入),P3.6 /WR(外部数据存储器写选通),P3.7 /RD(外部数据存储器读选通)。P3口同
8
第2章 总体方案与论证
时为闪烁。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流[15][16]。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时[10],P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故[11]。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0[12]。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器[13]。注意加密方式1时,/EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期
9
燕山大学本科生毕业设计(论文)
间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。时钟振荡器 AT89C51中有一个用于构成内部振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入段和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谢振器一起构成自激振荡器,外接石英晶体或陶瓷谢振器级电容C1、C2接在放大器的反馈回路中构成并联电路。对外接电容C1、C2虽严然没有十分严格的要求[14],但电容容量的大小会影响振荡频率的高低、振荡器工作的稳定性、祁震得难易程度及温度的稳定性,如果使用石英晶体,我们推荐电容使用30PF+10PF,而如果陶瓷谐振器建议使用40PF+10PF。用户也可以使用外部时钟,这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟脉冲的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求[13],但最小高电平时持续时间和最大低电平持续时间应符合产品技术条件的要求。
AT89C51有二种可用软件编程的省电模式,他们是空闲模式和掉电工作模式。这二种方式是控制专用寄存器PCON(电源控制寄存器)中的PD和IDL来实现的。PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态,IDL是空闲等待状态,当IDL=1时,激活空闲工作模式,单片机进入睡眠状态[15],如需同时进入二种状态,即PD和ID同时为1,则先激活掉电工作模式。在空闲工作模式状态,CPU保持睡眠状态而所
10
共分享92篇相关文档