阅读以下关于某嵌入式处理器和8255的叙述。
[说明]
图2-1为使用某嵌入式处理器和8255对打印机进行控制的电路图,其中8255的中断请求PC3接到处理器的中断请求输入端上,打印机的数据口接在8255的PAO~PA7上,打印机的输出电平
接在8255的PC6上。
为了使用嵌入式处理器对打印机进行控制,在程序设计时,需要将8255的PA口设置为工作方式1:PB口设置在工作方式0,配置为输入;PC口的PCO、PC1、PC2、PC3和PC4定义为输出。
为了在打印机输出为低电平时通过8255的PC3产生有效的中断请求信号INTRA,必须使得A口的中断请求使能INTE-1,实际上就是通过C口的按位复位操作将PC6置1,整个程序分为四部分:依次是8255的初始化,嵌入式处理器的中断初始化,嵌入式处理器的主程序和打印字符的中断处理程序。其中8255的端口配置功能如表2-1所示。嵌入式处理器的中断使能控制字含义如表2-2所示,该处理器的典型汇编指令如表2-3所示。
EA:全部中断,0=关中断,1=开中断 ES:串口中断,0=关中断,1=开中断 ETl:定时器1中断,0=关中断,1=开中断 EX1:外部INT1中断,0-关中断,1=开中断 ET0:定时器0中断, 0-关中断,1=开中断 EX0:外部INT0中断,0=关中断,1=开中断 |
在汇编程序用于打印机输出控制,请将下面汇编程序的空(1)~(5)补充完整,并将解答填入答题纸的对应栏中。
8255的A口工作在方式1输出,初始化程序:
嵌入式处理器的中断初始化程序:
(打印存储单元20H开始向后的内容,中断处理程序中每次从20H中取到需要打印的存储单元地址,直到遇到存储单元里面内容不是0AH为止)
参考答案:
(1)#09FH (2)@RO (3) 20H (4) #09EH (5) RO
解析:
[分析]: 由表2-2知道,对于中断使能控制的访问也就是设置该寄存器的对应位为1或者0,为1表示开启对应的中断控制,为0表示关闭对应的中断控制,按照对应的各个位来进行立即数配置即可进行各个中断的控制。
程序中的空(2)处是表示使用寄存器寻址方式获取数据。空(3)处于中断程序的服务程序中,需要重复从20H中获取待打印的内容,使用直接寻址方式。空(4)是指使用“与指令”关闭对应的中断位。空(5)处为与入栈相对应的出栈操作。