河南理工大学 2011毕业设计说明书
个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此 作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口 当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八 位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写 时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址 信号和控制信号。
图2-2 AT89C51引脚图
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电 流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入口。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如表2-1所示。同时,P3口为闪烁编程和编程校验接收一些控制信号。
表2-1 P3口的特殊功能
引脚 P3.0 P3.1 P3.2 P3.3 名称 RXD TXD INT0 INT1 功能说明 串行输入口 串行输出口 外部中断0 外部中断1 引脚 P3.4 P3.5 P3.6 P3.7 名称 T0 T1 WR 功能说明 记时器0外部输入 记时器1外部输入 外部数据存储器写选通 外部数据存储器读选通 RD RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位
6
河南理工大学 2011毕业设计说明书
字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周
期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。
2.4 AT89C51单片机的存储器
在单片机中,存储器分为程序存储器ROM和数据存储器RAM,并且两个存储器是独立编址的。
AT89C51单片机芯片内配置有8KB(0000H~1FFFH)的Flash程序存储器和256字节(00H~FFH)的数据存储器RAM,根据需要可外扩到最大64KB的程序存储器和64KB的数据存储器,因此AT89C51的存储器结构可分为4部分:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。如果以最小系统使用单片机,即不扩展,则AT89C51的存储器结构就较简单:只有单片机自身提供的8KB Flash程序存储器和256字节数据存储器RAM。
图2-3给出了AT89C51单片机的存储器分布空间。左侧线框中为单片机自身提供的8KB Flash程序存储器和256字节数据存储器RAM。右侧为可扩展的64KB的程序存储器ROM和64KB的数据存储器RAM。
2.4.1 程序存储器
AT89C51单片机出厂时片内已带有8KB的Flash程序存储器,使用时,引脚EA要
7
河南理工大学 2011毕业设计说明书
按高电平(5V),这时,复位后CPU从片内ROM区的0000H单元开始读取指令代码,一直运行到1FFFH单元,如果外部扩展有程序存储器ROM,则CPU会自动转移到片外ROM空间2000H~FFFFH读取指令代码。
图2-3 存储器空间分布图
2.4.2 数据存储器
AT89C51单片机出厂时片内已带有256字节的数据存储器RAM,如果不够用,可以在片外扩展,最多可扩展64KB RAM。
图2-4 片内数据存储器的结构
8
河南理工大学 2011毕业设计说明书
单片机自带的数据存储器RAM结构如图2-4所示,此256字节单元(00H~FFH)的低128字节(00H~7FH)单元为用户使用区,高128字节(80H~FFH)单元为特殊功能寄存器SFR区。
片内数据存储器的00H~7FH单元又划分为3块:00H~1FH块是工作寄存器所用;20H~2FH块是位寻址功能的单元区;30H~3FH是普通RAM区。工作寄存器又分为4组,在当前的运行程序中只有一组是被激活的,谁被激活有程序状态寄存器PSW的RS1,RS0两位决定。
2.5 振荡电路和时钟
在AT89C51芯片内部,有一个振荡电路和时钟发生器,引脚XTAL1和XTAL2之间接入晶体振荡器和电容后构成内部时钟方式。也可以使用外部振荡器,由外部振荡器产生的信号直接加载到振荡器的输入端,作为CPU的时钟源,称为外部时钟方式。采用外部时钟方式时,外部振荡器的输出信号接至XTAL1,XTAL2悬空。两种方式的电路连接如图2-5所示。大多数的单片机采用内部时钟方式,本次设计亦然。
(a)使用片内振荡器接法 (b)使用片外振荡器接法
图2-5 AT89C51振荡器的连接方式
在AT89C51单片机内部,引脚XTAL2和引脚XTAL1连接着一个高增益反相放大器,XTAL1引脚是反相放大器的输入端,XTAL2引脚是反相放大器的输出端。
芯片内部的时钟发生器是一个二分频触发器,振荡器的输出fosc为其输入,输出为两相的时钟信号(状态时钟信号),频率为振荡器输出信号频率fosc的1/2。状态时钟
9
河南理工大学 2011毕业设计说明书
经三分频后为低字节地址锁存信号ALE,频率为振荡器输出信号频率fosc的1/6,经六分频后为机器周期信号,频率为fosc/12。C1、C2一般取20~30pF的陶瓷电容器。 2.6 AT89C51的中断系统 为了提高系统的工作效率,AT89C51单片机设置了中断系统,采用中断方式与外设进行数据传送。所谓“中断”,是指单片机在执行某一段程序的过程中,由于某种原因(如异常情况或特殊请求),单片机暂时中止正在执行的程序,而去执行相应的处理程序,待处理结束后,再返回到被打断的程序处,继续执行原程序的过程。 2.6.1 中断系统结构和中断控制 AT89C51有六个固定的可屏蔽中断源,分别是三个片内定时器/计数器溢出中断TF0、TF1和TF2,两个外部中断INT0(P3.2)和INT1(P3.3),一个片内串行口中断TI或RI。6个中断源有两级中断优先级,可形成中断嵌套。它们在程序存储器中各有固定的中断入口地址,由此进入相应的中断服务程序。 引起6个中断源的符号、名称及产生的条件如下: INT0:外部中断0,由P3.2端口线引入,低电平或下降沿引起; INT1:外部中断1,由P3.3端口线引入,低电平或下降沿引起; T0:定时器/计数器0中断,由T0记满回零引起; T1:定时器/计数器1中断,由T1记满回零引起; TI/RI:串行口I/O中断,串行端口完成一帧字符发送/接收后引起中断; T2:定时器/计数器2中断,由T2记满回零引起。 在本次设计中采用了定时器/计数器0中断,它的中断控制寄存器包括定时器/计数器0、1控制寄存器TCON和中断允许控制寄存器IE。 ① 定时器控制寄存器TCON TCON是定时器/计数器和外部中断两者合用的一个可位寻址的特殊功能寄存器,它的格式如下: D7 TF1 D6 TR1 D5 TF0 D4 TR0 D3 IE1 D2 IT1 D1 IE0 D0 IT0 各控制位定义如下:
10
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库盆花自动浇水系统的设计(3)在线全文阅读。
相关推荐: