当前位置:文档之家› 秒表的设计与制作分析解析

秒表的设计与制作分析解析


项目三
秒表的设计与制作
三、显示方式
LOOP:ACALL SJMP T1S: MOV MOV DJNZ MOV INC CJNE CLR T1S1: RETI DIS LOOP TH1,#3CH TL1,#0B0H R4,T1S1 R4,#20 R2 R2,#99,T1S1 TR1
项目三
秒表的设计与制作
三、显示方式
DIS: MOV MOV DIV ACALL MOV MOV ACALL MOV RET A,R2 B,#10 AB SEG7 P0,A A,B SEG7 P2,A
项目三
秒表的设计与制作
三、显示方式
SEG7: INC A MOVC A,@A+PC RET DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,0A1H,86H,8EH END
项目三
秒表的设计与制作
二、显示程序的任务
DELAY: MOV D1: MOV D2: MOV R7, #10 R6, #200 R5, #250 DJNZ DJNZ DJNZ RET ;1S延时子程序
R5, $ R6, D2 R7, D1
项目三
秒表的计与制作
二、显示程序的任务
SEG7: MOVC A, @A+DPTR RET TAB: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,0A1H,86H,8EH END ;数字转换为显示码
项目三
秒表的设计与制作
三、显示方式
各模块关系如下:
开始 主程序 … ACALL DIS … 断点 继续执行主程序 … … DIS子程序 … ACALL SEG7 … RET 定时中断服务子 程序 … … RETI
SEG7子程序 … … RET
结束
项目三
秒表的设计与制作
三、显示方式
程序如下: ORG SJMP ORG SJMP QRG STAR: MOV MOV MOV MOV MOV MOV SETB 00H STAR 1BH T1S 30H R2,#00 ;秒计数器 R4,#20 ;50ms计数器 IE,#88H TMOD,#10H TH1,#3CH TL1,#0B0H TR1
项目三
秒表的设计与制作
三、显示方式
练习:在“Proteus软件”中绘制电路图。用“Keil”
模拟仿真软件进行程序的编辑、编译。将“.HEX”文
件装载到Proteus中,观察程序运行结果。 要求秒表循环计时,程序如何修改? 静态显示的特点?
无闪烁,编程 简单,占I/O线 多。
项目三
秒表的设计与制作
三、显示方式
2. 动态显示
各数码管的段选线共用一 I/O口 个8位的并行I/O口,位选线 分别由相应的I/O口控制; 显示时逐位扫描,即:从 段选口送出某位的字形码, 再选通该位,显示一段时间, 再换下一位。 I/O口 动态显示的特点? 段选控制
a b dp a b dp a b dp a f b g e c d dp
LOOP:JB P3.2, LOOP LCALL DE10 JB P3.2, LOOP LCALL KEY
;关闭位选口 ;关闭段选口 ;计数器预设为0 ;选通P1.0控制的显示器 ;将R0中数字转换为显示码 ;从P2口输出
;取反
LCALL CPL
SEG7 A
项目三
秒表的设计与制作
三、显示方式
MOV MOV MOV LCALL MOV INC CJNE SJMP ST3: MOV RL MOV SJMP P2,A A,R1 P1,A DLY10 P1,#0FFH R0 R0,#4H,ST3 ST1 A,R1 A R1,A ST2 ;位选通:P1 ;延时10MS ;关断位选通 ;计数+1 ;四位是否扫描完? ;0~3扫描完,重新开始 ;0~3依次显示
三、显示方式
段选控制
位选:哪位显示 段选:显示什么字符
ab a f
dp a b
dp a b dp
b
e
c d dp
COM COM COM
g
位选控制
多位数码管的两种显示方式:静态显示和动态显示
项目三
秒表的设计与制作
三、显示方式
1. 静态显示
各数码管的段选线分别接一 个8位的并行I/O口; 数码管在显示某一字符时, 只要通过相应的I/O口送出该字 符的字形码。
单片机仿真实训
项目三
秒表的设计与制作
2018/10/20
1
项目三
秒表的设计与制作
学习目标
知识目标
了解数码管的基础知识。
熟悉LED静态显示电路和显示程序的设计方法。
掌握LED动态显示电路和动态扫描显示程序的设
计方法。 进一步掌握中断系统和定时器的应用。
项目三
秒表的设计与制作
学习目标
;将数字转换为显示码
;共阴极段码:0,1,2,3 ;4,5,6,7 ;8,9,A,B ;C,D,E,F
项目三
秒表的设计与制作
四、秒表的设计
1. 硬件设计
项目三
秒表的设计与制作
四、秒表的设计
元器件清单
序号 1 2 3 4 5 名称 AT89S51 40pin 活动Ic座 30P瓷片电容 12M晶振 10UF/16V电解电容 数 量 1 1 2 1 1 序号 10 11 12 13 14 名称 470Ω电阻 220Ω电阻 4.7KΩ电阻 三极管8550 两位一体共阳极数码管 数 量 1 2 2 2 1
MOV P0,#0F9H
MOV P2,#0A4H
com
P2.7
项目三
秒表的设计与制作
三、显示方式
例:用静态显示方式实现0~99s运行的秒表
解:设计思路: 用一个50ms的定时器定 时20次。
(1)秒信号的产生。
(2)计数器:每过1s计数器加1,加到99就停止。 (3)把计数器的值转换成十进制并显示。 比较指令
5BH
4FH 66H 6DH 7DH 07H 7FH
B
C D E F “灭”
83H
C6H A1H 86H 8EH FFH
7CH
39H 5EH 79H 71H 00
共阴极和共阳极的字段码互为反码 。
项目三
秒表的设计与制作
二、显示程序的任务
1、设置显示缓冲区,存放待显示数据和字符。
2、显示译码:程序存储器中建立字形码常数表,查表 得出对应数据和字符的字形码。
;0~3的共阳型显示码 ;4~7的共阳型显示码 ;8~B的共阳型显示码 ;C~F的共阳型显示码
项目三
秒表的设计与制作
二、显示程序的任务
练习:在“Proteus软件”中绘制电路图。用“Keil”
模拟仿真软件进行程序的编辑、编译。将“.HEX”文
件装载到Proteus中,观察程序运行结果。
项目三
秒表的设计与制作
3、输出显示:输出字形码到显示端口。 例:电路如图所示,要求 数码管依次显示0~F, 每位数字显示1S。设 晶振频率为12 MHz。
项目三
秒表的设计与制作
(一)绘制程序流程图
本项目中要显示的数字或符号的段码在编写程序时给出,故使用查表程序结构形式实现。
项目三
秒表的设计与制作
二、显示程序的任务
解: ORG 00H SJMP START ORG 0030H START:MOV P1, #0FFH ;数码管的8段LED全暗 ST1: MOV DPTR, #TAB MOV R0, #0 ;显示初值 ST2: MOV A, R0 ACALL SEG7 ;根据显示数字查显示码 MOV P1, A ;显示码送P1口显示 ACALL DELAY ;延时1s INC R0 ;显示数字加1 CJNE R0,#10h,ST2 ;16个数没显示完转ST2 SJMP ST1 ;16个数显示完转ST1,循环显示
段选控制
ab a f b dp a b dp a b dp
e
c d dp
COM COM COM
g
+5V
位选控制
项目三
秒表的设计与制作
三、显示方式
例:编程在两个LED数码管上显示数字“1”“2”
P0.0 a b c d e f g dp a b c d e f g dp
com +5V
P0.7 AT89C51 P2.0
按键在闭合和断开时,触点会存在抖动现象。一般﹤10ms
+5V
无抖动
理想波形 A 实际波形
按下抖动
B 稳定闭合
释放抖动
+5V
有抖动
项目三
秒表的设计与制作
四、秒表的设计
按键的抖动及去抖处理 去抖动的方法:硬件去抖 软件去抖
+5v
N N
键是否按下?
Y
延时10ms
键确实按下?
Y

处理按键
开关
+5v

消除抖动电路
项目三
秒表的设计与制作
一、数码管简介
单片机系统扩展LED数码管时多用共阳LED:
共阳数码管每个段笔画是用低电平(“0”)点 亮的,要求驱动功率很小;而共阴数码管段笔画是 用高电平(“0”)点亮的,要求驱动功率较大。
通常每个笔段要串一个数百欧姆的限流电阻。
2. 数码管的编码方式
代码位 显示段
D7
D6
D5
D4
D3
D2
D1
D0
dp
g
f
e
d
c
b
a
项目三
相关主题