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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

8259A的proteus仿真實例 帶程序源碼

[復(fù)制鏈接]
ID:137190 發(fā)表于 2016-9-4 22:44 | 顯示全部樓層 |閱讀模式
0.png

程序源碼如下:
  1. .MODEL SMALL
  2. .8086
  3. .stack
  4. .data
  5. LED byte 00000001B
  6. .code
  7. start:
  8.     cli
  9.     mov ax,0        ; init interrupt vector TABLE
  10.     mov ds,ax
  11.     mov si,0
  12.     mov cx,80H
  13.     mov ax,offset intx
  14.     mov bx,seg intx
  15. l:  mov [si],ax
  16.     mov [si+2],bx
  17.     add si,4
  18.     loop l
  19.     mov si,60h*4      ; init INT1 interrupt vector
  20.     mov ax,offset int0
  21.     mov [si],ax
  22.     mov ax,seg int0
  23.     mov [si+2],ax
  24.     mov ax,@data
  25.     mov ds,ax
  26.     mov dx,206h    ; init 8255
  27.     mov al,10000000b
  28.     out dx,al
  29.     JMP $+2
  30.     mov al,LED
  31.     mov dx,200h
  32.     out dx,al
  33.     JMP $+2
  34.     mov al,00010011b  ;  init  8259
  35.     mov dx,210h
  36.     out dx,al         ; ICW1
  37.     JMP $+2
  38.     mov al,60h
  39.     mov dx,212h
  40.     out dx,al         ; ICW2
  41.     JMP $+2
  42.     mov ax,00000001h
  43.     out dx,al         ; ICW4
  44.     JMP $+2
  45.     mov ax,0
  46.     out dx,al         ; OCW1
  47.     JMP $+2
  48.     sti
  49.     jmp $
  50. int0  proc
  51.     rol LED, 1
  52.     mov al, LED
  53.     MOV dx, 200h
  54.     out dx, al
  55.     jmp $+2
  56.     mov al,20h
  57.     mov dx,210h
  58.     out dx,al
  59.     jmp $+2
  60.     iret
  61. int0 endp
  62. intx proc
  63.     ror LED, 1
  64.     mov al, LED
  65.     MOV dx, 200h
  66.     out dx, al
  67.     jmp $+2
  68.     mov al,20h
  69.     mov dx,210h
  70.     out dx,al
  71.     jmp $+2
  72.     iret
  73. intx endp
  74. END start
復(fù)制代碼

對于8259A的仿真我倒是做成了,可是成功的很郁悶,其實大家很多做的就差最后一點了。
1.首先原來軟件的8259改成8259A(加幾個字符)大家應(yīng)該都知道,我不說這個了。
2.經(jīng)過反復(fù)的實驗,我發(fā)現(xiàn)雖然仿真的時候看到8259A在第二個INTA返回給8086的中斷號是對的,但是實際上到了8086那里這個中斷號就變了,而且好像變成隨機的了。因此,如果你只有一個中斷,那你就把整個中斷向量表的所有表項全部填上該中斷處理程序的入口地址,你就會發(fā)現(xiàn),當(dāng)中斷來的時候,中斷處理程序被執(zhí)行了,當(dāng)然前提是你的程序沒有錯誤。
我把我做的給大家做示范吧,不過大家注意修改一下“Code Generation Tool “ 中的設(shè)置
0.png

8259A仿真實例所有資料下載:
base8259.rar (39.25 KB, 下載次數(shù): 113)

回復(fù)

使用道具 舉報

ID:189935 發(fā)表于 2017-4-16 18:22 | 顯示全部樓層
    ;jmp $
       
;8086模型有問題,它取得的中斷號是最后發(fā)到總線上的數(shù)據(jù),并不是由8259發(fā)出的中斷號,
;所以改成如下:       
yx:        MOV DX,100H  ;100H是一個沒有設(shè)備的地址
    MOV AL,60h   ;該數(shù)必須是60h,才能在有中斷時轉(zhuǎn)入60h號中斷處理程序
    OUT DX,AL
        jmp yx
回復(fù)

使用道具 舉報

ID:257351 發(fā)表于 2019-7-11 13:12 | 顯示全部樓層
好,希望做的不錯
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 狠狠色综合网站久久久久久久 | 欧美精品国产一区二区 | 五月槐花香 | 色综合天天天天做夜夜夜夜做 | 狠狠干美女| avmans最新导航地址 | 999国产视频 | 天堂视频中文在线 | 中文字幕国产一区 | 男女啪啪高潮无遮挡免费动态 | 国内自拍第一页 | 最新av片| 欧美黄色一区 | 久久久91精品国产一区二区三区 | 不卡av电影在线播放 | 欧美一区2区三区3区公司 | 日韩国产欧美视频 | 亚洲欧美中文日韩在线v日本 | 欧美久久久电影 | 成人一区二区三区 | 精品国产免费一区二区三区演员表 | 午夜日韩 | 涩涩视频在线观看免费 | 国产精品国产自产拍高清 | 国产在线精品一区二区三区 | 午夜在线影院 | 日韩精品一区二区三区在线播放 | 午夜视频导航 | 在线观看亚 | 国产欧美精品 | 国产精品久久久久久福利一牛影视 | 中文字幕一区二区三区在线观看 | 久久一二| 波多野结衣二区 | av电影一区二区 | 久久一二区 | 美女天天操 | 羞羞视频在线观免费观看 | 成人永久免费 | 精品国产鲁一鲁一区二区张丽 | 一区二区三区视频在线观看 |