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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1796|回復: 9
收起左側

8086匯編語言 按鍵控制發光二極管

[復制鏈接]
ID:1105655 發表于 2023-12-21 20:07 | 顯示全部樓層 |閱讀模式
具體要求:基于8086芯片實現。按鍵要求能夠實現對二極管的點亮與熄滅的控制,用S1~S4組成的鍵盤分別控制4個發光二極管的點亮,S5按鍵來熄滅各二極管。按鍵具有防抖動功能,例如:S1點亮1號燈,按S5可以將其熄滅。S2點亮2號燈,按S5可以將其熄滅。這是我網上找的其他魔改的,只能到這一步了,請各位大哥門請教指正一下看看圖,看看代碼能不能簡化,小弟拜上。

代碼如下:
CODE SEGMENT
ASSUME CS:CODE

IOCON   EQU 8006H
IOA     EQU 8000H
IOB     EQU 8002H

START:

MOV AL, 90H ;
MOV DX, IOCON ;
OUT DX, AL ;

MOV DX, IOA ;
MOV AL, 0FFH
OUT DX, AL

MOV AL, 0FFH ;
MOV DX, IOB
OUT DX, AL

MOV BL,0FFH
TIMER:
MOV DX, IOA ;
IN AL, DX ;

CALL DELAY_MS ;
IN AL, DX ;

CMP AL, 0FEH ;
JE LED0
CMP AL, 0FDH
JE LED1
CMP AL, 0FBH
JE LED2
CMP AL, 0F7H
JE LED3
CMP AL, 07FH
JE LED_OFF

JMP TIMER ;
LED0:
AND AL, BL
MOV DX, IOB
OUT DX, AL
MOV BL,AL
JMP TIMER

LED1:
AND AL, BL
MOV DX, IOB
OUT DX, AL
MOV BL,AL
JMP TIMER

LED2:
AND AL, BL
MOV DX, IOB
OUT DX, AL
MOV BL,AL
JMP TIMER

LED3:
AND AL, BL
MOV DX, IOB
OUT DX, AL
MOV BL,AL
JMP TIMER

LED_OFF:
MOV AL, 0FFH
MOV BL,0FFH
MOV DX, IOB
OUT DX, AL
JMP TIMER
DELAY_MS:
PUSH CX
MOV CX, 1000
JMP DELAY_LOOP

DELAY_LOOP:
DEC CX ;
JNZ DELAY_LOOP

POP CX
RET ;
CODE ENDS
END START


323232.png
回復

使用道具 舉報

ID:73992 發表于 2023-12-22 11:40 來自觸屏版 | 顯示全部樓層
要增加程序存儲器ROM,數據存儲器RAM。最起碼8086有地方取指令吧
回復

使用道具 舉報

ID:883242 發表于 2023-12-22 13:25 | 顯示全部樓層
你貼的圖是proteus的,給出來的文件是multisim的,完全是驢唇對不上馬嘴,只能證明你根本就沒有看過,隨便從網上搜來的東西,一點兒都不理解,也不打算理解,就發出來讓大家算命。
回復

使用道具 舉報

ID:1057978 發表于 2023-12-22 15:12 | 顯示全部樓層
while(1)
{
uchar a=按鍵檢測();
if(a==S1)
{
點亮LED1;
}
……
if(a == S5)
{
熄滅LED1;
熄滅LED2;
……
sleep(10);
}


}

回復

使用道具 舉報

ID:1105655 發表于 2023-12-23 13:42 | 顯示全部樓層
Hephaestus 發表于 2023-12-22 13:25
你貼的圖是proteus的,給出來的文件是multisim的,完全是驢唇對不上馬嘴,只能證明你根本就沒有看過,隨便 ...

第一次發帖求助,沒經驗,不小心加錯文件了,大哥再看看
回復

使用道具 舉報

ID:1105655 發表于 2023-12-23 13:43 | 顯示全部樓層
wangxiangtan 發表于 2023-12-22 15:12
while(1)
{
uchar a=按鍵檢測();

你這是c,我這是匯編大哥
回復

使用道具 舉報

ID:1105655 發表于 2023-12-23 13:44 | 顯示全部樓層
lyonkon 發表于 2023-12-22 11:40
要增加程序存儲器ROM,數據存儲器RAM。最起碼8086有地方取指令吧

改了一下,大哥再看看,我已經基本實現了功能,看看有沒有其他問題
回復

使用道具 舉報

ID:73992 發表于 2023-12-23 21:01 | 顯示全部樓層
子程序跳轉到其他子程序,再跳轉到另外一個程序,然后再跳,這樣寫的人不多。在追求錦上添花的地方可以這樣寫。
因為程序多了容易亂。而且邏輯分析太麻煩。
我建議:1,邏輯功能的子程序功能盡量單一,小程序,只開機調用一次的除外。便于分析 檢查
             2,子程序需要其他程序功能的,以調用為主。跳轉為輔。大腦能理解數十個嵌套跳轉的人除外。
例1:
         led1_ON..............作為子程序1帶返回
         led2_ON..............作為子程序2帶返回
         led3_ON..............作為子程序3帶返回
         delay1..................作為子程序4帶返回
先將上面子程序寫好

start:                   //主程序
        如果按鍵1按下
        跳轉到start1
        如果按鍵2按下
        跳轉到start2
        
start1:
        調用延時
        按鍵1沒有按下 跳轉到 start1_end  否則下一條
        調用 led1_ON
start1_end:
        跳轉到start3
start2:

start3:end
以上的例子你可以先試試看。
回復

使用道具 舉報

ID:1105655 發表于 2023-12-24 19:13 | 顯示全部樓層
lyonkon 發表于 2023-12-23 21:01
子程序跳轉到其他子程序,再跳轉到另外一個程序,然后再跳,這樣寫的人不多。在追求錦上添花的地方可以這樣 ...

回復

使用道具 舉報

ID:996773 發表于 2023-12-25 09:23 | 顯示全部樓層
雖然我也是玩匯編的,沒耐心看,但是看到8000h很驚訝,就一個點燈程序用這么大的地址干嘛

就一個點燈能上天?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: a级在线免费视频 | 日韩精品一区二 | 亚洲精品欧美一区二区三区 | 伊人色综合久久天天五月婷 | 欧美成人一级视频 | 999精品视频 | 久草在线中文888 | 91在线视频精品 | 国产视频一区在线 | 中文字幕亚洲一区二区三区 | 久久久久亚洲精品中文字幕 | 91se在线| 欧美日韩1区2区3区 欧美久久一区 | 欧美在线视频一区二区 | 91在线影院 | 美女黄18岁以下禁止观看 | a级大片 | 91天堂网 | 毛片久久久 | 米奇成人网| 国产精品免费一区二区三区 | 成人国产精品久久 | 在线免费激情视频 | 国产成年人小视频 | 久久久久久亚洲精品不卡 | 国产精品免费视频一区 | 国产精品久久久久久久粉嫩 | 精品国产欧美一区二区三区成人 | 91在线看片| 日本精品一区二区三区视频 | 亚洲第一黄色网 | 国产精品成人品 | 久久精品国产久精国产 | 欧美国产日韩成人 | 色网站入口 | 亚洲情侣视频 | 日本精a在线观看 | 久久高清免费视频 | 欧美6一10sex性hd | 日日摸夜夜添夜夜添特色大片 | 蜜桃传媒av |