- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
山东电子职业技术学院电子工程系单片机程序设计与应用课程组项目2:初识层次化软件设计思想——点亮你的LED
1初步认识LED2单片机控制LED原理3位寄存器DDRx和PORTx用法4C语言的位操作5C语言中的宏6层次化软件设计思想
5C语言中的宏
作用:增强程序的可读性宏定义命名及使用规则:a、#号与define之间一般不留空格;但宏名左右两边必须至少一个空格分隔。b、宏名的有效范围为定义之后到本源文件结束。c、允许#define命令出现在程序中的任何位置。d、一个经#define定义的宏名,也可在程序中通过#undef终止其作用域。e、在一个宏定义中,允许出现已存在的宏名。一、宏定义
(1)无参宏定义无参宏定义的一般格式: #define标识符一串字符标识符被定义为代表一串字符的宏名。例如:#defineE2.17828(2)带参宏定义在程序设计中,宏定义除了定义符号常量外,还经常用于定义带参数的宏。带参宏定义的一般格式为: #define宏名(参数表)一串字符例如: #defineSUM(a,b)a+b
二、置高、置低和反转功能宏1、置高置高表达式:x|=(1y)先对(1y)进行带参宏定义:#defineBIT(x)(1x)则第0位至第7位的宏定义,如下所示:#defineBIT0BIT(0)……#defineBIT6BIT(6)#defineBIT7BIT(7)接着,我们定义置高功能宏,如下所示:#defineSETBIT(x,y)x|=y如果希望将PC2引脚置成高电平,可以直接应用宏定义SETBIT完成,如下所示:SETBIT(PORTC,BIT2)
2、置低置低功能宏的宏定义,如下所示:#defineCLRBIT(x,y)x=~y 如果希望将PORTC寄存器的第2位置成低电平,我们可以这样完成CLRBIT(PORTC,BIT2)
3、反转反转功能的宏定义,如下所示:#defineCPLBIT(x,y)x^=y
三、程序调试【程序2-7】//加入包含文件#include../include.h?//定义系统常量?//定义全局变量?//主程序intmain(void){ //定义局部变量 //目标板初始化,该函数会自动初始化相应的外设文件 TARGET_Init(); //初始化全局变量 //在上电时,执行的相应操作 SETBIT(DDRC,BIT2); //后台主循环 while(1) { //在这里完成自己的项目逻辑
//在这里完成自己的项目逻辑 CLRBIT(PORTC,BIT2); TARGET_Delayms(1000,1); SETBIT(PORTC,BIT2); TARGET_Delayms(1000,1); //喂狗语句,大部分工程项目都不应去除 #ifINTERNAL_PERIPHERAL_WDT_MODE!=0 TARGET_WatchDogReset(); #endif } return0; //永不执行}
原则:先定义后使用四、宏定义头文件图2-12DataType.h头文件
【程序2-8】//功能宏,以下内容与移植不相关#defineSETBIT(x,y) (x|=y)#defineCLRBIT(x,y)(x=~y)#defineCPLBIT(x,y) (x^=y)#defineCHKBIT(x,y)(xy)?#defineBIT(x) (1x)#defineBIT0 BIT(0)#defineBIT1 BIT(1)#defineBIT2 BIT(2)#defineBIT3 BIT(3)#defineBIT4 BIT(4)#defineBIT5 BIT(5)#defineBIT6 BIT(6)#defineBIT7 BIT(7)#defineBIT8 BIT(8)#defineBIT9 BIT(9)#defineBITA BIT(10)#defineBITB BIT(11)#defineBITC BIT(12)#defineBITD BIT(13)#defineBITE BIT(14)#defineBITF BIT(15)
您可能关注的文档
- 单片机技术及应用项目教程 课件 项目5-1认知轻触机械式触点开关.ppt
- 单片机技术及应用项目教程 课件 项目5-2独立式按键设计.ppt
- 单片机技术及应用项目教程 课件 项目6-3使用C语言模拟IIC总线.ppt
- 单片机技术及应用项目教程 课件 项目7-2认知通用异步串行总线.ppt
- 单片机技术及应用项目教程 课件 项目7-4修正万年历时间.ppt
- 单片机技术及应用项目教程 课件 项目8-4设计具有实时时间显示的温度测量报警系统.ppt
- 单片机技术及应用项目教程 课件 项目四--知识点(总).ppt
- 单片机技术及应用项目教程 课件 项目一--知识点(简介).ppt
- 单片机技术及应用项目教程 课件 知识点1- 认知智能电子产品的构成.ppt
- 单片机技术及应用项目教程 课件 知识点1-初步认识LED.ppt
- 2024年陕西咸阳亨通电力(集团)有限公司供电服务业务部直聘用工招聘145人笔试参考题库附带答案详解 .docx
- 2024年中建四局土木工程有限公司校园招聘笔试参考题库附带答案详解 .docx
- 2024年四川雅茶贸易有限公司公开招聘和考察聘用人员3人笔试参考题库附带答案详解 .docx
- 2024年中国烟草总公司辽宁省公司公开招聘拟录用人员(166人)笔试参考题库附带答案详解 .docx
- 2024江苏连云港中诚物业管理有限公司招聘工作人员1人笔试参考题库附带答案详解 .docx
- [毕节]2025年贵州毕节市引进人才649人笔试历年参考题库附带答案详解.docx
- 2024年度中国东航技术应用研发中心有限公司校园招聘笔试参考题库附带答案详解 .docx
- 2024年福建省厦门盐业有限责任公司春季人才招聘1人笔试参考题库附带答案详解 .docx
- 2024年山东省环保发展集团绿能有限公司职业经理人招聘2人笔试参考题库附带答案详解 .docx
- 2024年安徽滁州郊源阳光电力维修工程有限责任公司招聘41人(第一批次)笔试参考题库附带答案详解 .docx
文档评论(0)