PROTEUS 跑马灯 单片机课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微型计算机技术课程设计报告
专业:通信工程
班级:xxxxxxxxx
姓名:XXX
学号:xxxxxxx
指导教师:XX
时间:xxx
通信与电子信息工程学院
8255扩展
一、课设目的、内容;
1.目的:为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。
(1).通过本设计,使学生综合运用《微型计算机技术》、《C语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。
(2).学会使用KEIL C和PROTEUS等软件,用C语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。
(3).了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等。
2.内容:8155或8255扩展用8155或8255扩展IO实现16个LED的跑马灯,提供多种跑马灯运行模式
二、问题分析、方案的提出、设计思路及原因;
本次课程设计的题目是8255的扩展,利用AT89C52驱动扩展8255数据输出口来实现16个LED跑马灯的显示。但是在80C52系列单片机中,有四个8位I/O 端口,但真正能够提供给用户使用的只有P1口,因为P0口和P2口通常需要用来传送外部存储器的地址和数据,P3口也需要使用它的第二功能。因此,单片机提供给用户的I/O接口线并不多,对于复杂的一些的应用系统都应该进行I/O 口的扩展。8255具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB 口和PC口.而8255又有多种运行模式,而这些操作模式完全由控制寄存器的控制字决定。利用8255的控制字模式来定义8255输出口的个数,驱动所需的LED 灯的个数,实现课题目的。
在仿真实验中,两个按键分别控制跑马灯的顺序显示、跳跃显示两种运行方式,顺序显示分别是一个、两个、四个、八个LED灯依次亮。跳跃显示分别是一个、两个、四个LED灯跳跃显示
三、电路设计及功能说明,硬件原理框图及电路图(包括接口芯片简介);
本次设计采用AT89C52芯片驱动可编程接口芯片8255的扩展来实现LED 灯的多种显示方式。让AT89C52芯片的P0口与8255芯片的三态双向数据总线D0~D7连接,实现数据传送。当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。8255的地址选择线A1、A0分别与AT89C52的P2.7和P2.6连接,通过定义不同的地址来定义8255芯片PA 口和PB 口的工作方式。读写命令线分别与单片机的读写命令线相连,片选线直接接地,复位线RESET 接单片机的P2.5。同时PA 口与8个LED 灯顺序连接。PB 口与8个LED 灯逆序连接,通过按键控制可以选择不同的运行模式,实现多种跑马灯的运行模式。 硬件原理框图
P1口
AT89C52
P0口
D0~
D7 PA 口
PB
口
“顺”“逆”模式选择开关
……
……
8255
电路图
接口芯片简介
(1)AT89C52
AT89C52是51系列单片机的一个型号,它
是ATMEL公司生产的。
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可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
· 兼容MCS51指令系统· 8k可反复擦写(>1000次)Flash ROM
· 32个双向I/O口· 256x8bit内部RAM
· 3个16位可编程定时/计数器中断· 时钟频率0-24MHz
· 2个串行中断· 可编程UART串行通道
· 2个外部中断源· 共6个中断源
· 2个读写中断口线· 3级加密位
· 低功耗空闲和掉电模式· 软件设置睡眠和唤醒功能
(2)8255芯片
8255特性
(1)一个并行输入/输出的LSI芯片,多功能的
I/O器件,可作为CPU总线与外围的接口.
(2)具有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两种模式,而这些操作模式完全由控制寄存器的控制字决定.
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位的输入输出缓冲器。