当前位置:文档之家› PCB课程设计

PCB课程设计

PCB课程设计
PCB课程设计

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板得整个流程熟悉了一遍。又让自己从中学习了更多新得知识。在做板得过程中必须一直保持谨谨慎。

只要付出就会有收获,通过这次实践让我懂得要学会发现问题,解决问题,人才能不断得提高。

相关主题
文本预览
相关文档 最新文档