PCB课程设计报告
课题:8255并行口扩展设计
学院: 核工程与地球物理学院
班级:
学号:2
姓名: 何鹏宇
目录
一、设计题目 (2)
二、设计内容与要求 (2)
三、设计目得意义 (2)
四、系统硬件电路图 (2)
五、程序流程图与源程序......................................... 错误!未定义书签。
六、系统功能分析与说明 (3)
七、设计体会 ............................................................ 错误!未定义书签。
一、设计题目
8255并行口扩展控制系统设计。利用单片机AT89C52控制实现8255得PB口输出数据等于PA口输入数据。
二、设计内容与要求
(1)利用单片机AT89C52与8255A设计一个扩展控制系统设计。
(3)要求使用得元器件数目最少,电路尽可能简单。
(4)电源电压为+5V。
三、设计目得意义
1、通过8255并行口扩展控制,进一步熟悉与掌握单片机得结构及工作原理,加深
对单片机理论知识得理解;
2、掌握单片机内部功能模块得应用;
3、掌握单片机得接口及相关外围芯片得特性、使用与控制方法;
4、掌握单片机应用系统得构建与使用,为以后设计与实现单片机应用系统打下
良好得基础。
四、系统硬件电路图
(1) 8255并行口扩展控制硬件电路原理图如下:
图1:电路原理图
三大元件:
各元件封装:
(2) PCB图如下
:
图2:PCB图五、程序流程图与源程序
5、1 程序流程图
六、系统功能分析与说明
6、1 总体功能实现说明
本次设计单片机采用
8位CMOS微
控制器。片内含有4KB得存储器(EPEROM),与8031引脚与指令系统完全兼容。
89C52得VCC接+5V,VSS接地。复位引脚RESET外接RC电路与复位开关,可以实现人工复位。本系统采用按键电平复位,如硬件图所示。XTAL1与XTAL2引脚外接12MHZ晶振与两个30PF得电容。一般,单片机系统中高集成度芯片得电源端都应并联虑波电容,但此系统中只需扩展一个8255并对发光二极管进行控制,而不需要精确控制,所以没有接虑波电容。从系统实际运行情况瞧,没有接虑波电容未对系统稳定性造成影响。
89C52单片机中,没有单独得地址总线与数据总线,而就是与P0口与P2口公用得:P0口分时地作为低8位地址线与8位数据线用,P2口则作为高8位地址线用。所以有16条地址线与8条数据线,但要注意,她们不就是独立得总线,而就是与I/O端口合用得。本系统就是扩展8255,用到了89C52得P2口作为低8位地址线与数据线,通过寄存器74LS373连接到8255得得控制端口。
本系统中要求实现8255得PB口输出数据等于PA口输入数据,我得做法就是:在PA口接上开关,控制高低电平得变化;PB口则接上发光二极管,通过发光二极管得亮灭情况可知PB口得输出状态以及PA输入状态,从而达到系统得要求。为了很好地保护发光二极管,在每个发光二极管得回路上接上限流电阻,大小为1K,PA口得排阻大小为10K。当按下PA口得开关时,PB口相应得发光二极管将亮起。本设计可用于抢答器设计等领域。
6、2 功能介绍
(1) ATM89C52主要功能特性:
AT89C52就是一个低电压,高性能CMOS 8位单片机,片内含8k bytes得可反复擦写得Flash只读程序存储器与256 bytes得随机存取数据存储器(RAM),器件采用ATMEL公司得高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器与Flash存储单元,AT89C52单片机在电子行业中有着广泛得应用。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口
线,AT89C52可以按照常规方法进行编程,也可以在线编程
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口得管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储
器,它可以被定义为数据/地址得低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:P1口就是一个内部提供上拉电阻得8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这就是由于内部上拉得缘故。在FLASH编程与校验时,P1口作为低八位地址接收。
P2口:P2口为一个内部上拉电阻得8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口得管脚被外部拉低,将输出电流。这就是由于内部上拉得缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址得高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器得内容。P2口在FLASH编程与校验时接收高八位地址信号与控制信号。
P3口:P3口管脚就是8个带内部上拉电阻得双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这就是由于上拉得缘故。
P3口也可作为AT89C51得一些特殊功能口,如下表所示:
口管脚备选功能
P3、0 RXD(串行输入口)
P3、1 TXD(串行输出口)
P3、2 /INT0(外部中断0)
P3、3 /INT1(外部中断1)
P3、4 T0(计时器0外部输入)
P3、5 T1(计时器1外部输入)
P3、6 /WR(外部数据存储器写选通)
P3、7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程与编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期得高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许得输出电平用于锁存地址得低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变得频率周期输出正脉冲信号,此频率为振荡器频率得1/6。因此它可用作对外部输出得脉冲或用于定时目得。然而要注意得就是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE得输出可在SFR8EH地址上置0。此时, ALE 只有在执行MOVX,MOVC指令就是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器得选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效得/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管就是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器得输入及内部时钟工作电路得输入。
XTAL2:来自反向振荡器得输出。
振荡器特性:
XTAL1与XTAL2分别为反向放大器得输入与输出。该反向放大器可以配置为片内振荡器。石晶振荡与陶瓷振荡均可采用。如采用外部时钟源驱动器
件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号得脉宽无任何要求,但必须保证脉冲得高低电平要求得宽度。
6、2 功能介绍
(4) 8255特性
①一个并行输入/输出得LSI芯片,多功能得I/O器件,可作为CPU总线与外围得接口。
②具有24个可编程设置得I/O口,即使3组8位得I/O口为PA口,PB 口与PC口。它们又可分为两组12位得I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3)。A组可设置为基本得I/O口,闪控(STROBE)得I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器得控制字决定。
(5) 8255引脚功能
RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输。
RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。
D0~D7:三态双向数据总线,8255与CPU数据传送得通道,当CPU 执行输入输出指令时,通过它实现8位数据得读/写操作,控制字与状态信息也通过数据总线传送。
PA0~PA7:端口A输入输出线,一个8位得数据输出锁存器/缓冲器,一个8位得数据输入锁存器。
PB0~PB7:端口B输入输出线,一个8位得I/O锁存器, 一个8位得输入输出缓冲器。
PC0~PC7:端口C输入输出线,一个8位得数据输出锁存器/缓冲器, 一个8位得数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位得端口, 每个4位得端口包含一个4位得锁存器,分别与端口A与端口B配合使用,可作为控制信号输出或状态信号输入端口。'
A0,A1:地址选择线,用来选择8255得PA口,PB口,PC口与控制寄存器。
当A0=0,A1=0时,PA口被选择;
当A0=0,A1=1时,PB口被选择;
当A0=1,A1=0时,PC口被选择;
当A0=1,A1=1时,控制寄存器被选择。
(5)74LS373介绍
74LS373为三态输出得八D锁存器。373 得输出端 Q0~Q7 可直接与总线相连。
当三态允许控制端 OE 为低电平时,Q0~Q7为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,Q0~Q7 呈高阻态,即不驱动总线,也不为总线得负载,但锁存器内部得逻辑操作不受影响。
当锁存允许端 LE 为高电平时,Q 随数据 D 而变。当 LE 为低电平时,D 被锁存在已建立得数据电平。当 LE 端施密特触发器得输入滞后作用,使交流与直流噪声抗扰度被改善 400mV
七、设计体会
PCB设计对我们以后得工作有很大得帮助,也对我们得能力有很大得帮助与提高。学习PCB设计对我们学习单片机技术有很大得帮助,对掌握单片机开发技术也很重要。
理论就是指导实践得,实践就是验证理论得,而光靠理论知识那就是行不通得,所以我们进行了PCB设计,来巩固我们学习得理论知识,通过这次得实践我发现了一些问题,解决了一些问题,能力得到了锻炼,同时也认识到了理论到实践就是有一定差距得,自己得动手能力太弱,理论知识也没学精,所以在PCB设计过程中遇到了很多得问题,通过认真得读书,使我对这门课程又有了较深得巩固,所以进行这样得课程设计就是很有必要得,也就是很有意义得,使我们有了更大得收获。
通过这次PCB设计让我也知道了单片机到工业生产得一点流程,为我们以后工作提供更多得经验与知识储备。时间过得很快,五周得PCB设计就这样结束了。之前我对设计到流程一无所知,不知道如何把所学得东西运用到工业生产中,所以很就是迷茫。总听别人说,做这行业很麻烦,自从自己慢慢学习之后我发现只要认真学才就是最关键得。在学校老师为我们提供这样一个好得平台,这样一个小小任务却为我们积累了一点信心。经过老师得辅导之后我信心倍增,相信只要自己努力了肯定会有收获得。
通过这次课程设计我感慨很多。从设计原理图到设计PCB板子,从理论到实践,在整整五个星期里,真得感觉到很麻烦,但就是我却真正从这次课设中学到很多很多得东西,而且学到了很多在书本上所没有提过得知识。经过这次课设让我更加注意到理论与实践相结合得重要性。
这次设计要求每三个人完成。之前没有学过怎样制作PCB板,所以刚开始得时候也就是一头雾水。经过老师细心地指导,终于把制作PCB板得整个流程熟悉了一遍。又让自己从中学习了更多新得知识。在做板得过程中必须一直保持谨谨慎。
只要付出就会有收获,通过这次实践让我懂得要学会发现问题,解决问题,人才能不断得提高。