Advertisement

国信长天杯 第三届全国电子专业人才设计与技能大赛 -- 单片机设计与开发项目预赛的程序、流程图和电路图

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:PDF


简介:
本简介针对国信长天杯第三届全国电子专业人才设计与技能大赛中的单片机设计与开发项目的预赛,涵盖了比赛所需的程序编写、流程图绘制以及电路图的设计。 根据给定的信息,我们可以深入分析该段代码及相关的竞赛背景,并从中提炼出多个重要的知识点。 ### 1. 单片机基础知识 #### (1) 宏定义与位操作 在程序开头部分,我们看到一系列宏定义,如: ```c #define uchar unsigned char #define uint unsigned int sbit key4 = P3^3; sbit key5 = P3^2; sbit key6 = P3^1; sbit key7 = P3^0; ``` 这里通过宏定义简化了数据类型名称,使代码更加易读。`sbit`是单片机编程中特有的关键字,用于定义特殊功能寄存器中的可寻址位,方便进行位操作。 #### (2) 延时函数 延时函数`delayms(uint z)`用于实现指定毫秒数的延时,其内部通过嵌套循环实现: ```c for(i = 0; i < z; i++) for(j = 0; j < 112; j++); ``` 这种延时方法简单有效,但不是精确延时,适用于对时间精度要求不高的场合。 ### 2. 数码管显示逻辑 #### (1) 数码管编码 为了实现数码管的动态显示,程序中定义了两个数组: ```c uchar table_du[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; uchartable_we[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; ``` 其中`table_du`数组存储了数字编码,而`table_we`则表示数码管各个段的选择。 #### (2) 显示函数 显示函数`void display()`中实现了将温度值分解并逐个显示的功能。通过控制P2口和P0口的状态来轮流点亮每个数码管上的数字,从而实现实时显示当前温度的功能。 ### 3. 温度控制与传感器应用 #### (1) 18B20温度传感器 该程序涉及到18B20温度传感器的应用,用于实时监测温度。通过`wendu_now`变量存储实时温度值,并使用`wendu_H`和`wendu_L`分别表示温度的上下限。 #### (2) 继电器控制 程序还包含了一个简单的继电器控制逻辑: ```c void relay() { P0 = 0x10; P2 = 0xa0; P2 = 0x00; } ``` 当温度超过设定上限时,该代码通过控制P0和P2口来打开继电器。 ### 4. 按键处理 程序中还包含了按键处理逻辑,用于调整温度的上下限值: ```c void keyscan1() { ... } ``` 这四个独立的按键(`key4`至`key7`)分别实现了增加上限、增加下限、减少上限和减少下限的功能。 ### 5. 温度控制逻辑 程序中还包含了一段温度控制逻辑,用于判断当前温度是否超出设定范围,并相应地开启或关闭继电器: ```c void jiance() { if(wendu_now > wendu_H) { TR0 = 1; } else if(wendu_now < wendu_L) { ... } } ``` 这段代码通过比较当前温度值与上下限值,决定是否启动温度控制逻辑。 这份程序不仅展示了如何利用单片机进行基本的输入输出控制,而且还包含了温度测量与控制的基本原理以及数码管实时数据显示等实用技术点。这对于学习单片机应用开发的人来说是非常有价值的参考资料。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • --
    优质
    本简介针对国信长天杯第三届全国电子专业人才设计与技能大赛中的单片机设计与开发项目的预赛,涵盖了比赛所需的程序编写、流程图绘制以及电路图的设计。 根据给定的信息,我们可以深入分析该段代码及相关的竞赛背景,并从中提炼出多个重要的知识点。 ### 1. 单片机基础知识 #### (1) 宏定义与位操作 在程序开头部分,我们看到一系列宏定义,如: ```c #define uchar unsigned char #define uint unsigned int sbit key4 = P3^3; sbit key5 = P3^2; sbit key6 = P3^1; sbit key7 = P3^0; ``` 这里通过宏定义简化了数据类型名称,使代码更加易读。`sbit`是单片机编程中特有的关键字,用于定义特殊功能寄存器中的可寻址位,方便进行位操作。 #### (2) 延时函数 延时函数`delayms(uint z)`用于实现指定毫秒数的延时,其内部通过嵌套循环实现: ```c for(i = 0; i < z; i++) for(j = 0; j < 112; j++); ``` 这种延时方法简单有效,但不是精确延时,适用于对时间精度要求不高的场合。 ### 2. 数码管显示逻辑 #### (1) 数码管编码 为了实现数码管的动态显示,程序中定义了两个数组: ```c uchar table_du[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90}; uchartable_we[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80}; ``` 其中`table_du`数组存储了数字编码,而`table_we`则表示数码管各个段的选择。 #### (2) 显示函数 显示函数`void display()`中实现了将温度值分解并逐个显示的功能。通过控制P2口和P0口的状态来轮流点亮每个数码管上的数字,从而实现实时显示当前温度的功能。 ### 3. 温度控制与传感器应用 #### (1) 18B20温度传感器 该程序涉及到18B20温度传感器的应用,用于实时监测温度。通过`wendu_now`变量存储实时温度值,并使用`wendu_H`和`wendu_L`分别表示温度的上下限。 #### (2) 继电器控制 程序还包含了一个简单的继电器控制逻辑: ```c void relay() { P0 = 0x10; P2 = 0xa0; P2 = 0x00; } ``` 当温度超过设定上限时,该代码通过控制P0和P2口来打开继电器。 ### 4. 按键处理 程序中还包含了按键处理逻辑,用于调整温度的上下限值: ```c void keyscan1() { ... } ``` 这四个独立的按键(`key4`至`key7`)分别实现了增加上限、增加下限、减少上限和减少下限的功能。 ### 5. 温度控制逻辑 程序中还包含了一段温度控制逻辑,用于判断当前温度是否超出设定范围,并相应地开启或关闭继电器: ```c void jiance() { if(wendu_now > wendu_H) { TR0 = 1; } else if(wendu_now < wendu_L) { ... } } ``` 这段代码通过比较当前温度值与上下限值,决定是否启动温度控制逻辑。 这份程序不仅展示了如何利用单片机进行基本的输入输出控制,而且还包含了温度测量与控制的基本原理以及数码管实时数据显示等实用技术点。这对于学习单片机应用开发的人来说是非常有价值的参考资料。
  • 十一蓝桥试题
    优质
    本简介涵盖第十一届蓝桥杯省赛中单片机设计与开发项目所使用的程序设计题目,旨在展示参赛者在嵌入式系统编程方面的技能和创造力。 蓝桥杯单片机开发设计试题内容如下:dgsahfcdFAasgsagagsagasgagsgd嘎达嘎达更多发哈电话给发噶是啥啊的功法啊杀杀杀给娃其他是高大上的干撒干撒日期额为他的根深蒂固发稿费大噶山豆根是电脑试试哈公司gear广泛的嘎尔塔嘎嘎。
  • 十五“新”中工智
    优质
    新大陆杯中国计算机设计大赛的人工智能赛道预选赛迎来其第十五届盛会,本次赛事聚焦于推动人工智能领域的创新与实践,吸引了众多高校学子积极参与。 PyTorch模型、ONNX模型、RKNN模型、检测代码以及模型转换代码。
  • 学生小车报告++管脚说明
    优质
    本资源详尽介绍了参加全国大学生电子设计竞赛中智能小车项目的全套资料,包括核心单片机程序、项目报告及清晰的流程图和引脚配置说明。 全国大学电子设计大赛中的智能小车项目通常包括单片机程序及报告、流程图以及管脚说明等内容。这些文档详细描述了参赛作品的技术实现细节和技术方案的逻辑结构,是展示学生在硬件控制与软件编程方面能力的重要材料。
  • 十七“振兴青年职理论题库参考
    优质
    本题库为第十七届振兴杯全国青年职业技能大赛计算机程序设计员竞赛专用,涵盖理论知识要点,旨在评估参赛者专业知识与技能水平。 青年职业技能大赛计算机程序设计员赛项理论参考题库
  • 蓝桥.zip
    优质
    本资源包含第八届蓝桥杯全国软件和信息技术专业人才大赛单片机组竞赛题目及参考程序代码,适用于参赛选手和技术爱好者学习研究。 蓝桥杯单片机第八届国赛题程序包含hex代码可供下载调试。如需源码及赛题,请解压文件内的压缩包,其中包含了源码和hex文件的原始代码。这些资源非常有用且易于使用。
  • 蓝桥.zip
    优质
    该资源为第九届蓝桥杯全国大赛单片机组竞赛题目的程序代码集合,包含所有参赛所需的编程文件和示例,适合准备比赛的学生和技术爱好者下载学习。 蓝桥杯单片机第九届国赛题程序包含hex代码供下载调试。要获取源码和赛题,请解压文件中的一个压缩包,其中包含了源码和hex文件的源代码。这些资源非常有用且好用。
  • _调试.rar
    优质
    本资源包含第八届省级竞赛中关于单片机电子钟的设计资料,内有详细程序代码及调试方法,适合学习单片机应用技术的学生参考。 这是我在大学期间参加蓝桥杯时为第八届省赛“基于单片机的电子钟程序设计与调试”编写的代码。文件可能存在一些不足之处,希望能对大家有所帮助。
  • 题合集.zip
    优质
    本资源包含自第一届以来所有年份的全国大学生电子设计竞赛题目,适用于参赛选手、指导教师和电子专业学生参考学习。 1-14届电赛真题
  • _调试.zip
    优质
    本资源为第八届省级竞赛专用资料,专注于单片机电子钟的设计与编程调试技巧,适合参赛选手及电子专业学生学习使用。 蓝桥杯单片机第八届省赛项目是基于单片机的电子钟程序设计与调试。提供完整代码及工程文件,并包含各种头文件,可以直接使用,仅供学习参考。