求大神在keil上帮写51单片机C语言程序

第一个实验:通过P0口控制8个LED灯,通过K1按键改变亮灯位置。具体为:程序开始时,D11灯点亮,其余7个灯(D12-D18)处于熄灭状态;按1次K1按键,D11灯熄灭,D12灯点亮,此时D13-D18仍然处于熄灭状态;以此类推,每按1次K1按键,亮灯的位置发生一次变化,当D18亮完后,又循环到D11点亮。
第二个实验:通过P0口控制8个LED灯,通过定时器查询工作方式,实现D11-D18顺序轮流点亮,每个灯亮半秒再灭半秒(即程序开始运行后,D11首先点亮,半秒后D11熄灭,再半秒钟后D12点亮,以此类推,D18熄灭半秒后再循环到D11点亮)。晶振频率为12Mhz

//第一个实验:
//假设8个LED阴极指向单片机,D11连接P0.1,D12连接P0.2 ... D18连接P0.7
//假设K1按键在P2.3引脚
#include<reg51.h>
#include<intrins.h>
sbit k1=P2^3;//假设K1按键在P2.3引脚
void main()
{
P0=0xfe;
while(1)
{
if(k1==0)
{
while(k1==0);
P0=_crol_(P0,1);
}
}

}

//第二个实验:
//假设8个LED阴极指向单片机,D11连接P0.1,D12连接P0.2 ... D18连接P0.7
#include<reg51.h>
char led[]={0xfe,0xff,0xfd,0xff,0xfb,0xff,0xf7,0xff,0xef,0xff,0xdf,0xff,0xbf,0xff,0x7f,0xff};

void main()
{
char i=0;
char counter=0;
TMOD=0x01;//T0 工作方式1
TH0=(655356-50000)/256;//延时50ms
TL0=(655356-50000)%256;//延时50ms
TR0=1;//启动T0
while(1)
{
if(TF0==1)//查询
{
TH0=(655356-50000)/256;//重新延时50ms
TL0=(655356-50000)%256;//重新延时50ms
counter++;
if(counter==10)//延时0.5秒
{
counter=0;//重新开始新一轮0.5秒延时
i++;
if(i==16)
{
i=0;
}
P0=led[i];//点灯
}
}
}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-10-09
Keil写的C51单片机程序里面为C语言,也可以是汇编语言。里面保存格式决定用汇编或C语言本回答被网友采纳

求大神在keil上帮写51单片机C语言程序
\/\/第一个实验:\/\/假设8个LED阴极指向单片机,D11连接P0.1,D12连接P0.2 ... D18连接P0.7\/\/假设K1按键在P2.3引脚#include<reg51.h>#include<intrins.h>sbit k1=P2^3;\/\/假设K1按键在P2.3引脚void main(){P0=0xfe;while(1){if(k1==0){while(k1==0);P0=_crol_(P0,1);}}}...

在51单片机中用c语言keil写程序实现用一个按键控制8个灯的亮和灭(按...
sbit key = P1^0;\/\/按键 void delay(unsigned int time){ unsigned int i,j;for(i=0; i<time; i++)for(j=0; j<1000; j++){;} } void mian(){ unsigned int temp =0x00;while(1){ if(key == 0){ delay(20);\/\/适当延时,消除按键抖动,自己看实际情况修改时间 if(key ==...

用keil如何给51单片机烧写程序?
先在KEIL中编译生成HEX文件 (如果编译完了目录内没有找到HEX文件,在项目设置里,C51项中,勾上生成HEX文件选择)再用COM51来烧。(这个参照软件说,较简单。一般先载入HEX文件再点个AUTO就可以了)

用keil编的51单片机C程序,不能实现其功能
include<reg51.h> \/\/sbit D=P0; \/\/sbit 是位定义。P0不必定义。void main(){while(1) \/\/ while(1); 这里加了分号,程序就在while(1)这里循环了,不会到括号里 { P0=0xfc; \/\/D=0xfc;} }

如何使用keil 5 编写 51单片机 工程
1.先安装Keil C51并破解,再安装MDK5并破解。2.分别打开Keil C51和MDK5的安装目录。将Keil C51安装目录下的C51文件夹复制到MDK5的安装目录文件夹下。3.分别打开TOOLS.INI文件;将Keil C51下TOOLS.INI文件的内容复制,粘贴到MDK5下TOOLS.INI文件内容的最低端。4.注意查看并找到粘贴到MDK5下TOOLS.INI...

Keil5如何创建一个新的51单片机项目
先双击打开keil软件 然后点击软件界面的菜单栏的Project,然后点击New uVision project 选择文件夹,然后输入项目名,然后保存,再然后选择MCU型号,一般对于51单片机,选择Atmel的8051就可以了,然后保存,如图,这时就已经基本创建好了,然后下一步 然后创建C文件,输入文件名,然后保存 然后把刚才的c文件...

51单片机显示八位数码管的C语言程序
1、最开始,我们先打开keil。2、接着,我们要定义好库函数,想要实现动态数码灯,这个步骤是很重要的。3、接着,我们加上一条循环语句。4、最后,我们把先前定义的延时语句delayms写好。5、最后,点击这里进行编译,生成一个hex文件。6、如果这里无错误警告的话,就说明我们的程序写对了,那我们就可以...

请帮忙在51系列单片机系统中,编写一个延时1ms的子程序。谢谢。。_百...
如下图所示。2、然后添加c文件,接下来输入代码,先输入一个头文件命令。3、然后,进行宏定义,代码如图所示。4、然后声明P1口,如下图所示。5、最后,将延时语句全部添加进去,代码按照图中所示的直接敲入即可。6、最后,点击编译,生成HEX文件就可以了,这样51单片机延时语句就完成了。

在51单片机中用c语言keil写程序实现用一个按键控制6个灯的亮和灭(按...
include<reg51.h> sbit key=P1^0;sfr LED=P0;main(){ while(1)if(key==0)P0=0xc0;else P0=0xff;}

关于keil 51单片机编程
假如是无源蜂鸣器,单片机控制引脚输出的方波频率高,即延时短,而LED闪烁延时长。其实,不必写两次,分别输出D1=0; D1=1;这么写就行:D1=!D1;delay(500);再说蜂鸣器与LED同时控制,用一个变量计数,假设用n,主循环程序的写法,while(1){ for(n=100;n>0;n--)\/\/调节n的初值大小,来调节...

相似回答