电子综合课程设计与实践.doc
《电子综合课程设计与实践.doc》由会员分享,可在线阅读,更多相关《电子综合课程设计与实践.doc(58页珍藏版)》请在咨信网上搜索。
《电子综合课程设计与实践》课程设计 题 目: 数字温度计设计 学院(系): 自动化学院 年级专业: 自动化专业 学生姓名: 张纪炜 张熠 代涛 彭彬 指导教师: 刘海涛 重庆大学本科学生课程设计指导教师评估成绩表 学 号 指导教师 刘海涛 学 院 自动化学院 专 业 自动化专业 学生姓名 张纪炜 张熠 代涛 彭彬 课程设计 题目 指 导 教 师 评 语 课程设计 成绩 指导教师署名: 年 月 日 重庆大学本科学生课程设计任务书 课程设计题目 数字温度计设计 学院 自动化学院 专业 自动化 年级 2023级 设计规定: 设计一个可测量一定温度范围的数字温度计,实时显示当前温度值。 1. 基本规定 (1)可测量温度范围:000.0℃~102.0℃ (2)温度温度分辨力:0.4℃ (3)测量相对误差:≤2% (4)系统响应时间:≤5s (5)用数码管实时显示被测温度 2.提高规定 (1)实现多个温度点的实时测量 (2)实现温度的分档测量 3.发挥部分 (1)实现零下温度测量并显示 (2)实现摄氏、华氏的转换并显示 (3)温度过高报警 (4)自己设计的其他功能 学生应完毕的工作: 完毕设计任务基本规定,并实现部分或所有提高规定和发挥部份。 参考资料: [1]白泽生. 用MCS-51单片机实现温度的检测[J].现代电子技术,2023,(10):1-3. [2]张开生,郭国法.MCS-51单片机温度控制系统的设计[J].微计算机信息,2023,21(7):68-69. [3]何立民.单片机应用技术选编[M].北京:北京航空航天大学出版社,2023. [4]杨刚,周群.电子系统设计与实践[M].北京:电子工业出版社,2023. [5]丁元杰,单片机原理及运用,机械工业出版社,2023. 课程设计工作计划: 第一周:动员大会,师生见面,布置任务,拟定初步硬件制作、软件设计设计方案。 第二周:硬件制作、软件设计中。 第三周:软硬件仿真调试,检查设计结果,归还仪器设备。 任务下达日期 2023 年 2 月 27 日 完毕日期 2023 年 3 月 6 日 指导教师 (署名) 学生 (署名) 前 言 单片机技术作为计算机技术的一个分支,广泛地应用于工业控制,智能仪器仪表,机电一体化产品,家用电器等各个领域。“单片机原理与应用”在工科院校各专业中已作为一门重要的技术基础课而普遍开设。学生在课程设计,毕业设计,科研项目中会广泛应用到单片机知识,并且,进入社会后也会广泛接触到单片机的工程项目。鉴于此,提高“单片机原理及应用”课的教学效果,让学生参与课程设计实习甚为重要。单片机应用技术涉及的内容十分广泛,如何使学生在有限的时间内掌握单片机应用的基本原理及方法,是一个很有价值的教学项目。为此,我们进行了“单片机的学习与应用”方面的课程设计,锻炼学生的动脑动手以及协作能力。 单片机课程设计是针对模拟电子技术,数字逻辑电路,电路,单片机的原理及应用课程的规定,对我们进行综合性实践训练的实践学习环节,它涉及选择课设任务、软件设计,硬件设计,调试和编写课设报告等实践内容。通过本次课程设计实现以下三个目的:第一,让学生初步掌握单片机课程的实验、设计方法,即学生根据设计规定和性能约束,查阅文献资料,收集、分析类似的相关题目,并通过元器件的组装调试等实践环节,使最终硬件电路达成题目规定的性能指标;第二,课程设计为后续的毕业设计打好基础,毕业设计是系统的工程设计实践,而课程设计的着眼点是让学生开始从理论学习的轨道上逐渐引向实际运用,从已学过的定性分析、定量计算的方法,逐步掌握工程设计的环节和方法,了解科学实验的程序和实行方法。第三,培养学生勤于思考乐于动手的习惯,同时通过设计并制作单片机类产品,使学生可以自己不断地学习接受新知识(如在本课设题目中存在智能测温器件DS18B20,就是课堂环节中不曾提及的“新器件”),通过多人的合作解决现实中存在的问题,从而不断地增强学生在该方面的自信心及爱好,也提高了学生的动手能力,对学生以后步入社会参与工作打下一定良好的实践基础。 目 录 摘要……………………………………………………………………1 一 单片机简介………………………………………………………2 二 设计方案…………………………………………………………3 三 设计方案的总体设计框图………………………………………5 四 系统软件算法及设计……………………………………………12 五 总结与体会………………………………………………………13 附录一 元件清单……………………………………………………14 附录二 电路图………………………………………………………15 附录三 源程序………………………………………………………16 参考文献………………………………………………………………34 摘要 随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同种类的传感器,可实现诸如电压、湿度、温度、速度、硬度、压力等的物理量的测量。本文将介绍一种基于单片机控制理论及其应用系统设计的数字温度计。 本文重要介绍了一个基于AT89C51单片机的测温系统,具体描述了运用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机爱慕的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也进行一一介绍,该系统可以方便的是实现温度采集和显示,并可以根据需要任意设定上下限报警温度,它使用起来方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合我们平常生活和工农业生产中的温度测量,也可以当做温度解决模块嵌入其他系统中,作为其他主系统的辅助扩展。DS18B20和AT89C51结合实现最简温度检测系统,该系统结构简朴,抗干扰能力强,适合与恶劣环境下进行现场温度测量,有广泛的应用前景。 本设计一方面是拟定目的,气候是各个功能模块的设计,再在Proteus软件上进行仿真,修改,仿真。 本温度计属于多功能温度计,可以设立上下报警温度,当温度不在设立范围内时,可以报警。 关键词:单片机,数字控制,温度计, DS18B20,AT89C52 一 单片机简介 二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。但是,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。尚有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简朴运算和控制。由于它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。单片机在这种情况下诞生了。截止今日,单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据解决,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。 单片机自70年代问世以来得到蓬勃发展,目前单片机功能正日渐完善:单片机集成越来越多资源,内部存储资源日益丰富,用户不需要扩充资源就可以完毕项目开发,不仅是开发简朴,产品小巧美观,同时抗干扰能力加强,系统也更加稳定,使得它更加适合工业控制领域,具有更加广阔的市场前景;提供在线编程能力,加速了产品的开发进程,为公司产品上市赢得宝贵时间。此外单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。单片机的设计目的重要是增强“控制”能力,满足实时控制(就是快速反映) 的需要。 我们作为21世纪的工科大学生,学的是自动化专业,无论是从事科学研究工作,还是开办电子器件的工厂还是经营电子厂品的贸易,不仅要纯熟地使用通用微机进行各种数据解决,还要把计算机技术运用到本专业领域或相关领域,既具有开发创新能力。这就规定我们要纯熟地掌握单片机。 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据解决能力的中央解决器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定期器/计时器等功能(也许还涉及显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完毕程序设计者实现规定的任务。 二 设计方案 2.1设计务任和规定 1、基本范围-20℃——125℃ 2、精度误差小于0.5℃ 3、LED 数码直读显示 4、可以任意设定温度的上下限报警功能. 2.2方案辩证 1温度计软件设计流程图: 设立堆栈指针 将温度转换为BCD码 发读存储器命令 读温度数据 复位DS18B20 发跳过ROM命令 显示缓冲区初始化 更新数据缓冲区 延时 发温度转换命令 复位DS18B20发跳过ROM命令 开始 2.元器件的选取 单片机芯片的选取: 方案一 采用AT89C52芯片作为硬件核心,运用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,并且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具有ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片导致一定的损坏。 方案二 采用AT89C52单片机与MCS-51系列单片机相比有两大优势:第一,片内程序存储器采用闪存,使程序的写入更加方便;第二,提供了更小尺寸的芯片,使整个硬件电路的体积更小,且管脚数目为20个,与MCS-51相比减少一倍,使理解更容易。 综上所述:本课设中单片机芯片采用AT89C52。 温度传感器的选取: 方案一 采用热敏电阻传感器。运用热敏电阻随温度变化而显著变化,能直接将温度的变化转换为能量的变化,进而制成温度计。但是其测温传感器比较复杂,并且不易通过编制程序来控制测温精度,增大系统设计的难度。 方案二 采用DS18B20温度传感器。DS18B20的内部3脚(或8脚)封装;使用特有的温度测量技术,将被测温度转换成数值信号;3.0~5.5V的电源供电方式和寄生电源供电方式;ROM由64位二进制数字组成,共分为8个字节;RAM由9个字节的高速暂存器和非易失性电擦写ROM组成。 综上所述:温度传感器选取智能测温器件DS18B20。 本设计显示电路采用1602液晶显示模块芯片。 3系统最终设计方案: 综上各方案所述,对本次课设的方案选定: 采用AT89C52作为主控制系统; 1602液晶显示模块芯片作为温度数据显示装置;而智能温度传感器DS18B20器件作为测温电路重要组成部分。至此,系统最终方案拟定。 三 设计方案的总体设计框图 温度计电路设计总体设计方框图如图所示,控制器采用单片机AT89C52,温度传感器采用DS18B20,用1602液晶显示屏以串口传送数据实现温度显示。 3.1硬件电路框图 单片机芯片 AT89C52 复位电路 晶振控制 1602 显示器 温度检测电路 DS18B20 报警温度调整键 蜂鸣器,指示灯 图 总体设计方框图 3.2硬件电路概述 系统由单片机最小系统、显示电路、按键、温度传感器等组成。 本电路是由AT89C2051单片机为控制核心,具有与MCS-51系列单片机完全兼容,程序加密等功能,带2KB字节可编程闪存,工作电压范围为2.7~6V,全静态工作频率为0~24MHZ;显示电路由1602液晶显示模块芯片,可以进行多行显示;温度报警按键设为五个,可以显示华氏温度,调节高低报警温度;温度传感器电路重要由DS18B20测温器件构成,该器件重要功能有:采用单总线技术;每只DS18B20具有一个独立的不可修改的64位序列号;低压供电,电源范围为3~5V;测温范围为-20℃~+125℃,误差为±0.5℃;复位电路是10K电阻构成的上电自动复位。 3.3主控电路 单片机AT89C52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。晶振采用12MHZ。复位电路采用上电加自动复位。 主控芯片AT89C52 晶振电路 复位电路 3.4显示电路 本设计显示电路采用1602液晶显示模块芯片,该芯片可现实16x2个字符,比以前的七段数码管LED显示器在显示字符的数量上要多得多。此外,由于1602芯片编程比较简朴,界面直观,因此更加易于使用者的操作和观测。1602A芯片的接口信号说明如下表: 1602A芯片的接口信号说明 液晶显示电路 3.5报警温度调节电路 本系统一共设立了五个按键,k1键只是显示华氏温度,k4键按下不松开显示高低报警温度,松开后恢复显示正常温度,k2键和k3键是分别用来调节高低报警温度,k键控制调节时的上调或下调。具体调节如将高温报警温度调高,第一步将k4键按下不松,k键升起位置,调节k2键,则高温报警温度向上增长,反之亦然。低温报警同理。 报警节点电路 3.6温度传感器及DS18B20测温原理 DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改善型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际规定通过简朴的编程实现9-12位的数字值读数方式。DS18B20的性能特点如下: (1)独特的单线接口仅需要一个端口引脚进行通信,DS18B20在与微解决器连接时仅需要一条口线即可实现微解决器与DS18B20的双向通讯。 (2)DS18B20支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点组网测温; (3)无须外部器件,所有传感元件及转换电路集成在形如一只三极管的集成电路内; (4)可通过数据线供电,电压范围为3.0-5.5V; (5)零待机功耗; (6)温度以9或12位数字,相应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温; (7)用户可定义报警设立; (8)报警搜索命令辨认并标志超过程序限定温度(温度报警条件)的器件; (9)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; (10)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力 DS18B20采用3脚PR35封装或8脚SOIC封装,其引脚排列及内部结构框图如图及测温原理图如下所示: 图 引脚排列 预置 斜率累加器 比较 低温度系数振荡器 计数器1 温度寄存器 Tx 预置 =0 高温度系数振荡器 -0 计数器2 T1 加1 停止 T2 图 DS18B20测温原理图 64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检查码,这也是多个DS18B20可以采用一线进行通信的因素。温度报警触发器TH和TL,可通过软件写入户报警上下限。 DS18B20温度传感器的内部存储器还涉及一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图4所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于拟定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图5所示。低5位一直为1,TM是工作模式位,用于设立DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设立为0,用户不要去改动,R1和R0决定温度转换的精度位数,来设立分辨率。 温度 LSB 温度 MSB TH用户字节1 TL用户字节2 配置寄存器 保存 保存 保存 CRC TM R1 R0 1 1 1 1 1 图5 DS18B20的字节定义 DS18B20的分辨率定义如表1所示 表1 分辨率设立表 R0 R1 分辨率 最大温度转移时间 0 0 9位 96.75ms 0 1 10位 187.5ms 1 0 11位 375ms 1 1 12位 750ms 由表1可见,DS18B20温度转换的时间比较长,并且分辨率越高,所需要的温度数据转换时间越长。在实际应用中要将分辨率和转换时间权衡考虑。 主机控制DS18B20完毕温度转换过程是:每一次读写之前都要对DS18B20进行复位,即将数据总线下拉500us,然后释放,DS18B20收到信号后等待16-60us左右,之后发出60-240us的存在低脉冲,主CPU收到此此信号表达复位成功;复位成功后发送一条ROM指令,然后发送RAM指令,对DS18B20进行预先读写操作。 表2 ROM指令集 指令 约定代码 功能 读ROM 33H 读DS18B20中的编码 符合ROM 55H 发出此命令后,接着发出64位ROM编码,访问单线总线上与该编辑相相应的DS18B20使之做出响应,为下一步对该DS18B20的读写作准备 搜索ROM 0F0H 用于拟定挂接在同一总线上的DS18B20个数和辨认64位ROM地址,为操作各器件作准备 跳过ROM 0CCH 忽略64位ROM地址,直接向DS18B20发送温度变换指令 告警搜索命令 0ECH 执行后,只有温度跳过设定值上限或下限的片子才干做出反映 表3 RAM指令集 指令 约定代码 功能 温度转换 44H 启动DS18B20进行温度转换 读暂存器 0BEH 读暂存器9个字节内容 写暂存器 4EH 将数据写入暂存器的TH、TL字节 复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 重调E2RAM 0B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读供电方式 0B4H 启动DS18B20发送电源供电方式的信号给主CPU DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中尚有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完毕温度测量。计数门的启动时间由高温度系数振荡器来决定,每次测量前,一方面将最低温所相应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在最低温所相应的一个基数值。 减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就反复上述过程,直到温度寄存器值大体被测温度值。 四 系统软件算法及设计 整个系统是由硬件配合软件来实现的,在硬件拟定后,编写的软件的功能也就基本定型了。所以软件的功能大体可分为两个部分:一是监控,这也是系统的核心部分,二是执行部分,完毕各个具体的功能。系统程序重要涉及主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。 4.1主程序 主程序的重要功能是负责温度的实时显示、读出并解决DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度。 4.2读出温度子程序 读出温度子程序的重要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改变。 4.3温度转换命令子程序 温度转换命令子程序重要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完毕。 4.4 计算温度子程序 计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的鉴定。 4.5 显示数据刷新子程序 显示数据刷新子程序重要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。 五 设计体会与小结 通过将近三周的单片机课程设计,终于完毕了我们的数字温度计的设计,虽然没有完全达成设计规定,但从心底里说,还是快乐的,毕竟这次设计把实物都做了出来,快乐之余不得不深思! 在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简朴的事,举个例子,以前写的那几次,数据加减时,我用的都是BCD码,这一次,我所有用的都是16进制的数直接加减,显示解决时在用除法去删分,感觉效果比较好,有好多的东西,只有我们去试着做了,才干真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。 从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才干提高,这就是我在这次课程设计中的最大收获。 在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商议,听听不同的见解对我们更好的理解知识,更好的学会了团队协调作战。 总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才干实现其价值!有些东西认为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。 通过这次的课程设计,也为我们以后毕业设计的制作奠定了一定的基础。 附录一 元件清单 序号 名称 型号 数量 1 实验板 1个 2 AT89C52 1个 3 DS18B20 2个 4 22pf电容 10个 5 10uf电容 10个 6 晶振 12MHZ 1个 7 10k电阻 10个 8 普通按键 SW-PB 15个 9 蜂鸣器 2个 10 LED灯 5个 11 排阻 20孔 12 液晶屏 JHD162A 1个 13 DIP40 1个 14 DIP16 1个 15 插针 1个 16 插座 2排 17 双排插针 2排 18 电烙铁 1个 19 镊子 1个 20 小起子 1个 21 斜口钳 1个 22 导线 若干 23 附录二 电路图 键盘说明: 第一个键 第二个键 第三个键 第四个键 第一排 初始化 进入设立界面 测量2口传感器 测量3口传感器 第二排 最高温度 最低温度 增长 减少 第三排 摄氏变华氏 华氏变摄氏 改变精确度 显示 附录三 源程序 #include <reg51.h> sbit DQ1=P3^2;//ds18b20与单片机连接口 sbit DQ2=P3^3; sbit RS=P3^6; sbit RW=P3^5; sbit EN=P3^4; sbit LED1=P0^7; sbit LED2=P0^5; sbit BEEP=P0^2; unsigned char code str1[]={"YEAH! "}; unsigned char code str2[]={" LET'S DO IT!"}; unsigned int upper_v1=0x004f; unsigned int upper_v2=0x003f; unsigned int lower_v1=0x0001; unsigned int lower_v2=0x0005; unsigned char data t_data[]={'0','0','0',0xdf,0x43}; unsigned char sensor_flag=0; unsigned char sensor_num=0; unsigned char setup_flag=0; unsigned char upper_flag=0; unsigned char lower_flag=0; unsigned char upper_set=0; unsigned char lower_set=0; unsigned char data disdata[8]; unsigned int tvalue1;//温度值 unsigned int tvalue2; unsigned int tvalue; unsigned char tflag; unsigned char tflag1; unsigned char tflag2; unsigned char flagdat; unsigned char t_change=0; unsigned char res_flag1=0; unsigned char res_flag2=0; unsigned char beep_flag=0; unsigned char beep_flag2=0; void delay1ms(unsigned int ms)//延时1毫秒(不够精确的) {unsigned int i,j; for(i=0;i<ms;i++) for(j=0;j<100;j++); } /*************************lcd1602程序**************************/ void wr_com(unsigned char com)//写指令// { delay1ms(1); RS=0; RW=0; EN=0; P2=com; delay1ms(1); EN=1; delay1ms(1); EN=0; } void wr_dat(unsigned char dat)//写数据// { delay1ms(1);; RS=1; RW=0; EN=0; P2=dat; delay1ms(1); EN=1; delay1ms(1); EN=0; } void lcd_init()//初始化设立// {delay1ms(15); wr_com(0x38);delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x01);delay1ms(5); wr_com(0x06);delay1ms(5); wr_com(0x0c);delay1ms(5); } void display(unsigned char *p)//显示// { while(*p!='\0') { wr_dat(*p); p++; delay1ms(1); } } void init_play()//初始化显示 { lcd_init(); wr_com(0x80); display(str1); wr_com(0xc0); display(str2); sensor_flag=0; sensor_num=0; setup_flag=0; upper_flag=0; lower_flag=0; upper_set=0; lower_set=0; t_change=0; LED1=0; LED2=0; BEEP=1; beep_flag=0; } void setup() //////进入设立界面 { unsigned char code setup[]={"SET UP: "}; //lcd_init(); wr_com(0x01); wr_com(0x80); display(setup); setup_flag=1; sensor_num=0; upper_flag=0; lower_flag=0; upper_set=0; lower_set=0; } void beep() { if(beep_flag==1) { BEEP=0; delay1ms(200); } if(beep_flag==0) { BEEP=1; delay1ms(200); } } void beep2() { if(beep_flag2==1) { BEEP=0;delay1ms(200); }else { BEEP=1; delay1ms(200) ; } } void show_temp(unsigned int limit_v,tflag) ////输出温度函数 { unsigned char t_flag; t_data[0]=limit_v/100+0x30; t_data[1]=limit_v%100/10+0x30; t_data[2]=limit_v%10+0x30; if(tflag==0) { t_flag=0x20; }else { t_flag=0x2d; } if(t_data[0]==0x30) { t_data[0]=0x20; if(t_data[1]==0x30) { t_data[1]=0x20; } } wr_com(0xc8); wr_dat(t_flag); wr_com(0xc9); display(t_data); } void upper() ////////显示上限值 { if(sensor_num==0) { ; } if(sensor_num==1) { wr_com(0xc0); display("Upper: "); wr_com(0xc8); if(upper_v1<0x0fff) { tflag=0; }else { upper_v1=~upper_v1+1; tflag=1; } show_temp(upper_v1,tflag); upper_flag=2; } if(sensor_num==2) { wr_com(0xc0); display("Upper: "); wr_com(0xc8); if(upper_v2<0x0fff) { tflag=0; }else { upper_v2=~upper_v2+1; tflag=1; } show_temp(upper_v2,tflag); upper_flag=1; } lower_flag=0; upper_set=1; lower_set=0; } void lower() ///////显示下限值 { if(sensor_num==0) { ; } if(sensor_num==1) { wr_com(0xc0); display("Lower: ");- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 综合 课程设计 实践
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文