?? 19_549.asm
字號:
;//****************************************************************
;文件名:串行A/D轉換器TLC549轉換程序 FOR 8088
;功能:把模擬信號轉換成數字量,并通過數碼管顯示被轉換的數字量。
;接線: 對應連接串行模數轉換模塊的DATA、CLK、CS_549到8255模塊的PC0、PC4、PC5
; 8255模塊的CS_8255連CPU模塊的200H。
;//********************************************************************
;PC0——DATA
;PC4——CLK
;PC5——CS_549
PA8255 EQU 200H ;8255PA口地址
PB8255 EQU 201H ;8255PB口地址
PC8255 EQU 202H ;8255PC口地址
PCTL8255 EQU 203H ;8255控制口地址
Z8279 EQU 239H
D8279 EQU 238H
LEDMOD EQU 00 ;左邊輸入,八位顯示外部譯碼八位顯示
LEDFEQ EQU 38H ;掃描頻率
CODE SEGMENT
ASSUME CS:CODE,DS:code,SS:code
START:
PUSH CS
POP DS
MOV DX,Z8279
MOV AL,LEDMOD
OUT DX,AL
MOV AL,LEDFEQ
OUT DX,AL
MOV CX,06H
XZ: MOV DX,D8279
MOV AL,00H
OUT DX,AL
LOOP XZ
MOV DX,D8279
MOV AL,5eH
OUT DX,AL
MOV DX,D8279
MOV AL,77H
OUT DX,AL ;以上為寫(AD)
NOP
MOV DX,PCTL8255
MOV AL,81H ;設置8255,PA、PC4~5出,PC0入
OUT DX,AL
BEGINAD:
MOV DX,PCTL8255
MOV AL,08H ;PC4: CLK 置“0”
OUT DX,AL
MOV AL,0AH ;PC5: CS置“0”
OUT DX,AL
MOV AL,0
MOV CX,8 ;分八次讀一個字節
INPUT: PUSH AX
MOV DX,PCTL8255
MOV AL,09H ;PC4: CLK 置“1”
OUT DX,AL
NOP
MOV DX,PC8255 ;
IN AL,DX
RCR AL,1
POP AX
RCL AL,1
PUSH AX
MOV DX,PCTL8255
MOV AL,08H ;PC4: CLK 置“0”
OUT DX,AL
POP AX
LOOP INPUT
MOV AH,AL
MOV DX,PCTL8255
MOV AL,0BH ;PC5: CS置“1”
OUT DX,AL
DISPLAY:
MOV AL,AH
and al,0fh
push ax
mov dx,z8279
mov al,80h
out dx,al
pop ax
LEA BX,LED
XLAT
MOV DX,D8279 ;將AL中內容寫到數碼管上
OUT DX,AL
MOV AL,AH
mov cl,4
ror al,cl
and al,0fh
push ax
mov dx,z8279
mov al,81h
out dx,al
pop ax
LEA BX,LED
XLAT
MOV DX,D8279 ;將AL中內容寫到數碼管上
OUT DX,AL
call delay
JMP BEGINAD ;重復
delay proc near
push cx
mov cx,05f00h
loop $
pop cx
ret
delay endp
LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
CODE ENDS
END START
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -