串行口动态扫描显示电路
- 格式:doc
- 大小:117.50 KB
- 文档页数:10
CS1694动态LED 控制/驱动电路概述CS1694是一种动态LED 控制/驱动器具有多种显示模式6×11或7×10内部具有8级亮度控制带有按键扫描功能可以扫描10×2的键盘矩阵电路内部含有一个14×8的显示RAM 以及一个5×6的按键数据RAM 作为MCU 的理想外围元件带有可以直接和MCU 相接的串行口Din & Dout StbClkCS1694是在CS1684的基础上封装改动形成的在CS1684电路基础上将Din 与Dout 键合在一起Key3和Seg11不键合其他功能与CS1684相同该电路主要用作动态LED 控制/驱动器也有按键扫描的用途是单片机与动态LED 屏之间的理想元器件可以用在DVD VCD 功放等整机上功能特点采用低功耗的CMOS 工艺技术多种显示模式 6 Grids ×11 Segs 或7 Grids ×10 Segs 按键扫描功能10×2键盘矩阵 带有8级亮度调整功能带有直接与MCU 相接的时钟数据输入数据输出使能信号的串行接口 封装形式SOP28管 脚 名 管脚序号 I/O 管 脚 描 述 Osc 1 I 振荡器输入引脚外接的振荡电阻决定了振荡器的频率Din & Dout 2 I/ON 沟开漏结构的串行数据输入输出端口Clk 上升沿处输入数据从低位开始Clk 下降沿处输出数据Clk 3 I 时钟输入端口上升沿处输入数据下降沿处输出数据Stb 4 I串行接口使能端口Stb 下降沿后第一个数据作为控制指令当其为高电平时Clk 无效Key1~Key2 5 6I 按键数据输入端口每次显示周期结束按键数据锁存一次内部采用下拉电阻结构Gnd 222528 - 低电平端口Seg1/Ks1Seg10/Ks10817O P 沟开漏结构的Seg输出端口也用作按键扫描信号Seg12/Grid7 18 O Seg Grid 共用输出端口Vdd 721- 电源端口 Grid6Grid1192023242627O Grid 输出端口功能说明电路上电后RC 振荡器起振然后通过内部的复位电路对电路进行初始化如操作模式显示模式等电路初始化后可通过串行接口从MCU 接受指令数据等信息只有当Stb 为低电平时Clk 才有效才可以通过Din & Dout 端口与MCU 之间交换信息接收数据时Stb 从高电平变为低电平后的第一个byte 作为指令用无论是接受数据还是发送数据总是从字节的最低位开始从数据流程看电路内含有三条数据流1 串行口串/并转换数据RAM Seg 输出2 串行口串/并转换指令译码控制信息3 按键口按键锁存按键RAM 串并转换Dout 输出指令说明CS1694共有4条指令显示模式设置指令操作模式设置指令数据RAM 地址设置指令显示控制指令指令的高两位是指令识别码用以识别所接受的是何种指令然后指向对应的译码器产生对应的微操作每条指令里的不相关位可以为1也可以为0对电路的动作不影响指令1显示模式设置指令该条指令决定了显示时的Seg 数和Grid 数在该条指令里指令识别码为00无关位是b2b5电路在显示前首先要执行显示控制指令用以打开显示电路在初始化后选106Grids 11Segs 117Grids10Segs该条指令主要是用来设置写数据操作还是读按键数据操作另外还可以设置是正常工作模式还是测试模式主要是测试OSC 以及在写数据时地址的操作模式在该条指令里指令识别码为01无关位是b4b5电路初始化后低四位均被设置为0其具体格式如下图00写数据到显示RAM10读key数据地址自动加1模式设置0数据写入后地址自动加11地址固定电路模式选择1测试模式0正常工作按键扫描数据三者之间的关系如下表所示指令3数据RAM地址设置指令该条指令主要是用来设置所要的显示RAM写入地址所设置地址只要在范围00H0DH 内才是有效的如设置的是0EH或更高则被认为是无效设置数据不能写入直至一个有效地址被设置在该条指令里指令识别码为11无关位是b4b5电路初始化后显示RAM地址设置该条指令主要是对显示进行亮度设置以及开/关显示设置在该条指令里指令识别码为电路初始化后亮度设置000脉宽=1/16001脉宽=2/16010脉宽=4/16011脉宽=10/16100脉宽=11/16101脉宽=12/16110脉宽=13/16111脉宽=14/160显示关掉1显示按键扫描继续打开显示按键扫描关系图电路在正常工作中按键扫描和显示交替工作其中一个按键扫描周期包括了2个显示周期两者之间的关系如下图所示与MCU之间的传输格式其中PW CLK 时钟脉宽400ns PW stb Stb 脉宽1µs t setup 数据设置时间100ns t hold 数据保持时间100nst Clk-Stb Clk -Stb 时间1µs t THZ 下降时间10µs t TZH 上升时间1µs t PZL 传送延迟时间100nsfosc =振荡器频率 t PLZ 传送延迟时间300ns t TZL <1µs t TLZ <10µs测试条件t THZ 下拉电阻10k Ω负载300pF t TLZ 上拉电阻10k Ω负载300pF* Din 与Dout 键合在一起极限参数如未作其他说明则Ta=25Gnd=0V参数符号范围单位电源电压V dd-0.5+7.0 V逻辑输入电压Vi -0.5V DD+0.5 VIolgr +250mA 输出驱动电流Iohsg -50 mA 最大输出电路总和Itotal 400mA 存储温度Tstg -55+125工作温度Topt -40+85推荐工作范围如未作其他说明则Ta=20+70Gnd=0V参数符号最小值典型值最大值单位电源电压V dd 4.5 5.0 5.5 V动态电流* Idyn - - 5 mA高电平输入电压Vih 0.8V DD- V DD V低电平输入电压Vil 0 - 0.3V DD V*测试条件将显示控制指令设为80H即显示关断且无负载电参数如未作其他说明则Ta=25Gnd=0V Vdd=5V参数符号最小值典型值最大值单位说明Iohsg1 -20 -25 -60 mAV o=V DD-2VSeg1Seg10,Seg12/Grid7高电平输出电流Iohsg2 -25 -30 -70 mAV o=V DD-3VSeg1Seg10,Seg12/Grid7低电平输出电流Iolgr 100 140 - mAV o=0.3VGrid1Grid6,Seg12/Grid7低电平输出电流Ioldout 4 - - mA V o=0.4VSeg高电平输出电流容限Itolsg - - ±5 %V o=V DD-3VSeg1Seg10,Seg12/Grid7高电平输入电压Vih 0.8V DD- 5 V -低电平输入电压Vil 0 - 0.3V DD V - 振荡器频率Fosc 300 500 650 kHz Rosc=51kΩKey1Key2下拉电阻Rkn 40 - 100 kΩKey1Key2 V DD=5V1 在Vdd 与Gnd 之间的0.1µF 电容在布局时越靠近芯片效果越好2 特别建议将NC 脚与Gnd 相联。
动态显示1.掌握LED数码管显示及其一般电路结构;2.掌握LED动态显示程序的一般设计方法。
一、实验内容动态显示,也称为扫描显示。
显示器由6个共阴极LED数码管构成。
单片机的P0口输出显示段码,由一片74LS245输出给LED管;由P1口输出位码,经74LS04输出给LED显示。
二、实验步骤1、打开Proteus ISIS编辑环境,按下表所列的元件清单添加元件。
图1 动态显示实验电路原理图2、按实验要求在KeilC中创建项目,编辑、编译程序。
3、将编译生成的目标码文件(后缀为.Hex)传入Proteus的实验电路中。
4、在Proteus ISIS仿真环境中运行程序,观察实验运行结果并记录。
三、实验要求1.编写一显示程序显示201071;2.显示特殊字符good;3.调整软件延时子程序的循环初值,逐渐加大每一位LED点亮的时间,观察程序运行结果。
四、参考程序dbuf equ 30h ;置存储区首址temp equ 40h ;置缓冲区首址org 00hmov 30h,#2 ;存入数据mov 31h,#0mov 32h,#1mov 33h,#0mov 34h,#7mov 35h,#1mov r0,#dbufmov r1,#tempmov r2,#6 ;六位显示器mov dptr,#segtab ;段码表首地址dp00: mov a,@r0 ;取要显示的数据movc a,@a+dptr ;查表取段码mov @r1,a ;段码暂存inc r1inc r0djnz r2,dp00disp0: mov r0,#temp ;显示子程序mov r1,#6 ;扫描6次mov r2,#01h ;从第一位开始dp01: mov a,@r0mov p0,a ;段码输出mov a,r2 ;取位码mov p1,a ;位码输出acall delay ;调用延时mov a,r2rl amov r2,ainc r0djnz r1,dp01sjmp disp0segtab: db 3fh,06h,5bh,4fh,66hdb 6dh,7dh,07h,7fh,6fhdelay: mov r4,#03h ;延时子程序aa1: mov r5,0ffhaa: djnz r5,aadjnz r4,aa1retend实验原理MCS-51单片机内设置了两个可编程的16位定时器T0和T1,通过编程,可以设定为定时器和外部计数方式。
第1章秒计时器总体设计课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。
进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不少的,是非常必要的。
1.1 设计目的设计目的1.单片机的基本原理及相关的简单应用。
2.掌握用单片机设计系统的一般步骤。
3.了解LED数码管的基本知识和驱动方法。
4.掌握单片机系统各个组成部分的作用以及分布位置。
5.学会运用单片机的硬件资源。
1.2 设计任务和要求任务和要求任务:用AT89S51单片机和中小规模集成芯片设计1/100秒计时器要求:1. 计时精度 10-2秒。
2. 6位数码显示,分别表示分、秒、1/10秒、1/100秒。
3. 有两个按键分别控制秒表的归零、停止。
4. 用汇编语言编程,用proteus仿真。
1.3 总体设计方案1.硬件设计方案方案:该系统采用51系列单片机AT89C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。
由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。
整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。
MCS-51单片机特点如下:(1)可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高、易扩充。
(2)单片机有一般电脑所必须的器件,如三态双向总线,串并行的输入及输出引脚,可扩充为各种规模的微电脑系统。
(3)控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。
其原理框图如图1.1所示:图1.1 硬件设计原理框图2.软件设计方案通过汇编语言编写程序来实现设计任务与要求,总体设计方案图如图1.2所示:图1.2 软件设计原理框图第2章单片机应用系统简介单片机的应用系统随着用途不同,它们的硬件和软件结构差别很大,但系统设计的方法和步骤基本上是相同的。
74HC245简介:总线驱动器,典型的TTL型三态缓冲门电路。
由于单片机等CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。
另外,也可以使用74HC244等其他电路,74HC244比74HC245多了锁存器。
74HC245实物图:74HC245引脚定义:第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。
第2-9脚“A”信号输入输出端,A1=B1、、、、、、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。
如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。
第11-18脚“B”信号输入输出端,功能与“A”端一样,不再描述。
第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。
第10脚GND,电源地。
第20脚VCC,电源正极。
TRUTH TABLE真值表Control Inputs 控制输入Operation 运行G DIRL L B 数据到A 总线L H A 数据到B 总线H X 隔开H=高电平 L=低电平×=不定Absolute Maximum Ratings绝对最大额定值Supply Voltage电源电压(VCC) -0.5 to -7.0V DC Input Voltage DIR and G pins (VIN) 直流输入电压方向和G引脚(输入电压)-1.5 to VCC -1.5V DC Input/Output Voltage (VIN, VOUT)直流输入/输出电压-0.5 to VCC -0.5V Clamp Diode Current 钳位二极管电流(ICD) ±20 mA DC Output Current直流输出电流,每个引脚(输出)±35 mA DC VCC or GND Current, per pin (ICC) ±70 mA Storage Temperature Range 储存温度范围(TSTG) -65℃ to -150℃Power Dissipation (PD)功耗(Note 3) 600 mW S.O. Package only 500 mW Lead Temperature (TL) (Soldering 10 seconds) 260℃【74HC245的作用:信号功率放大。
集中实践报告书课题名称 利用74LS164芯片扩展8位LED 串行显示接口电路姓 名 学 号 系、 部 专业班级 指导教师※※※※※※※※※ ※※ ※※ ※※※※※※※※※※※年月日利用74LS164芯片扩展8位LED串行显示接口电路一、设计目的利用74LS164芯片扩展8位LED串行显示。
学习和掌握单片机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
二、设计要求1. 要求将片内30H-37H单元中数据,8个数码管,用扩展串行的显示端口显示出来。
2. 要求做出实物。
三、硬件电路设计74LS164是串行输入并行输出的移位寄存器,每接一片74LS164可扩展一个8位并行输出口,可以作为LED显示器的8根段选线。
实物如图3-1所示。
系统总电路原理图如图3-2,为89C52单片机最小系统与8位数码管的连接图,分别用8个74LS164和8个LED数码管。
部分硬件电路原理图如图3-3所示。
图3-1 电路连接实物图图3-2 总电路原理图图3-3 部分硬件电路原理图数码管中有8段LED数码管显示器由8个发光二极管组成。
LED数码管显示器有两种不一样的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED数码管显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED数码管显示器。
本次设计采用共阳极LED数码管。
在单片机应用系统中,数码管显示器显示常用两种办法:静态显示和动态扫描显示。
所谓静态显示,就是每一个数码管显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU的开销小。
单片机课程设计-- 16x16点阵LED电子显示屏的设计第一章系统总体方案设计LED驱动显示采用动态扫描方法, 动态扫描方式是逐行轮流点亮, 这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
以16×16点阵为例, 把所有同一行的发光管的阳极连在一起, 把所有同一列的发光管的阴极连在一起(共阳的接法), 先送出对应第1行发光管亮灭的数据并锁存, 然后选通第1行使其燃亮一定的时间, 然后熄灭;再送出第2行的数据并锁存, 然后选通第2行使其燃亮相同的时间, 然后熄灭;…第16行之后, 又重新燃亮第1行, 反复轮回。
当这样轮回的速度足够快(每秒24次以上), 由于人眼的视觉暂留现象, 就能看到显示屏上稳定的图形。
该方法能驱动较多的LED, 控制方式较灵活, 而且节省单片机的资源。
显示数据传输采用串行传输的方法, 控制电路可以只用一根信号线, 将列数据一位一位传往列驱动器, 在硬件方面无疑是十分经济的。
但串行传输过程较长, 数据按顺序一位一位地输出给列驱动器, 只有当一行的各列数据都已传输到位之后, 这一行的各列才能并行地进行显示。
对于串行传输方式来说, 列数据准备时间可能相当长, 在行扫描周期确定的情况下, 留给行显示的时间就太少了, 以致影响到LED的亮度。
采用串行传输中列数据准备和列数据显示的时间矛盾, 可以采用重叠处理的方法。
即在显示本行各列数据的同时, 传送下一行的列数据。
为了达到重叠处理的目的, 列数据的显示就需要有锁存功能。
对于列数据准备来说, 它应能实现串入并出的移位功能。
这样, 本行已准备好的数据打入并行锁存器进行显示时, 串行移位寄存器就可以准备下一行的列数据, 而不会影响本行的显示。
系统框图如图一图一点阵显示器硬件系统框图第二章系统硬件电路的设计硬件电路大致上可以分为单片机系统及外围电路、列驱动电路和行驱动电路三部分。
一. 单片机系统及外围电路单片机采用89C51或更高频率的晶振, 以获得较高的刷新频率, 使得显示更稳定。
第4节 编程应用范例[学习要求] 掌握MCS-51单片机的基本应用。
[重点与难点]重点:动态扫描LED 显示电路编程范例;定时/计数器软件编程范例;A/D 接口电路;矩阵式键盘接口技术及编程。
难点:动态扫描LED 显示电路编程范例;定时/计数器软件编程范例。
[理论内容]一、并行I/O 口编程范例单片机I/O 的应用最典型的是通过I/O 口与7段LED 数码管构成显示电路,下面从常用的LED 显示原理开始,详尽讲解利用单片机驱动LED 数码管的电路及编程原理,目的在于通过这一编程范例,让初学者了解I/O 口的编程原理,意在起举一反三,抛砖引玉的作用。
LED 的发光原理,稍有电子技术基础的人士都很清楚,这里不想作过多的介绍,7段LED 数码管,则在一定形状的绝缘材料上,利用单只LED 组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。
LED 数码管根据LED 的接法不同分为共阴和共阳两类,了解LED 的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
图1是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
图1 段数码管将多只LED 的阴极连在一起即为共阴式,而将多只LED 的阳极连在一起即为共阳式。
w w w .d i a n z i 6.c o m以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。
当然,LED的电流通常较小,一般均需在回路中接上限流电阻。
假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。
而将"a"、"b"、"d"、"e"和"g"段都接上正电源,其它引脚悬空,此时数码管将显示“2”。
《单片机原理及接口技术》试题及答案一、填空题1.AT89S51单片机是()位的单片机。
2.AT89S51单片机有()个中断源,()级优先级中断。
3.串行口方式3发送的第9位数据要事先写入()寄存器的()位。
4.串行口的方式0的波特率为 ()。
5.AT89S51内部数据存储器的地址范围是(),位地址空间的字节地址范围是(),对应的位地址范围是()外部数据存储器的最大可扩展容量是()。
6.在内部RAM中可位寻址区中,位地址为40H的位,该位所在字节的字节地址为()。
7.如果(A)=58H,(R1)= 49H,(49H)= 79H,执行指令XCH A, @R1后;结果(A)=( ) ,(49H)=( )。
8.利用81C55可以扩展()个并行口,()个RAM单元。
9.当单片机复位时PSW=()H,SP=(),P0~P3口均为()电平。
10.若A中的内容为88H,那么,P标志位为()。
11.当AT89S51执行MOVC A,@A+ DPTR指令时,伴随着()控制信号有效。
12.AT89S51访问片外存储器时,利用()信号锁存来自()发出的低8位地址信号。
13.已知fosc=12MHz, T0作为定时器使用时,其定时时间间隔为()。
14.若AT89S51外扩8KB 程序存储器的首地址若为1000H,则末地址为()H。
二、判断对错,如对则在()中写“√”,如错则在()中写“×”。
1.AT89S51单片机可执行指令:MOV 35H,@R3。
()2.8031与8751的区别在于内部是否有程序存储器。
()3.当向堆栈压入一个字节的数据后,SP中的内容减1。
()4.程序计数器PC中装的内容是当前正在执行指令的地址。
()5.某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址。
()6.AT89S51单片机中的PC是不可寻址的。
()7.当AT89S51执行MOVX @DPTR,A指令时,伴随着WR*信号有效。
第章思考题及习题参考答案一、填空. 除了单片机这一名称之外,单片机还可称为或。
答:微控制器,嵌入式控制器..单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。
答:、存储器、口、总线. 单片机工作频率上限为。
答:。
. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。
答:成本,可靠性。
二、单选. 单片机内部数据之所以用二进制形式表示,主要单片机答案是.为了编程方便.受器件的物理性能限制.为了通用性.为了提高运算速度答:. 在家用电器中使用单片机应属于微计算机的。
.辅助设计应用.测量、控制应用.数值计算应用.数据处理应用答:. 下面的哪一项应用,不属于单片机的应用范围。
.工业控制.家用电器的控制.数据库管理.汽车电子设备答:三、判断对错. 系列单片机是内核的单片机。
对. 与相比,片内多出了的程序存储器、的、个中断源、个定时器(且具有捕捉功能)。
对. 单片机是一种。
错. 单片机是微处理器。
错. 片内的程序存储器可在线写入(),而则不能。
对. 为单片机设计的应用系统板,可将芯片直接用芯片替换。
对. 为单片机设计的应用系统板,可将芯片直接用芯片替换。
对. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是的长处。
对第章思考题及习题参考答案一、填空. 在单片机中,如果采用晶振,一个机器周期为。
答:µ. 单片机的机器周期等于个时钟振荡周期。
答:. 内部中,位地址为、的位,该位所在字节的字节地址分别为和。
答:,. 片内字节地址为单元最低位的位地址是。
片内字节地址为单元的最低位的位地址为。
答:,. 若中的内容为,那么,标志位的值为。
答:. 单片机复位后,所对应的存储单元的地址为,因上电时。
这时当前的工作寄存器区是组工作寄存器区。
答:,,。
. 内部中,可作为工作寄存器区的单元地址为~。
答:,. 通过堆栈制作实现子程序调用时,第一步要把的内容入栈,以进行断点保护。
收稿日期:2008-03-25作者简介:鄢积分(1963-),女,江西南昌人,江西蓝天学院,工程师。
研究方向:机电一体化。
朱洪涛(1962-),男,江西南昌人,南昌大学,教授,博导。
研究方向:精密仪器及机械。
七段LE D 数码管字形扫描动态显示技术鄢积分1朱洪涛2(1、江西蓝天学院机电所江西南昌330098;2、南昌大学机电学院江西南昌330031) 摘要:在综合叙述和分析单片机控制系统中常用的七段LE D 数码管显示接口技术的设计思路与性能差异的基础上,介绍一种特别适合于需要同时驱动较多位数数码管的场合使用的字形扫描动态显示新技术,其硬件接口电路与软件接口编程均比较简单,同时又能很好地保证显示的亮度。
通过提供实例,已经获得工程应用。
关键词:单片机七段LE D 数码管字形扫描中图分类号:TP39文献标识码:B 文章编号:123(2008增)-029-030 引言微型计算机,尤其是单片机控制系统中,七段LE D 数码管以其简单直观、主动发光、布置灵活、经济性好等特点,成为首选的显示输出设备。
数码管显示接口常用的有静态与动态显示二种不同方式,二者在硬件开销(包括接口资源、PCB 板面积等)与软件开销(包括数据维护、显示码计算等)各有所长,均获得广泛的应用。
其中,显示位数较少时常采用静态显示方式以追求软件的最大简化,显示位数较多时则常采用动态显示方式以追求硬件的最大简化。
1 动态显示技术分析动态显示接口电路以字位扫描方式工作的最为常见,一般的单片机教科书中均予以详细介绍[1][2][3][4]。
其主要工作原理为:各数码管按位分时扫描显示。
在该动态显示接口硬件电路中,有一个8位的字段驱动器(译码方式时还包括一个译码器),各数码管的同名字段(包括小数点字段)并联后,接在相应的字段驱动线上。
同时有若干位(与数码管位数相当)的位驱动器,各位数码管的公共端各自接不同的位扫描线。
动态扫描信号加载在位扫描线上,所需输出的显示码与扫描信号配合加载在字段驱动线上,各数码管按一定的时间间隔轮流使用字段驱动器。
《单片机原理及接口技术》复习题一、填空题 1. MCS-51单片机引脚信号中 信号名称带上划线的表示该信号为 低电平 有效或 下降沿 有效。
2. 若想使用MCS-51单片机的片内程序存储器 引脚EA必须接 低电平 。
当PSEN 信号有效时 表示CPU要从 外部 存储器读取信息。
3. MCS-51单片机访问片外存储器时 利用 ALE 信号锁存来自 P0 口的低8位地址信号。
4. MCS-51单片机内部RAM的通用寄存器区共有 32 个单元 分为 4 组工作寄存器 每组 8 个单元 以 R0-R7 作为寄存器名称。
5. 使AT89C51单片机复位有 加电复位 和 手动复位 两种方法。
复位以后CPU使用第 0 组工作寄存器 它们所对应的内部RAM地址为 00 H至 07 H 若要求使用第2组工作寄存器 RS1和RS0应设置为 10 。
6. MCS-51单片机的存储器分为4个物理上相互独立的存储器空间 即 内部ROM 、 外部ROM 、 内部RAM 、 外部RAM 按其逻辑关系可分为 3 个逻辑上相互独立的存储器空间。
7. MCS-51系列单片机片内数据存储器的寻址空间为 256 B、片外数据存储器的寻址空间为 64 KB。
8. MCS-51系列单片机包括很多机型 其中8031单片机片内有 0 B的程序存储器、AT89C51单片机片内有 4KB的程序存储器。
9. MCS-51系列单片机包括很多机型 其中AT89C51单片机片内有 128 B的数据存储器和 4K B的程序存储器。
10. MCS-51单片机常用的晶振频率范围是 1.2 Hz至 33 Hz。
如果单片机的时钟频率为12MHz 则一个机器周期是 1 μs。
11. CPU的指令系统就是该CPU所能执行的 指令 的集合。
12. MCS-51单片机的指令系统有 7 种寻址方式。
13. 寄存器寻址方式的寄存器的内容是 操作数 可用于寄存器寻址的寄存器有R0 R7、 DPTR 、 累加器A 、 AB寄存器 等。
UART串行扩展接口应用实例UART(Universal Asynchronous Receiver/Transmitter):通用异步收发器,既能同步又能异步通信的硬件电路称为UART。
UART是用于掌握计算机与串行设备的芯片,它供应了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其他使用RS-232C接口的串行设备通信了。
80C51的串行通信口是一个功能强大的通信口,而且是相当好用的通信口。
用于显示驱动电路特别合适,下面我们就依据这种需要用两个串行通信口线加上两根一般I/O口线,设计一个4位LED显示电路。
当然只要再加上两根I/O口线即可轻易实现8位LED显示电路。
例1:如图1所示的电原理图,利用74LS164串行输入并行输出芯片作一个简洁的电子钟,要求四个数码管显示时钟;其中LED1显示小时的十位,LED2显示小时的个位,LED3显示分钟的十位,LED4显示分钟的个位。
图1 串行动态LED扫描电路解:采纳单片机的串行口输出字形码,用74LS164和74LS139作为扩展芯片。
74LS164的功能是将80C51串行通信口输出的串行数据译码并在其并口线上输出,从而驱动LED 数码管。
74LS139是一个双2-4线译码器,它将单片机输出的地址信号译码后动态驱动相应的LED。
因74LS139电流驱动力量较小,故用末级驱动三极管9013作为地址驱动。
将4只LED的字段位都连在一起,它们的公共端则由74LS139分时选通,这样任何一个时刻,都只有一位LED在点亮,也即动态扫描显示方式,其优点使用串行口进行LED通信程序编写相当简洁,用户只需将需显示的数据直接送串口发送缓冲器,等待串行发送完毕标志位即可。
参考程序如下:上面是一个简洁的动态扫描程序,假如再利用上第6章的定时器就可做成一个完整的电子钟,四个数码管显示为00:00这种形式。
在本例中冒号就不显示出来了,分别用20H、21H 、22H、23H地址在放时间的时钟的十位、时钟的个位、分钟的十位、分钟的个位。
单片机复习题第一周1.MCS-51系列单片机的CPU主要是由(运算器、控制器)组成的2.控制程序必须下到单片机的(程序储存器)中,单片机才能工作3.下面(数据库管理)的应用,不属于单片机的应用范围4.AT89C51有(5个)中断系统5.单片机复位之后PC的内容是(0000H)6.AT89C51的EA引脚(必须接+5V电源)7.单片机中的程序计数器PC用来(存放下一条指令地址)8.Intel 8051单片机是(8)位的单片机9.单片机复位之后SP的内容是07H(对)10.AT89C51有两个串行通信端口(错)第二周1.一个单片机应用系统的晶振频率为6MHZ,那么其机器周期为(2us)2.AT89C52单片机中特殊功能寄存器(SFR)使用片内RAM的部份字节地址(对)。
3.PC可以看成是程序存储器的地址指针。
(对)4.使用AT89C51单片机且引脚EA=1时,仍可外扩64KB的程序存储器(错)5.访问程序存储控制信号的引脚名称是(EA)6.(CPU)是单片机的控制核心,完成运算和控制功能。
7.具有只读不能写,掉电后数据不会丢失的存储器是(ROM)只读存储器ROM(Read Only Memory) RAM (Random Access Memory)8.具有可读可写功能,掉电后数据丢失的存储器是(RAM)9.CPU对各种外围部件采用(并行IO口)来控制10.复位后,单片机并行I/O口P0-P3的值是(0Xff)第三周1.对静态显示的说法是错误的(所需电流较大、占用CPU时间小、编程复杂)正确:所需电流小,占用CPU时间小,编程简单、只适用于显示位数较小的场合2.静态显示只适用于显示位数较小的场合。
(对)3.共阴极数码管的公共控制端一般接低电平4.共阳极数码管,当公共端为高电平,某段端控制端为低电平,对应段位点亮。
(错){共阴极数码管点亮条件是:位控制端(公共端)需低电平,段控制端需要高电平}5.数码管显示字符“3”的段码是(B0H ){“8”为80H}6.数码管显示数字“7”时,需点亮(a,b,c )段即可。
大尺寸LED数码显示驱动电路设
Maxim公司的MAX7219芯片用于动态扫描显示驱动,芯片内有可存储显示信息的8x8静态RAM、动态扫描电路以及段、位驱动器。
它与通用微处理器有3根串行线相连,最多可驱动8个共阴数码管或64个发光二极管。
采用MAX7219芯片实现led数码显示,具有电路紧凑、可节省CPU的I/O 接口、芯片功能强大、编程简单等优点,得到了广大电路设计者认可。
然而MAX7219的工作电压为5 V,共阴极LED显示驱动,只适用于3.5 V以下电压驱动的LED数码管,限制了其使用范围。
本文提出一种基于MAX7219芯片,具有扩展驱动能力的LED数码显示电路。
主要应用在大尺寸、高亮度LED数码管的显示电路。
1 电路器件功能简介
1.1 MAX7219功能简介。
单位代码: 005分类号: TN873 本科毕业论文(设计)题目:基于单片机的LED点阵显示系统的设计专业:电子信息工程姓名:学号:指导教师:职称:讲师毕业时间:二零一三年六月基于单片机的LED点阵显示系统的设计摘要:本文是一款以单片机STC89C51为控制器的LED点阵显示屏系统的设计。
该系统选用四块8×8点阵模块构建一个16×16的LED点阵屏,可实现中英文字符的显示及其动态特效显示。
选定STC89C51单片机为核心控制器件,74LS164为译码电路,三极管8550和74HC595做行和列驱动。
STC89C51单片机处理控制命令以及显示代码,将显示内容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路模块驱动LED点阵显示屏的扫描显示。
由于制作简单,电子显示屏安装方便,成本低,广泛用于各种公共场所,如车站,广告画面和公告栏等。
LED点阵电子显示屏,其功能有固定汉字、字母、数字的显示;平行左移、平行右移、上移、下移;固定内容的循环显示;显示屏的亮度调节等等。
关键词:STC89C51;74HC595;74LS164;16*16点阵;LEDSystem design of LED dot matrix display based on MCUAbstract:This is a LED dot matrix display system controller based on the single chip STC89C51 design. This system adopts four pieces of 8 x 8 dot matrix module to construct a 16 x 16 LED dot matrix display screen, and can realize the dynamic effects of English characters of the show. The selected STC89C51 microcontroller as the core control device, 74LS164 as the decoding circuit, a triode 8550 and 74HC595 as the row and column driver. STC89C51 single-chip processing of control commands and displays the code, will display the content through I/O serial output and control decoding circuit to complete string conversion and parallel output, and finally by the display driving circuit module driver LED dot matrix display scanning display. Because of the simple, electronic display screen, convenient installation, low cost, widely used in various public places, such as the station, the advertisement picture and bulletin. LED dot matrix display, its function is fixed Chinese characters, letters, digital display; parallel shift left, right, up, down parallel; fixed content display; the display brightness adjustment etc..Key words:STC89C51;74HC595;74LS164;16*16dot array;LED目录1. 引言 (1)2. 方案选择 (1)2.1 系统硬件方案 (1)2.1.1 通信系统 (2)2.1.2 硬件设计方案 (2)2.2 系统软件方案 (2)3. 硬件整体设计概述及功能分析 (3)3.1 控制单元设计 (3)3.1.1 控制系统设计 (4)3.2 串并转换器74LS164 (4)3.3 驱动电路设计 (5)3.3.1 行驱动电路设计 (5)3.3.2 列驱动电路设计 (5)3.4 通信系统硬件设计 (6)3.5 电源设计 (7)4. 系统软件设计 (7)4.1 程序设计 (7)4.2 显示程序的设计 (8)4.2.1 点阵数据表达方式 (8)4.2.2 显示程序的流程图 (8)5. 系统调试 (9)5.1 硬件调试 (9)5.2 软件调试 (9)6. 结束语 (10)参考文献 (11)谢辞 (12)附录1程序清单 (13)附录2系统原理图 (18)附录3实物图 (20)1. 引言LED显示屏是八十年代后期在全球快速发展起来的新型信息显示媒体,显示屏由几万到几十万个半导体发光二极管像素点均匀排列而组成。
串行口动态扫描显示电路单片机并行I/O口数量总是有限的,有时并行口需作其他更重要的用途,一般也不会用数量众多的并行I/O口专门用来驱动显示电路,能否用80C51的串行通信口加上少量I/O及扩展芯片用于显示电路呢?答案是肯定的。
80C51的串行通信口是一个功能强大的通信口,而且是相当好用的通信口,用于显示驱动电路再合适不过了,下面我们就根据这种需要设计一个用两个串行通信口线加上两根普通I/O口,设计一个4位LED显示电路。
当然只要再加上两根I/O口线即可轻易实现8位LED的显示电路。
左图是电原理图,我们还是采用C2051单片机,同时用廉价易得的74LS164和74LS138作为扩展芯片。
74LS164(详细技术手册)是一个8位串入并出的移位寄存器,其此处的功能是将C2051串行通信口输出的串行数据译码并在其并口线上输出,从而驱动LED数码管。
74LS138是一个3-8译码器,它将单片机输出的地址信号译码后动态驱动相应的LED。
但74LS138电流驱动能力较小,为此,我们使用了未级驱动三极管2SA1015作为地址驱动。
将4只LED的段位都连在一起,它们的公共端则由74LS138分时选通,这样任何一个时刻,都只有一位LED 在点亮,也即动态扫描显示方式,其优点在上一节中我们已经阐述。
使用串行口进行LED通信,程序编写相当简单,用户只需将需显示的数据直接送串口发送缓冲器,等待串行中断即可,看看下面的程序。
程序清单ORG 0100HMOV SCON,#00H ;串行口工作方式MAIN: MOV R3,#00H ;字型码初始地址DJNZ R4,DELAY ;延时时间未到继续INC R3 ;显示下个字符CJNE R3,#0AH,LOOP ;示显示到9继续AJMP MAIN ;返回主程序DISPLAY:CLR P3.2CLR P3.3 ;选中第一位ACALL DISP ;显示ACALL DELAY1 ;延时10MSSETB P3.3 ;选中第二位ACALL DISPACALL DELAY1SETB P3.3 ;选中第三位SETB P3.2ACALL DISPACALL DELAY1SETB P3.2 ;选中第四位SETB P3.3ACALL DISPACALL DELAY1RETDISP: MOV A,R3MOV DPTR,#TABLEMOVC A,@A+DPTR ;查表MOV BUFF,A ;送发送缓冲器VAIT: JNB TI,WAIT ;等待串行中断CLR TI ;清中断标志RETDELAY1: MOV R6,#10H ;延时子程序LOOP1: MOV R7,#38HLOOP2: DJNZ R7,LOOP2DJNZ R6,LOOP1RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90HEND ;源程序结束动态扫描LED显示电路上一节我们讲述了单只LED与单片机的接口电路及编程实例,目的在于让初学者了解LED在单片机中的应用原理,单只LED显示在实际应用中并无多大用途,一般都是多位的LED显示。
现在我们作进一步学习,我们要讲解的是8位LED的显示原理及实际的编程方法。
这里我们没有采用多I/O口的8051系列单片机,而是采用了完全兼容C51指令系统的质优价廉的AT89C2051单片机,它的软件编程与C51完全一致。
在多数的应用场合中,我们并不希望使用多I/O端口的单片机,原则上是使用尽量少引脚的器件。
在没有富余端口的情况下,怎样通过扩展电路达到预期的目的呢?我们希望通过此例使设计人员在实际应用中了解一点电路扩展的原理,对实际的应用有所帮助。
左图是显示电路,由于AT89C2051外部15个I/O引脚,即P1口和P3口,单P3口的P3.6是不引出的,15个I/O口要直接驱动8位LED显然是不够的,我们通过一片面74LS273对地址进行锁存,如果P1口仅用于显示驱动,而没有与其它外设进行数据交换,可省略这个锁存器,直接或通过其他驱动电路驱动连接LED。
地址线我们通过一片74LS138三—八译码器对8位LED进行分时选通,这样在任一时刻,只有一位LED是点亮的,但只要扫描的频率足够高(一般大于25Hz),由于人眼的视觉暂留特性,直观上感觉却是连续点亮的,这就是我们常说的动态扫描电路。
此电路中,74LS273用于驱动LED的8位段码,8位LED相应的"a"—"g"段连在一起,它们的公共端分别连至由74LS138(点击芯片型号可浏览其详细的技术手册)译码选通后经74LS04反相驱动的输出端。
这样当选通某一位LED 时,相应的地址线(74LS04输出端)输出的是高电平,所以我们的LED选用共阳LED数码管。
动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。
如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。
在C51指令中,延时子程序是相当简单的,并且延时时间也很容易更改,可参见程序清单中的DELAY延时子程序。
为简单起见,我们只是编写了8位LED同步显示"00000000"—"11111111"直到"99999999"数字,并且反复循环。
程序很简单,流程图略去。
程序清单:ORG 0100HMAIN: MOV R3,#00H ;字型码初始地址LOOP: MOV DPRT,#TABLE ;字型码送数据指针MOV A,R3MOV A,@A+DPTRMOV P1,A ;送显示MOV R4,#0E8H ;循环显示某个字符1SDELAY: ACALL DISPLAY ;显示DJNZ R4,#DELAY ;延时显示时间示到继续INC R3 ;显示下个字符CJNE R3,#0AH,LOOP ;示显示到9续续AJMP MAIN ;返回主程序DISPLAY:MOV R1,#08H ;共显示8位LEDMOV R5,#00H ;从第一位开始显示DISP: MOV A,R5MOV P3,A ;送地址数据ACALL DELAY1 ;送位显示15MSINC R5 ;指向下一位LEDDJNZ R1,DISP ;8位未显示完继续RETDELAY1: MOV R6,#10H ;延时子程序LOOP1: MOV R7,#38HLOOP2: DJNZ R7,LOOP2DJNZ R6,LOOP1RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90HEND ;程序结束单片机键盘接口程序设计键盘是由若干按钮组成的开关矩阵,它是单片机系统中最常用的输入设备,用户能通过键盘向计算机输入指令、地址和数据。
一般单片机系统中采和非编码键盘,非编码键盘是由软件来识别键盘上的闭合键,它具有结构简单,使用灵活等特点,因此被广泛应用于单片机系统。
按钮开关的抖动问题组成键盘的按钮有触点式和非触点式两种,单片机中应用的一般是由机械触点组成的。
在下图中,当开<键盘结构图>图1图2关S未被按下时,P1。
0输入为高电平,S闭合后,P1。
0输入为低电平。
由于按钮是机械触点,当机械触点断开、闭合时,会有抖动动,P1。
0输入端的波形如图2所示。
这种抖动对于人来说是感觉不到的,但对计算机来说,则是完全能感应到的,因为计算机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个“漫长”的时间了。
前面我们讲到中断时曾有个问题,就是说按钮有时灵,有时不灵,其实就是这个原因,你只按了一次按钮,可是计算机却已执行了多次中断的过程,如果执行的次数正好是奇数次,那么结果正如你所料,如果执行的次数是偶数次,那就不对了。
为使CPU能正确地读出P1口的状态,对每一次按钮只作一次响应,就必须考虑如何去除抖动,常用的去抖动的办法有两种:硬件办法和软件办法。
单片机中常用软件法,因此,对于硬件办法我们不介绍。
软件法其实很简单,就是在单片机获得P1。
0口为低的信息后,不是立即认定S1已被按下,而是延时10毫秒或更长一些时间后再次检测P1。
0口,如果仍为低,说明S1的确按下了,这实际上是避开了按钮按下时的抖动时间。
而在检测到按钮释放后(P1。
0为高)再延时5-10个毫秒,消除后沿的抖动,然后再对键值处理。
不过一般情况下,我们常常不对按钮释放的后沿进行处理,实践证明,也能满足一定的要求。
当然,实际应用中,对按钮的要求也是千差万别,要根据不一样的需要来编制处理程序,但以上是消除键抖动的原则。
键盘与单片机的连接<键盘连接> 图3 <单片机与键盘接口图> 图41、通过1/0口连接。
将每个按钮的一端接到单片机的I/O口,另一端接地,这是最简单的办法,如图3所示是实验板上按钮的接法,四个按钮分别接到P3.2 、P3.3、P3.4和P3.5。
对于这种键各程序能采用持续查询的办法,功能就是:检测是否有键闭合,如有键闭合,则去除键抖动,判断键号并转入对应的键处理。
下面给出一个例程。
其功能很简单,四个键定义如下:P3.2:开始,按此键则灯开始流动(由上而下)P3.3:停止,按此键则停止流动,所有灯为暗P3.4:上,按此键则灯由上向下流动P3.5:下,按此键则灯由下向上流动UpDown EQU 00H ;上下行标志StartEnd EQU 01H ;起动及停止标志LAMPCODE EQU 21H ;存放流动的数据代码ORG 0000HAJMP MAINORG 30HMAIN:MOV SP,#5FHMOV P1,#0FFHCLR UpDown ;启动时处于向上的状态CLR StartEnd ;启动时处于停止状态MOV LAMPCODE,#0FEH ;单灯流动的代码LOOP:ACALL KEY ;调用键盘程序JNB F0,LNEXT ;如果无键按下,则继续ACALL KEYPROC ;不然调用键盘处理程序LNEXT:ACALL LAMP ;调用灯显示程序AJMP LOOP ;反复循环,主程序到此结束DELAY:MOV R7,#100D1: MOV R6,#100DJNZ R6,$DJNZ R7,D1RET;----------------------------------------延时程序,键盘处理中调用KEYPROC:MOV A,B ;从B寄存器中获取键值JB ACC.2,KeyStart ;分析键的代码,某位被按下,则该位为1(因为在键盘程序中已取反)JB ACC.3,KeyOverJB ACC.4,KeyUpJB ACC.5,KeyDownAJMP KEY_RETKeyStart:SETB StartEnd ;第一个键按下后的处理AJMP KEY_RETKeyOver:CLR StartEnd ;第二个键按下后的处理AJMP KEY_RETKeyUp: SETB UpDown ;第三个键按下后的处理AJMP KEY_RETKeyDown:CLR UpDown ;第四个键按下后的处理KEY_RET:RETKEY:CLR F0 ;清F0,表示无键按下。