
单片机应用技术 并行接口 3并行输出口应用 顾筠
并 行 接 口 单片机应用技术 3 并 行 输 出 口 应 用 顾 筠

并行接口 接口概述 ② 单片机并行口结构 并行输出口应用 并行输入口应用
并行接口 1 接口概述 2 单片机并行口结构 并行输出口应用 并行输入口应用 3 4

3并行输出口应用 ●向外设输出数据时需经锁存器电路接口。 ●4个I/O口内部都有锁存电路,不需外接。 >数据的输出方式: ·查询方式(无条件、查询) ●中断方式
3 并行输出口应用 l向外设输出数据时需经锁存器电路接口。 l4个I/O口内部都有锁存电路,不需外接。 Ø数据的输出方式: l查询方式(无条件、查询) l中断方式

无条件输出 【例如】控制灯的亮灭, 是无条件输出。 >输出操作: P1口 CLR P1.0 LED亮 SETB P1.0 :LED灭 P1.0 B 锁存器
无条件输出 【例如】控制灯的亮灭, 是无条件输出。 Ø输出操作: CLR P1.0 ;LED亮 SETB P1.0 ;LED灭 P1口 CLK D Q 锁存器 +5V D R B P1.0

(1)例1-单LED灯闪烁 +5V 【例1】用51单片机 Vcc 22u A LED 的P1.0引脚控制一个 RST P1.0 LED灯的闪烁。 89C51 10K 33PF XTAL1 XTAL2 33PF GND
(1)例1-单LED灯闪烁 【例1】用51单片机 的P1.0引脚控制一个 LED灯的闪烁。 LED +5V Vcc -- EA RST 22uF 10K P1.0 33PF 33PF XTAL1 XTAL2 GND 89C51 Vcc -- EA RST XTAL1 89C51

LED点亮分析 >分析: Vcc LED正偏时才能亮。按 LED, RST 电路接法: P1.0 ●当P1.0输出“1”, 89C51 10K LED正偏点亮。 ●当P1.0输出“0” 33P℉ XTAL1 LED的两端电压为0 XTAL2 而熄灭。 GND
LED点亮分析 Ø分析: LED正偏时才能亮。按 电路接法: l当P1.0输出“1” , LED正偏点亮。 l当P1.0 输出“0” , LED 的两端电压为 0 而熄灭。 LED +5V Vcc -- EA RST 22uF 10K P1.0 33PF 33PF XTAL1 XTAL2 GND 89C51 Vcc -- EA RST XTAL1 89C51

程序设计 >P10引脚输出高电平,LED亮。输出低电平,LED灭。 CLR P1.0 LED亮 SETB P1.0LED灭
程序设计 ØP1.0引脚输出高电平,LED亮。输出低电平,LED灭。 CLR P1.0 ;LED亮 SETB P1.0 ;LED灭

程序设计 >要让LED稳定的亮灭,需要延时程序,保持亮、灭的时间。 ●软件延时程序: DELAY: MOV R6.#0FFH ;延时子程序 DELY: MOV R7.#0FFH ;fosc=12M,延时约130ms DJNZ R7,$ :DNZ是2个机器周期指令 DJNZ R6.DELY RET ●延时程序是一个2层嵌套循环,通过循环执行指令实现延时。 ●延时时间约为:(R6)*(R7)*2M (M:机器周期)
程序设计 Ø要让LED稳定的亮灭,需要延时程序,保持亮、灭的时间。 l软件延时程序: DELAY: MOV R6,#0FFH ;延时子程序 DELY: MOV R7,#0FFH ;fosc=12M,延时约130ms DJNZ R7,$ ;DJNZ是2个机器周期指令 DJNZ R6,DELY RET l延时程序是一个2层嵌套循环,通过循环执行指令实现延时。 l延时时间约为:(R6)*(R7)*2M (M:机器周期)

源程序 AGAIN: CLR P1.0 ;LED亮 LCALL DELAY 延时 SETB P1.0 ;LED灭 LCALL DELAY 延时 SJMP AGAIN DELAY: MOV R6.#0FFH ;延时子程序 DELY: MOV R7.#0FFH DINZ R7$ DJNZ R6.DELY RET
源程序 AGAIN: CLR P1.0 ;LED亮 LCALL DELAY ;延时 SETB P1.0 ;LED灭 LCALL DELAY ;延时 SJMP AGAIN DELAY: MOV R6,#0FFH ;延时子程序 DELY: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,DELY RET

例1拓展 >将LED灯如图中要求接到P1.0, 即要求LED高电平端接+5V, 2 XTAL P1.0输出低电平时亮。编程实现 LED灯的闪烁。 ●改变LED闪烁频率:改变程序 的中延时子程序的计数次数, 10 即改变延时时间,再观察LED 灯的闪烁频率
例1拓展 Ø将LED灯如图中要求接到P1.0, 即要求LED高电平端接+5V, P1.0输出低电平时亮。编程实现 LED灯的闪烁。 l改变LED闪烁频率:改变程序 的中延时子程序的计数次数, 即改变延时时间,再观察LED 灯的闪烁频率