- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
5设计具有实时时间显示的温度测量报警系统
一用按键切换时间和温度显示按键名称功能S0(PC0)显示当前时间的年月日S1(PC1)显示当前时间的时分秒S2(PC2)显示当前温度表8-9按键的功能定义
(1)复制例程8.32,并打开工程,我们将在上一个例程的基础上,继续本例程的设计工作。(2)打开config.h文件,对SD2405进行使能,如程序8-33所示。使能SD2405的同时,AVRWARE++会自动使能IIC总线,我们仅需对IIC总线进行设置即可。【程序8-33】#defineEXTERNAL_MODULE_SD2405_MODE1 //0: 没有使用SD2405芯片//1: 使用了SD2405芯片,系统会自动调用IIC总线,使用时应在IIC_config.h中,对IIC进行配置
(3)打开IIC_config.h文件对IIC总线进行设置,如程序8-34所示。对于IIC配置文件的设置,我们应当参看原理图,这些内容我们已经在前面的多个项目中进行讲述,在这里就不再赘述了。【程序8-34】#ifndefIIC_CONFIG_H_#defineIIC_CONFIG_H_?#defineIIC_PORT PORTD#defineIIC_DDR DDRD#defineIIC_PIN PIND?#defineIIC_SCL BIT2#defineIIC_SDA BIT3
(4)接下来,我们对按键使用的引脚进行配置,如表8-9,我们使用端口C与按键相连接,所以HAL.h的文件配置如程序8-35所示。这部分内容,我们是在项目5中给大家介绍的,大家如果有遗忘,复习一下就好。配置后的程序如程序8-35所示。【程序8-35】///////////////////////////////////////////////////////////////////////PortC#defineIO_PC_DIR 0defineIO_PC_OUT 0 /////////////////////////////////////////////////////////////////////#defineS0BIT0#defineS1BIT1#defineS2BIT2#defineS0_CHECKCHKBIT(PINC,S0)#defineS1_CHECKCHKBIT(PINC,S1)#defineS2_CHECKCHKBIT(PINC,S2)
(5)这样,我们已经完成了工程的配置工作,接下来就是逻辑层的设计工作了。打开main.c文件,我们查看main函数,首先进行变量的声明,如程序8-36所示。我们在原先定义的变量基础上,增加了整型变量u8_DisplayItem,它用来控制数码管显示内容的切换,当该变量的值为0时,数码管显示年月日;当该变量显示的值为1时,数码管显示时分秒;当该变量的值为2时,数码管显示温度。我们在定义变量的同时,完成了对该变量的初始化工作,也就是说,在教学开发板上电时,数码管默认显示温度。【程序8-36】//定义局部变量 uint8i; floatf_Temperature=0.0; uint8u8_Temperature[2]={0,0}; uint8u8_CheckOutSum; uint8u8_DisplayItem=2; //0:显示年月日//1:显示时分秒//2:显示温度
(6)接下来,我们应当删去原先项目中全局变量初始化代码,这是因为时间和温度的显示格式是不一样的,我们在具体显示时,进行设置就可以了。(7)进入后台主循环后,首先完成按键切换u8_DisplayItem变量的逻辑,如程序8-37所示。程序对3个按键逐一进行检测,如果发现按键按下,则进行20ms的消抖工作,然后再次确认按键是否按下。按键消抖后,仍然按下,则对u8_DisplayItem进行赋值操作。
【程序8-37】if(!S0_CHECK){TARGET_Delayms(20,0)if(!S0_CHECK){u8_DisplayItem=0;}}if(!S1_CHECK){TARGET_Delayms(20,0)if(!S1_CHECK){u8_DisplayItem=1;}}if(!S2_CHECK){TARGET_Delayms(20,0)if(!S2_CHECK){u8_DisplayItem=2;}}
(8)接下来,程序根据u8_DisplayItem的具体数值,进行相应内容的显示,如程序8-38(略)所示。大家观察这些代码的时候,可以看到显示格式的设置和显示内容是一起完成的,这是因
您可能关注的文档
- 单片机技术及应用项目教程 课件 项目5-1认知轻触机械式触点开关.ppt
- 单片机技术及应用项目教程 课件 项目5-2独立式按键设计.ppt
- 单片机技术及应用项目教程 课件 项目6-3使用C语言模拟IIC总线.ppt
- 单片机技术及应用项目教程 课件 项目7-2认知通用异步串行总线.ppt
- 单片机技术及应用项目教程 课件 项目7-4修正万年历时间.ppt
- 单片机技术及应用项目教程 课件 项目四--知识点(总).ppt
- 单片机技术及应用项目教程 课件 项目一--知识点(简介).ppt
- 单片机技术及应用项目教程 课件 知识点1- 认知智能电子产品的构成.ppt
- 单片机技术及应用项目教程 课件 知识点1-初步认识LED.ppt
- 单片机技术及应用项目教程 课件 知识点1-单片机最小系统.ppt
- [中央]2023年中国电子学会招聘应届生笔试历年参考题库附带答案详解.docx
- [吉安]2023年江西吉安市青原区总工会招聘协理员笔试历年参考题库附带答案详解.docx
- [中央]中华预防医学会科普信息部工作人员招聘笔试历年参考题库附带答案详解.docx
- [保定]河北保定市第二医院招聘工作人员49人笔试历年参考题库附带答案详解.docx
- [南通]江苏南通市崇川区人民法院招聘专职人民调解员10人笔试历年参考题库附带答案详解.docx
- [厦门]2023年福建厦门市机关事务管理局非在编工作人员招聘笔试历年参考题库附带答案详解.docx
- [三明]2023年福建三明市尤溪县招聘小学幼儿园新任教师79人笔试历年参考题库附带答案详解.docx
- [哈尔滨]2023年黑龙江哈尔滨市木兰县调配事业单位工作人员笔试历年参考题库附带答案详解.docx
- [上海]2023年上海市气象局所属事业单位招聘笔试历年参考题库附带答案详解.docx
- [台州]2023年浙江台州椒江区招聘中小学教师40人笔试历年参考题库附带答案详解.docx
最近下载
- GB_T_13861-2022生产过程危险和有害因素分类与代码.pdf VIP
- 2024年教学能力比赛现场答辩题库(最新编制).docx
- 3月1日国际民防日知识介绍主题班会.pptx VIP
- 人教新课标六年级上册数学第6单元《百分数一》测试卷.doc VIP
- 记念刘和珍君鲁迅记念刘和珍君聆听鲁迅的声音徘徊páihuái课件.pptx VIP
- 施工现场安全教育培训课件(课件35张).ppt VIP
- 中小尺度气象学5章.ppt
- 高铁乘务人员形象塑造项目5搭配合适的发型.pptx VIP
- 化工原理课程设计乙醇—水板式精馏塔设计.doc
- 中国国家标准 GB/T 1040.2-2022塑料 拉伸性能的测定 第2部分:模塑和挤塑塑料的试验条件.pdf
文档评论(0)