?? mm401_2.asm
字號(hào):
;mm401_2.asm
;for 鋸齒波16次<8086>
;2005-05
;p_Sa/lcy
data SEGMENT
PA EQU 280h
PB EQU 281h
PC EQU 282h
PCTL EQU 283h ;Y0(280h-287h)
T0 EQU 288H
T1 EQU 289H
T2 EQU 28aH
TCTL EQU 28bH ;Y1(288h-28bh)
PORT EQU 290H ;Y2(290h-297h)
data ENDS
stack0 SEGMENT para stack
DW 20h DUP(0)
stack0 ENDS
coseg SEGMENT
ASSUME CS:coseg,DS:data,SS:stack0
start: MOV AX, data
MOV DS, AX
;================MOV-DS-AX==============
;;8253和8255的初始化:
MOV DX, TCTL
MOV AL, 25h ;00-10-010-1B:0通道,高8位,方式(頻率發(fā)生器),BCD記數(shù)
OUT DX, AL
MOV DX, T0
MOV AL, 10h ;1us=>1ms頻率
OUT DX, AL
MOV AL, 98h ;1-0011-000B:A口方式0輸入,B口方式0輸出
MOV DX, PCTL
OUT DX, AL
;;總的波形次數(shù)ffffh次:
MOV SI, 0
l0:MOV CX, 16
;MOV CX, 32
MOV BL,7fh ;從2.5V開(kāi)始
L1:MOV DX, PC
p1:IN AL, DX ;p1循環(huán)判斷pc7的脈沖是否到來(lái)
TEST AL, 80h
JE p1
MOV DX, PORT
MOV AL, BL
OUT DX, AL
ADD BL, 08H ;16次循環(huán)16×08h=80h,80h+7fh=ffh,達(dá)到5V
MOV DX, PC
p2:IN AL, DX ;p2循環(huán)判斷pc7的脈沖是否已經(jīng)過(guò)去
TEST AL, 80h
JNE p2
LOOP l1
DEC SI
JNE l0
;================INT-21H================
MOV AH, 4ch
INT 21h
coseg ENDS
END start
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -