找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2117|回復: 1
打印 上一主題 下一主題
收起左側

延時編碼求助。。∪绾翁砑??

[復制鏈接]
跳轉到指定樓層
樓主
ID:211821 發(fā)表于 2017-6-16 12:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
IOCON   EQU 8006H       ;8255控制端口地址
IOA     EQU 8000H       ;8255端口A地址
IOB     EQU 8002H       ;8255端口B地址
IOC     EQU 8004H       ;8255端口C地址
CODE SEGMENT
    ASSUME CS:CODE
         
ORG 100H
START:
    MOV AL,90H      ;寫入8255A的控制字
    MOV DX,IOCON
    OUT DX,AL
   
    NOP
START1:
    NOP
    NOP
    MOV AL,0        ;從PA端口讀入開關狀態(tài)
    MOV DX,IOA
    IN  AL,DX
    NOP
    NOP
    MOV DX,IOB      ;從PB端口輸出,控制LED亮滅
    OUT DX,AL
   
    JMP START1
CODE ENDS
    END START

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:149988 發(fā)表于 2017-6-17 08:18 | 只看該作者

RE: 延時編碼求助!!!如何添加??

程序中NOP都起延時作用,但是延時時間很短,下面一段子程序延時時間較長,R7和R6裝載數(shù)據(jù)越大延時時間越長。哪里需要延時,將此子程序在哪里調用即可。具體延時時間計算和延時原理見課本。
       ......
delay:                        ;延時子程序
       MOV  R7,#30H     ;設置R7=20H
L1:  MOV  R6,#0FFH    ;設置R6=FFH
       DJNZ R6,$            ;若R6-1≠0,執(zhí)行本指令循環(huán),若R6-1=0,執(zhí)行下一指令
       DJNZ R7,L1           ;若R7-1≠0,執(zhí)行L2循環(huán),若R7-1=0,執(zhí)行下一指令
       RET
       ......
如所列舉程序中一段程序。
START1:
    NOP
    NOP
    MOV AL,0        ;從PA端口讀入開關狀態(tài)
    MOV DX,IOA
    IN  AL,DX
    NOP
    NOP
    MOV DX,IOB      ;從PB端口輸出,控制LED亮滅
    OUT DX,AL
如果延時時間很長,將兩個NOP刪除,換上ACALL  delay 如:
START1:
    ACALL  delay
    MOV AL,0        ;從PA端口讀入開關狀態(tài)
    MOV DX,IOA
    IN  AL,DX
    ACALL  delay
    MOV DX,IOB      ;從PB端口輸出,控制LED亮滅
    OUT DX,AL
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表