历史上的今天
今天是:2024年12月03日(星期二)
2019年12月03日 | AVR单片机教程——闪烁LED
2019-12-03 来源:eefocus
上次我们把LED点亮了。你可能已经试过把 LED_RED 换成其他灯,也可能已经用 led_on() 把所有LED一起点亮了。但是LED点亮以后,程序就退出了,之后LED一直没有暗,直到没有供电。这一次,我们用程序来控制LED的亮和暗。
新建一个C executable项目,选择ATmega324PA单片机,在项目属性中添加库libee1,将配置改为Release。这是本教程现阶段中每一次新建项目都要做的。我刚才尝试用project template简化,然而设置无法导入。
默认生成的main.c中的内容我们还是不要,全部删除后敲入以下代码:
1 #include 2 #include 3 4 int main() 5 { 6 led_init(); 7 while (1) 8 { 9 led_set(LED_RED, LED_ON); 10 delay(500); 11 led_set(LED_RED, LED_OFF); 12 delay(500); 13 } 14 } 分析一下这段代码: 第2行包含了一个头文件 delay.h ,它提供了 delay 函数,用于设置一定时长的延时。第10行和第12行用这个函数来延时500毫秒。 第9行和第11行分别让红色LED开启与关闭。 while (1) 表示无限循环,循环的周期是1秒多一点,1秒是两个500毫秒相加,多一点是因为两个 led_set 的调用也需要时间。 F5、F6以后,你会发现开发板上的红色LED以1秒为周期闪烁。 通过这个例子,你应该可以发现,单片机程序与计算机程序还有一个不同点,在于计算机程序一般都有结束,而单片机程序一般都要持续运行。这是因为单片机一般用于控制用途,控制的设备是长期运作的。同时这也意味着,单片机系统对可靠性的要求很高,这包含了两方面:其一,单片机硬件不能出错,比如电源波纹不能让程序不能跑飞;其二,单片机程序不能出错,控制逻辑一定不能写错,同时对可能发生的错误也要有合理的处理措施。
上一篇:AVR单片机教程——流水灯
史海拾趣
|
电子图书很多,入门图书也很多,怎么选,是个大问题。电子技术有几大块儿知识是必不可少的,大略来说就是理论知识、器件使用知识、典型电路和系统设计知识、制作维修技巧。 首先说说理论知识吧。它可以从初中劳技课教程中获得,也可以从《收音机制 ...… 查看全部问答> |
|
各位大侠,我想问下FPGA的配置芯片需要对它下载配置文件,而这个配置文件是不是就是所谓的VHDL或者是Verilog语言生成的文件。据说是对配置芯片下载pof格式的文件,请问下pof格式文件是什么? 既然FPGA是基于SDRAM结构的芯片,那就是加 ...… 查看全部问答> |
|
各位,本人是做WINCE 驱动的,这两天同时面试了两家公司北京创毅视讯深圳公司的FAE职位和威盛电子深圳公司的驱动研发工程师职位,创毅做的是手机电视,属于朝阳行业,而威盛那职位做的是ARM+DSP,也很热门,已经收到这两家的OFFER,给的薪水是一样 ...… 查看全部问答> |
|
各位: 我目前在wince5.0下开发一个directshow 的decoder filter,打算用graphedt进行测试。 我参考网上的说明,手动定制了graphedt,但是双击启动时总是报错,wince5.0的emulator提示缺少组件。 我在platform builder 下运行它,系统的报错信息 ...… 查看全部问答> |
|
当材料因温度变化体积发生变大或者缩小时,但是很可能受到空间的限止不能自由变大或者变小,这时材料内部就会产生一个大小相等,方向相反的力,这种力就叫做内应力.这种力在环境中普遍存在.LED封装生产时,内部有金线,荧光粉,金属支架等不同的材料,这些 ...… 查看全部问答> |
|
您好!我用的是一块,别人送我的STR7的核心板.外部晶振4MHz.使用的环境是KEIL 的MDK3.51版本。现在运行KEIL自带的 KEIL/ARM/BOARDS/HITEX/ST_HELLO 程序,发现实际的波特率只有设定的1/4...到底是哪里错了呢,请老大们赐教。以下 ...… 查看全部问答> |
|
各位大侠,恭维的话小弟就不多说了,直接上问题。 在做Wince下PCI驱动程序,处理器是X86,系统是wince6.0; 在注册表中获取到PCI板卡的iolength和iobase 以及memlength和membase,打印输出如下所示:BAR0 Base= 0x0000D800, Lengt ...… 查看全部问答> |
|
【设计工具】浅谈Xilinx目标设计平台印象和系统开发新理念 摘 要:我们在承接客户应用项目开发过程经常选用Xilinx的器件,开发中会选择合适的开发板进行验证和测试。现在的应用项目工程师承受着很大的压力,激烈的市场竞争需要尽量短的开发周期,同时各种新器件层出不穷,项目应用工程师应用新器件需要不段 ...… 查看全部问答> |




