《武汉理工大学单片机应用》实习报告
1.3 基本任务
1)利用上述材料完成包含如下系统功能组件的单片机最小系统的设计、焊接、调试 (1)键盘
一个4X4的矩阵键盘,其中,10个按键是0~9数字键;另外6个是功能键,用于功能选择和控制。 (2)显示电路
由6个7段LED数码管组成的显示电路。 (3)温度检测
利用DS18B20可编程1-Wire数字温度传感器芯片,或利用AD590温度传感器芯片和A/D转换器芯片采集温度温度信号。 (4)串口串行通信
利用51的串口实现串行通信接口电路。 2)完成ISP下载电路的设计、焊接
3)完成系统软件的设计,包括程序结构设计、流程图绘制、程序设计,实现如下功能 (1)功能选择
通过功能选择键,使得单片机处于不同的工作状态并通过LED显示相应的内容。 (2)温度显示
通过功能选择键选择温度检测、显示后,LED显示温度值。 (3)数据输入
通过功能选择键选择数据输入后,将通过键盘键入的0~9按键值显示在LED上,其中,最后输入的显示在最左边,之前键入向右移动一位。 (4)数据通信
将两个单片机最小系统通过串口连接起来,其中一个作为主系统,另一个作为辅系统。当通过功能选择键选择数据通信后,当在主系统上进行功能(2)、功能(3)的操作时,辅系统的LED上显示与主系统同样的内容。 4)利用仿真软件完成系统仿真工作
6
《武汉理工大学单片机应用》实习报告
5)在单片机最小系统硬件上实现任务3中规定的功能
2 基本原理
2.1 STC89C52单片机介绍
STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:
1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意
选择,指令代码完全兼容传统8051.
2. 工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机) 3. 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作
频率可达48MHz
4. 用户应用程序空间为8K字节 5. 片上集成512字节RAM
6. 通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,
P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无
需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片 8. 具有EEPROM功能 9. 具有看门狗功能
10. 共3个16位定时器/计数器。即定时器T0、T1、T2
7
《武汉理工大学单片机应用》实习报告
11. 外部中断4路,下降沿中断或低电平触发电路,Power Down模式可
由外部中断低电平触发中断方式唤醒
12. 通用异步串行口(UART),还可用定时器软件实现多个UART 13. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级) 14. PDIP封装
STC89C52RC单片机的工作模式
? 掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原
程序
? 空闲模式:典型功耗2mA
? 正常工作模式:典型功耗4Ma~7mA
? 掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备
8
《武汉理工大学单片机应用》实习报告
图1 STC89C52RC引脚图
STC89C52RC引脚功能说明
VCC(40引脚):电源电压 VSS(20引脚):接地
P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM
9
《武汉理工大学单片机应用》实习报告
编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。
P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。
此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表:
在对Flash ROM编程和程序校验时,P1接收低8位地址。 引脚号 P1.0 P1.1 功能特性 T2(定时器/计数器2外部计数输入),时钟输出 T2EX(定时器/计数器2捕获/重装触发和方向控制) 表一P1.0和P1.1引脚复用功能表
P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX @DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX @R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。
在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。 P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。
10