单片机8255并行口扩展控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机最小应用系统
设
计
报
告
指导老师:
学生:
学号:
机电工程学院
年月日
目录
一、设计题目 (3)
二、设计内容与要求 (3)
三、设计目的意义 (3)
四、系统硬件电路图 (3)
五、程序流程图与源程序 (4)
六、系统功能分析与说明 (6)
七、设计体会 (11)
八、参考文献 (12)
一、设计题目
8255并行口扩展控制系统设计。利用单片机AT89S51控制实现8255的PB口输出数据等于PA口输入数据。
二、设计内容与要求
(1)利用单片机AT89S51与8255A设计一个扩展控制系统设计。
(3)要求使用的元器件数目最少,电路尽可能简单。
(4)电源电压为+5V。
三、设计目的意义
1、通过8255并行口扩展控制,进一步熟悉和掌握单片机的结构及工作原理,加
深对单片机理论知识的理解;
2、掌握单片机内部功能模块的应用;
3、掌握单片机的接口及相关外围芯片的特性、使用与控制方法;
4、掌握单片机的编程方法,调试方法;
5、掌握单片机应用系统的构建和使用,为以后设计和实现单片机应用系统打下
良好的基础。
四、系统硬件电路图
(2) PCB图如下:
图2:PCB图
五、程序流程图与源程序
5.1 程序流程图
图3:程序流程图5.2 源程序
#include
#define RD P0_3
#define WR P3_7
#define A0 P0_0
#define A1 P0_1
#define REST P3_6
#define CS P0_2
void main(void)
{
unsigned char get_data;
CS=0;
REST=1;
REST=0;
RD=1;
P2=0x90;
A0=1;
A1=1;
WR=0;
WR=1;
///////////////////////////////////////// 以前是初始化
P2=0xff;
A0=0;
A1=0;
WR=0;
WR=1;
P2 = 0xff;
while(1)
{
A0=0;
A1=0;
RD=0;
get_data=P2;
RD=1;
P2=get_data;
A0=1;
A1=0;
WR=0;
WR=1;
P2 = 0xff;
}
}
六、系统功能分析与说明
6.1 总体功能实现说明
本次设计单片机采用AT89S51,它是一种低功耗、高性能的8位CMOS微控制器。片内含有4KB的存储器(EPEROM),与8031引脚和指令系统完全兼容。
89S51的VCC接+5V,VSS接地。复位引脚RESET外接RC电路和复位开关,可以实现人工复位。本系统采用按键电平复位,如硬件图所示。XTAL1和XTAL2引脚外接12MHZ晶振和两个30PF的电容。一般,单片机系统中高集成度芯片的电源端都应并联虑波电容,但此系统中只需扩展一个8255并对发光二极管进行控制,而不需要精确控制,所以没有接虑波电容。从系统实际运行情况看,没有接虑波电容未对系统稳定性造成影响。
89S51单片机中,没有单独的地址总线和数据总线,而是和P0口和P2口公用的:P0口分时地作为低8位地址线和8位数据线用,P2口则作为高8位地址线用。所以有16条地址线和8条数据线,但要注意,他们不是独立的总线,而是和I/O端口合用的。本系统是扩展8255,用到了89S51的P2口作为低8位地址线和数据线,高8位地址则由P0口控制,P0.0接在8255的A0上,P0.1接在A1上,8255的片选由P0.2控制。
本系统中要求实现8255的PB口输出数据等于PA口输入数据,我的做法是:在PA口接上开关,控制高低电平的变化;PB口则接上发光二极管,通过发光二极管的亮灭情况可知PB口的输出状态以及PA输入状态,从而达到系统的要求。为了很好地保护发光二极管,在每个发光二极管的回路上接上限流电阻,大小为1K,PA口的排阻大小为10K。当按下PA口的开关时,PB口相应的发光二极管将亮起。本设计可用于抢答器设计等领域。
6.2 功能介绍
(1) ATM89S51主要功能特性:
图4:MCS-51单片机的基本结构
AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
·兼容MCS-51指令系统
·32个双向I/O口
·2个16位可编程定时/计数器
·全双工UART串行中断口线
·2个外部中断源