1、专业设计实训1实训计划安排一、实训意义专业技术实训是电子信息工程、电子科学技术专业学习的重要基础,对于本专业学生掌握和理解相关专业基础理论有重要的意义;有助于提高学生的动手实践能力和分析问题、解决问题的能力;为后续课程的学习提供良好的基础。二、实训目的1、 单片机的基础理论、基本概念的深化学习;2、 掌握解决实际问题的分析能力,确定解决问题的一般方法;3、 掌握电路设计的方法和排除故障的技巧;4、 掌握单片机编程的技巧;调试程序的一般步骤;三、实训内容 具体实训题目和要求,见附录一。四、实训时间 2014年4月14日-2014年6月2日 2014年6月3日、2014年6月10日在实验室305、
2、306公开答辩验收。五、实训地点理工楼实验室305、306、303六、实训人员1、实训指导教师李翠梅、占华林、熊朝松、蒋群、尤国平2、实训班级2012电子信息工程(含职教师范)、2012电子信息工程(职教本科)2012光电子技术、2012电子科学与技术、2012物联网;七、实训安排每班同学3-4人为一组,每组同学选择题目中的任意一组,每题限选一组同学,不得重复;学生选好题目后,请以班为单位和实训指导老师联系。八、实训要求1、 学生在规定时间内完成选题,并由各班班长将选题情况汇总交各指导老师;指导老师按计划布置任务,并指导学生完成选题分析。2、 学生根据各选题的设计要求,完成实验原理的分析,实验
3、方案的确定,电路的设计与仿真,编写代码并仿真调试;3、 实训仿真设计经指导老师确认后,再购买元件,完成电路焊接测试。4、 编程语言可用C语言或汇编语言。9、 实训考核1、实训考核包括实训报告、实训过程视频资料(从设计、焊接到调试全过程)、程序源代码、实训焊接板;每过程完成后,由实训指导老师根据表现给出实训分阶段成绩。2、实训过程完成后,以题目组为单位,公开答辩检查,内容包括:用PPT演示陈述设计思路、设计原理;硬件电路和程序软件的设计完成,并现场操作演示电路功能。 3、实训总成绩中,指导老师评分占总分%40,公开答辩评分占总分60%;具体评分标准参考附录三。通信与电子学院2014年4月12日
4、附录一、选题内容及要求一、 模拟交通灯要求:1、南北方向为主干道,东西方向为支路;主干路绿灯时间为45秒,红灯时间为35秒;支路绿灯时间30秒,红灯时间为50秒,两个方向的黄灯时间都为4秒;2、使用定时器实现时间的倒计时;用显示部件显示主干道路的倒计时变化;3、设计三个外部按钮,分别用以手动控制紧急情况下两个方向同时禁通过;南北方向长时间通过(不显示时间倒计时变化);东西方向长时间通过;释放按钮后则正常通行。二、 设计波形发生器要求:1、 基于单片机和外部芯片产生三角波、方波、锯齿波和正弦波;2、 实际外部按钮,选择输出不同波形;3、 输出波形可以外接示波器显示,并可以调节频率和幅度;(频率在
5、1HZ-500HZ);三、 智能抢答器要求:1、 一个主持人和4位选手;2、 当主持人按下按钮后,开始抢答,电子屏幕显示最快的选手号;如主持人未按下按钮有抢答的,屏幕不显示,用红色LED闪烁报警;3、 抢答成功后,答题必须在30秒内完成,否则答题失败;4、 主持人再次按下按钮后,可以重新抢答;四、 电话拨号显示要求:1、 用拨动开关模拟数字和功能按钮,能完成11位电话号码的显示(用液晶);2、 能实现清零和退位清除;3、 点发送功能按钮后,用红色LED模拟发送成功;五、 频率测量电路要求:1、 能够测量外接的信号频率,范围为1HZ-50KHZ;2、 测量误差:高频信号误差不能大于0.1%;3、
6、 用液晶显示测量结果;六、 简易数字计算器要求:1、 用按钮模拟输入,包括数字和运算符号;完成结果在10位以内的四则运算,2、 并能显示正/负数,小数点后2位有效;七、99秒倒计时电路要求:1、 电路初始状态下,数码管不显示任何数字;2、 按下开始按钮后,显示数字 99;再按一次,开始倒计时;此时开始按钮无效;3、 当变化到0时候,停止变化,用LED闪烁表示计时结束;再按一次开始按钮,从99开始倒计时变化;4、 电路要求设计有暂停、清零功能按钮;八 电子时钟 要求:1、 用数码管显示时间、日期;2、 电路初始时间为2014-05-06、12:00:00;每5秒为间隔分别显示时间和日期;3、 电
7、路能够完成时间和日期的校准;4、 电路采用定时器T0定时;九 电子万年历要求;1、 使用DS1302芯片,电路能使用液晶显示日期、时间、星期几;2、 电路能更改当前时间和日期;3、 系统能设定闹钟,设定时间到了后用LED闪烁表示;十 温度控制器设计要求:1、 使用DS18B20完成温度采集;并能显示当前温度;2、 系统能设定高温限值和低温限值,并能更改;3、 当温度超过高温限值后,用红色LED点亮报警;低于低温限值后用黄色LED点亮报警,温度正常时候点亮绿色LED灯。十一 电梯控制模拟系统要求:1、 用8*8点阵屏幕模拟显示电梯控制过程;2、 要求用8个按钮分别模拟表示4层楼的上、下按钮;3、
8、 当电梯运行时,用不同方向的箭头模拟表示电梯的运行方向,并显示电梯所经过的楼层;十二 电子密码锁 要求:1、 密码锁有4*4键盘和4位数码管组成;2、 输入密码时,数码管显示,输入完成后,密码正确,用绿色LED点亮表示;密码不正确,用黄色LED点亮表示,三次输入密码错误后,用红色LED点亮表示;3、 系统能重新设置新密码,要求用功能按钮切换输入密码和更新密码;更新密码要求输入原密码;十三 红外考勤系统要求:1、 系统有两对红外发射、接收装置;2、 当物体从不同方向顺序进入通过两队红外装置时,系统能识别物体运动的方向;3、 系统根据识别的方向累计进入减去退出的当前值,并显示;当前值为0,系统报警
9、;十四 多路电压测量系统 要求:1、 能同时测量4路直流电压;2、 测量范围为 0-5V;3、 通过按钮切换分别显示4路通道的电压值;十五 语音录放系统 要求:1、 使用外接芯片完成语音的采集;2、 使用外接芯片完成语音的播放;3、 用功能按钮完成语音的采集和播放选择;4、 数据存储器选用62256;十六、直流电机控制器要求:1、 要求系统有一个开始按钮,停止按钮,正转按钮、反转按钮;2、 电路能实现正转、反转的控制,能实现启动和停止的控制;3、 电机的速度可调,并显示当前速度等级;十七、电子称要求:1、能用简易键盘设置单价,对采集到的代表重量的信号能同时显示重量、金额和单价;2、重量显示的单
10、位为公斤,最大称重为达到1公斤;单价和总价的单位为元,最大金额数值为99.99元;3、具有总额累加计算功能;附录二、实训报告模板江西科技师范大学通信与电子学院单片机应用技术实训报告实训题目:_温度控制器设计_小组成员:_张闽亮、廖京_ _黄妹、何岸纬_班 级:_12电信职本_指导老师:_尤国平_一、 实训选题内容、要求要求:1、使用DS18B20完成温度采集;并能显示当前温度;2、系统能设定高温限值和低温限值,并能更改;3、当温度超过高温限值后,用红色LED点亮报警;低于低温限值后用黄色LED点亮报警,温度正常时候点亮绿色LED灯。二、 实训计划和人员安排何岸纬负责电路仿真制作,廖京负责制作板
11、子,黄妹负责芯片购买和制作ppt,张闽亮负责编程调程序,并且负责板子的调试,制作视频的讲解和导入程序等。三、 实训选题分析(主要完成对选题的功能分析,注重原理阐述;如何细化功能模块,软、硬件电路设计的设计思路)首先要了解DS18B20芯片的功能要掌握和使用在编程中要看下芯片的介绍来对其进行编程,在这里还要了解1602液晶显示其的使用,来了解其的使用其中 的指令的和数据的时序图,要知道该怎样来使用这些芯片然后来根据要求来设计程序软件仿真要用到DS18B20来采集温度,并在液晶上显示出来,在用到3个灯泡,来识别它们的状态红灯表示超过高温报警,黄灯表示低温报警,而绿灯表示正常的工作。四、 方案设计(
12、最少要提出两种不同的方案,并比较两种方案在设计、实现细节方面的差异和优劣,确定实训最终选定方案)(1) 直接用DS18B20对外部采集温度,在这里为了更好的给大家展示效果我设置了低温下限温度是40度以下,而正常温度是40度到80度,当超过80度的时候用红灯表示报警,此时为上限温度正常工作是用绿灯表示通过用电烙铁来烫DS18B20来采集温度采集到的温度并在液晶1602中显示出来。 (2)同样是用到DS18B20来采集温度当超过上下线温度是报警显示用蜂鸣器发出的不同的频率来表示它是上限温度报警还是下线温度报警,采取的温度也用1602液晶显示器显示出来。五、 方案实现(根据选定的方案,给出每一功能模
13、块具体的实现细节,所选用的具体芯片介绍,得到的硬件电路和相应的函数模块) 首先要了解89c52或者51芯片的功能介绍 其次来了解液晶显示器1602的介绍基本简介 编辑本段 工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)注:为了表示的方便 ,后文皆以1表示高电平,0表示低电平。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显
14、示效果也不好)。 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。管脚功能1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存
15、器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。特性 3.3V或5V工作电压,对比度可调内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能有80字节显示数据存储器DDRAM内建有192个5X7点阵的字型的字符发生器CGROM8个可由用户自定义的5X7的字符发生器CGRAM2 管脚功能 编辑本段 1602采用标准的16脚接口,其中:第1脚:VSS为
16、电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。3 特性应用 编辑本段 +3.3V电压,对比度可调 内含复位电路 提供各种控制命令,如:清屏、字符闪烁、
17、光标闪烁、显示移位等多种功能 有80字节显示数据存储器DDRAM 内建有192个5X7点阵的字型的字符发生器CGROM8个可由用户自定义的5X7的字符发生器CGRAM微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。4 操作控制 编辑本段 注:关于E=H脉冲开始时初始化E为0,然后置E为1。字符集1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点
18、阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。以下是1602的16进制ASCII码表地址:读的时候,先读左边那列,再读上面那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)5 指令集 编辑本段 1602通过D0D7的8位数据端传输数据和指令。显示模式设置: (初始化)0011 0000 0x38 设置162显示,57点阵,8位数据接口;显示开关及光标设置: (初始化)0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁
19、(1有效)0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1),N=0(读或写一个字符后地址指针减1 &光标减1),S=1 且 N=1 (当写一个字符后,整屏显示左移)s=0 当写一个字符后,整屏显示不移动数据指针设置:数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)其他设置:01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。DS18B20芯片的介绍DS18B20详细中文资料来源:互联网 作者:关键字:18B B20 DS DS18B20的特点:DS18B20 单线数字温度传感器,即“一线器件”,其具有独特的优点:(
20、 1 )采用单总线的接口方式 与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。( 2 )测量温度范围宽,测量精度高 DS18B20 的测量范围为 -55 + 125 ; 在 -10+ 85C范围内,精度为 0.5C 。( 3 )在使用中不需要任何外围元件。( 4 )持多点组网功能 多个 DS18B20 可以并联在惟一的单线上,实现多点测温。( 5 )供电方式灵活 DS18B20 可以通过内部寄生电路从数据线上获取电源。因此,当
21、数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更趋简单,可靠性更高。( 6 )测量参数可配置 DS18B20 的测量分辨率可通过程序设定 912 位。( 7 ) 负压特性电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。( 8 )掉电保护功能 DS18B20 内部含有 EEPROM ,在系统掉电以后,它仍可保存分辨率及报警温度的设定值。DS18B20 具有体积更小、适用电压更宽、更经济、可选更小的封装方式,更宽的电压适用范围,适合于构建自己的经济的测温系统,因此也就被设计者们所青睐。DS18B20内部结构:主要由4部分组成:64 位ROM、温度传感器、非挥发的温度报警触
22、发器TH和TL、配置寄存器。ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。 ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20管脚排列:1. GND为电源地;2. DQ为数字信号输入/输出端;3. VDD为外接供电电源输入端(在寄生电源接线方式时接地)DS18B20内部构成:高速暂存存储器由9个字节组成,当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0
23、和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。温度的低八位数据 0温度的高八位数据 1高温阀值 2低温阀值 3保留 4保留 5计数剩余值 6每度计数值 7CRC 校验 8DS18B20中的温度传感器完成对温度的测量,用16位二进制形式提供,形式表达,其中S为符号位。例如:+125的数字输出07D0H(正温度直接把16进制数转成10进制即得到温度值 )-55的数字输出为 FC90H。(负温度把得到的16进制数取反后加1 再转成10进制数)DS18B20的工作时序:
24、初始化时序主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。若无低电平出现一直都是高电平说明总线上无器件应答。做为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微秒做出响应存在脉冲,告诉主机本器件已做好准备。若没有检测到就一直在检测等待。写操作写周期最少为60微秒,最长不超过120微秒。写周期一开始做为主机先把总线拉低1微秒表示写周期开始。随后若主机想写0,则继续拉低电平最少
25、60微秒直至写周期结束,然后释放总线为高电平。若主机想写1,在一开始拉低总线电平1微秒后就释放总线为高电平,一直到写周期结束。而做为从机的DS18B20则在检测到总线被拉底后等待15微秒然后从15us到45us开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0。读操作对于读数据操作时序也分为读0时序和读1时序两个过程。读时隙是从主机把单总线拉低之后,在1微秒之后就得释放单总线为高电平,以让DS18B20把数据传输到单总线上。DS18B20在检测到总线被拉低1微秒后,便开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。若要送出1则释放总线为高电平。主机在一开始拉
26、低总线1微秒后释放总线,然后在包括前面的拉低总线电平1微秒在内的15微秒时间内完成对总线进行采样检测,采样期内总线为低电平则确认为0。采样期内总线为高电平则确认为1。完成一个读时序过程,至少需要60us才能完成DS18B20 单线通信:DS18B20 单线通信功能是分时完成的,他有严格的时隙概念,如果出现序列混乱, 1-WIRE 器件将不响应主机,因此读写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。根据 DS18B20 的协议规定,微控制器控制 DS18B20 完成温度的转换必须经过以下 3个步骤 :(1)每次读写前对 DS18B20 进行复位初始化。复位要求主 CPU 将数
27、据线下拉 500us ,然后释放, DS18B20 收到信号后等待 16us60us 左右,然后发出60us240us 的存在低脉冲,主 CPU 收到此信号后表示复位成功。(2)发送一条 ROM 指令(3)发送存储器指令具体操作举例:现在我们要做的是让DS18B20进行一次温度的转换,那具体的操作就是:1、主机先作个复位操作,2、主机再写跳过ROM的操作(CCH)命令,3、然后主机接着写个转换温度的操作命令,后面释放总线至少一秒,让DS18B20完成转换的操作。在这里要注意的是每个命令字节在写的时候都是低字节先写,例如CCH的二进制为11001100,在写到总线上时要从低位开始写,写的顺序是“
28、零、零、壹、壹、零、零、壹、壹”。整个操作的总线状态如下图。读取RAM内的温度数据。同样,这个操作也要接照三个步骤。1、主机发出复位操作并接收DS18B20的应答(存在)脉冲。2、主机发出跳过对ROM操作的命令(CCH)。3、主机发出读取RAM的命令(BEH),随后主机依次读取DS18B20发出的从第0一第8,共九个字节的数据。如果只想读取温度数据,那在读完第0和第1个数据后就不再理会后面DS18B20发出的数据即可。同样读取数据也是低位在前的。整个操作的总线状态如下图:、仿真电路图七、程序设计过程(介绍程序设计的算法思想、并介绍主要模块的功能及实现,用自顶向下的设计思路完成程序功能的分解)#
29、includereg52.h#includeintrins.h#define uchar unsigned char#define uint unsigned int#define delayNOP()_nop_();_nop_();_nop_();_nop_();sbit DQ=P33;sbit LCD_RS=P22;sbit LCD_RW=P21;sbit LCD_EN=P20;sbit green=P10;sbit red=P13;sbit yellow=P17;/上面是宏定义别且定义了红绿黄灯的位变量还有液晶显示中和的引脚的位变量uchar code temp_disp_title =
30、current temp :;uchar current_temp_display_buffer=temp: ;uchar code temperature_char8=0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00;uchar code df_table=0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9;uchar current=0; /当前读取的温度整数部分uchar temp_value=0x00,0x00; /从S18B20读取的温度值uchar display_digit=0,0,0,0; /待显示的温度bit DS18B20_IS_O
31、K=1; 传感器正常的标志位void delayms(int x) /延时1程序uchar i;while(x-) for(i=0;i200;i+); / LCD忙等待bit lcd_busy_cheak()bit result;LCD_RS=0;LCD_RW=1;LCD_EN=1;delayNOP();result=(bit)(P0&0x80);LCD_EN=0;return result; /写指令void write_lcd_command(uchar cmd)while(lcd_busy_cheak();LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_(); _nop_
32、();P0=cmd; delayNOP();LCD_EN=1;delayNOP();LCD_EN=0; /写数据void write_lcd_data(uchar dat)while(lcd_busy_cheak();LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=dat; delayNOP();LCD_EN=1;delayNOP();LCD_EN=0; / 初始化void lcd_initialise()write_lcd_command(0x01); delayms(5);write_lcd_command(0x38); delayms(5);write_lcd_command
33、(0x0c); delayms(5);write_lcd_command(0x06); delayms(5); 设置显示的位置void set_lcd_POS(uchar pos)write_lcd_command(pos|0x80); /延时2程序void delay(uint x)while(-x); /初始化DS18B20uchar init_DS18B20()uchar status;DQ=1;delay(8);DQ=0;delay(90);DQ=1;delay(8);status=DQ;delay(100);DQ=1;return status; 读一个字节uchar readone
34、byte()uchar i,dat=0;DQ=1;_nop_();for(i=0;i=1;DQ=1; _nop_();_nop_();if(DQ)dat|=0x80;delay(30);DQ=1;return dat; /写一个字节void writeonebyte(uchar dat)uchar i;for(i=0;i=1; /读取温度void read_temperature()if(init_DS18B20()=1)DS18B20_IS_OK=0;elsewriteonebyte(0xcc);writeonebyte(0x44);init_DS18B20();writeonebyte(0
35、xcc);writeonebyte(0xbe);temp_value0=readonebyte();temp_value1=readonebyte();DS18B20_IS_OK=1; /LCD上显示当前的温度void display_temperature()uchar i;uchar t=150,ng=0; /高5位全是一位负数,为负数时取反加一并设置负数标识if(temp_value1&0xf8)=0xf8)temp_value1=temp_value1;temp_value0=temp_value0+1;if(temp_value0=0x00)temp_valuei+; /负数标识置一
36、ng=1; /查表得到的小数部分display_digit0=df_tabletemp_value0&0x0f; /获取温度整数部分current=(temp_value0&0xf0)4)|(temp_value1&0x07)80)red=1;yellow=0;green=0;if(current=40¤t=80)green=1;red=0;yellow=0; / 高位为0不显示if(display_digit3=0)current_temp_display_buffer7= ; /高位为0且次高位为0是次高位不显示if(display_digit2=0&display_digit
37、3=0)current_temp_display_buffer8= ; /负数符号显示在恰当位置if(ng)if(current_temp_display_buffer8= )current_temp_display_buffer8=-;elseif(current_temp_display_buffer7= )current_temp_display_buffer7=-;elsecurrent_temp_display_buffer6=-; /第一行显示标题 set_lcd_POS(0x00);for(i=0;i16;i+)write_lcd_data(temp_display_titlei
38、); /在第二行显示当前温度set_lcd_POS(0x40);for(i=0;i16;i+)write_lcd_data(current_temp_display_bufferi); /显示温度符号set_lcd_POS(0x4d);write_lcd_data(0x00);set_lcd_POS(0x4e);write_lcd_data(c); /主函数void main()P1=0x00;lcd_initialise();read_temperature();delay(50000);delay(50000);while(1)read_temperature();if(DS18B20_I
39、S_OK) display_temperature();delayms(100);八、焊接、调试过程(说明焊接过程中的故障情况及调试处理的方法)在焊接中一开始焊接完成之后在测试没有成功,屏幕不不显示温度,后来在场电路中发现了P0后没有接上来电阻,晶振中短路,查完电路之后再测试还是没用,在紧接着在看程序原来程序中的显示没有循环显示扫描温度,在这个的调试中没有过多的错误,只是烦了点小错误,但是经过查找一下就解决了问题找到问题的根源,然后将它解决了九、焊接板正面图(板子上必须能清晰看见姓名和学号)十、焊接板背面图十一、实训元件清单十二、调试结果展示(用图片展示调试正常的结果)下线温度黄灯亮为了更明显
40、的展示效果下线温度在40度以下此时为正常温度40度80度绿灯亮由于绿灯的导通电流比较高所以看的不是很明显。十三、实训心得(要求不得少于500字,必须手写)做完了这个实训电路设计之后让我懂得了许多的,让我学会了怎样的去用单片机设计一个电路,在做这个电路设计之前先用仿真软件仿真出来 ,然后在写程序将程序导入芯片里,在设计是经过了就在网上收索一些芯片的管脚图,来了解芯片的功能,再通过一些和次程序相似的进行参考,然后在写程序,虽然不是一样的但是通过参考程序还是将其做出来了,通过这一次的设单片机计让我懂得了许多,对于一些的芯片该如何使用并有什么作用也有了一定的了解 ,在仿真完之后我就开始进行焊接电路,在焊接的过程中虽然焊完没能一次行成功,但是 通过自己的检查后来还是很好的完成了,然后程序也出来了,在将两个联合起来在检查的过程中有些由于焊接的不是很细心有一些店没焊到使得整个电路都没起到作用,还有在焊接完成后虽然成功了,但是电路并不是 很稳定,但是通过自己的不断的做,不断的询问学长和老师并