找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

8086汇编语言 按键控制发光二极管

查看数: 2281 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-12-21 20:07

正文摘要:

具体要求:基于8086芯片实现。按键要求能够实现对二极管的点亮与熄灭的控制,用S1~S4组成的键盘分别控制4个发光二极管的点亮,S5按键来熄灭各二极管。按键具有防抖动功能,例如:S1点亮1号灯,按S5可以将其熄灭。S2 ...

回复

ID:996773 发表于 2023-12-25 09:23
虽然我也是玩汇编的,没耐心看,但是看到8000h很惊讶,就一个点灯程序用这么大的地址干嘛

就一个点灯能上天?
ID:1105655 发表于 2023-12-24 19:13
lyonkon 发表于 2023-12-23 21:01
子程序跳转到其他子程序,再跳转到另外一个程序,然后再跳,这样写的人不多。在追求锦上添花的地方可以这样 ...

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-23 13:44
lyonkon 发表于 2023-12-22 11:40
要增加程序存储器ROM,数据存储器RAM。最起码8086有地方取指令吧

改了一下,大哥再看看,我已经基本实现了功能,看看有没有其他问题
ID:1105655 发表于 2023-12-23 13:43
wangxiangtan 发表于 2023-12-22 15:12
while(1)
{
uchar a=按键检测();

你这是c,我这是汇编大哥
ID:1105655 发表于 2023-12-23 13:42
Hephaestus 发表于 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:883242 发表于 2023-12-22 13:25
你贴的图是proteus的,给出来的文件是multisim的,完全是驴唇对不上马嘴,只能证明你根本就没有看过,随便从网上搜来的东西,一点儿都不理解,也不打算理解,就发出来让大家算命。
ID:73992 发表于 2023-12-22 11:40
要增加程序存储器ROM,数据存储器RAM。最起码8086有地方取指令吧

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表