问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用回汇编语言编程8个按键控制4个LED灯

发布网友 发布时间:2022-05-02 23:37

我来回答

1个回答

热心网友 时间:2022-06-28 10:17

没有电路图,没法写程序。
比如,按键在P0口与在P3口程序就不一样;
又比如,扫描的键盘与直接连接在Pn口的又不一样。

没有图实在是没法写程序呃

*****************************************************************
假定CPU是用51系列的单片机;
假定键盘直接连接在Pn口,从Pn0~Pn7分别对应键1~键7;
假设LED直接由Pm口驱动,从Pm0~Pm3分别对应Led1~Led4;

在这个前提下,以上的问题可以编程如下:
*****************************************************************
#define KEY1 01h ;定义键1
#define KEY2 02h ;定义键2
#define KEY3 04h ;定义键3
#define KEY4 08h ;定义键4
#define KEY5 10h ;定义键5
#define KEY6 20h ;定义键6
#define KEY7 40h ;定义键7
#define KEY8 80h ;定义键8

#define LED1 Pm0 ;定义灯1
#define LED2 Pm1 ;定义灯2
#define LED3 Pm2 ;定义灯3
#define LED4 Pm3 ;定义灯4

#define LED_ON 1 ;定义亮灯操作
#define LED_OFF 0 ;定义灭灯操作

;延迟4秒子程序
#define Timer4s 1234h ;延迟4秒的参数自己调整
Dly4s: push acc;
mov dptr, #Timer4s;
Dly_2: mov a,dpl;
Dly_1: mov dpl,a;
dec a;

jnz a,Dly_1;
mov dpl,a;
mov a,dph;
dec a;

mov dph,a;

jnz a,Dly_2;
pop acc;

ret;

;******* 主程序 ****************************
main: mov a, Pn;
je a,#KEY1, K1_Pressed;

je a,#KEY2, K2_Pressed;

je a,#KEY3, K3_Pressed;

je a,#KEY4, K4_Pressed;

je a,#KEY5, K5_Pressed;

je a,#KEY6, K6_Pressed;

je a,#KEY7, K7_Pressed;

je a,#KEY8, K8_Pressed;

ljmp main;

K1_Pressed:
mov LED1, LED_ON;
mov LED2, LED_ON;
call Dly4s;

mov LED1, LED_OFF;
mov LED2, LED_OFF;
ljmp main;
K2_Pressed:
mov LED3, LED_ON;
mov LED4, LED_ON;
call Dly4s;

mov LED3, LED_OFF;
mov LED4, LED_OFF;
ljmp main;
K3_Pressed:
mov LED1, LED_ON;
call Dly4s;

mov LED1, LED_OFF;
mov LED2, LED_ON;
call Dly4s;

mov LED2, LED_OFF;

ljmp main;
K4_Pressed:
mov LED3, LED_ON;
call Dly4s;

mov LED3, LED_OFF;
mov LED4, LED_ON;
call Dly4s;

mov LED4, LED_OFF;

ljmp main;
K5_Pressed:
mov LED1, LED_ON;
mov LED2, LED_ON;
call Dly4s;

mov LED1, LED_OFF;
mov LED2, LED_OFF;
ljmp main;
K6_Pressed:
mov LED3, LED_ON;
mov LED4, LED_ON;
call Dly4s;

mov LED3, LED_OFF;
mov LED4, LED_OFF;
ljmp main;
K7_Pressed:
mov LED1, LED_ON;
call Dly4s;

mov LED1, LED_OFF;
mov LED2, LED_ON;
call Dly4s;

mov LED2, LED_OFF;

ljmp main;
K8_Pressed:
mov LED3, LED_ON;
call Dly4s;

mov LED3, LED_OFF;
mov LED4, LED_ON;
call Dly4s;

mov LED4, LED_OFF;

ljmp main;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 8个led灯编程 跪求 单片机彩灯控制四个状态 1:按下sb1键,八个LED灯全亮: 2:按下sb2键,八个LED灯闪亮 使用Proteus仿真制作一个LED指示灯控制器,要求如下:1、控制8个LED指示灯按照特定顺序点_百度问一问 用51单片机写程序,4个按键控制8个小灯切换四种灯光效果? 南京邮电大学的通信与信息工程学院有哪些专业? 铁道信息与信息化技术学什么?出来做什么? 学信息化要从那些开始基本功 铁道通信与信息化技术是什么的?单招分数高不高? 鞋进出口代理注册商标属于哪一类? 我公司买了工商保险,在工地受伤,左脚跟骨骨折,自己又买了意外保险,怎么赔付? 工伤意外险怎么买 ActionScript语言中_root和_parent分别是什么意思啊 沧州振华韩国国际学校的位置 root用英语怎么 振华国际学校怎么样 为什么人们把"便器"称之为"马桶"?而不叫"牛桶"或"猪桶".... 刘振华跆拳道馆的学费 大家经常谈论ROOT,到底是什么意思?请用浅显易懂的语言解释一下! 北大新世纪正华学校有哪些优势? 词根(root)和词干(stem)的区别? 定义上好象差不多的.搞不大清楚.最好能举例. 怎么利用单片机控制八个led灯? 求 单片机中使用c语言程序要求4个按键控制8个灯的程序设计。 P3口控制八个led灯,当有任意一个按键按下后,奇数灯和偶数灯交替闪烁;当再次按下任意一个键后,八_百度问一问 用按钮控制8个流水灯点亮c语言程序 按第1次第一个lLED亮 放开按扭灯灭…按第8次第8个LED亮 循环 设计一个节目彩灯控制器,在单片机的p0口接有8个发光二极管作为指示灯,p1.0~p1.3接有4个按键开关。 对于减肥中的人,天天喝小米粥合适吗 用汇编语言按钮控制8个led循环第一个按钮从左到右闪烁第二个按钮从右到左按钮从p1口出led灯从p2口出 8个独立按键分别控制8个led灯的亮灭,能帮我修改一下吗?后四个按键有问题。 跪求!!!STC89C52单片机,用八个按键控制分别控制八个LED灯的代码(C语言) 使用52单片机,用8个开关,分别控制8个LED灯 51单片机用4个按钮分别控制四个LED的程序 我的SONY麦克风在电脑上不能使用为什么 为什么我的索尼100abn蓝牙耳机,不能连接电脑 立体声+麦?(只能单声道+麦) 请问如何在excel中插入一列有顺序的数字,比如编号? 校运会的宣传稿 速度 运动会宣传稿200字 校运会宣传稿60字 KEERYGO注册过商标吗?还有哪些分类可以注册? KEERY GO注册过商标吗?还有哪些分类可以注册? 小龙虾挑了虾线还可以用食用碱泡吗?