版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、任务一任务一 2011年单片机全国大赛试题年单片机全国大赛试题热水供应系统 一一 、工作任务要求、工作任务要求二、热水供应系统的相关说明二、热水供应系统的相关说明三、热水供应控制系统的制作要求三、热水供应控制系统的制作要求(一)系统初始化 请你在四个半小时内,使用yl-236型单片机控制实训考核装置制作完成热水供应系统模拟装置,具体工作任务和要求如下: 详细见书上(一)热水供应系统的组成与功能简述 (二)热水供应模拟装置的组成模块及相关说明2 燃料运送机构结构示意图 图1热水供应系统结构示意图1电源指示灯亮,其余指示灯熄灭。 2数码管显示器各位实时显示内容如表3所示,炉内水量的检测刷新速度应不
2、低于0.5s(秒)。 3液晶显示的初始界面如图4所示:4步进电机指针指示在50mm处(相当于炉内水温为25)。5机械手初始化操作:使用前请调整机械手的功能,排除故障,使其能正机械手初始化操作:使用前请调整机械手的功能,排除故障,使其能正常工作。在机械手正常工作的前提下,系统控制机械手复位至工位二正上方,常工作。在机械手正常工作的前提下,系统控制机械手复位至工位二正上方,手爪处于放松状态。手爪处于放松状态。 (二)系统运行要求(二)系统运行要求 1热水加热温度设置预设的水温值范围应在“25-50”之间变化,否则系统无法进行下一步工作。 2水加热 在满足“25预设热水温度值50”的条件下,按下“开
3、始”按键,系统进入下面的水加热流程。2.1进水:根据数码管显示的炉内实时水量,系统进入进水作业工作流程。 2.2投放燃料和温度显示 2.2.1投放燃料:当炉内水量为200升时,按下“确认”按键后,系统进入投放燃料状态。2.2.2加热和热水温度指示3led报警指示4用水量和水费显示 51次加热过程结束后,系统等待再次按下“开始”按键,系统能重复上6系统停止。按下“停止”按键,系统停止工作,只有电源指示灯亮。 任务二任务二 真题剖析真题剖析1 所需的主要模块所需的主要模块序号序号模块模块 在本试题中完成的功能及解题思路在本试题中完成的功能及解题思路1物料搬运模块 该模块主要完成投放燃料的工作,高燃
4、烧值燃料为黑色燃料(用黑球代替);中燃烧值燃料为黄色燃料(用黄球代替),低燃烧值燃料为白色燃料(用白球代替),由于试题中要求使机械手搬运燃料的次数最少。所以在用燃烧时,先用黑色燃料的值去和总要求比,然后用黄色,最后用白色,看比的次数就是抓球的次数,即抓球的次数要最少。实际上这是小学数学中一种基本的数学游戏规则,对于中职学生应该是很简单的,不同的球对应的不同温度,这个只是简单的比例关系,不要想的太复杂。每年竞赛都要用到该模块。2步进电机模块 该模块是水温指示:使用步进电机模块模拟指针式温度计,指示炉内实时水温值。步进电机每走1mm代表温度变化0.5。例如:炉内水温为20。c,则步进电机指针应指示
5、到40mm标尺处。本试题没有用温度传感器模块而用步进电机拟,是为了应用步进电机模块,该模块的应用在前文中讲的很细,程序的思路是编写了步进电机的cp脉冲形成函数,以及步进电机走动精确长度的函数。步进电机是根据cp脉冲个数驱动电机转动,脉冲频率越快,步进电机走的越快,但是有尖啸声;要注意它的快慢,同时还要注意rl的值的高低。事实上步进电机就像一个万能模块一样,它可以模拟温度、高度、深度、长度等很多量值,应多研究它的用法,每年竞赛都要用到该模块。3a/d转换模块 该模块是储水量检测:使用adcdac模块(即mcu07模块)上电压源的电压来模拟水量检测传感器的检测输出电压值。使用时,手动调节调压电位器
6、得到某一输出电压值,模拟水量检测传感器在该水量时的输出电压。 在本试题中是为了模拟储水量的多少,当然题中已经给出了比例关系,但要仔细分析,题目中低水量、正常水量、高水量区的比例关系是不同的,前面比值是40,后面高了一些,在本文的程序中这一点讲的很凄楚,请看后面的程序讲解和注释,对于a/d转换的原理及应用的程序,在前面的讲解中很详细,这里不做解释,每年竞赛都要用到该模块。412864液晶模块 该模块是为了显示水量和对应的费用,只要懂12864液晶模块得用法,那么这部分的程序是比较简单的,本程序中用了一种比较好的显示程序方法,主要是代码短、可以显示多行不同规格的字符比较实际,适用初学者,大家要仔细
7、研究液晶模块的原理,考试用到的概率比较大,程序的详细讲解在后面。5按键指令模块 该模块是为了操作水量水费,抓燃料的多少的基本操作,比如开始、停止、确认、+、-等一般要求,要注意按键抖动消除,按键是基本知识点,至于指示灯就是更一般的知识了,前文中已经讲解。6主机模块 该模块主要是为下载程序,这里不再讲解。一般学生都会下载,下载的方法很多,考试可以根据具体情况应用下载。7继电器、光电耦合继电器模块是为了驱动机械手抓球,即5v控制24v的电机转动,光电耦合是把传感器接收的24v信号转换成5v输入到8255处理,前文有介绍。2.外围接口电路外围接口电路 通过分析2011年试题,选用了物料搬运模块、步进
8、电机模块、a/d转换模块、12864液晶模块、按键指令模块、主机模块、继电器、传感器配置模块、扩展8255等模块,理解了各个模块的功能后,下面就是具体的接线了,接线图如图1。3.实物接线图实物接线图 图1 布局和扎线图1图1 布局和扎线图2二、程序解析二、程序解析 2011年的竞赛真题参考答案共计近千条程序,下面的程序应用c语言完成任务,详细讲解是按照试题的要求分为很多部分编写的参考答案。当然c语言基础要好一些,特别是函数的调用,本程序中用了很多函数,其实这些函数就是任务中的某一个要求,分功能按照顺序向下写,程序是从第一条到最后一条详细分析,每一部分程序的前面都是该部分程序的功能讲解,具体详解
9、如下: /*下面3条程序功能是包含了各种头文件。其中是c51的头文件,其实就是单片机内部规定的sfr寄存器的地址;的功能是当51单片机通过8255和锁存器74ls273来扩展io时,经常用到该头文件,在程序中,用“include”即可使用其中定义的宏来访问绝对地址,包括:cbyte、xbyte、pword、dbyte、cword、xword、pbyte、dword; 是左移右移类头文件。*/ #include #include #include /*下面程序是各个模块的引脚定义,定义了热水供应系统中数码管、液晶显示、ad转换、步进电机的引脚功能*/ sbit smcs1=p15; /数码管片选
10、1 sbit smcs2=p16; / 数码管位选2; sbit smwr=p17; /数码管势能端; sbit cs1=p10; /12864片选1 sbit cs2=p11; /12864片选2; sbit e=p12; /使能端12864; sbit rw=p13; /12864读/写端 sbit rs=p14; /12864数据/命令端; sbit adcs=p24; /ad0809的片选端; sbit adrd=p23; /ad0809的rd; sbit cp=p22; / 步进电机的cp端 sbit dir=p21; / 步进电机的方向端; sbit rl=p20; / 步进电机的
11、左限位端; sbit led2=p35; /进水指示灯;/*由于在该系统中单片机的口不够用,所以用了8255,下面是定义了8255的各个口的地址*/ #define pa xbyte0 x1fff / p27接cs,p26接a1, p25接a0,此时,pa口的外部ram地址; #define pb xbyte0 x3fff / pb口的外部ram地址 #define pc xbyte0 x5fff / pc口的外部ram地址 #define pd xbyte0 x7fff /控制端口的ram地址; /#define temp xbyte0 xefff /ad0809的地址/*定义了各种按键,定
12、义变量button是为了获取pa口的值,因为7个独立按键接的是8255pa口*/ unsigned char bdata button; /定义一个变量,获取pa的值; sbit key1=button0;/开始键 sbit key2=button1;/ 停止键 sbit key3=button2;/ 暂停键 sbit key4=button3; / 确认键 sbit key5=button4; /水费/水量键 sbit key6=button5; /温度加键 sbit key7=button6; / 温度减键; /* 定义了各种传感器,定义变量senior是为了获取pb口的值,因为传感器检测
13、进来的值接到了8255pb口*/ unsigned char bdata senior; /定义一个变量,获取pb口的值 sbit path1=senior0; /行程1 sbit path2=senior1; /行程2; sbit path3=senior2; /行程3; sbit top=senior3; /上升到位; sbit bottom=senior4; /下降到尾 sbit qiu=senior5; /检测是否有求; sbit gw1=senior6; /工位1; sbit gw2=senior7; /工位2; sbit left=p34; /左移 sbit right=p33; / 右移 sbit hold=p32; / 抓球 sbit relax=p31; / 放松 sbit up=p30; / 上升或下降;后续见书上3任务总结任务总结 热水供应系统(本项目)采用了物料搬运模块、步进电机模块、热水供应系统(本项目)采用了物料搬运模块、步进电机模块、a/d转换模块、转换模块、12864液晶模块、按键指令模块、主机模块、继电器、传感器配置模块扩展液晶模块、按键指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论