单片机8255并行口扩展控制系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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个外部中断源

相关文档
最新文档