单片机系统扩展
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(a)
单片机系统扩展
a
b c
d e
f g dp
(b)
+5V
使用LED显示器时,要注意区分共阴极和共阳 极两种不同的接法。为了显示数字或字符,必须 对数字或字符进行编码,简称段码。七段数码管 加上一个小数点,共计8段。因此为LED显示器提 供的段码正好是一个字节。
实际使用中,通过单片机向LED显示接口输出 不同段码,即可显示相应的数字。
单片机系统扩展
MAX7219的内部寄存器及其地址
寄存器
NO-OP 数字0 数字1 数字2 数字3 数字4 数字5 数字6 数字7 译码方式 亮度 扫描界限 停机 显示测试
地
址
D15~D12 D11 D10 D9 D8
×
0000
×
0001
×
0010
×
0011
×
0100
×
0101
×
0110
×
0111
×
单片机系统扩展
键盘接口技术
键盘可分为编码式键盘和非编码式键盘。编码 键盘能够由硬件自动提供与被按键对应的ASCII 码或其它编码。非编码键盘则仅提供行和列的矩 阵,其硬件逻辑与按键编码不存在严格的对应关 系,而要由所用的程序来确定。 任何键盘接口均要解决三个主要问题: 1、反弹跳 2、串键保护 3、按键识别
共阴极接法的七段状态 gfedcba 0111111 0000110 1011011 1001111 1100110 1101101 1111101 0000111 1111111 1100111
1110111
共阴极接法 段码(十六进制数)
3F 06 5B 4F 66 6D 7D 07 7F 67
77
串行接口LED驱动器MAX7219
MAX7219是MAXIM公司生产的一种串行接口方式7 段共阴极LED显示驱动器,其片内包含有一个BCD码 到B码的译码器、多路复用扫描电路、字段和字位驱 动器以及存储每个数字的8×8 RAM,每位数字都可 以被寻址和更新,允许对每一位数字选择B码译码或 不译码。采用三线串行方式与单片机接口,电路十 分简单,只需要一个10k左右的外接电阻来设置所有 LED的段电流。
MOV DPTR,#0088H MOV A,#00H MOVX @DPTR,A
单片机系统扩展
软件译码LED显示接口
软件译码动态扫描显示接口如下图,根据要显示的字符查段码 表取得相应的段码并输出到LED显示器,采用逐位扫描的方法 控制哪一位LED被点亮。
单片机系统扩展
START: MOV DPTR,#TABLE ;DPTR指向段码表首地址
单片机系统扩展
存储器 地址 SEG SEG+1 SEG+2 SEG+3 SEG+4 SEG+5 SEG+6 SEG+7 SEG+8 SEG+9 SEG+10
SEG+11
SEG+12
SEG+13
SEG+14
SEG+15
显示 数字
0 1 2 3 4 5 6 7 8 9 A
B
C
D
E
F
LED数码显示器共阴极和共阳极段码
单片机系统扩展
MAX7219采用串行数据传输方式,由16位数据包发送到DIN引脚 的串行数据在每个CLK的上升沿被移入到内部16位移位寄存器 中,然后在LOAD的上升沿将数据锁存到数字或控制寄存器中。 LOAD信号必须在第16个时钟上升沿同时或之后,但在下一个时 钟上升沿之前变高,否则将会丢失数据。DIN端的数据通过移位 寄存器传送,并在16.5个时钟周期后出现在DOUT端。DOUT端的 数据在CLK的下降沿输出。串行数据以16位为一帧,其中D15~ D12可以任意,D11~D8为内部寄存器地 址,D7~D0为寄存器 数据,工作时序如下:
MOV R7,A MOV P0,B LCALL DELAY
;显示段码送P0显示 ;延时
INC DPTR
SJMP S1
DELAY: MOV
R5,#80
;延时子
程序
D2: DJNZ R5,D2
RET
单片机系统扩展
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;段码表
1000
×
1001
×
1010
×
1011
×
1100
×
1 单片机系统扩展 1 1 1
十六进制代码 ×0H ×1H ×2H ×3H ×4H ×5H ×6H ×7H ×8H ×9H ×AH ×BH ×CH ×FH
8051单片机与MAX7219的接口
8051的P3.5连到MAX7219的DIN端,P3.6连到LOAD端,P3.7连 到CLK端,采用软件模拟方式产生所需的工作时序。执行驱动程 序后在LED上显示8051字样。
动态M扫OV描汇R编7,#语07言FH驱动程序;设置动态显示扫描初值
S1: MOV A,#00H
MOVC A,@A+DPTR ;查表取得段码
CJNE A,#01H,S2
;判断段码是否为结束符
SJMP START S2: MOV B,A
;段码送B保存
MOV A,R7 RL A MOV P3,A
;显示位扫描值左移1位 ;显示位扫描值送P3口
键盘与显示器接口
单片机系统扩展
LED显示器接口技术
LED数码显示器结构与原理
LED数码显示器是由发光二极管显示字段的显示器件。在应用 系统中通常使用的是七段LED数码显示器。这种显示块有共阴极 与共阳极两种,如下图所示。
g f GNDa b a
a
b
c
f
b
g
d
e
c
e
d ·dp
f g
ቤተ መጻሕፍቲ ባይዱ
dp e d GND c dp
共阳极接法 段码(十六进制数)
40 79 24 30 19 12 02 78 00 18
08
1111100
7C
03
0111001
39
46
1011110
5E
21
1111001
79
06
单片机系统扩展
1110001
71
0E
硬件译码LED显示接口
如图所示为采用硬件译码器的七段LED接口电路,显示器是共阴 极的。9368是硬件段译码器,它能自动将输入的16进制数转换 成段码输出,在+5V时能输出约30mA的电流点亮显示器的段。 7475是4位锁存器,4个数据输入端接到系统数据总线的D3~D0。 锁存器的选通端E接到地址译码器,若该接口的地址为0088H, 执行以下指令即可在显示器上显示数字“0”。
单片机系统扩展
1、反弹跳
当按键开关的触点闭合或断开到其稳定,会产生一个短暂的抖 动和弹跳,如下图所示,这是机械式开关的一个共同性问题。 消除由于键抖动和弹跳产生的干扰可采用硬件方法,也可采用 软件延迟的方法。
单片机系统扩展
a
b c
d e
f g dp
(b)
+5V
使用LED显示器时,要注意区分共阴极和共阳 极两种不同的接法。为了显示数字或字符,必须 对数字或字符进行编码,简称段码。七段数码管 加上一个小数点,共计8段。因此为LED显示器提 供的段码正好是一个字节。
实际使用中,通过单片机向LED显示接口输出 不同段码,即可显示相应的数字。
单片机系统扩展
MAX7219的内部寄存器及其地址
寄存器
NO-OP 数字0 数字1 数字2 数字3 数字4 数字5 数字6 数字7 译码方式 亮度 扫描界限 停机 显示测试
地
址
D15~D12 D11 D10 D9 D8
×
0000
×
0001
×
0010
×
0011
×
0100
×
0101
×
0110
×
0111
×
单片机系统扩展
键盘接口技术
键盘可分为编码式键盘和非编码式键盘。编码 键盘能够由硬件自动提供与被按键对应的ASCII 码或其它编码。非编码键盘则仅提供行和列的矩 阵,其硬件逻辑与按键编码不存在严格的对应关 系,而要由所用的程序来确定。 任何键盘接口均要解决三个主要问题: 1、反弹跳 2、串键保护 3、按键识别
共阴极接法的七段状态 gfedcba 0111111 0000110 1011011 1001111 1100110 1101101 1111101 0000111 1111111 1100111
1110111
共阴极接法 段码(十六进制数)
3F 06 5B 4F 66 6D 7D 07 7F 67
77
串行接口LED驱动器MAX7219
MAX7219是MAXIM公司生产的一种串行接口方式7 段共阴极LED显示驱动器,其片内包含有一个BCD码 到B码的译码器、多路复用扫描电路、字段和字位驱 动器以及存储每个数字的8×8 RAM,每位数字都可 以被寻址和更新,允许对每一位数字选择B码译码或 不译码。采用三线串行方式与单片机接口,电路十 分简单,只需要一个10k左右的外接电阻来设置所有 LED的段电流。
MOV DPTR,#0088H MOV A,#00H MOVX @DPTR,A
单片机系统扩展
软件译码LED显示接口
软件译码动态扫描显示接口如下图,根据要显示的字符查段码 表取得相应的段码并输出到LED显示器,采用逐位扫描的方法 控制哪一位LED被点亮。
单片机系统扩展
START: MOV DPTR,#TABLE ;DPTR指向段码表首地址
单片机系统扩展
存储器 地址 SEG SEG+1 SEG+2 SEG+3 SEG+4 SEG+5 SEG+6 SEG+7 SEG+8 SEG+9 SEG+10
SEG+11
SEG+12
SEG+13
SEG+14
SEG+15
显示 数字
0 1 2 3 4 5 6 7 8 9 A
B
C
D
E
F
LED数码显示器共阴极和共阳极段码
单片机系统扩展
MAX7219采用串行数据传输方式,由16位数据包发送到DIN引脚 的串行数据在每个CLK的上升沿被移入到内部16位移位寄存器 中,然后在LOAD的上升沿将数据锁存到数字或控制寄存器中。 LOAD信号必须在第16个时钟上升沿同时或之后,但在下一个时 钟上升沿之前变高,否则将会丢失数据。DIN端的数据通过移位 寄存器传送,并在16.5个时钟周期后出现在DOUT端。DOUT端的 数据在CLK的下降沿输出。串行数据以16位为一帧,其中D15~ D12可以任意,D11~D8为内部寄存器地 址,D7~D0为寄存器 数据,工作时序如下:
MOV R7,A MOV P0,B LCALL DELAY
;显示段码送P0显示 ;延时
INC DPTR
SJMP S1
DELAY: MOV
R5,#80
;延时子
程序
D2: DJNZ R5,D2
RET
单片机系统扩展
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;段码表
1000
×
1001
×
1010
×
1011
×
1100
×
1 单片机系统扩展 1 1 1
十六进制代码 ×0H ×1H ×2H ×3H ×4H ×5H ×6H ×7H ×8H ×9H ×AH ×BH ×CH ×FH
8051单片机与MAX7219的接口
8051的P3.5连到MAX7219的DIN端,P3.6连到LOAD端,P3.7连 到CLK端,采用软件模拟方式产生所需的工作时序。执行驱动程 序后在LED上显示8051字样。
动态M扫OV描汇R编7,#语07言FH驱动程序;设置动态显示扫描初值
S1: MOV A,#00H
MOVC A,@A+DPTR ;查表取得段码
CJNE A,#01H,S2
;判断段码是否为结束符
SJMP START S2: MOV B,A
;段码送B保存
MOV A,R7 RL A MOV P3,A
;显示位扫描值左移1位 ;显示位扫描值送P3口
键盘与显示器接口
单片机系统扩展
LED显示器接口技术
LED数码显示器结构与原理
LED数码显示器是由发光二极管显示字段的显示器件。在应用 系统中通常使用的是七段LED数码显示器。这种显示块有共阴极 与共阳极两种,如下图所示。
g f GNDa b a
a
b
c
f
b
g
d
e
c
e
d ·dp
f g
ቤተ መጻሕፍቲ ባይዱ
dp e d GND c dp
共阳极接法 段码(十六进制数)
40 79 24 30 19 12 02 78 00 18
08
1111100
7C
03
0111001
39
46
1011110
5E
21
1111001
79
06
单片机系统扩展
1110001
71
0E
硬件译码LED显示接口
如图所示为采用硬件译码器的七段LED接口电路,显示器是共阴 极的。9368是硬件段译码器,它能自动将输入的16进制数转换 成段码输出,在+5V时能输出约30mA的电流点亮显示器的段。 7475是4位锁存器,4个数据输入端接到系统数据总线的D3~D0。 锁存器的选通端E接到地址译码器,若该接口的地址为0088H, 执行以下指令即可在显示器上显示数字“0”。
单片机系统扩展
1、反弹跳
当按键开关的触点闭合或断开到其稳定,会产生一个短暂的抖 动和弹跳,如下图所示,这是机械式开关的一个共同性问题。 消除由于键抖动和弹跳产生的干扰可采用硬件方法,也可采用 软件延迟的方法。