历史上的今天
今天是:2025年03月13日(星期四)
2020年03月13日 | 任务4:控制指定LED的亮灭
2020-03-13 来源:eefocus
本系列教程以AVR单片机为对象,介绍单片机的快速开发方法。
参考教材:《单片机技术及应用项目教程》 栾秋平 电子工业出版社 2019.6 第1版
本文介绍控制指定LED亮灭的方法。



一、认知C语言中的位操作
//加入包含文件
#include "../include.h"
//定义系统常量
//定义全局变量
//主程序
int main(void)
{
//定义局部变量
//目标板初始化,该函数会自动初始化相应的外设文件
TARGET_Init();
//初始化全局变量
//在上电时,执行的相应操作
DDRC = 0xFF;
//后台主循环
while(1)
{
//在这里完成自己的项目逻辑
PORTC = 0xFB;
TARGET_Delayms(1000, 1);
PORTC = 0xFF;
TARGET_Delayms(1000, 1);
//喂狗语句,大部分工程项目都不应去除
#if INTERNAL_PERIPHERAL_WDT_MODE != 0
TARGET_WatchDogReset();
#endif
}
return 0; //永不执行
}

二、操纵寄存器中的指定位

//加入包含文件
#include "../include.h"
//定义系统常量
//定义全局变量
//主程序
int main(void)
{
//定义局部变量
//目标板初始化,该函数会自动初始化相应的外设文件
TARGET_Init();
//初始化全局变量
//在上电时,执行的相应操作
DDRC |= (1 << 2);
//后台主循环
while(1)
{
//在这里完成自己的项目逻辑
PORTC &= ~(1 << 2);
TARGET_Delayms(1000, 1);
PORTC |= (1 << 2);
TARGET_Delayms(1000, 1);
//喂狗语句,大部分工程项目都不应去除
#if INTERNAL_PERIPHERAL_WDT_MODE != 0
TARGET_WatchDogReset();
#endif
}
return 0; //永不执行
}
三、置高、置低和反转功能宏
//加入包含文件
#include "../include.h"
//定义系统常量
//定义全局变量
//主程序
int main(void)
{
//定义局部变量
//目标板初始化,该函数会自动初始化相应的外设文件
TARGET_Init();
//初始化全局变量
//在上电时,执行的相应操作
SETBIT(DDRC, BIT2);
//后台主循环
while(1)
{
//在这里完成自己的项目逻辑
CLRBIT(PORTC, BIT2);
TARGET_Delayms(1000, 1);
SETBIT(PORTC, BIT2);
TARGET_Delayms(1000, 1);
//喂狗语句,大部分工程项目都不应去除
#if INTERNAL_PERIPHERAL_WDT_MODE != 0
TARGET_WatchDogReset();
#endif
}
return 0; //永不执行
}
//功能宏,以下内容与移植不相关
#define SETBIT(x, y) (x |= y)
#define CLRBIT(x, y) (x &= ~y)
#define CPLBIT(x, y) (x ^= y)
#define CHKBIT(x, y) (x & y)
#define BIT(x) (1< #define BIT1 BIT(1) #define BIT2 BIT(2) #define BIT3 BIT(3) #define BIT4 BIT(4) #define BIT5 BIT(5) #define BIT6 BIT(6) #define BIT7 BIT(7) #define BIT8 BIT(8) #define BIT9 BIT(9) #define BITA BIT(10) #define BITB BIT(11) #define BITC BIT(12) #define BITD BIT(13) #define BITE BIT(14) #define BITF BIT(15)
史海拾趣
|
一种改进的电压跟随PFCCukAC/DC变换器 随着半导体器件的发展,电力电子装置的大量应用,导致大量谐波电流涌入电网,污染电网,这一问题已引起了各国的重视。为了限制总的谐波含量(THD)以提高功率因数,制定了许多标准,如IEC1000?3?2。近年来,如 ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 09:50 编辑 哪位高手手头上有altera公司的FFT-v2.1.1 ipcore的介绍,麻烦发给我一份,不胜感激。 邮箱:hutiao-001@163.com … 查看全部问答> |
|
在移植2440的usb下载nk功能到2410的eboot中时: s3c2410a_usbd.c文件中:三个函数定义和实现 BOOL UbootReadData (DWORD cbData, LPBYTE pbData); BOOL InitUSB (); void Isr_Init(); main.c文件中: // For USB Download function. extern ...… 查看全部问答> |
|
我想要实现这样的功能:在单片机系统程序启动的时候,用键盘输入给一个变量赋值,在退出系统后这个值也保存下来,在下一次系统再次启动时该变量还是这个值,请问各位大侠C代码如何实现!… 查看全部问答> |
|
LPC1114到了,相机不在身边,拍不了照。呵呵! 前面已经我为他设计了一个舞台,该搭建了,让他在上面尽情的发挥。 [ 本帖最后由 zhdphao 于 2010-7-31 17:38 编辑 ]… 查看全部问答> |
|
最近一个项目,要求使用ucos+lwip在lm3s8962上的以太网发送、接收,我ucos-ii下建立了建立了一个任务(线程)用于处理以太网发送和接收任务,TCP和UDP接收和发送都正常,但是我在一个定时器中断中调用tcp_write和udp_write发送时,就不能成功发送, ...… 查看全部问答> |




