当前位置:首页 > 基于AT89S52单片机DS18D20温度湿度传感器的设计毕业论文
3.3 单片机的应用
只需在电路中添加少许元器件,通过编写程序就可以实现多种功能的单片机自动控制。单片机接上键盘可以进行信号输入;单片机接上显示器可以实现数据显示;单片机接上喇叭可以实现声音输出;单片机可以用来通信,也可以用来计数和定时,还可以控制彩灯的闪烁、电机的运转、机器人的活动以及交通灯信号的控制等。
由于单片机体积小巧、功能强大、应用灵活、价格便宜,所以应用十分广泛。已经在工业控制、国防装备、智能仪器等领域得到了广泛应用。现在,人们日常生活中所使用的各种家用电器,例如,洗衣机、电冰箱、空调、微波炉、电饭煲、音响、电风扇及高档电子玩具等,也普遍采用了单片机来代替传统的控制电路,既降低了成本,又提高了自动化程度。
4芯片介绍
4.1 芯片AT89S52
4.1.1 功能特性描述
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8在系统可编程 Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业 80C51产品指令和引脚完全兼容片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:8k字节Flash, 256字节RAM, 32位 I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至 0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
4.1.2 引脚功能描述
AT89S52单片机有40个引脚,引脚图如下图4.1所示
图4.1 AT89S52的引脚图
? VCC:电源 ? GND:地
? P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8
个TTL逻 辑电平。对P0端口写“1”时引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0具有内部上拉电阻。在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。
? P1口:P1口是一个具有内部上拉电阻的 8位双向I/O口,p1输出缓冲器能
驱动4个 TTL逻辑电平。对 P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表4.1所示。在flash编程和校验时,P1口接收低8位地址字节。
表4.1 P1口引脚的第二功能
引脚号 P1.0 P1.1 P1.5 P1.6 P1.7 第二功能 T2(定时器/计数器T2的外部计数输入),时钟输出 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) MOSI(在系统编程用) MISO(在系统编程用) SCK(在系统编程用)
? P2口:P2口是一个具有内部上拉电阻的 8位双向 I/O口,P2输出缓冲器能
驱动4个TTL逻辑电平。对 P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR) 时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
? P3口:P3口是一个具有内部上拉电阻的 8位双向I/O口,p2输出缓冲器能
驱动 4个TTL逻辑电平。对 P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表4.2所示。在flash编程和校验时,P3口也接收一些控制信号。
表4.2 P3口引脚的第二功能
引脚号 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 第二功能 RXD(串行输入) TXD(串行输出) INT0(外部中断 0) INT1(外部中断 1) T0(定时器0外部输入) T1(定时器1外部输入) WR(外部数据存储器写选通) RD(外部数据存储器写选通)
? RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复
位。看门 狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器
AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。
? ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低 8位
地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要通过将地址为8EH的SFR的第 0位置“1”,ALE操作将无效。这一位置 “1”, ALE仅在执行 MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个 ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
? PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当
AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而 在访问外部数据存储器时,PSEN将不被激活。
? EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程
序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。
? XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 ? XTAL2:振荡器反相放大器的输出端。 4.1.3 存储器结构
MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。 ? 程序存储器:
如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA接 VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。 ? 数据存储器:
AT89S52有256字节片内数据存储器。高 128字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH的地址时,寻址方式决定 CPU访问高 128字节 RAM还是特 殊功能寄存器空间直接寻址方式访问特殊功能寄存器(SFR)。例如,下面的直接寻址指令访问0A0H(P2口)存储单元
MOV 0A0H , #data
共分享92篇相关文档