还附带电路图和流程图? 才50分 \r\n大哥 你知道这是啥工作量?\r\n小弟要考试了 没空写啊 不过我有做过类似的:\r\n通过IN1读入一个滑动变阻器上的电压值,并将其转化的数字量在8段显示器上显示输出,当采集的电压值为5V时程序退出。 要用到 adc0809 8253 8255a 代码如下\r\ndata Segment\r\nIN0 EQU 280H\r\nIN1 EQU 281H\r\nIN2 EQU 282H\r\nIN3 EQU 283H\r\nIN4 EQU 284H\r\nIN5 EQU 285H\r\nIN6 EQU 286H\r\nIN7 EQU 287H\r\nPA EQU 290H\r\nPB EQU 291H\r\nPC EQU 292H\r\nPCTL EQU 293H\r\nTable DB 7EH ;0\r\n DB 30H ;1\r\n DB 6DH ;2\r\n DB 79H ;3\r\n DB 33H ;4\r\n DB 5BH ;5\r\n DB 1FH ;6\r\n DB 70H ;7\r\n DB 7FH ;8\r\n DB 73H ;9\r\n DB 77H ;A\r\n DB 1FH ;B\r\n DB 4EH ;C\r\n DB 3FH ;D\r\n DB 4FH ;E\r\n DB 47H ;F\r\nvalue DB ?\r\nData Ends\r\n\r\ncode Segment\r\n Assume cs:Code,ds:Data\r\n\r\nMain Proc Far\r\nStart: mov ax,Data\r\n mov ds,ax\r\n mov dx,PCTL ;8255初始化\r\n mov al,10000001B\r\n out dx,al \r\nBegin: mov dx,IN1 ;启动AD\r\n out dx,al\r\nAgain: call LED8 ;call LED8\r\n mov dx,PC ;判断EOC转换结束\r\n in al,dx\r\n test al,01H\r\n jz Again\r\n mov dx,IN1 ;取转换结果\r\n in al,dx\r\n mov value,al ;若电压为5V时程序退出\r\n cmp value,0FFH\r\n jnz Begin\r\n mov ah,4CH\r\n int 21H\r\nMain Endp\r\n\r\nLED8 PROC NEAR\r\n PUSH CX\r\n MOV AL,VALUE\r\n AND AL,0F0H\r\n MOV CL,4\r\n ROR AL,CL\r\n MOV BX,OFFSET TABLE\r\n XLAT\r\n MOV DX,PB\r\n OUT DX,AL\r\n MOV DX,PC\r\n MOV AL,10000000B ;PC7做第1个位码\r\n OUT DX,AL\r\n CALL DELAY\r\n\r\n MOV AL,VALUE\r\n AND AL,0FH\r\n MOV BX,OFFSET TABLE\r\n XLAT\r\n MOV DX,PB\r\n OUT DX,AL\r\n MOV DX,PC\r\n MOV AL,01000000B ;PC6做第2个位码\r\n OUT DX,AL\r\n CALL DELAY\r\n\r\n MOV DX,PB\r\n MOV AL,00H\r\n OUT DX,AL ;熄灭数码管\r\n \r\n POP CX\r\n\r\n RET\r\nLED8 ENDP \r\n\r\nDELAY PROC NEAR\r\n MOV CX,10H\r\nL1: PUSH CX\r\n MOV CX,0F000H\r\nL2: LOOP L2\r\n POP CX\r\n LOOP L1\r\n RET\r\nDELAY ENDP \r\n \r\nCODE ENDS\r\n END START\r\n\r\n这里inc接 温度感应器吧 8255a的pa口接8段led显示 pc7和pc6接 led的2个位码 pc0接8253的out2 8253的clk0接2Mhz脉冲 gate接+5V out0接clk2 差不多 你的那题和这个类似 自己改 (精度就不懂怎么弄了) sorry
我是这样理解的
最后的H表示的是前面的数为16进制
3f 二进制数为 00111111
转换为十进制 为63
0-63 是64个数
这里说的是 存储器前64个单元