最容易理解的写法:
设置b1、b2、b3、reset四个按钮(按下为0)和对应的LED1、LED2、LED3三个灯(点亮为0)
int reset, b1,b2,b3,LED1,LED2,LED3;
while(1)
{
(读取reset)
if(reset==0)
{
LED1=LED2=LED3=1;
read=1;
}
if(read==1)
{
(读取b1, b2, b3);
if(b1==0)
{
LED1=0;
read=0;
}
elseif(b2==0)
{
LED2=0;
read=0;
}
elseif(b3==0)
{
LED3=0;
read=0
}
else LED1=LED2=LED3=1;
}
}
1:给我们一份用51单片机点亮一个发光二极管的C语言程序怎么编写呢?~
#include
sbit LED=P1^0;
main()
{
LED=0;
while(1);
}
#includesbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;sbit led1=P1^4;sbit led2=P1^5;sbit led3=P1^6;sbit led4=P1^7;main(){while(1) { led1=key1; led2=key2; led3=key3; led4=key4; }}
#15014796013#
求助!求大神能帮我编一个c语言程序,通过数字编码实现4*4键盘对51单片机的输出,键盘输什么数码管就显示 - ******
#郑丽# #include<reg52.h>#define uint unsigned int#define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit key1=P3^4; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0}; uchar num,temp,...
#15014796013#
跪求一个at89c51单片机的c语言程序 - ******
#郑丽# #include <reg52.h>#define uchar unsigned char#define uint unsigned int sbit db=P2^7; char i,sec,min,h,date,month,year,flag; uchar j,k,m,n,o,p; sbit dula=P2^0; sbit wela1=P2^1; sbit wela2=P2^2; sbit key_ch=P3^5; sbit key_add=P3^6; sbit key_...
#15014796013#
向大神求助,有没有C语言的基于485的51单片机的主从应答的程序啊,就是主机向各个从机发送地址码要求应答 - ******
#郑丽# 这个问题很简单,用485通讯的话,思路如下 思路: PC方面:可以用MSCOMM控件先发一个字符表示接收地址,后延迟1ms,(注意PC端在485通讯在字符发送过程中一定要加延迟,这是我多次测试的总结,如果是用调试助手的话,他内部...
#15014796013#
51单片机用C语编程时, - ******
#郑丽# *(char *)0x0100 = p0; 这样就行 你说的是寄存器的数量就那么点,确实不能存多少数据.但是单片机还有很多ram空间可以用呀.访问确定地址的方法也是用*(char *)这种方法的
#15014796013#
51单片机c语言程序,求高手解答,程序很简单 ******
#郑丽# 程序没问题,但是编译可能通不过.uart_inint() 声明没有说明数据类型,C语言一般没有数据类型默认是整型. P2=0x00;//没扫描到全部亮P0=0x00;//将p0口全部置为低电平这个赋值语句应该在MAIN函数里,此外,你的UART没有响应函数.
#15014796013#
51单片机中如何用C语言自定义一个寄存器,求大神帮忙 - ******
#郑丽# 寄存器是CPU内部重要的数据存储资源,主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间,也就是说CPU操作寄存器比操作内存快(寄存器是直接存取,而内存是寻址存取).汇编比C语言效率高,经常操作寄存器也是一个原因吧.C语言可以把变量定义为寄存器类型的,将数据直接存放在CPU的寄存器中,使用关键字register定义变量.例如register a=123;定义a为寄存器类型变量.使用register定义的变量尽可能存放到寄存器中,但不绝对.
#15014796013#
用51单片机每0.5秒P1.1输出一个宽度可变脉冲为1ms的倍数,没16个在重复.求大神给个完整的编程,谢谢 - ******
#郑丽# 都没人回答了,帮帮你吧,记得选为满意答案哦#include<REG51.h>//#include<intrins.h> typedef unsigned char u8; typedef unsigned int u16; typedef unsigned long u32; typedef signed char s8; typedef signed int s16; typedef signed long s32;#...
#15014796013#
智能小车51单片机用C语言如何编程 - ******
#郑丽# 这问题有点大,不百是51单片机,也不是C语言的问题.而是一个系统的问题,是各种算法和技巧度的问题 建议您细分问题,一个一个解决,如怎么内驱动电机,怎么驱动各种传感器等等.而谈到编程,用KEIL编写程序(容汇编和C语言都支持),编译后的HEX文件烧录到单片机里就行了.
#15014796013#
求大神指导,用51单片机设计10分钟倒计时C语言程序,希望能说下设计思路,我是初学者 - ******
#郑丽# 其实就是做一个时钟,要用到定时器中断,液晶屏或者数码管的知识
#15014796013#
请问各位大神,我用STC80C51系列单片机,实现如下简单功能,C语言程序怎么写? - ******
#郑丽# 最好的方法如下:忘了P1.0定义是什么了.不过51单片机有I/O口是对应外部中断的,可以设置为上升沿触发.所以,你把外部输入接到外部中断那个I/O上,在外部中断处理程序中,进行P2.0输出的处理即可.