求51单片机c程序:用三个按键,kye1启动led1,key2启动led2 led1停止 在按key1不起作用 按key3,led2停止

作者&投稿:张印 (若有异议请与网页底部的电邮联系)
~
#include<reg51.h>
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit led1=P1^4;
sbit led2=P1^5;
bit flag=0;
main()
{
while(1)
    {
    if(flag==0 && key1==0)
        {
        led1=0;
        while(key1==0);
        }
    if(key2==0)
        {
        led1=1;
        led2=0;
        while(key2==0);
        flag=1;
        }
    if(key3==0)
        {
        led2=1;
        flag=0;
        while(key3==0);
        }
    }
}



51单片机C程序
sfr P0M1 = 0X93; \/\/这些是预定义寄存器的地址的 sfr P0M0 = 0X94; \/\/ 在编译过程中会把 POM1之类的东西变成这些地址 sfr P1M1 = 0X91; \/\/mcu在运行中也是对这些地址操作的 sfr P1M0 = 0X92;sfr P2M1 = 0X95;sfr P2M0 = 0X96;uchar CONT_1...

51单片机及其C语言程序开发实例内容提要
本书首先对51系列单片机进行了基础概述,强调其在工程实践中的关键应用。它详细讲解了单片机常见的电路模块,包括键盘输入、LCD显示、A\/D和D\/A转换、I2C总线技术、语音处理、实时时钟、红外通信、USB接口、步进电机控制、数字锁相环以及串口通信和DDS技术。通过四个实际工程项目的实例,如语音存储与播放系统...

求一51系列单片机C程序,最好是简单易懂,有注释。 程序目的:通过串口...
include <reg51.h> void InitUART(void)\/\/串口初始化 { TMOD = 0x20;\/\/定时器方式2 8位自动重装 SCON = 0x50;\/\/定时器1为串口提供时钟 TH1 = 0xFD;\/\/初值9600bps TL1 = TH1;PCON = 0x00;\/\/波特率不加倍(如果为0x80代表波特率加倍)EA = 1;\/\/打开总中断 ES = 1;\/\/打开串口中断 T...

51单片机C程序
0X93;sfr P0M0 = 0X94;sfr P1M1 = 0X91;sfr P1M0 = 0X92;sfr P2M1 = 0X95;sfr P2M0 = 0X96;这一段是对通用IO的设置寄存器定义为好记的变量名。具体是什么寄存器你就得结合手册查一下,估计是设置IO口方向、内部上来电阻之类的,或者是配置给某些内部器件如PCA计数器、定时器、计数器等。...

请高手具体解释一下以下51单片机C语言程序:
ET0=0;\/\/5ms结束,禁止T0中断 TR0=0;\/\/停止T0计时 Flag_Delay5ms=1;\/\/重新将 延时5ms 标志位 置为 1,为下次延时做准备 } 该程序不合理的地方,在等待、及 禁止 T0中断时,停止T0计时前,T0依然在计时,换句话说,下次再启动的初值,已经不是原来设置好的初值了。所以延时误差依然存在。

怎么用c语言编程51单片机读写程序?
编程代码如下:ORG 0000H MOV DPTR,#1000H ;给源数据块地址指针DPTR赋初值 MOV P2, #20H ;给目的数据块地址指针P2和R0赋初值 MOV RO,#00H LOOP: MOVX A, @DPTR .MOVX @RO, A .INC DPTR INC RO CJNE RO,#64H, LOOP SJMP

51单片机C语言程序
\/\/b2输出的周期大约0.6s。\/\/K为触动开关,reg为红灯,bice为绿灯,b1、b2 各为一个方波,\/\/按第一次触动开关时红灯亮、b1输出,\/\/按第二次绿灯亮、为b2输出,\/\/按第三次都关闭.include <reg51.h> define uint unsigned int define uchar unsigned char uint a;void b1();void b2();...

51单片机程序c语言的
unsigned int i,z;char code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};\/\/流水灯对应这个的位操作 void delay(uint);void main(){EA=1;EX1=1;IT1=0;while(1){ count = key_1;P2 = table[i];} } void int1_int()interrupt 2 { i++;\/\/按一次键,i加一次,...

51单片机c程序!
这应该是从P0口输出数码管显示的段码数组,而number[ i ]是个数组即为段码表,而a[ i ] 也是一个数组,是与数码管相对应的缓冲区,而a[0]是保存第一个数码管显示的数据,例如a[0]=2; 意思是第一个数码管要显示2,把2代入段码表为number[2]; 得到2的段码,从P0口输出,即可实现第一...

帮忙编个程序 用51单片机C语言
%256;i++;if(i==2){i=0;P1=_crol_(P1,1);} } void main(){ P1=0xfe;IE=0x88;TMOD=0x10;TH1=(65535-50000)\/256;TL1=(65535-50000)%256;TR1=1;while(1);} 此程序在stc89c51编译通过,可以直接使用,如果要用不同的型号,则在keil51上建立工程时,选择自己需要的单片机芯片 ...

海城区15659906604: 用c语言编写一个计数器(单片机为51型,数码管为共阴)要求有三个按键分别控制停止、加、减 -
蹉威喷昔: 一看到你说是计数器,又看到你要求有停止功能,意思是把Timer改为计数器,然后可以通过一个键停止计数对吧?如果这样的话挺简单的,51单片机的计数器io口记得好像是P3^0和P3^1,但不管怎么,首先设置TMOD,将C/T位置1,这就改为计数器了,然后可以编写函数来对一个变量进行加减;同样利用51单片机的外部中断也可以实现计数功能,打开外部中断开关,在外部中断服务函数对计数变量进行加减;最简单的,直接利用io口高低电平变化来进行计数,编写if函数,只要某个io口电平变化了,就对计数变量进行加减.如果你对这个有点陌生,那么回复我一起讨论或者我可以帮你写程序.希望我的回答能帮助到你.

海城区15659906604: 求51单片机秒表汇编程序,有三个键的,分别作用为开始,停止,清零 -
蹉威喷昔: #include<reg51.h> #include "intrins.h" #include "absacc.h" #define uchar unsigned char uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff};//0-9 unsigned char sec=0,min=0,scanled; unsigned char key=0,mode...

海城区15659906604: 用KEIL编写C语言程序实现:单片机是AT89C51,实现一个计时器,数码管为6为的,有三个按键接在P0上. -
蹉威喷昔: 按照你的要求写的程序如下,你拿去测试吧!#include "REG52.H" sbit SHUG_01 = P2^0; //数码管1 sbit SHUG_02 = P2^1; //数码管2 sbit SHUG_03 = P2^2; //数码管3 sbit SHUG_04 = P2^3; //数码管4 sbit SHUG_05 = P2^4; //数码管5 ...

海城区15659906604: 用c语言编程三个按键对应点亮三个LED灯的程序,AT89S52单片机,最好有原理图,谢谢.急求 -
蹉威喷昔: 这个也求?用按键点亮LED灯这个是51入门最基础的东西,真心想学的话,买块51的开发板,都带有例程,很快就可以入门的.建议你还是多看看资料把基础的东西学好.推荐你看一下《十天学会单片机和C语言编程》的视频教程对入门还是不...

海城区15659906604: 求51单片机程序:三个按键选择不同功能亮灯 -
蹉威喷昔: #include <reg52.h>#define uchar unsigned char #define uint unsigned intsbit s1 = P1^0; sbit s2 = P1^1; sbit s3 = P1^2; sbit led1 = P0^0; sbit led2 = P0^1; sbit led3 = P0^2;void delay (uint x) // 延时 1ms (晶振 12M) {unsigned char a,b,c;for(c...

海城区15659906604: 51单片机简单程序设计 -
蹉威喷昔: ;循环检测按键:K1,K2,K3 ORG 0000H LJMP 0030H ORG 0030H K0: MOV P1, #00H ;关显示 k1: JB P3.1, k2 ;检测K1(按下为0),没有按下去检测K2 MOV P1, #06H ;显示“1”(共阴极显示) JNB P3.1, $ ;等待释放 k2: JB P3.2, k3MOV P1, #5BH ;显示“2” JNB P3.2, $ k3: JB P3.3, K0MOV P1, #4FH ;显示“3” JNB P3.3, $ LJMP K0 ;循环检测 END

海城区15659906604: 求个高手帮忙用80c51单片机汇编编写一段程序,通过实验箱上的钮子开关K1、K2、K3控制发光二极管的亮或灭. -
蹉威喷昔: 假设P3.0接K1信号,P3.1接K2信号,P3.2接K3信号 ORG 4000H LJMP START START:MOV A,P3 ANL A,#07H //屏蔽P3口高5位,只有P3.0-P3.2 JZ L1 // A=0,说明P3.0-P3.2全为0 CJNE A,#07H,L2 //A=7,说明P3.0-P3.2全为1 L1: MOV P1,#...

海城区15659906604: 求编程单片机89c51,要求:按key1(P3.4,p3.5)键三次后,P1口的LED灯全部点亮,再按1次key1 -
蹉威喷昔: /***************** 晶振4MHZ,按键key1为P3.4,P3.5接口 功能:按 key1键三次,P1灯亮,再按一次灭 ,如此重复******************/#include<reg51.h> sbit key1 = P3^4;/****************** void delay40us(uint time) 输入参数:time 输出参数:无 函数功...

海城区15659906604: 怎么用51单片机汇编语言实现下面的功能?K是按键L是灯 -
蹉威喷昔: MOV C,K0 MOV L7,C MOV C,K1 MOV L6,C ,,,,,其它位同上,如果接Kn和Ln分别接在同一组IO口,可以先读出来,然后反向,再输出

海城区15659906604: 单片机独立按键三个独立按键跳变触发控制三个不同程序c语言 -
蹉威喷昔: 在主程序中添加以下代码: unsigned char F_key=0; //标识三个按键的状态 sbit KEY1=P3^0; sbit KEY2=P3^1; sbit KEY3=P3^2; if(KEY1==0) if( F_key==0) { F_key=1; //此处添加 按键 1 的跳变程序或函数 } else if( F_key==1) { F_key=0; } if(KEY2...

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