|
发表于 2011-5-28 12:53
|
显示全部楼层
来自: 中国山东青岛
流程:
设置设置8255的工作方式——读PB口数据——输出到PA口
基本流程就是这个样子,但是不敢保证下面的程序一定准确,
还是仔细看微机原理或单片机的关于8255A的这一部分吧,这题目上面有的。。
不知道为什么你的题目的8255A的编程地址怎么是0200——0206H(共6个),一般编程地址只有4个,以下程序我的编程地址基于0200——0203H
PA EQU 0200H ;定义PA/PB/PCTL口地址,
PB EQU 0201H ;EQU,是等于的意思,即为各个部分设置地址号码
PCTL EQU 02003H ;
START:
;----------------------下面设置8255的工作方式
MOV A, #82H ;这是8255A控制字,设定A、B、C口均工作
;方式0,A口为输出,B口为输入
MOV DPTR, #PCTL ;这是8255A控制寄存器的地址
MOVX @DPTR,A ;把控制字写入8255
;----------------------设置结束。下面开始工作
LOOP:
MOV DPTR, #PB ;从PB口读入开关状态值
MOVX A, @DPTR ;从PB口读入开关状态值存到累加器A中
MOV DPTR, #PA ;DPTR指向PA口
MOVX @DPTR, A ;将累加器A中数据(从PB口读入开关状态值)输出到PA口显示
JMP LOOP ;转移到前面,无限循环
END ;结束编译 |
评分
-
查看全部评分
|