×
单片机 > 单片机程序设计 > 详情

任务4:控制指定LED的亮灭

发布时间:2024-05-13 发布时间:
|

本系列教程以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 BIT0 BIT(0)

#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)


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
TQ210天嵌开发板S5PV210 LED闪烁程序C语言代码记录