日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Proteus绘制8086原理图以及编程实现流水灯

發布時間:2024/1/1 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Proteus绘制8086原理图以及编程实现流水灯 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

一、問題所在以及解決方案

二、在剛開始的時候也出現過如下的報錯情況

三、編程實現LED由上到下逐個遞增點亮,每隔一段時間點亮下一只,但前面的不滅。


一、問題所在以及解決方案

在上一篇文章中提到的流水燈只亮不閃以及74372輸出全是高電平問題,解決方案如下:

在繪制完最小系統原理圖以及流水燈原理圖之后,發現led燈只亮不閃,運行四個流水燈依次熄滅點亮的代碼時也是如此;后與老師一起研究發現問題所在是前兩塊74273芯片的引腳輸出都是紅色高電平,說明信號沒有傳送入鎖存器中;這可能是接的線路出了問題,但當天我與老師一起尋找許久卻始終沒有找到問題所在,無論是引腳的接線還是元器件和線路的標號,都沒有出錯的問題。這個問題也讓我糾結了很久,課后也多次嘗試,仍然無果;

最后再一次偶然上網搜索找到一個帖子說:連線都沒有問題的話可以考慮可能是接線不穩定所導致的。雖然是仿真實驗,但是我還是抱著試一試的心態,將連接標號為U6、U7的兩塊74273芯片的總線與子電路連線全都刪除然后再重新連接,竟然十分意外地運行成功了。這雖然令我感到很無奈,但是也很驚喜和喜悅;算是圓滿的完成看了一次實驗。

這是繪制的8086最小系統圖,個人建議:在原理圖的連線沒有發現問題時仍然無法運行成功,可以嘗試將出錯的那部分刪除然后重新連線,舍友也出現了和我類似的情況,用這個方法成功了。


?

二、在剛開始的時候也出現過如下的報錯情況

?

?這是因為給8086芯片設置的內存不足導致,我們需要更改一下給8086設置的內存就可以了。

在原理圖界面雙擊8086芯片,出現如下頁面:

?

?然后點擊確認,這樣就不會再出現剛剛那種報錯的情況了。


三、編程實現LED由上到下逐個遞增點亮,每隔一段時間點亮下一只,但前面的不滅。

;方法1 此方法比較簡單好上手好懂,但是代碼太過冗長,如果led數量再繼續增加就更長了。

.MODEL SMALL .8086 .STACK .CODE .STARTUP AGAIN:MOV DX,0200H ;74ls273芯片對應的地址 MOV AX,1111111111111111B ;對應0電平的LED點亮 OUT DX,AX CALL DELAY ;延時 MOV AX,1111111111111110B; OUT DX,AX CALL DELAY; MOV AX,1111111111111100B; OUT DX,AX CALL DELAY; MOV AX,1111111111111000B; OUT DX,AX CALL DELAY; MOV AX,1111111111110000B; OUT DX,AX CALL DELAY; MOV AX,1111111111100000B; OUT DX,AX CALL DELAY; MOV AX,1111111111000000B; OUT DX,AX CALL DELAY; MOV AX,1111111110000000B; OUT DX,AX CALL DELAY; MOV AX,1111111100000000B; OUT DX,AX CALL DELAY; MOV AX,1111111000000000B; OUT DX,AX CALL DELAY; MOV AX,1111110000000000B; OUT DX,AX CALL DELAY; MOV AX,1111100000000000B;; OUT DX,AX CALL DELAY; MOV AX,1111000000000000B;; OUT DX,AX CALL DELAY; MOV AX,1110000000000000B;; OUT DX,AX CALL DELAY; MOV AX,1100000000000000B;; OUT DX,AX CALL DELAY; MOV AX,1000000000000000B;; OUT DX,AX CALL DELAY; MOV AX,000000000000000B;; OUT DX,AX CALL DELAY; JMP AGAIN DELAY PROC NEAR ;延時子程序 MOV BX,200LP1:MOV CX,469 LP2:LOOP LP2 DEC BX JNZ LP1 RET DELAY ENDP .DATA END .

方法2:?

.MODEL SMALL .8086 .STACK .CODE .STARTUP AGAIN:MOV DX,0200H ;74ls273芯片對應的地址 MOV AX,0FFFFH ;將FFFFH賦給AX,對應0電平的LED點亮。此時LED燈全滅。 MOV BL,0H ;清空BL中的數值 MOV CL,10H ;將10H賦給CX,表示循環次數為16次LOOP1: MOV CL,BL ;將BL中的數值放入CL中 SAL AX,CL ;AX里的數邏輯左移,移動次數=CL中的數值 OUT DX,AXCALL DELAY ;延時INC BX ;BX+1——>BXDEC CX ;CX-1——>CX JNZ LOOP1 DELAY PROC NEAR ;延時子程序 MOV BX,200 LP1:MOV CX,300 LP2:LOOP LP2 DEC BX JNZ LP1 RET DELAY ENDP .DATA END .

總結

以上是生活随笔為你收集整理的Proteus绘制8086原理图以及编程实现流水灯的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。