久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

想學點知識,麻煩各位了 求幫助

[復制鏈接]
跳轉到指定樓層
樓主
ID:215916 發(fā)表于 2018-7-12 13:12 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
STACK  SEGMENT STACK
    DB  200  DUP(0)
STACK  ENDS
DATA SEGMENT
TIME   DB 00H,06H
LEDTAL DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,73H,38H
    COUNT  DW 0
DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,DATA
      MOV DS,AX

;IR0中斷向量      
      PUSH DS
      MOV AX,0000H
      MOV DS,AX
      MOV AX,OFFSET IRQ0
      ADD AX,2000H
      MOV SI,0020H
      MOV [SI],AX
      MOV AX,0000H
      MOV SI,0022H
      MOV [SI],AX
      CLI
      POP DS
      IN AL,21H
      AND AL,0FEH;清除對IRQ0的中斷
      OUT 21H,AL      

;IR2中斷向量
      PUSH DS
      MOV AX,0000H
      MOV DS,AX
      MOV AX,OFFSET IRQ2
      ADD AX,2000H
      MOV SI,0028H
      MOV [SI],AX
      MOV AX,0000H
      MOV SI,002AH
      MOV [SI],AX
      CLI
      POP DS
      IN AL,21H
      AND AL,0FBH;清除對IRQ2的中斷
      OUT 21H,AL

;IRQ5中斷向量      
      PUSH DS
      MOV AX,0000H
      MOV DS,AX
      MOV AX,OFFSET IRQ5
      ADD AX,2000H
      MOV SI,0034H
      MOV [SI],AX
      MOV AX,0000H
      MOV SI,0036H
      MOV [SI],AX
      CLI
      POP DS
      IN AL,21H
      AND AL,0DFH;清除對IRQ5的中斷
      OUT 21H,AL

;IRQ6中斷向量
      PUSH DS
      MOV AX,0000H
      MOV DS,AX
      MOV AX,OFFSET IRQ6
      ADD AX,2000H
      MOV SI,0038H
      MOV [SI],AX
      MOV AX,0000H
      MOV SI,003AH
      MOV [SI],AX
      CLI
      POP DS
      IN AL,21H
      AND AL,0BFH;清除對IRQ6的中斷
      OUT 21H,AL

;IRQ7中斷向量
      PUSH DS
      MOV AX,0000H
      MOV DS,AX
      MOV AX,OFFSET IRQ7
      ADD AX,2000H
      MOV SI,003CH
      MOV [SI],AX
      MOV AX,0000H
      MOV SI,003EH
      MOV [SI],AX
      CLI
      POP DS
      IN AL,21H
      AND AL,7FH;清除對IRQ7的中斷
      OUT 21H,AL

;NORMAL表示正常情況下的倒計時
NORMAL:MOV AL,80H   ;8255A初始化,A,B口方式0輸出,C口輸出
      OUT 63H,AL

      MOV AL,0B6H   ;8253A初始化,計數(shù)器2方式3
      OUT 43H,AL
      MOV AX,59500
      OUT 42H,AL
      MOV AL,AH
      OUT 42H,AL

      MOV COUNT,0
      STI

FANS1:MOV AL,0B7H   ;FANS1表示主干道綠燈,次干道紅燈。LED顯示60-5
      OUT 61H,AL
      CALL DISP
      CMP COUNT,20
      JL  FANS1
      MOV COUNT,0
      MOV DI,OFFSET TIME
      MOV AL,[DI+1]
      CMP AL,00H
      JZ  A5
      MOV AL,[DI]
      CMP AL,00H
      JZ  A6
      DEC AL
      MOV [DI],AL
      JMP FANS1
A5:   MOV AL,[DI]
      CMP AL,06H
      JZ  A0
      DEC AL
      MOV [DI],AL
      JMP FANS1
A6:   MOV AL,9
      MOV [DI],AL
      MOV AL,[DI+1]
      DEC AL
      MOV [DI+1],AL
      JMP FANS1
A0:   MOV AL,05H
      MOV [DI],AL
      JMP FANS21
;FANS21FANS22表示次干道紅燈,主干道隔一秒黃燈亮一次。LED顯示5-1秒,再由1秒跳為45
FANS21:MOV AL,9DH   ;FANS21表示主干道黃燈,次干道紅燈
      OUT 61H,AL
      CALL DISP
      CMP COUNT,20
      JL  FANS21
      MOV COUNT,0
      MOV DI,OFFSET TIME
      MOV AL,[DI]
      CMP AL,01H
      JZ  A7
      DEC AL
      MOV [DI],AL
      JMP FANS22
A7:   MOV AL,4
      MOV [DI+1],AL
      MOV AL,5
      MOV [DI],AL
      JMP FANS3

FANS22:MOV AL,0BFH   ;FANS22表示次干道紅燈,主干道不亮燈
      OUT 61H,AL
      CALL DISP
      CMP COUNT,20
      JL  FANS22
      MOV COUNT,0
      MOV DI,OFFSET TIME
      MOV AL,[DI]
      CMP AL,01H
      JZ  A7
      DEC AL
      MOV [DI],AL
      JMP FANS21

FANS3:MOV AL,7BH     ;FANS3表示主干道紅燈,次干道綠燈。LED顯示45-5
      OUT 61H,AL
      CALL DISP
      CMP COUNT,20
      JL  FANS3
      MOV COUNT,0
      MOV DI,OFFSET TIME
      MOV AL,[DI+1]
      CMP AL,00H
      JZ  A8
      MOV AL,[DI]
      CMP AL,00H
      JZ  A9
      DEC AL
      MOV [DI],AL
      JMP FANS3
A8:   MOV AL,[DI]
      CMP AL,06H
      JZ  A1
      DEC AL
      MOV [DI],AL
      JMP FANS3
A9:   MOV AL,9
      MOV [DI],AL
      MOV AL,[DI+1]
      DEC AL
      MOV [DI+1],AL
      JMP FANS3
A1:   MOV AL,05H
      MOV [DI],AL
      JMP FANS41

;FANS41FANS42表示主干道紅燈,次干道隔一秒黃燈亮一次。LED顯示5-1秒,再由1秒跳為60
FANS41:MOV AL,6EH    ;FANS41表示主干道紅燈,次干道黃燈
      OUT 61H,AL
      CALL DISP
      CMP COUNT,20
      JL  FANS41
      MOV COUNT,0
      MOV DI,OFFSET TIME
      MOV AL,[DI]
      CMP AL,01H
      JZ  A10
      DEC AL
      MOV [DI],AL
      JMP FANS42
A10:  MOV AL,6
      MOV [DI+1],AL
      MOV AL,0
      MOV [DI],AL
      JMP FANS1

FANS42:MOV AL,7FH    ;FANS41表示主干道紅燈,次干道不亮燈
      OUT 61H,AL
      CALL DISP
      CMP COUNT,20
      JL  FANS42
      MOV COUNT,0
      MOV DI,OFFSET TIME
      MOV AL,[DI]
      CMP AL,01H
      JZ   A10
      DEC AL
      MOV [DI],AL
      JMP FANS41
;以上執(zhí)行完105秒為一個循環(huán),再跳回FANS1重新開始循環(huán)


;以下為遇到特殊情況的中斷

;IRQ0的中斷服務程序
IRQ0: MOV AL,20H     ;遇到特殊情況,主干道一直保持通行(綠燈),次干道保持禁止通行(紅燈)狀態(tài);LED顯示'SP'表示'STOP'由按鍵KK1-控制
      OUT 20H,AL
L7:   STI
      MOV DI,OFFSET TIME
      MOV AL,5
      MOV [DI+1],AL
      MOV AL,10
      MOV [DI],AL
      MOV AL,0B7H
      OUT 61H,AL
      CALL DISP
      JMP L7
      IRET

;IRQ2的中斷服務程序
IRQ2: MOV AL,20H     ;在午夜車流量較少時,黃燈每隔0.5秒亮一次;LED顯示'LS'表示'LOW SPEED'由按鍵KK2-控制
      OUT 20H,AL
      STI
      MOV DI,OFFSET TIME
      MOV AL,11
      MOV [DI+1],AL
      MOV AL,5
      MOV [DI],AL
L3:   MOV COUNT,0
L0:   MOV AL,0CCH
      OUT 61H,AL
      CALL DISP
      CMP COUNT,10
      JL  L0
      MOV COUNT,0
L1:   MOV AL,0FFH
      OUT 61H,AL
      CALL DISP
      CMP COUNT,10
      JL  L1
      JMP L3
      IRET

;IRQ5的中斷服務程序
IRQ5: MOV AL,20H       ;完成復位從45秒開始進入NORMAL狀態(tài)由開關K0控制
      OUT 20H,AL
      MOV DI,OFFSET TIME
      MOV AL,4
      MOV [DI+1],AL
      MOV AL,5
      MOV [DI],AL
      MOV AL,88H       ;8255A初始化,A,B口方式0輸出,C低四位口輸出,高四位輸入
      OUT 63H,AL
      MOV AL,0B6H      ;8253A初始化,計數(shù)器2方式3
      OUT 43H,AL
      MOV AX,59500
      OUT 42H,AL
      MOV AL,AH
      OUT 42H,AL
      MOV COUNT,0
      STI
      JMP FANS3
      IRET

;IRQ6的中斷服務程序
IRQ6: MOV AL,20H       ;完成復位從60秒開始進入NORMAL狀態(tài)由開關K1控制
      OUT 20H,AL
      MOV DI,OFFSET TIME
      MOV AL,6
      MOV [DI+1],AL
      MOV AL,0
      MOV [DI],AL
      JMP NORMAL
      IRET

;IRQ7的中斷服務程序
IRQ7: INC COUNT        ;8253OUT2控制,每隔50ms發(fā)一次中斷,讓COUNT值加1
      MOV AL,20H
      OUT 20H,AL
      IRET

;顯示子程序
DISP PROC NEAR
      MOV DI,OFFSET TIME
      MOV CL,0FEH
ST1:  MOV AL,CL
      TEST AL,04H      ;判斷顯示到第幾位,是否顯示到最高位
      JZ  ED
      OUT 62H,AL       ;C口低四位做輸入用于選擇哪個LED
      ROL AL,01H       ;讓下一位LED燈管顯示
      MOV CL,AL
      MOV AL,[DI]
      MOV BX,OFFSET LEDTAL
      XLAT
      OUT 60H,AL       ;A口做輸出用于LED顯示
      CALL DELAY
      INC DI
      JMP ST1
ED:   RET              ;每個LED都顯示完畢
DISP  ENDP

;延時子程序
DELAY PROC NEAR
      PUSH CX
      MOV CX,2000      ;0.5ms,0.5ms就切換一次LED燈管的顯示,給人視覺各個LED是同時亮
WAIT: LOOP WAIT
      POP CX
      RET
DELAY ENDP
CODE  ENDS
      END START

88[]{{83C_CD%SLFEP@RLYJ.png (138.13 KB, 下載次數(shù): 47)

88[]{{83C_CD%SLFEP@RLYJ.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:215916 發(fā)表于 2018-7-12 13:12 | 只看該作者
幫我改一下,謝謝大家
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 97视频成人 | 国产成人精品一区二区三 | 性欧美hd | 美女视频.| 久久精品av麻豆的观看方式 | 插插宗合网 | 另类二区| 日韩在线免费视频 | 中文字幕视频三区 | 欧美激情在线精品一区二区三区 | 91高清视频在线观看 | 久草免费电影 | 久久精品二区 | 成人精品在线观看 | caoporn国产精品免费公开 | 中日字幕大片在线播放 | 亚洲综合色自拍一区 | 国产一区二区三区在线视频 | 国产精品精品久久久 | 涩涩99| 国产精品福利视频 | 日韩在线视频免费观看 | 超碰免费观看 | 国产a视频| japanhdxxxx裸体 | 国产精品久久久久久久7电影 | 欧美亚洲视频在线观看 | 久久久久一区 | 欧美在线国产精品 | 一区二区三区欧美 | 国产精品久久久久久中文字 | 伊人网综合在线观看 | 亚洲成人福利视频 | 亚洲综合二区 | 国产乱码精品1区2区3区 | 天堂视频一区 | 日韩精品一区二区三区第95 | 偷拍自拍在线观看 | 成人免费视屏 | 亚洲国产精品精华素 | 一级黄色录像毛片 |