MOV DPTR, #7FF3H
MOVX @DPTR, A
MOV DPTR, #7FF0H
MOV A, #00H
MOVX @DPTR, A--PA 输出 0000 0000---PA1 = 0
MOV A,#02H
MOVX @DPTR, A--PA 输出 0000 0010---PA1 = 1
MOV A, #00H
MOVX @DPTR, A--PA 输出 0000 0000---PA1 = 0
PA1 ,输出了:0、1、0,
这就是一个正脉冲。
其他引脚,一直都是输出0,没有输出任何脉冲。
==========
MOV A, #00H
MOVX @DPTR, A--PA 输出 0000 0000---PA3 = 0
MOV A,#08H
MOVX @DPTR, A--PA 输出 0000 1000---PA3 = 1
MOV A, #00H
MOVX @DPTR, A--PA 输出 0000 0000---PA3 = 0
PA3 ,输出了:0、1、0,
这几行,就是在 PA3 输出了一个正脉冲。
==========
MOV A, #00H
MOVX @DPTR, A--PA 输出 0000 0000-首正--PA5 = 0
MOV A,#20H
MOVX @DPTR, A--PA 输出 0010 0000---PA5 = 1
MOV A, #00H
MOVX @DPTR, A--PA 输出 0000 0000---PA5 = 0
PA5 ,输出了:0、1、0,
这几行,就是在 PA5 输出了一亩指个正脉冲。
==========
MOV A, #0FFH
MOVX @DPTR, A--PA 输出 1111 1111---PA0 = 1
MOV A,#0FEH
MOVX @DPTR, A--PA 输出 1111 1110---PA0 = 0
MOV A, #0FFH
MOVX @DPTR, A--PA 输出 1111 1111---PA0 = 1
PA0 ,输出了:1、0、1,
这几行,就是在 PA0 输出了一个负脉冲。
假设开关0~开关7的一端链液接依次接PB0~PB7,各开关另一端拉地链旅;假设8个LED共阳极接电源+Vcc, LED0~LED7阴极依次接PA0~PA7
假设单片机系统中,8255的A口、B口、C口、控制口地址依次是:
7FF0H、7FF1H、7FF2H、7FF3H,汇编程序如下:
.
MOV A, 1000010B 初始化命令字:A口方式0输出,B口方式0输入
MOV DPTR, #7FF3H 控制口地址→DPTR
MOVX @DPTR,A 初始化命令字→8255控制口
LP:
MOV DPTR, #7FF1H B口地址→DPTR
MOVX A, @DPTR B口所连接的开关状态→累加器棚唤物
MOV DPTR, #7FF0H A口地址→DPTR
MOVX @DPTR,A 存于累加器的开关状态数据→A口所连接的8个LED
SJMP LP
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)