stc89c52按键
答:STC89C52RC与普通89C52的主要区别在于STC89C52RC是一款增强型8051单片机,而普通89C52是标准的8051单片机。首先,在硬件特性上,STC89C52RC相较于普通89C52具有更高的集成度和更多的功能。STC89C52RC内置了更丰富的外设接口,如更多的I/O端口、串口通信、定时器等,使得在开发过程中可以更加灵活地满足各种需求。...
答:先定义4个按键,sbit k1=P1^0;sbit k2=P1^1;sbit k3=P1^2;sbit k4=P1^3;再定义一个变量计数,分别计1,2,3,4,对应4个按键。在主循环程序中判断4个按键是否按下,每一个开关按下,变量赋值对应的数。再根据变量值,执行对应的第1,2,3,4种花样就行了。
答://说明连接在P3.0端口的按键被按下,显示对应的数字然后跳出循环case 0xfd:P0=dofly_table[2];LED1=0;break;//调用表中的第三个//元素 0xa4 下标 0 才表示数组中的第一个元素case 0xfb:P0=table[3];
答:按键按一次,键值加1,从0开始case选择: 0-232; 1-485; 2-CAN;
答:/*AT89S52和STC单片机引脚是通用的,程序可以直接移植 晶振:12MHZ 引脚连接方式见下面定义,该程序经过我仔细调试,只要连接上即可直接运行,*/ include<reg52.H> define seg_data P1 //数码管显示数据输出端口 sbit K1 = P3^0; //按键引脚定义 sbit K2 = P3^1;sbit K3 = P3^2;sbit bit1 ...
答:我给你提供一个思路:1:按键处理部分,定义一个按键变量x,在按键按下后松手变量x加1,判断按键变量 if(x >= 3){ x = 0;处理8个LED灯的函数...}
答:这个程序太简单了哦。比如你的按键是P2.0,灯是P2.1的话程序如下:org 1000H lcall keyscan sjmp keyscan:push acc mov a,p2 jb acc.0,here lcall delay mov a,p2 jb acc.0.here cpl p2.1 here:ret delay:mov r6,20 delay1:mov r7,200 delay2:nop nop nop...
答:用四位一体的共阴数码管显示,P0口输出段码,P2口输出位码,3个按键接在P3.5、P3.6、P3.7脚上。仿真图如下。
答:P2=h;return(cord);//键盘最后组合码值 } }return(0xff); //返回该值 } 如果有按键,就会返回按键值, 如果没按键则返回 0XFF, 通过读取返回值可以判断是否有按键, 在程序开头可以加上全局变量的断码表, 这就看你用的是共阴的还是共阳的数码管了~~祝您的问题早日得到解决. 谢谢 ...
答:猜测,如果是软件去抖动就是延时太长了,调短点。如果是硬件去抖动,就把电容值、电阻值调小一点。
网友评论:
蔡茂19260937665:
STC89C52怎样用按键控制程序走哪段、 -
56605顾俭
: 按键按一次,键值加1,从0开始case选择: 0-232; 1-485; 2-CAN;
蔡茂19260937665:
需要一个STC89C52芯片的矩阵按键扫描程序,要求:每一个按键(共16个)对应数码管0~F显示出来 -
56605顾俭
: 这个是单独的键盘扫描子程序,你可以借鉴一下..我使用的P3口接的矩阵键盘,你可以根据需要适当改变. 还要注意我的键值可能和你不一样,这就要看你的硬件电路是怎么设计的了.uint keyscan(void)//键盘扫描函数,使用行列反转扫描法 { uint ...
蔡茂19260937665:
)用STC89C52单片机一个按键控制一个灯,按下该按键,灯亮,?
56605顾俭
: 这个程序太简单了哦. 比如你的按键是P2.0,灯是P2.1的话程序如下: org 1000H lcall keyscan sjmp $ keyscan: push acc mov a,p2 jb acc. 0,here lcall delay mov a,p2 jb acc.0.here cpl p2. 1 here: ret delay: mov r6,20 delay1: mov r7,200 delay2: nop nop nop djnz r7,delay2 djnz r6,delay1 ret.
蔡茂19260937665:
跪求89C52单片机通过按键产生PWM信号程序 -
56605顾俭
: 用几个变量表示按键的按下/松开状态,然后用定时器中断设置PWM的频率,例如要50hz的频率,那么定时器中断周期(PWM周期的一半)可以设置为10ms,在中断服务程序内根据按键的状态确定是否需要对PWM输出管脚进行翻转.改方法可以输出占空比为50%的PWM信号.
蔡茂19260937665:
stc89c52单个按键控制8个led -
56605顾俭
: 假设8个led都接在P1口, sbit key=P2.0; int main(void) {unsigned char i=0;while(1){if(key==0){delay_ms(10);if(key==0){i++;}}switch(i){case 1: P1=0XFE;break;case 2: P1=0XFD;break;.........}if(i==8) i=0;} }大概的思路,你在总结一下啊,可能有bug
蔡茂19260937665:
STC89C52单片机输出PWM控制电机,又要用8个数码管动态显示,怎样才能按下按键实现电机步进0.3转/分和0.1. -
56605顾俭
: 说到底还是时间分配的问题. 我不知道你的PWM频率是多少? 肯定的是PWM和数码管扫描都是要载中断中处理的. 我建议:一个PWM周期,扫描一位数码管,在装入时间长的那个电平处理.这样50HZX8=400HZ以上的PWM频率就可以了. 至于按键检测,可以放在主循环.当然也可以放在数码管扫描程序中.
蔡茂19260937665:
用stc89c52单片机控制洗衣机电机运转规律为:正转20秒→停10秒→反转20秒→停10秒→正转20秒……. -
56605顾俭
: 你的电路应该没有问题吧?我以前也编写过这样的程序,其实控制电机的正转,反转,停止只根据 IN1,IN2电平高低控制的,所以在编写程序的时候最重要的是控制这两个引脚的高低电平转换的时间,这样就可以完成目的了.电路没有问题,那就测试一下你的P1.5和P1.6引脚的电平变化情况就可以了.
蔡茂19260937665:
请问高手STC89C52单片机如何进入掉电模式工作,又如何唤醒??? -
56605顾俭
: 追问: 当单片机进入掉电模式时程序就不运行了,当进入空闲模式时程序还在运行,时这样吗??如果我要设置一个按键,按一下就进入掉电模式,能这样编写吗:#includesbit key1=P3^0; \\定义按键位置void delay(unsigned int a){while(a--);}...
蔡茂19260937665:
单片机怎么进行软件复位?STC89C52 -
56605顾俭
: 就从复位口引出一个按键和原来的复位开关并联就可以了. 用其它IO做需要软件配合,不通用.