某单片机控制系统有2个按键K1和K2,1个数码显示管(共阳),单片机以中断方式处理按键操作

作者&投稿:季康 (若有异议请与网页底部的电邮联系)
求51单片机PWM程序:两按键K1、K2,两管脚输出频率为1KHZ,占空比在0%到100%的方波,K1、K2调节占空。~

这是我以前写的用51单片机控制舵机的程序,也是调PWM的,两按键,一个开始一个暂停,自己去琢磨吧,希望对你有帮助
int main(void)
{
P2=0XFF;
P0=0XFF;
// P3=0X00;
// P1=0X00;
lcd1602_init();
TMOD=0x01;//方式1,16位计数器方式
TH0=0xff;
TL0=0xab; //定时0.1ms

IE=0x82; //开定时器中断
ET0=1;
TR0=1;
EA=1;
while(1)
{
keyscan();
if(keyvalue&m_start)
{
lcd1602_nwd(0x00,1,disply1,13);
if(high_flag)
{
high_flag=0;
if(i_d_flag)
{
hight_votage--;
if(hight_votage<=5)
{
i_d_flag=0;
delays(m_05s);
// delayms(1000);
// hight_votage=5;
}
}
else
{
hight_votage++;
if(hight_votage>=25)
{
i_d_flag=1;
cont_flag=1;
delays(m_05s);
// delayms(1000);
// high_votage=25;
}
}
}
if(cont_flag)
{
cont_flag=0;//圈数计数标志位
date_inc(disply);
lcd1602_nwd(0x00,2,disply,5);
}
if(keyvalue&m_stop)
{
keyvalue=keyvalue&0xe7;

}
}
}
}

void timer0() interrupt 1
{
//TH0=0xfe;
//TL0=0x0b;
TH0=0xff;
TL0=0xa9;
//flag_01ms=1;
t_num++;
//engine_pwm=~engine_pwm;
if(t_num>=200)
{
time_20ms++;
f_keytime=1;
t_num=0;
engine_pwm=1;
flag_pwm=1;
}
if(flag_pwm)t_cont++;
if(flag_pwm&&(t_cont>hight_votage))
{
high_flag=1;
flag_pwm=0;
t_cont=0;
engine_pwm=0;
}
if(f_buzzle)buzzle=~buzzle;
}

程序是写的多一些,但通用 。
ORG00H
AJMPMAIN
ORG30H
MAIN:
MOVDPTR,#TAB
K1:
JBP3.0,K2
ACALLDISP
JNBP3.0,$-2
MOV30H,#10
K2:
JBP3.1,K3
ACALLDISP
JNBP3.1,$-2
MOV30H,#20
K3:
ACALLDISP
JBP3.2,K4
ACALLDISP
JNBP3.2,$-2
MOV30H,#30
K4:
ACALLDISP
JBP3.3,K5
ACALLDISP
JNBP3.3,$-2
MOV30H,#40
K5:
ACALLDISP
JBP3.4,K1
ACALLDISP
JNBP3.4,$-2
MOV30H,#50
AJMPMAIN
DISP:
MOVA,30H
MOVB,#10
DIVAB
MOVCA,@A+DPTR
MOVP0,A
CLRP2.0
ACALLDELAY
SETBP2.0
MOVA,B
MOVCA,@A+DPTR
MOVP0,A
CLRP2.1
ACALLDELAY
SETBP2.1
RET
DELAY:
MOVR7,#25
MOVR6,#20
DJNZR6,$
DJNZR7,$-4
RET
TAB: DB 03FH;0
DB 006H;1
DB 05BH;2
DB 04FH;3
DB 066H;4
DB 06DH;5
END

#include<reg51.h>
unsigned char table[]={共阳极数值代码}
void main()
{
unsigned char i;
i=0;
while(1)
{
P1 = table[i];
EA=0;
……
打开外部中断1和外部中断2

}
}
中断程序1
{
中断一次i加一
}
中断程序2
{
中断一次i减一
}


51单片机P0、 P1、 P2、 P3有什么功能?
P0口第一个功能是数据接口,第二个功能是地址低八位,P2口第二个功能是地址高八位。另外除了P0口没有内部上拉电阻外,其他三个都有内部上拉电阻。P1就没多少功能,就是个准双向I\/O口。最重要的就是P3口了,他除了是个准双向I\/O口外,第二功能很重要:P3.0 (RXD)串行数据接收端;P3.1 (...

单片机主要应用于哪些方面?
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(电压表、功率计,示波器,各种分析仪)。2、工业控制 单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,用单片机可以构成形式多样的控制系统、数据采集系统、...

基于单片机的交通信号灯模拟控制系统设计
;2位LED数码管显示程序:P0口接数码管段,P2口接数码管位。 P3口接键盘,P1口接发光二极管 ORG 0000H LJMP MAIN ORG 0003H LJMP INT0P ORG 000BH LJMP T0INT ORG 0013H LJMP INT1P ORG 001BH LJMP CTC1 ORG 0100H MAIN: LCALL CSHIH ;初始化 LOOP: LCALL...

用单片机实现2位静态数码管(共阳)控制,其中系统还包括4个独立按键...
2位共阳数码管分别接在P0口和P口。难点是4个按键要采用中断方式,所以,4个按键不但接成独立式按键,还要用一个4输入与门得到一个中断请信号加到P3.2上,用INT0中断。右移,左移指定的位,用小数点显示。仿真图如下。

什么叫单片机?单片机与一般微型计算机相比,具有哪些特点?
4、它是以微处理器为基础,配以内存储器及输入输出(I\/0)接口电路和相应的辅助电路而构成的裸机。5、单片机与通用微型计算机相比,具有如下特点:(1)、单片机的程序存储器和数据存储器是分工的,前者为ROM,后者为RAM。(2)、采用面向控制的指令系统,控制功能强。(3)、多样化的I\/O接口,多功能...

单片机进行双机数据通信时,在线路连接上有什么特点?
(3)低电压、低功耗 单片机可以在2.2V的电压下运行,有的已能在1.2V或0.9V下工作;功耗降至为μA级,一颗纽扣电池就可长期使用。(4)优异的性能\/价格比 由于单片机构成的硬件结构简单、开发周期短、控制功能强、可靠性高,因此,在达到同样功能的条件下,用单片机开发的控制系统比用其它类型的微型...

汽车单片机有哪些
三. 底盘控制单片机 底盘控制单片机主要用于汽车的底盘系统控制,包括制动系统、转向系统、悬挂系统等。它可以实时监测车辆的行驶状态,根据驾驶者的操作和车辆状态信号,调整底盘系统的参数,以确保车辆行驶的稳定性和安全性。这类单片机需要具备较高的可靠性和稳定性,以适应汽车底盘系统复杂的工作环境。四、...

单片机有哪些作用
单片机的作用主要有以下几点。一、控制作用 单片机在智能控制系统中的应用非常广泛。由于其内部集成了CPU、存储器以及各种接口电路,单片机可以实现对各种设备的实时控制。例如,在工业控制领域,单片机可以根据传感器采集的数据,对执行机构进行精确控制,从而实现自动化生产。二、数据处理 单片机具有很强的数据...

温控系统的控制原理
不同的应用部门对温度控制系统品质有不同的要求,并选用不同类型的调节器。如果精度要求不高,可采用两位调节器,一般情况下多采用PID调节器。高精度温度控制系统则常采用串级控制。串级控制系统由主回路和副回路两个回路构成,具有控制精度高、抗干扰能力强、响应快、动态偏差小等优点,常用于干扰强,且...

基于51单片机的自动路灯控制,需要哪几部分组成能实现
基于51单片机的自动路灯控制系统,需要以下几部分组成才能实现:1. 51单片机:51单片机是一种常用的微控制器,具有较强的计算和控制能力,可以实现对路灯的自动控制。2. 光敏传感器:光敏传感器用于感知周围环境的光照强度,根据光照强度的变化来判断是否需要开启或关闭路灯。3. 时钟模块:时钟模块用于提供精确...

伊川县15374777826: 51单片机 使用两个独立按键k1,k2,实现按下一个蜂鸣器响,按下另一个蜂鸣器停止程序 -
纪芸磷霉: //假设你是 按开关时为0电平 //具体IO口 自己配置 //简单的就可以这么写 如果要求消抖 我们再讨论 while(1) {if(k1==0)beep=1;if(k2==0)beep=0; }

伊川县15374777826: 求一个单片机控制时钟的程序,要求一个键切换,其余两个键分别对切换好的时间进行+1或减一的操作.
纪芸磷霉: // K1为时间调整按键,按一下调整小时相应位闪动,依次调整分钟,秒钟,按4下则回到正常显示模式 // K2为相应位加1 // K3为相应位减1 #include &lt;reg51.h&gt; #define ys 180 #define led_dat P0 #define led P2 unsigned char code dis_xs[10]...

伊川县15374777826: 某个控制系统有K1和K2,一个数码管,当K1按下,数码管自动加1,K2按下,数码管自动减1,请编写程序 -
纪芸磷霉:采用BCD码的数码管直接P2=2就显示2了 #include<reg52.h>sbit K1=P3^0;sbit K2=P3^1;char a;void delay10ms()//10ms延时{ unsigned char i,j; for(i=20;i>0;i--) for(j=248;j>0;j--); }void main(){ P3=0x03; while(1) { if(K1==0) { delay10ms();//按键去抖 ...

伊川县15374777826: 51单片机双键控制八位流水灯C程序 -
纪芸磷霉: #include<reg51.h>#define uchar unsigned char uchar num,flag=0; sbit K1=P1^0; sbit K2=P1^1; void t0isr() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; num++; if(num>=20){num=0;flag=1;} } main() { uchar LED; TMOD=0x...

伊川县15374777826: 单片机(急) -
纪芸磷霉: 1:只有两个按键的话,直接用外部中断吧,int0和int1,利用中断设置输出方式2:这个主要是设置SMOD和定时器

伊川县15374777826: 单片机按键问题 -
纪芸磷霉: 那不就是增加一个if语句 判断k2按下时k1是不是按下嘛 if(k2==0) 什么都不做 if(k2!=0) 做你需要的操作就好了嘛

伊川县15374777826: 原理与单片机接口技术试卷 求帮助 -
纪芸磷霉: 单片机模拟试卷001 一、选择题(每题1分,共10分) 1.8031单片机的( )口的引脚,还具有外中断、串行通信等第二功能. a)P0 b)P1 c)P2 d)P3 2.单片机应用程序一般存放在( ) a) RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为0111 ...

伊川县15374777826: C51单片机编程,按键控制流水灯 -
纪芸磷霉: #include "reg51.h" unsigned char led[]={0xfe,0xfd,0xfb,0xf7}; //LED灯的花样数据 void delay(unsigned char time){ //延时函数unsigned int j=15000;for(;time>0;time--)for(;j>0;j--); } void main(){bit dir=0,run=0; //标志位定义及初始化char i;...

伊川县15374777826: c51独立按键程序,按下k1按键后对应的灯亮,但松开k1按键后灯还亮,k2也是如此,求大侠! -
纪芸磷霉: 这个程序中没有熄灭的程序,单片机当然不会有熄灭的操作.修改如下:if(k1==0)P2=0xee;elseP2=0xff;if(k2==0)P2=0xfd;elseP2=...

伊川县15374777826: 求51单片机PWM程序:两按键K1、K2,两管脚输出频率为1KHZ,占空比在0%到100%的方波,K1、K2调节占空. -
纪芸磷霉: 这是我以前写的用51单片机控制舵机的程序,也是调PWM的,两按键,一个开始一个暂停,自己去琢磨吧,希望对你有帮助 int main(void) { P2=0XFF; P0=0XFF;// P3=0X00;// P1=0X00; lcd1602_init(); TMOD=0x01; //方式1,16位计数器方式 TH...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网