poteus與emu8086聯調實現流水燈
按我們的原理圖可以看到io埠是通過位址線進行直接編址,但我們最開始仍然用僵化的思維想問題,覺得埠嘛,肯定是按書上的寫吧!然後什麼303h、304h最常見的這些書上常用的8255和8253的位址就寫程序式裡了。其實寫的時候我心裡就比較懸,所以最後結果沒出來,也算是在意料之中吧。後來我和組員特意把這個埠位址給研究了研究,做了以下這個**:
其中還特別注意了8255a與8253a不可以同時選中,所以控制8253時把8255的片選線cs置1;控制8255時把8253的片選線cs置1;最後形成了上面這個**。
這個我看群裡面有好多同學在說這個問題,老師給的例程中也用的是.bin檔案。開始做不出來的時候也以為是這個問題。後來程式調的比較好的時候發現這個其實關係不大,調不出來,怎麼說呢?可能還是程式的問題,回去改程式吧!
至於流水燈的實現,我最後是採用了軟體延時的方法,實現了1s切換一次這個功能,軟體延時程式如下(也是沒辦法了):
可以由截圖看到,此時應該是已經選中8253,但是發現wr始終為高電平,正常來說應該wr處於低電平才可以;所以我在考慮是不是要加乙個非門,後來我用了74ls00作為非門給cpu的wr 輸出加了乙個非門,但out0始終沒有反應。這個地方我問了乙個成功解決了的同學,他們的原理圖是加了乙個74ls138解碼,我也嘗試過,不過還是和他們的電路不太一樣,因此最後也沒有成功,所以我們最後還是用了軟體延時的方法,將這一步跳過了。
比如說,可以看到我的電路裡面有匯流排連線;有網路標號進行連線;還有用的輸入輸出進行連線的。
我拿原理圖去請教一些同學的時候,也有人跟我說:「你這原理圖也太亂了吧」。但我最後還是沒有改回來,這其實是我探索的乙個過程。從最開始匯流排都不知道怎麼畫,到現在proteus中的很多快捷鍵都弄熟了;從最開始走一步停一步地到處找人請教問題,到現在也「久病成醫」,可以幫別人解決一些遇到的問題。一步步探索最終是把這個設計完成了,寫到這,倒回去看看自己寫下的,彷彿就是看到了這幾個星期的努力,真的是很有收穫,其他的一些小問題就不贅述啦。
emu8086 資料排序
方法 冒泡法 顯示 int 21,功能號9 you may customize this and other start up templates the location of this template is c emu8086 inc 0 com template.txt name sort ...
匯程式設計序練習emu8086
連續輸入三個字母 不限大小寫 將三個字母的ascii碼相加後將所得的結果以十六進製制數的形式顯示到螢幕上 data segment buff db 200 db 0 db 200dup 0 xle0 db 0 xle1 db 0 xle2 db 0 val1 db 0 val2 db 0 endd ...
emu8086學習彙編必備軟體
emu8086是學習彙編必不可少的工具,它結合了乙個先進的原始編輯器 彙編器 反彙編器 具除錯功能的軟體模擬工具 虛擬pc 還有乙個循序漸進的指導工具。該軟體包含了學習組合語言的全部內容。emu8086集源 編輯器,彙編 反彙編工具以及可以執行debug的模擬器 虛擬機器 於一身,此外,還有循序漸進...