毕设参考样本

2026/4/23 6:00:14

P1.0 P1.1 P1.5 P1.6 P1.7 T2(定时器/计数器T2的外部计数输入),时钟输出 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) MOSI(在系统编程用) MOSO(在系统编程用) SCK(在系统编程用) P2 口:P2口是一个具有内部上拉电阻的8 位双向I/O口,P2输出缓冲

器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。

P3 口:P3口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4个TTL 逻辑电平。P3口亦作为AT89S52特殊功能(第二功能)使用,如表2-2所示:

表2-2 P3口功能

引脚号 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 第二功能 RXD (串行输入) TXD(串行输出) INT0(外部中断0) INT1(外部中断1) T0(定时器0外部输入) T1(定时器1外部输入) WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) RST: 当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。在每次访问外部数据存储器时,ALE脉冲将会跳过。否则,ALE 将被微弱拉高。这个ALE 使能标志位的设置对微控制器处于外部执行模式下无效。

PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。

9

当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。

EA/VPP:访问外部程序存储器控制信号。为了能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 3.特殊功能寄存器

特殊功能寄存器(SFR)并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址时,一般会得到一个随机数据;写入的数据将会无效。我们不能给这些未定义的地址写入数据“1”,因为这些寄存器可能被赋予新的功能,复位后,这些位都为“0”。

定时器2 寄存器:寄存器T2CON和T2MOD包含定时器2的控制位和状态位(如表2-3和表2-4所示),T2CON地址为0C8H,位可寻址,复位时值为:00000000B。寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。

表2-3 定时器控制位

TF2 EXF2 RLCLK TCLK EXEN2 TR2 C/T2 CP/RL2 7 6 5 4 3 2 1 0 表2-4 定时器状态位及功能

符号 TF2 EXF2 功能 定时器2溢出标志位。必须软件清“0”。RLCLK=1或TCLK=1时,TF2不用置位 定时器2外部标志位。EXEN2=1时,T2EX负的跳变出现捕捉或重载时,EXF2会被硬件置位,定时器2打开,EXF2=1时,将引导CPU执行定时器2中断程序。EXF2必须清“0”。在向下/向上技术模式(DCEN=1)下EXF2不能引起中断。 RLCLK 串行口接收数据始终标志位。若RLCLK=1,串行口将使用定时器2溢出脉冲作为串行口工作模式1和3的串口接收时钟;RLCLK=0将使用定时器1计数溢出作为串口接收时钟。 TCLK 串行口发送数据始终标志位。若RLCLK=1, ,串行口将使用定时器2溢出脉冲作为串行口工作模式1和3的串口发送时钟;RLCLK=0将使用定时器1计数溢出作为串口发送时钟。

10

EXEN2 定时器2外部允许标志位。当EXEN2=1时,如果定时器2没有用作串行时钟T2EX(P1.1)负的跳变引起定时器2捕捉和重载。若EXEN2=0时,定时器将出现T2EX端的信号无效。 TR2 C/T2 开始/停止控制定时器2。TR2=1,定时器2开始工作。 定时器2定时/计数选择标志位。C/T2=0,定时;C/T2=1,外部事件计数 起捕捉操作;当定时器2溢出或EXEN2=1时T2EX出现负的跳变,都会出现自动重载操作。CP/RL2=0将引起T2EX负脉冲。当RCKL=1或TCKL=1时,此标志位无效,定时器2溢出时,强制做自动重载操作。 CP/RL2 捕捉/重载选择标志位。当EXEN2=1时,CP/RL2=1,T2EX出现负脉冲,会引中断寄存器:各中断允许在IE寄存器中,六个中断源的两个优先级也可

在IE中设置。

双数据指针寄存器:为了便于访问内部和外部数据存储器,系统提供了两个16位数据指针寄存器:分别位于SFR中82H~83H的DP0和84H~85H。特殊寄存器AUXR1中DPS=0时选择DP0;DPS=1时选择DP1。我们应该在访问数据指针寄存器前先初始化DPS为合理的值。

掉电标志位:掉电标志位(POF)位于特殊寄存器PCON的第四位(PCON.4)。上电的期间POF置“1”。POF即可以软件或硬件控制使用,但不受复位影响。

4.存储器结构

MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。

程序存储器:如EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA接VCC,程序读写则先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。

数据存储器:AT89S52有256字节片内数据存储器。高128字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址。当一条指令访问高于7FH的地址时,寻址方式命令CPU 访问高128字节RAM还是特殊功能寄存器空间。直接寻址方式则访问的是特殊功能寄存器(SFR)。

5.看门狗定时器

WDT是一种需要软件控制的复位方式。WDT由13位的计数器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT 在默认情况下无法工作;为了激活WDT,我们必须在WDTRST 寄存器(地址:0A6H)中依次写入01EH 和0E1H。当WDT激活后,晶振工作,WDT在每个机器周期都会增加。

11

WDT计时周期依赖于外部时钟频率。除了复位(硬件复位或WDT溢出复位),没有办法停止WDT工作。WDT溢出后,它将驱动RSR引脚输出一个高电平[12]。

6.UART

内部有两个独立的接收、发送缓冲器SBUF。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,二者共用一个字节地址(99H)。工作原理如图2-2所示: 内部总线

图2-2 工作原理图

8发送SBUF(99H)门TXD(P3.1)发送控制器定时器1接收SBUF(99H)串行口中断≥1TIRI接收控制器88串行控制寄存器(98H)RXD(P3.0)输入移位寄存器SBUF是两个在物理上独立的接收、发送寄存器,两个缓冲器共用一个地址99H,通过对SBUF的读、写指令来区别是接收缓冲器还是发送缓冲器。CPU在写SBUF时,就是修改发送缓冲器;读SBUF时,就是读接收缓冲器的内容。接收或发送数据,是通过串行口对外部的接收信号线RXD(P3.0)、发送信号线TXD(P3.1)操作来实现的,因此可以同时发送或接收数据,其工作方式为全双工制式。

SCON决定串行口通信工作方式,控制数据的接收和发送,并标示串行口的工作状态等。其位格式如表2-5所示:

表2-5 SCON位格式

D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI SM0、SM1:串行口工作方式控制位,两位对应四种工作方式,如表2-6

12


毕设参考样本.doc 将本文的Word文档下载到电脑
搜索更多关于: 毕设参考样本 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219