单片机之跑马灯设计
- 格式:doc
- 大小:393.50 KB
- 文档页数:19
1 单片机最小应用系统设计报告 一、设计题目„„„„„„„„„„„„„„„„„„„„„1 二、设计目的„„„„„„„„„„„„„„„„„„„„„1 三、系统硬件图„„„„„„„„„„„„„„„„„„„„1 四、程序流程图„„„„„„„„„„„„„„„„„„„„2 五、系统说明与分析 5.1系统主要组成部分„„„„„„„„„„„„„„„6 5.2 74LS244介绍部分„„„„„„„„„„„„„„„6 5.3 74LS244连接部分„„„„„„„„„„„„„„„9 5.4单片机最小系统部分„„„„„„„„„„„„„„9 5.5数码显示部分„„„„„„„„„„„„„„„„„13 5.6电路板的制作„„„„„„„„„„„„„„„„„15
5.7系统连线说明分析„„„„„„„„„„„„„„„16 六、源程序 „„„„„„„„„„„„„„„„„„„„„18 七、总结 „„„„„„„„„„„„„„„„„„„„„„19 八、参考文献 „„„„„„„„„„„„„„„„„„„„19 2
一、 设计题目 用at89s51的P1口作为输入、P0口作为输出,通过74LS244接8路LED模拟分支控制。P1.0为低电平时,点亮一LED;P1.0为高电平、P1.1为低电平时点亮全部LED;当P1.0、P1.1都为高电平时,LED按四个一组,轮流反复点亮。 二、 设计目的 1、进一步熟悉和掌握单片机的结构及工作原理。 2、掌握单片机的接口技术及相关外围芯片的外特性,控制方法。 3、通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。 4、通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 5、通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统全过程,为今后的从事打基础。 三、 系统硬件图
1、模拟分支控制系统的硬件电路原理图如下:
图1 电路原理图 3
2、PCB图如下:
图2 PCB图 4
四、 程序流程图 模拟分支控制系统程序框图如下:
Y N Y
N Y
N
图3 程序流程图
开始 P1.0为0 点亮1个LED
P1.1为0 点亮8个LED
P1.0为1,P1.1为1 4个LED组队闪烁
返回 5
五、系统说明与分析 5.1系统主要组成部分 模拟分支控制系统主要分为三个部分:单片机最小系统,74LS244分支部分,数码管显示部分。 所用主要元件有:AT89S51,74LS244,8个LED数码管。 5.2介绍74LS244部分 74LS244是ttl 八同相三态缓冲器/线驱动器,其coms器件对应为74hc244,常用在单片机mcu系统中,作为单片机的输入输出数据缓冲器,在选通时输入数据送到总线上,在非选通时对总线呈高阻态。 74LS244的管脚图下图所示:
图4 74LS244管脚图 74LS244内部电路: 6
图5 74LS244内部结构图
电路分析: 1、74ls244/54ls244三态八缓冲器/线驱动器/线接收器(3S,两组控制)。
图6逻辑引脚功能图 引脚功能: 1A1~1A4,2A1~2A4 输入端 /1G, /2G 三态允许端(低电平有效) 1Y1~1Y4,2Y1~2Y4 输出端 真值表: 7
L =低逻辑电平 H =高逻辑电平 X =高或低的逻辑电平 ž =高阻抗
2、推荐工作参数: 符号 参数 最小值 典型值 最大值 单位 VCC 电源电压 4.75 5 5.25 V VIH 输入高电平电压ViH 2 - - V VIL 输入低电平电压ViL - - 0.8 V IOH 输出高电平电流IOH - - -15 mA IOL 输出低电平电流IOL - - 24 mA TA 工作温度 0 - 70 °C
3、电气参数: 符号 参数 测试条件 最小值 最小值 最小值 单位 VI 输入钳位电压 VCC = Min, II = -18 mA - - -1.5 V HYS Hysteresis (VT+ - VT-) VCC = Min 0.2 0.4 - V VOH 输出高电平电压 VCC = Min, VIH = Min VIL = Max, IOH = -1 mA 2.7 - -
V VCC = Min, VIH = Min VIL = Max, IOH = -3 mA 2.4 3.4 - VCC = Min, VIH = Min VIL = 0.5V, IOH = Max 2 - - VOL 输出低电平电压 VCC = Min VIL = Max IOL = 12 mA - - 0.4 V IOL = Max - - 0.5 IOZH 输出高阻态时高电平电流 VIH = Min VCC = Max VIL = Max VIH = Min VO = 2.7V - - 20 mA IOZL 输出高阻态时低电平电流 VO = 0.4V - - -20 mA
II 最大输入电压时输入电VCC = Max VI = 7V - - 0.1 mA 8
流 IIH 输入高电平电流 VCC = Max VI = 2.7V - - 20 mA IIL 输入低电平电流 VCC = Max VI = 0.4V -0.5 - -200 mA IOS 输出短路电流 VCC = Max (Note 3) -40 - -225 mA ICC 电源电流 VCC = Max, Outputs Open Outputs HIGH - 13 23
mA Outputs LOW - 27 46 Outputs Disabled - 32 54
5.3 74LS244连接部分 74LS244是三态输出的八缓冲器,由2组、每组四路输入、输出构成。每组有一个控制端,由控制端的高或低电平决定该组数据被接通还是断开。 (1)74LS244的内部逻辑结构
图7 74LS244的内部逻辑结构
(2)74LS244应用说明 MCS-51外部扩展空间很大,但数据总线口和控制信号线的负载能力是有限的。若需要扩展的芯片较多,则MCS-51 总线口的负载过重,74LS244 是一个扩展输入口,同时也是一个单向驱动器,以减轻总线口的负担。程序中可以加一段延时程序,以减少总 9
线口读写的频繁程度。延时时间约为0.01 秒,不会影响显示的稳定。 5.4单片机最小系统部分 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等三种封装形式,以适应不同产品的需求。 1.主要特性: • 8031 CPU与MCS-51 兼容 • 4K字节可编程FLASH存储器(寿命:1000写/擦循环) • 全静态工作:0Hz-24KHz • 三级程序存储器保密锁定 • 128*8位内部RAM • 32条可编程I/O线 • 两个16位定时器/计数器 • 6个中断源 • 可编程串行通道 • 低功耗的闲置和掉电模式 • 片内振荡器和时钟电路 2.管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器, 10
它可以被定义为数据/地址的第八位。在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.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口同时为闪烁编程和编程校验接收一些控制信号。 I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q^为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时