第9章51单片机的人机交互模块。
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21 22 23 24 25 26 27 28
D0 D1 D2 D3 D4 D5 D6
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
10 11 12 13 14 15 16 17
VCC
16 OFF ON 1
9
10
第九章 51单片机的人机交互模块
9.1 使用拨码开关设置地址 9.2 多位数码管显示流水数字 9.3 多位数码管驱动芯片MAX7219显示日期 9.4 1602数字字符液晶显示“Hello 51MCU”
9.1 使用拨码开关设置地址
9.1.1 拨码开关基础
拨码开关是一种有通、断两种稳定状态的开关,使用方法和按键类似, 其和按键的区别在于不会自动恢复到未接通状态,也就是说如果将其接通, 那么其就会保持该接通状态到用户手动切换到断开为止,同理将其断开,一 般用2~8个做成一组。
21 22 23 24 25 26 27 28
D0 D1 D2 D3 D4 D5 D6
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
10 11 12 13 14 15 16 17
16 OFF ON 1
9
10
11
在电路中通过点击拨码开关来进行。 • Switch Time:接通和断开之间的切换时间。 • Resistance OFF:当断开的时候电阻。 • Resisiance ON:接通时候的电阻。
9.1 使用拨码开关设置地址
9.1.3 实例设计思路
在实际应用中将多位拨码开关连接到51单片机的一个I/O端口上,通过循 环检查I/O引脚上的拨码开关状态,设置一个软件计数器来统计当前I/O引脚 上为高电平的状态,这个值则对应51单片机应用系统的地址编码,然后可以 在外部连接的数码管上查看到对应的地址编码。
VCC
RP1
1 2 3 4 5 6 7 8 9 RESPACK-8
2
3
4
5
6
7
8
X1
CRYSTAL
U1
19 XTAL1
18 XTAL2
9 RST
C3
10uF
29 30 31
PSEN ALE EA
1 2 3 4 5 6 7 8
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
在多数码管上双击可以弹出如图所示的属性设置对话框,其中涉及的主 要参数说明如下: • Minimum Trigger Time:最小扫描时间,也就是向多位数码管的各个不同
9.1 使用拨码开关设置地址
9.1.2 Proteus中的拨码开关
Proteus中的拨码开关位于Switches & Relays库的Switches子分类库中,其 提供了DIPSW_10、JUMPER、SWPOT-3等开关器件可供选择,如图所示。
9.1 使用拨码开关设置地址
双击拨码开关,弹出如图所示的属性设置对话框,其中涉及的主要参数 说明如下: • Set Value:设置值,这是拨码开关的设置状态,可以在此处设置,也可以
AT89C52
DSW1
DIPSW_8
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
39 38 37 36 35 34 33 32
D0 D1 D2 D3 D4 D5 D6
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
VCC
C1 30pF C2 30pF R1 10k
RP1
1
2 3 4 5 6 7 8 9
RESPACK-8
VCC
2
3
4
5
6
7
8
X1
CRYSTAL
U1Baidu Nhomakorabea
19 XTAL1
18 XTAL2
9 RST
C3
10uF
29 30 31
PSEN ALE EA
1 2 3 4 5 6 7 8
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
9.2 多位数码管显示流水数字
9.2.2 Proteus中的多位数码管
和单位数码管类似Proteus中的多位数码管同样位于Optoelectronics库的7Segment Displays子分类库中,其提供了7SEG-MPX2-CA、7SEG-MPX6-CC等 多种单位数码管元件,如图所示。
9.2 多位数码管显示流水数字
11
12
13
14
15
9.2 多位数码管显示流水数字
9.2.1 多位数码管基础
多位数码管同样可以分为共阳极和共阴极两种,同时还可以按照能显示 的数字/字母的位数分为2位、4位、8位等,下图是共阳极的4位数码管的示意。 从图中可以看到,4位数码管的a、b、c、d、e、f、dp数据引脚都集成到了一 起,而位选择1、2、3、4引脚则分别对应位数码管的阳极端点,可以用于选 择点亮的位。也就是说,如果在4位数码管的数据输出0xc0(数字0对应的字 形编码),同时在位选择引脚1上加上一个高电平而其他为选择引脚上都保持 低电平,则此时第1位数码管会显示数字“0”。
AT89C52
DSW1
DIPSW_8
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
39 38 37 36 35 34 33 32
D0 D1 D2 D3 D4 D5 D6
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
12
13
14
15
9.1 使用拨码开关设置地址
9.1.5 实例的应用代码 9.1.6 实例的仿真结果和说明
点击运行,可以看到数码管显示相应的计数值,调整拨码开关的状态, 可以看到数码管的输出显示值的改变,这个显示值也即为对应的51单片机应 用系统的地址,如图所示。
C1 30pF
C2 30pF
R1 10k
9.1 使用拨码开关设置地址
9.1.4 实例的Proteus电路
实例的应用电路如图所示,51单片机使用P1端口驱动了一个8位拨码开 关,拨码开关的一端通过一个电阻排连接VCC,同时连接到P1端口;另外一 端则直接连接到地,当拨码开关位于“ON”状态时,开关断开,P1端口上为 高电平,反之为低电平。