项目4 数码管显示
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
参考电路图
U2
7 1 2 6 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 8 7 6 5 4 3 2 1 7 1 2 6 3 4 5 3 4 5 A B C D LT BI LE/STB 4511 QA QB QC QD QE QF QG 13 12 11 10 9 15 14
del1s: MOV R3,#100 DEL3: MOV R4,#10 DEL2: MOV R5,#125 DEL1: NOP NOP DJNZ R5,DEL1 DJNZ R4,DEL2 DJNZ R3,DEL3 RET nop nop END
5. C51参考代码
#include"reg51.h" void delay(int y) { int i,j; for(i=0;i<y;i++) for(j=0;j<1200;j++); } void disp(int x);
(2) 掌握用Proteus实现电路设计、Keil实现程序调试和仿真的方
法。 2.实训设备与环境 (1) 实训设备:微机。 (2) 实训环境:proteus、keil。
4.1 项目引入及演示
3. 实训内容
采用共阴极LED显示驱动芯片CD4511设计 两位数的LED静态显示电路,其功能为每 隔1秒两位8421BCD减1计数,从99开始, 减到0时,再过1秒,又从99开始,周而 复始循环计时。晶振频率6MHz。
LED动态显示
项目4 数码管显示
教学重点和难点
单片机显示接口电路
认识汇编语言指令系统,看懂相关程序 用C51编写控制程序
教学方法
讲授法、演示法
教学学时
6课时
4.1 项目引入及演示
实训 数码管显示
一、实验任务引入
1.实训目的 (1) 掌握单片机的显示器接口电路。
补充一
C语言与汇编语言混合编程
4.实验参考电路
共阴极LED显示驱动芯片CD4511 驱动共 阴极LED数码管,P1.7~P1.4为十位 8421BCD输出,P1.3~P1.0为个位 8421BCD输出。 实验电路图如图所示。
CD4511是最常用的 BCD-锁存/ 7段译码/驱动器, 是一个用于驱动共阴极 LED 显示器的 BCD 码-七段 码译码器。
main() {
/*
int x=99; while(1) { if(x==-1)x=99; else { disp(x); delay(100);x--; } disp(x); delay(100); x=(x<0)?99:x-1; */ }
} void disp(int x) { int x1,x0; x1=((x/10)&0x0f)<<4; x0=(x%10)&0x0f; P1=x1|x0; }
项目4 数码Biblioteka Baidu显示
主要内容 汇编语言指令系统中的逻辑操作类指令、算术 运算指令、位操作指令的理解掌握 进一步掌握单片机输出口的应用 用Proteus实现单片机控制计数器的仿真 用Keil软件进行单片机控制程序的设计 单片机的输出设备——显示器
LED显示器的原理与静态显示和动态显示的特点。
用C51编写控制程序的基本方法
项目4 数码管显示
学习目标
理解掌握汇编语言指令系统中的逻辑操作类指
令、算术运算指令、位操作指令 掌握单片机的显示接口电路
掌握LED显示器的原理与静态显示和动态显示的特 点。
了解用C51编写控制程序的基本方法。
项目4 数码管显示
主要操作实例
LED静态显示
U3
A B C D LT BI LE/STB 4511 QA QB QC QD QE QF QG 13 12 11 10 9 15 14
EA ALE PSEN
31 30 29
RST
9
XTAL2
18
C3 C1 X1
33p 10u
R1
10k
XTAL1
19
CRYSTAL FREQ=6MHz
C2
33p
5. 汇编参考代码
其输入为数字的8421 BCD,输出为相应数字的显示字段
码。 主要引脚定义如下:CD4511引脚图参见电路图 BI:当BI=0 时,不管其它输入端如何, QaQbQcQdQeQfQg输出全为低电平,即七段数码管处 于熄灭状态,不显示数字。 LT:当BI=1,LT=0 时,不管输入 DCBA 状态如何, QaQbQcQdQeQfQg输出全为高电平,即七段均发亮, 显示“8”,主要用来检测数码管是否损坏。 LE:使能控制端,当LE=0时,允许译码输出。 DCBA:8421BCD码输入端。若输入的代码不是 8421BCD码,则QaQbQcQdQeQfQg输出全为低电平, 即七段数码管处于熄灭状态,不显示数字。 QaQbQcQdQeQfQg:显示译码输出,高电平有效。
org 0000h ajmp start org 0030h start:mov sp,#50h loop: mov r7,#99 loop1:acall disp acall del1s dec r7 nop cjne r7,#0ffh,loop1 nop ajmp loop nop nop
disp:push acc mov a,r7 mov b,#10 div ab anl a,#0fh swap a anl b,#0fh add a,b mov p1,a pop acc ret nop nop
U1
17 16 15 14 13 12 11 10 28 27 26 25 24 23 22 21 32 33 34 35 36 37 38 39 P3.7/RD P3.6/WR P3.5/T1 P3.4/T0 P3.3/INT1 P3.2/INT0 P3.1/TXD P3.0/RXD P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 P0.7/AD7 P0.6/AD6 P0.5/AD5 P0.4/AD4 P0.3/AD3 P0.2/AD2 P0.1/AD1 P0.0/AD0 AT89C51