18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> EDA開發應用 >> Proteus >> 正文

Proteus7.5仿真8255流水燈原理圖

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2018-01-24

8255流水燈顯示代碼

; You may customize this and other start-up templates;

; The location of this template is c:\emu8086\inc\0_com_template.txt

org 100h

;T8255-2.asm

;8255流水燈顯示實驗

;****************根據查看端口資源修改下列符號值*******************

IOY0 EQU 00H ;片選IOY0對應的端口始地址

;*****************************************************************

MY8255_A EQU IOY0+00H*2 ;8255的A口地址

MY8255_B EQU IOY0+01H*2 ;8255的B口地址

MY8255_C EQU IOY0+02H*2 ;8255的C口地址

MY8255_MODE EQU IOY0+03H*2 ;8255的控製寄存器地址

DATA SEGMENT

LA DB 1 DUP

LB DB 1 DUP

AXX DW 1 BUP

CXX DW 1 BUP

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,MY8255_MODE ;定義(yi) 8255工作方式

MOV AL,80H ;工作方式0,A口和B口為(wei) 輸出

OUT DX,AL

BEGIN: MOV DX,MY8255_A ;寫(xie) A口發出的起始數據

MOV AL,01H

OUT DX,AL

MOV LA,AL

MOV DX,MY8255_B ;寫(xie) B口發出的起始數據

MOV AL,80H

OUT DX,AL

MOV LB,AL

MOV CX,7

LOOP1: CALL DALLY

MOV AL,LA ;將A口起始數據左移再寫(xie) 入A口

ROL AL,1

MOV LA,AL

MOV DX,MY8255_A

OUT DX,AL

MOV AL,LB ;將B口起始數據右移再寫(xie) 入B口

ROR AL,1

MOV LB,AL

MOV DX,MY8255_B

OUT DX,AL

LOOP LOOP1

MOV CX,7

LOOP2: CALL DALLY

MOV AL,LA ;將A口起始數據右移再寫(xie) 入A口

ROR AL,1

MOV LA,AL

MOV DX,MY8255_A

OUT DX,AL

MOV AL,LB ;將B口起始數據左移再寫(xie) 入B口

ROL AL,1

MOV LB,AL

MOV DX,MY8255_B

OUT DX,AL

LOOP LOOP2

JMP BEGIN ;流水燈重新開始

DALLY PROC ;軟件延時子程序

MOV CXX,CX

MOV AXX,AX ;這裏本應該用堆棧,我用CXX,AXX變量代替了。

MOV CX,0FH

D1: MOV AX,0FFFH

D2: DEC AX

JNZ D2

LOOP D1

MOV AX,AXX

MOV CX,CXX

RET

DALLY ENDP

CODE ENDS

END START

ret

Proteus7.5仿真8255流水燈原理圖

 

Proteus7.5仿真8255流水燈原理圖 

效果圖

 

Tags:Proteus,仿真,8255流水燈原理圖  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁麵
    下到頁底
    晶體管查詢