使用逻辑控制器实现十进制计数器
我们用汇编语言编写了 8085 程序,仅用于实现逻辑控制器界面使用的十进制计数器。起始计数的输入必须通过完整界面输入,此外,我们还可以在界面上显示计数。
我们考虑一个示例程序:
它后面的程序应该总是一个无限循环,直到用户输入包含有效两位二进制编码十进制值仅对端口 B。然后,通过发送到端口 A 来显示初始计数。每次延迟 0.5 秒时,计数的值就会以十进制方式递增 1,并且仅发送到端口 A 终端进行显示。计数值从 99 翻滚到 00 后,操作会一直重复下去。
示例程序代码如下:
; FILE NAME COUNTER.ASM ORG C000H PA EQU D8H PB EQU D9H PC EQU DAH CTRL EQU DBH DELAY EQU 04BEH MVI A, 10001010B OUT CTRL ; Configure 8255 ports in desired modes ; All the next 9 instructions will ensure that control is transferred to next portion of program ; only after Port B receives a valid 2-digit BCD input. AGAIN: IN PB ANI 0FH CPI 0AH JNC AGAIN IN PB ANI F0H CPI A0H JNC AGAIN IN PB REPEAT: OUT PA ; Now displaying the count value PUSH PSW LXI D, FFFFH CALL DELAY ; Generating delay of 0.5 second POP PSW ADI 01H DAA ; Incrementing A value in decimal JNZ REPEAT JMP AGAIN
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP