返回首页

单片机键盘汇编(单片机按键程序汇编)

来源:www.haichao.net  时间:2022-12-15 06:12   点击:287  编辑:admin   手机版

1. 单片机按键程序汇编

假设P0.0接k1,P0.1接k2,k1或k2闭合时,P0.0或P0.1为低电平0,断开时为高电平1;P2口的8位接8个发光二极管的阳极,发光二极管的阴极通过下拉电阻接地,要点亮相应的二极管,需要P2口对应引脚输出高电平1;按下k1时,P2口初值设为00000001B,这样点亮最右边一个LED,用一段延时程序使得点亮稳定后,使P2口数值依次左移1位,这样8个二极管可以依次点亮,即流水灯左移;按下k2时,P2口初值设为10000000B,这样点亮最左边一个LED,用一段延时程序使得点亮稳定后,使P2口数值依次右移1位,这样8个二极管可以依次点亮,即流水灯右移。

2. 单片机独立键盘程序汇编语言

ORG0000HLJMPMAINORG000BHLJMPT0ISRORG0030HMAIN:MOVTMOD,#01HMOVTH0,#HIGH(65536-50000)MOVTL0,#LOW(65536-50000)SETBTR0SETBET0SETBEAMOVR2,#5MOVA,#0F8HMOVP0,ASJMP$T0ISR:CLRTR0MOVTH0,#HIGH(65536-50000)MOVTL0,#LOW(65536-50000)SETBTR0DJNZR2,T0EMOVR2,#5RLAMOVP0,AT0E:RETIEND

3. 单片机按键程序怎么写

一般单片机的外接按键有三种接法: 1、每个I/O端口接一个按键:按键接另一端通常是接地,I/O口通常还应该接一个上拉电阻,有些单片机的I/O口可以配置成内部上拉,就不需要外接上拉电阻了。这种接法的优点是电路简单、编程方便。缺点是按键数比较多时占用的I/O口多,而有些单片机I/O口资源有限,或者系统外设复杂的情况下,如果需要较多按键,用这种方式难以满足要求; 2、扫描矩阵式按键阵列:多个按键组成矩阵形式接到I/O口上,单片机通过一定的扫描规则扫描按键状态。这种方式可以通过较少I/O口挂接很多按键,主要是解决方式1的端口有限问题。比如,8X8的键盘矩阵可以实现64个按键,而只占用16个I/O口,用方式1则需要64个I/O口; 3、用一个ADC端口外接多个按键,每个按键接一个特定阻值的电阻到地,公共接一个电阻到基准电压或接一个恒流源到电源端。这种方式只需要占用一个ADC通道,却可以实现外接很多按键,是最为经济的一种接法,但需要编写相应的软件,并且仅适用于带有ADC的单片机,最大外接按键数量取决于电阻精度、按键接触电阻变化范围以及单片机的ADC分辨精度。

4. 单片机按键代码

通过按键来控制单片机可实现LCD1602显示当前温度,可通过按键设置温度上下限

温度超过限值制冷或制热,并通过蜂鸣器。

报警STC89C52单片机为核心控制器,加上其他的模块一起组成温度控制的整个系统,其中包含中控部分、输入部分和输出部分。中控部分采用了STC89C52单片机,其主要作用是获取输入部分数据,经过内部处理,控制输出部分。

5. 单片机的按键的编程

有以下几种情况:

1.循环查询按键。当按键按第一次时间,进入第一层循环查询语句内部,执行恢复。不跳出该层循环,继续查询按键。当第二次按下时间,进入第二层循环查询语句内部,执行暂停。循环结束。若想反复暂停和恢复,就在外面再加一层while(1)类似的死循环,反复执行其内部的两层循环查询语句。

2.用一个标志变量,记住按键的状态。初始化为个值,如“暂停”,按键之后检查标志变量,是“暂停”就执行“恢复”,再让它变为“恢复”说明当前已经执行了恢复。反之亦然。

3.掉电暂停。这样需要按键能触发cpu工作。所以,需要按键接到外部中断上面。中断后可以恢复CPU工作。在中断中再判断是否要让cpu掉电与否。

不知道这种方法你能接受不?还是用外部中断。此按键触发中断后,关掉所有其他的中断,也即EA=0(最好先用个变量记住EA,方便恢复),然后就一直在中断中等待该按键第二次按下再恢复EA,最后退出中断。

6. 51单片机独立按键

你先把你需要的功能描述清楚,然后再请人帮你写程序。比如说,按键分几种动作(就点动/长按/连续点动?),每一种按键动作,触发什么功能(进入设置模式/加/减/移动/结束设置),显示的格式是 怎样,硬件原理图。

7. 单片机按键处理程序

感觉你的 if(!key3) 里面没有循环判断 if(key3) 按键是否被放开的语句;如果没有循环反复地检测 key3 的状态,程序就按顺序走出去了;在你想检测 key3 的状态时,程序早已路过那里,而那时按键还没放开呢;就是说,你按下按键那一瞬间,你这段程序早走完了,程序已经远远地走到什么地方等着你呢;

8. 单片机按键函数

单片机内部的外设一般包括:串口控制模块,SPI模块,I2C模块,A/D模块,PWM模块,CAN模块,EEPROM,比较器模块,等等,它们都集成在单片机内部,有相对应的内部控制寄存器,可通过单片机指令直接控制。 外设指的是单片机外部的外围功能模块,比如键盘控制芯片,液晶,A/D转换芯片,等等。外设可通过单片机的I/O,SPI,I2C等总线控制。

9. 单片机独立按键的汇编程序

51单片机中,没有专门的有符号数比较指令,只能通过一些变通的方法来实现,比如: 比较30H和40H中有符号数的大小,结果放在R2中,大于则为1,等于为0,小于为128: CMPDAT: MOV A,30H JB ACC.7,CMPF1 MOV B,A MOV A,40H JB ACC.7,CMPZ2 ;30H正,40H负所以30H>40H CJNE A,B,CMPZ1 ;均为正,比较大小 MOV R2,#0 RET CMPZ1: JC,CMPZ2 CMPZ11: MOV R2,#128 RET CMPZ2: MOV R2,#1 RET CMPF1: ANL A,#7FH MOV B,A MOV A,40H JNB ACC.7,CMPF3 ;30H负,40H负 SJMP CMPZ11 ;30负,40H正,所以30H<40H CMPF3: ANL A,#7FH CJNE A,B,CMPF10 ;两个均为负数 MOV R2,#0 RET CMPF10: JC CMPZ2 ;30H<40H(负数小者大) SJMP CMPZ11 ;30H>40H

10. 单片机按键程序流程图

单片机种类比较多的,51单片机的话, #include sbit Key=P1^0; sbit LED=P1^1; void main(void){ while(1){ LED=~KEY; } } 这样就能用按键控制灯泡了,当P1.0接口状态为0时(即接地),LED状态为1;

11. 单片机按键程序设计

只要不改变输出,就是LZ所谓的“自锁”了。与多少个按钮无关、与按哪个按钮更无关。

如果要实现LZ的功能,只需要学会 按键扫描及处理、单片机IO输出。按下第一个按键,IO输出 一种状态;按下第二个按键,IO输出 另一种状态。

顶一下
(0)
0%
踩一下
(0)
0%