找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1978|回復(fù): 0
收起左側(cè)

基于8086的16X16點(diǎn)陣顯示程序Proteus仿真圖

[復(fù)制鏈接]
ID:853984 發(fā)表于 2022-6-30 22:17 | 顯示全部樓層 |閱讀模式
本項(xiàng)目是基于8086的點(diǎn)陣顯示,可以通過(guò)按鍵顯示所要顯示的內(nèi)容
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
@M]7PW@]5`3HWS$`P0.png

單片機(jī)源程序如下:
  1.         IOY0  EQU       0C400H      ;片選第一片8255的地址
  2.         IOY1  EQU       0C440H      ;片選第二片8255的地址
  3.      O8255_A  EQU       IOY0+00*2   ;第一片8255的地址的A口
  4.      O8255_B  EQU       IOY0+01*2   ;第一片8255的地址的B口
  5.      O8255_C  EQU       IOY0+10*2   ;第一片8255的地址的C口
  6.   O8255_MODE  EQU       IOY0+11*2   ;第一片8255的地址的控制字寄存器
  7.      T8255_A  EQU       IOY1+00*2   ;第二片8255的地址的A口
  8.      T8255_B  EQU       IOY1+01*2   ;第二片8255的地址的B口
  9.      T8255_C  EQU       IOY1+10*2   ;第二片8255的地址的C口
  10.   T8255_MODE  EQU       IOY1+11*2   ;第二片8255的地址的控制字寄存器

  11.        DATAS  SEGMENT
  12.     ;此處輸入數(shù)據(jù)段代碼
  13.       COUNT1  DB        00H
  14.       COUNT2  DB        01H
  15.          TAB  DB        08H,02H,18H,02H,0C8H,3FH,14H,02H,32H,02H,11H,02H,0E8H,7FH,08H,08H
  16.               DB        0CH,08H,0EAH,7FH,08H,08H,88H,08H,88H,08H,08H,08H,08H,0AH,08H,04H        ;待
  17.               DB        08H,00H,08H,1FH,08H,11H,7FH,11H,08H,11H,08H,11H,1CH,11H,2CH,11H
  18.               DB        2AH,11H,0AH,11H,89H,10H,88H,50H,48H,50H,48H,50H,28H,60H,08H,00H         ;機(jī)
  19.               DB        00H,01H,00H,01H,3FH,01H,0A0H,7FH,0A1H,20H,52H,12H,14H,02H,08H,02H
  20.               DB        18H,02H,18H,06H,24H,05H,24H,09H,82H,18H,61H,70H,1CH,20H,00H,00H         ;歡
  21.               DB        02H,00H,84H,01H,6CH,3EH,24H,22H,20H,22H,20H,22H,27H,22H,24H,22H
  22.               DB        0A4H,22H,64H,2AH,24H,12H,04H,02H,04H,02H,0AH,00H,0F1H,7FH,00H,00H       ;迎
  23.               DB        80H,08H,82H,08H,84H,08H,0ECH,3FH,84H,08H,80H,08H,80H,08H,0EFH,7FH
  24.               DB        88H,08H,88H,08H,48H,08H,48H,08H,28H,08H,14H,00H,0E2H,7FH,00H,00H        ;進(jìn)
  25.               DB        30H,00H,60H,00H,40H,00H,80H,00H,0C0H,00H,40H,01H,40H,01H,20H,02H
  26.               DB        20H,04H,10H,04H,10H,08H,08H,10H,04H,70H,02H,20H,01H,00H,00H,00H         ;入
  27.               DB        00H,3EH,0FCH,01H,40H,04H,20H,04H,10H,02H,0F8H,01H,0C0H,04H,30H,08H
  28.               DB        0FCH,1FH,08H,31H,20H,05H,10H,09H,08H,11H,04H,21H,42H,21H,80H,00H        ;系
  29.               DB        08H,02H,08H,04H,0C4H,7FH,04H,02H,22H,02H,1FH,11H,90H,20H,0C8H,7FH
  30.               DB        04H,29H,3EH,09H,00H,09H,00H,09H,0B8H,48H,87H,48H,40H,70H,20H,00H        ;統(tǒng)
  31.               DB        00H,00H,00H,00H,00H,00H,00H,00H,08H,00H,08H,00H,08H,00H,08H,00H
  32.               DB        08H,00H,08H,00H,08H,00H,08H,00H,08H,00H,00H,00H,08H,00H,00H,00H         ;!
  33.               DB        0FEH,3FH,80H,00H,80H,00H,0F8H,0FH,88H,08H,88H,08H,0F8H,0FH,88H,08H
  34.               DB        88H,08H,88H,08H,0FFH,7FH,08H,08H,08H,08H,08H,08H,08H,0AH,08H,04H        ;再
  35.               DB        0F8H,0FH,08H,08H,08H,08H,88H,08H,88H,08H,88H,08H,88H,08H,88H,08H
  36.               DB        48H,09H,40H,01H,20H,01H,20H,21H,10H,21H,0CH,61H,03H,3EH,00H,00H         ;見(jiàn)
  37.        DATAS  ENDS

  38.       STACKS  SEGMENT
  39.     ;此處輸入堆棧段代碼
  40.           N1  DB        100 DUP(?)
  41.       STACKS  ENDS

  42.        CODES  SEGMENT
  43.               ASSUME    CS:CODES,DS:DATAS,SS:STACKS
  44.       START:
  45.               MOV       AX,DATAS
  46.               MOV       DS,AX
  47.               MOV       DX,O8255_MODE
  48.               MOV       AL,81H
  49.               OUT       DX,AL       ;第一片8255方式選擇
  50.               MOV       DX,T8255_MODE
  51.               MOV       AL,80H
  52.               OUT       DX,AL       ;第二片8255方式選擇
  53.               MOV       CX,0
  54.               CALL      C1
  55.           X:  CALL      C2
  56.               MOV       SI,0000H    ;指針賦值0
  57.               MOV       AH,2        ;顯示“待機(jī)”
  58.               JMP       X0
  59.           Y:  CALL      C2
  60.               MOV       AH,7        ;顯示“歡迎進(jìn)入系統(tǒng)”
  61.               MOV       SI,0040H
  62.               MOV       DI,SI
  63.               JMP       X0
  64.           Z:  CALL      C2
  65.               MOV       AH,2        ;顯示“再見(jiàn)”
  66.               MOV       SI,0120H
  67.               MOV       DI,SI
  68.          X0:  PUSH      CX
  69.               MOV       BX,1024     ;整體循環(huán)1024次
  70.          X1:  PUSH      BX
  71.               MOV       BH,COUNT1   ;初始化
  72.               MOV       BL,COUNT2
  73.               CLC                   ;CF位清零
  74.         RER:  MOV       CX,16       ;循環(huán)次數(shù)
  75.               MOV       SI,DI       ;指向原來(lái)的位置
  76.       LOOP1:
  77.               MOV       DX,T8255_A  ;清除列
  78.               MOV       AL,00H
  79.               OUT       DX,AL
  80.               MOV       DX,T8255_B
  81.               MOV       AL,00H
  82.               OUT       DX,AL
  83.               CALL      FI
  84.               INC       SI          ;指針再次加1
  85.               RCL       BL,1        ;每次循環(huán)向左移動(dòng)1位
  86.               RCL       BH,1        ;連帶CF位一同左移1位
  87.               DEC       CX          ;循環(huán)次數(shù)減1
  88.               CMP       CX,0        ;循環(huán)次數(shù)大于0,就繼續(xù)循環(huán)
  89.               JNZ       LOOP1
  90.               POP       BX          ;第二重循環(huán)計(jì)數(shù)
  91.               DEC       BX
  92.               CMP       BX,0
  93.               JNZ       X1
  94.       LOOP3:
  95.               POP       CX          ;第三重循環(huán),控制顯示哪些字
  96.               INC       CX
  97.               MOV       DI,SI
  98.               CMP       CL,AH
  99.               JNZ       X0          ;顯示程序結(jié)束
  100.               MOV       DI,0000H
  101.               MOV       AH,0
  102.               MOV       CX,0
  103.               CALL      C1
  104.               MOV       AH,4CH
  105.               INT       21H
  106.          C1:  MOV       DX,O8255_C  ;讀取C口狀態(tài)
  107.               IN        AL,DX
  108.               CMP       AL,0EH      ;判斷按下的是第幾個(gè)按鍵,依次跳轉(zhuǎn)
  109.               JZ        X
  110.               CMP       AL,0DH
  111.               JZ        Y
  112.               CMP       AL,0BH
  113.               JZ        Z
  114.           O:  MOV       DX,O8255_C  ;初始化鍵盤掃描輸入
  115.               PUSH      AX
  116.               MOV       AL,0FH
  117.               OUT       DX,AL
  118.               POP       AX
  119.               JMP       C1
  120.               RET
  121.          C2:  MOV       DX,O8255_C  ;對(duì)數(shù)碼管的輸出
  122.               PUSH      AX
  123.               CALL      C3
  124.               OUT       DX,AL
  125.               POP       AX
  126.               RET
  127.          C3:  CMP       AL,0EH      ;數(shù)碼管輸出變量
  128.               JZ        M1
  129.               CMP       AL,0DH
  130.               JZ        M2
  131.               CMP       AL,0BH
  132.               JZ        M3
  133.          M1:  MOV       AL,17H
  134.               RET
  135.          M2:  MOV       AL,27H
  136.               RET
  137.          M3:  MOV       AL,37H
  138.               RET
  139.          FI:  MOV       DX,O8255_A  ;循環(huán)行掃描
  140.               MOV       AL,BL
  141.               OUT       DX,AL
  142.               MOV       DX,O8255_B
  143.               MOV       AL,BH
  144.               OUT       DX,AL
  145.       LOOP2:
  146.               MOV       DX,T8255_A  ;循環(huán)列掃描
  147.               MOV       AL,TAB[SI]
  148.               OUT       DX,AL
  149.               INC       SI          ;指針加1,指向下一個(gè)數(shù)據(jù)
  150.               MOV       DX,T8255_B
  151.               MOV       AL,TAB[SI]
  152.               OUT       DX,AL
  153.               RET
  154.        CODES  ENDS
  155.               END       START
復(fù)制代碼
以上是代碼

附件只包含1個(gè)文件 Proteus仿真文件下載:
基于8086點(diǎn)陣.zip (109.44 KB, 下載次數(shù): 42)


評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表