编译点亮led程序
① 怎样编写程序点亮led灯
以51单片机为例 LED接到P1.0端口的 #include “reg51.h” sbit LED=P1^0; mail() { LED=0; //初始化LED为关闭状态 while(1) { LED=1; //点亮LED } } 完 最主要还要看看你的硬件
② 单片机led灯循环点亮程序
有个电路,才好设计。
可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。 具体实现方法可以参考如下程序: #include #include #define uint unsigned int#define uchar unsigned charvoid delay(uint a);void main(){ P1=0xfe; while(1) { // 向左循环点亮LED for(i=0; i<7; i++) { P1=_crol_(P1,1); // 左移一位,点亮下一位LED delay(55); } // 向右循环点亮LED for(i=0; i/ 右移一位,,点亮上一位LED delay(55); } }}// 延时函数,延时a毫秒void delay(uint a){ uint x,y; for(x=a;x>0;x--) for(y=110;y>0;y--);}
④ 单片机编程。试编写程序,使LED灯逐个点亮,时间为一秒。先谢谢。
晶振认为是12MHz定时器中断时间为50ms,累计20次中断的时间为1s
这个程序是精确定时的,不像楼上的delay函数定时不精确
#include
#include
unsigned
char
i=0;
void
init();
void
main()
{
init();
while
(1)
{
if(i==20)
{
i=0;
P1=_crol_(P1,1);//循环移位函数
在intrins函数中定义
}
}
}
void
init()
{
TH0=0x3c;
//定时器赋初值定时时间50ms
TL0=0xB0;
TMOD=0x01;
//设置定时器工作方式为方式1
EA=1;
//开总中断
ET0=1;
//开中断允许位
TR0=1;
//定时器计数
P1=0xfe;
//这里假设led灯与P1口相连并且
//低电平有效
}
void
timer0()
interrupt
1
{
TH0=0x3c;
TL0=0xB0;
//溢出后重新赋初值
i++;
//定时器中断时间为50ms
//20次中断时间为1s
}
⑤ 用简单的C语言程序控制LED灯的点亮
初始化部分你要自己根据芯片资料写,数码管部分可以根据数码管的资料做数组xs[10]={0x3b……}要看数码管引脚定义了,看原理图看不出来的,可以做个200MS的定时器,然后计数5次就是1S
直接给数码管的IO口附数组的值,如P1=xs[5];要看你给的是哪个IO口了,我这边看不清你的原理图,LED亮200MS后就换动作太快,看不出效果,可以把时间加长
⑥ 用keil编一个led灯闪烁程序
点亮 小灯的程序我们第二课完成了,就是让 LED = 0。熄灭小灯的程序也很简单,就是 LED = 1。点亮和熄灭都会了,那么如果我们在亮和灭中间加个延时,反复不停的点亮和熄灭小灯,就成了闪烁了。
我们首先复习一下 Keil 写程序的过程,建立工程-->保存工程-->建立文件-->添加文件到工程-->编写程序-->编译-->下载程序。
LED 对于有 C 基础的同学来说很简单,那我先写出来,大家可以先看下。没有C 语言基础的同学也可以跟着抄一遍,下节课我会补充部分 C 语言基础知识,这样你先抄一遍后,再跟着看 C 语言基础知识的时候也比较容易理解透彻。
纯文本复制
#<reg52.h>
sbit LED = P0^0;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
main(){ //void 即函数类型
//以下为声明语句部分
unsigned int i = 0; //定义一个变量 i,并赋初值 0
//以下为执行语句部分
ENLED = 0; //U3、U4 两片 74HC138 总使能
ADDR3 = 1; //使能 U3 使之正常输出
ADDR2 = 1; //经 U3 的 Y6 输出开启Q16
ADDR1 = 1;
ADDR0 = 0;
(1){
LED = 0; //点亮小灯
for (i=0; i<30000; i++); //延时一段时间
LED = 1; //熄灭小灯
for (i=0; i<30000; i++); //延时一段时间
}
}
大家把这个程序编译一下,下载到里,就会发现 LED2 这个小灯会闪烁了。
⑦ 怎么采用C语言编程序通过单片机的I/O端口点亮一个LED灯
很简单的,先定义你的端口。然后给端口输出高低电平。
点亮第一个LED
⑧ 写出点亮2盏LED灯的c语言程序
单片机的话,如端口上电默认高电平,那直接led一头接电源一头接端口,一个led对应一个端口。
一、简单讲:想要灯亮,就将对应端口置0。反之就是灯灭。
二、详细讲:假设用keil编写,新建工程->选择单片机型号->新建源文件->设置output(点魔术棒图标勾选create hex file)。
我们用P2^0端口连接一个led(led另一端连电源)。先给端口起别名sbit led1=P2^0;之后代码中需要灯亮就写led1=0;即可。(头文件自行导入)。
程序写好,编译后将生成的hex(路径在之前的设置中)写入单片机或加载到仿真电路中运行。
⑨ 点亮一个LED的C语言程序,
//请依照你的硬件输入相对值#defineKEY_ACTIVE_LEVEL(请输入)#defineKEY1_PIN(请输入)#defineKEY2_PIN(请输入)#defineLED_ON_LEVEL(请输入)#defineLED_LOW_LEVEL(请输入)#defineLED_PIN(请输入)unsignedcharis_key1_press(void){reutrn(KEY1_PIN==KEY_ACTIVE_LEVEL)l}unsignedcharis_key2_press(void){reutrn(KEY2_PIN==KEY_ACTIVE_LEVEL)l}voidset_led_to(unsignedcharvalue){LED_PIN=value;}voidmain(void){while(1){if(is_key1_press()&&is_key2_press()){set_led_to(LED_ON_LEVEL);}else{set_led_to(LED_OFF_LEVEL);}}}
⑩ 怎么用NiI ELVIS Ⅱ点亮led
单片机入门教学--点亮LED
点亮LED是每个单片机初学者的入门必经之路,完成这个简单的功能可以让你学习以下技能
0x01 建立Keil工程
0x02 学习LED驱动电路
0x03 编译单片机程序
0x04 烧写单片机
可以看到,这几个技能是开发一个项目的必备的,可以让你从零开始,完成一个项目开发的完整流程,话不多说,我们开搞!
建立Keil工程
首先打开Keil软件,会出现一个空白的窗口,如下图所示,这个就是我们以后使用频率最高的一个开发软件了,一眼看上去按钮还挺多的,感觉很复杂,其实我们刚开始只需要用到非常有限的几个按键,随着大家学习的深入,大家多用几次就会对这些界面上的按钮功能非常熟悉了。
下面我们点击菜单栏的project(工程),然后再下拉菜单里找到new uvision project,这个功能就是新建一个空白的keil工程。
点击这个按钮后会弹出对话框,让我们选择把这个空白的工程放在哪个文件夹下,这个小伙伴们自己搞定吧,不用我多说了吧,别忘了存一个工程的名称。
点击保存后,keil会让我们指定这个工程所使用的的芯片,这里大家可以按照自己的板卡上面的板子来选择,比如STM32就选择ST,然后去找到你的cpu型号就好了,这里我们选择51单片机。
这个步骤完成后,点击不需要添加启动文件,工程就基本完成了,接下来需要我们添加自己的代码了,首先我们要先新建一个自己的.c文件。
点击保存,把这个文件保存为c文件。
将我们刚才保存的工程模板文件加入工程,步骤如下,
接下来将下面代码复制到刚才的工程模板文件中,保存一下,大功告成,到这里工程就建立完毕了。
#include “reg52.h”
sbit led=P2^0;
void main()
{
led = 0;
}
未完待续,有不明白的可以留言讨论,下节课我们讲解控制LED电路,
