欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

QQ登錄

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

搜索
查看: 1787|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

8086匯編語(yǔ)言 按鍵控制發(fā)光二極管

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
具體要求:基于8086芯片實(shí)現(xiàn)。按鍵要求能夠?qū)崿F(xiàn)對(duì)二極管的點(diǎn)亮與熄滅的控制,用S1~S4組成的鍵盤(pán)分別控制4個(gè)發(fā)光二極管的點(diǎn)亮,S5按鍵來(lái)熄滅各二極管。按鍵具有防抖動(dòng)功能,例如:S1點(diǎn)亮1號(hào)燈,按S5可以將其熄滅。S2點(diǎn)亮2號(hào)燈,按S5可以將其熄滅。這是我網(wǎng)上找的其他魔改的,只能到這一步了,請(qǐng)各位大哥門(mén)請(qǐng)教指正一下看看圖,看看代碼能不能簡(jiǎn)化,小弟拜上。

代碼如下:
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 (172.02 KB, 下載次數(shù): 48)

323232.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:73992 發(fā)表于 2023-12-22 11:40 來(lái)自觸屏版 | 只看該作者
要增加程序存儲(chǔ)器ROM,數(shù)據(jù)存儲(chǔ)器RAM。最起碼8086有地方取指令吧
回復(fù)

使用道具 舉報(bào)

板凳
ID:883242 發(fā)表于 2023-12-22 13:25 | 只看該作者
你貼的圖是proteus的,給出來(lái)的文件是multisim的,完全是驢唇對(duì)不上馬嘴,只能證明你根本就沒(méi)有看過(guò),隨便從網(wǎng)上搜來(lái)的東西,一點(diǎn)兒都不理解,也不打算理解,就發(fā)出來(lái)讓大家算命。
回復(fù)

使用道具 舉報(bào)

地板
ID:1057978 發(fā)表于 2023-12-22 15:12 | 只看該作者
while(1)
{
uchar a=按鍵檢測(cè)();
if(a==S1)
{
點(diǎn)亮LED1;
}
……
if(a == S5)
{
熄滅LED1;
熄滅LED2;
……
sleep(10);
}


}

回復(fù)

使用道具 舉報(bào)

5#
ID:1105655 發(fā)表于 2023-12-23 13:42 | 只看該作者
Hephaestus 發(fā)表于 2023-12-22 13:25
你貼的圖是proteus的,給出來(lái)的文件是multisim的,完全是驢唇對(duì)不上馬嘴,只能證明你根本就沒(méi)有看過(guò),隨便 ...

第一次發(fā)帖求助,沒(méi)經(jīng)驗(yàn),不小心加錯(cuò)文件了,大哥再看看
回復(fù)

使用道具 舉報(bào)

6#
ID:1105655 發(fā)表于 2023-12-23 13:43 | 只看該作者
wangxiangtan 發(fā)表于 2023-12-22 15:12
while(1)
{
uchar a=按鍵檢測(cè)();

你這是c,我這是匯編大哥
回復(fù)

使用道具 舉報(bào)

7#
ID:1105655 發(fā)表于 2023-12-23 13:44 | 只看該作者
lyonkon 發(fā)表于 2023-12-22 11:40
要增加程序存儲(chǔ)器ROM,數(shù)據(jù)存儲(chǔ)器RAM。最起碼8086有地方取指令吧

改了一下,大哥再看看,我已經(jīng)基本實(shí)現(xiàn)了功能,看看有沒(méi)有其他問(wèn)題
回復(fù)

使用道具 舉報(bào)

8#
ID:73992 發(fā)表于 2023-12-23 21:01 | 只看該作者
子程序跳轉(zhuǎn)到其他子程序,再跳轉(zhuǎn)到另外一個(gè)程序,然后再跳,這樣寫(xiě)的人不多。在追求錦上添花的地方可以這樣寫(xiě)。
因?yàn)槌绦蚨嗔巳菀讈y。而且邏輯分析太麻煩。
我建議:1,邏輯功能的子程序功能盡量單一,小程序,只開(kāi)機(jī)調(diào)用一次的除外。便于分析 檢查
             2,子程序需要其他程序功能的,以調(diào)用為主。跳轉(zhuǎn)為輔。大腦能理解數(shù)十個(gè)嵌套跳轉(zhuǎn)的人除外。
例1:
         led1_ON..............作為子程序1帶返回
         led2_ON..............作為子程序2帶返回
         led3_ON..............作為子程序3帶返回
         delay1..................作為子程序4帶返回
先將上面子程序?qū)懞?br />
start:                   //主程序
        如果按鍵1按下
        跳轉(zhuǎn)到start1
        如果按鍵2按下
        跳轉(zhuǎn)到start2
        
start1:
        調(diào)用延時(shí)
        按鍵1沒(méi)有按下 跳轉(zhuǎn)到 start1_end  否則下一條
        調(diào)用 led1_ON
start1_end:
        跳轉(zhuǎn)到start3
start2:

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

使用道具 舉報(bào)

9#
ID:1105655 發(fā)表于 2023-12-24 19:13 | 只看該作者
lyonkon 發(fā)表于 2023-12-23 21:01
子程序跳轉(zhuǎn)到其他子程序,再跳轉(zhuǎn)到另外一個(gè)程序,然后再跳,這樣寫(xiě)的人不多。在追求錦上添花的地方可以這樣 ...

回復(fù)

使用道具 舉報(bào)

10#
ID:996773 發(fā)表于 2023-12-25 09:23 | 只看該作者
雖然我也是玩匯編的,沒(méi)耐心看,但是看到8000h很驚訝,就一個(gè)點(diǎn)燈程序用這么大的地址干嘛

就一個(gè)點(diǎn)燈能上天?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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