- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
山东电子职业技术学院电子工程系单片机程序设计与应用课程组项目2:初识层次化软件设计思想——点亮你的LED
1初步认识LED2单片机控制LED原理3位寄存器DDRx和PORTx用法4C语言的位操作5C语言中的宏6层次化软件设计思想
6层次化软件设计思想
追求“可读性强、可代码复用、可多人协作和可跨CPU移植”是我们编写程序的终极目标一、层次化软件设计思想
图2-15计算机系统结构图
图2-13层次化软件设计思想
?图2-14层次化软件设计思想在AtmelStudio中的架构图2-13示出了在单片机上实现层次化软件设计思想的架构方式,软件上共分为6层,由下向上分别为:InternalPeripheralLayer(内部外设层)、MiddleLayer(中间层)、ExternalModuleLayer(外部模块层)、ProtocolLayer(协议层)、AbstractionLayer(映射层)和LogicLayer(逻辑层),在AtmelStudio中的架构如图2-14所示。
映射层就是原理图的直译二、映射层设计图2-16映射层文件HAL.h
(1)IO_PD_DIR:使用此功能宏定义PORTD引脚的方向,0为输入,1为输出。0b表示二进制,默认对应0表示PORTD下8个引脚的方向都为输入。如果我们仅希望控制LED2,则只需将PD2置成输出,可以这样写该功能宏:#defineIO_PD_DIR02)IO_PD_OUT:使用此功能宏定义PORTD输出引脚在上电时的初始状态,0表示上电时输出低电平,1表示上电时输出高电平,如果我们希望LED2在上电时是点亮状态,其它LED是熄灭状态,则应这样定义该功能宏:#defineIO_PD_OUT0b111110111、端口方向及上电初状态
2、LED灯的状态图2-10ATmega168PA引脚接口电路图图2-11LED模块电路图
点亮操作:#defineLED0_OPENCLRBIT(PORTD,LED0)熄灭操作:#defineLED0_SHUTSETBIT(PORTD,LED0) 上述工作完成后,我们可以仿照LED0完成LED1-LED7的代码。 接下来,我们还需完成对所有LED的整体操作,功能宏定义如下:点亮操作:#defineALL_LED_OPENPORTD=0x00熄灭操作:#defineALL_LED_SHUTPORTD=0xFF
3、映射层文件【程序2-9】#ifndefHAL_H_#defineHAL_H_?//引脚定义//PortB#defineIO_PB_DIR 0defineIO_PB_OUT 0 /////////////////////////////////////////////////////////////////////?//PortC#defineIO_PC_DIR 0defineIO_PC_OUT 0 /////////////////////////////////////////////////////////////////////?//PortD#defineIO_PD_DIR 0defineIO_PD_OUT 0////////////////////////////////////////////////////////////////////#defineLED0BIT0#defineLED1BIT1#defineLED2BIT2#defineLED3BIT3#defineLED4BIT4#defineLED5BIT5#defineLED6BIT6
#defineLED7BIT7?#defineLED0_OPENCLRBIT(PORTD,LED0)#defineLED0_SHUTSETBIT(PORTD,LED0)#defineLED1_OPENCLRBIT(PORTD,LED1)#defineLED1_SHUTSETBIT(PORTD,LED1)#defineLED2_OPENCLRBIT(PORTD,LED2)#defineLED2_SHUTSETBIT(PORTD,LED2)#defineLED3_OPENCLRBIT(PORTD,LED3)#defineLED3_SHUTSETBIT(PORTD,LED3)#de
您可能关注的文档
- 单片机技术及应用项目教程 课件 项目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年党建工作情况报告材料.docx
- 区委书记在2025年一季度经济运行部署会议上的讲话发言材料.docx
- 市直机关单位、卫健委党支部2024年工作述职报告材料.docx
- 市委副书记、市长在2025年市委城乡规划委员会第一次会议上的讲话发言材料.docx
- 某单位领导干部2024年生活会、组织生活会对照检查材料(对照“四个带头”).docx
- 2024年民政局、宣传部、教育局基层主要领导个人述责述廉报告材料.docx
- 2025年2月党支部“三会一课”参考主题方案.docx
- 在某中学2025年春季开学典礼上的讲话:以“三重境界”燃动新学期.docx
- 2024年度领导干部专题民主生活会、组织生活会对照检查材料(四个带头)及学习研讨会上的发言材料.docx
- 市纪委市监委2025年度纪检监察工作计划.docx
最近下载
- 少先队大队委竞选ppt模板小学生自我介绍班委竞选卡通班干部课件 (10).pptx VIP
- 高等数学_大一_上学期知识要点.doc
- 集输初级工理论及技能操作试题(新)讲义.docx
- 2023综合安防平台(服务器)DS-VM21S-B系列配置指南.docx
- 2022年考博英语-华东政法大学考前拔高综合测试题2(含答案带详解)(含答案带详解).docx VIP
- 射击俱乐部商业计划书.pptx VIP
- 教师资格证初中英语简答题汇总.docx
- 中山大学2022-2023学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 高支模方案(专家论证).doc
- 数学符号及读法大全.doc VIP
文档评论(0)