版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 1章引言 1.第 2章开发和仿真软件简介 2.2.1 开发软件Keil C51 uVision22.2.2 仿真软件Proteus ISIS 2.第 3章总体设计方案 4.第 4章系统硬件使用介绍 5.4.1 DS18B20温度传感器 5.4.2 单片机控制电路 7.4.3 显示器采用 LCD20048.第 5章 系统软件设计主要流程图 1.05.1 主程序流程图 1.05.2 计算温度流程图 1.15.3 液晶显示流程图 1.25.4 读出温度子程序1.3第 6章 系统仿真 1.4.第 7章 总结与体会 1.5.主要参考资料1.6.附录 1.7.5.5 .源程序代码1.75.6 .软件仿
2、真图 2.9课程设计说明书第1章引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它 所给人带来的方便也是不可否定的, 其中数字温度计就是一个典型的例子, 但人 们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设 施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。在 信息采集(传感器技术)、信息传输(通信技术)和信息处理(计算机技术)三 大信息技术中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术, 在我国各领域已经引用的非常广泛, 可以说是渗透到社会的每一个领域, 人民的 生活与环境的温度息息相关,在工业生产过程中需要实时测量温
3、度,在农业生产 中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段: 传统的分立式温度传感器,模拟集成温度传感器,智能集成温度传感器。目 前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温 度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对 传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式 向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、 总线标准化、高可靠
4、性及安全性、开发虚拟传感器和网络传感器、研制单片测温 系统等高科技的方向迅速发展。本次课程设计,利用Keil和Proteus软件设计和仿真该智能数字多点测温系 统。过程中所用到的主要电路由我们自主设计制作,通过查阅资料和借助指导老师最终设计出结构合理、美观,主要电气指标良好,性能稳定可靠的电路。以培 养我们严谨的科学态度,正确的设计思想,科学的设计方法和良好的工作作风, 掌握一定的专业技能及综合运用基础理论、基本知识的能力。34第2章开发和仿真软件简介2.1 开发软件 Keil C51 uVision2Keil uVISION2是众多单片机应用开发软件中优秀的软件之一,它支持众 多不同公司的M
5、CS-51架构的芯片,它集编辑,编译,仿真等于一体,同时还 支持、PLM、汇编和C语言的程序设计,界面友好,易学易用,在调试程序, 软件仿真方面也有很强大的功能。Keil C51集成开发环境主要由菜单栏、工具栏、源文件编辑窗口、工程窗口和输出窗口五部分组成。工具栏为一组快捷工具图标,主要包括基本文件工具栏、建造工具栏和调试工具栏,基本文件工具栏包 括新建、打开、拷贝、粘贴等基本操作。建造工具栏主要包括文件编译、目标文 件编译连接、所有目标文件编译连接、目标选项和一个目标选择窗口。调试工具 栏位于最后,主要包括一些仿真调试源程序的基本操作,如单步、复位、全速运 行等。在工具栏下面,默认有三个窗口
6、。左边的工程窗口包含一个工程的目标 (target)、组(group)和项目文件。右边为源文件编辑窗口,编辑窗口实质上就 是一个文件编辑器,我们可以在这里对源文件进行编辑、修改、粘贴等。下边的 为输出窗口,源文件编译之后的结果显示在输出窗口中,会出现通过或错误(包括错误类型及行号)的提示。如果通过则会生成“ HEX”格式的目标文件,用于 仿真或烧录芯片。基本环境如图2-1所示:f TVEHLAJ - L1!: I=)file Edit 比e rcyert Qebwg Fgh Peripherals look SVCS Mfirdow belp由值。fTi三川弋&诧囿工I画承1* -(3当殂叫因
7、 熬 林Target 14 %BBC? VJuHsEWM工-:_j Target 1由口 号口由电灯FMJ户110D1002ora0040C6g ooe00901 OiOil01?DIMOH01511“TEMPTEMPLEQUTEMPHEQUTEMPHCEQUTEMPLCEQUTEMPFCEQULCD_XEQULCD RSEQULCD_RMEQULCD_ENEQUDQEQUORG 0000HMAIN:MOV SP, #60HMOV A, tfOOHMOV R。,#20H;H EQU 24H;实源裁25H26H2gH货温度值指2AH2BH2FH;LCD字符显示2 cl;LCD寄存器选号2 1;L
8、CD废写得组2 2允许信号31. 7QS-O数据信;将20H2FH 4原=7川卜叩国 一用加r图2-1 Keil C51 软件的运行界面2.2 仿真软件 Proteus ISISProteus软件是来自英国 Labcenter electronics公司的EDA工具软件。该软件 有十几年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布 图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编 程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出 的效果,配合系统配置的虚拟仪器如示
9、波器、 逻辑分析仪等,为用户建立了完备 的电子设计开发环境。Proteus ISIS的工作界面是一种标准的 Windows界面。主要包括:标题栏、 主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制 按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。主要功能是在图形编辑窗口做出所需的电路图。软件的应用设计界面如图2-2所示:图2-2 Proteus 软件的运行界 面第3章总体设计方案此次课程设计要求设计一个简易数字温度计。采用 AT89C51单片机作为系 统的控制电路,负责数据的采集、处理、发送。可以采用一只温度传感器 DS18B20 产生温度数据并发送给单片
10、机,此传感器,可以很容易直接读取被测温度值, 进 行转换,就可以满足设计要求。显示部分采用LCD2004显示器。这种方法电路比较简单,软件设计也比较简单。总体设计框图如下: LCD2004显示器DS18B20图3.1总体设计框图第4章系统硬件使用介绍4.1 DS18B20温度传感器DS18B20可以程序设定912位的分辨率,精度为i0.5 C。可选更小的封装 方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在 EPROM 中,掉电后依然保存。温度传感器DS18B20弓|脚如图3所示。8765NC NC NC GNDDS18B20NC NCVDD BQ12348引脚封装TO 92封
11、装图4-1温度传感器引脚功能说明:NC :空引脚,悬空不使用;VDD :可选电源脚,电源电压范围35.5Vo当工作于寄生电源时,止匕 引脚必须接地。DQ :数据输入/输出脚。漏极开路,常态下高电平。GND :为电源地DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥 发的温度报警触发器TH和TL、配置寄存器。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号, 接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校 验码(CRC=X8+X5+X4+1
12、)。光刻ROM的作用是使每一个 DS18B20都各不相 同,这样就可以实现一根总线上挂接多个 DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,以 12位转化为例:用16位 符号扩展的二进制补码读数形式提供,以 0.0625C/LSB形式表达,其中S为符 号位。这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中, 二进制中的前面5位是符号位,如果测得的温度大于 0,这5位为0,只要将测 到的数值乘于0.0625即可得到实际温度;如果温度小于 0,这5位为1,测到的 数值需要取反加1再乘于0.0625即可得到实际温度。 例如+125C的数字输出为 07D
13、0H,+25.0625C 的数字输出为 0191H,-25.0625C 的数字输出为 FF6FH,-55c 的数字输出为FC90H。DS18B20温度传感器的内部存储器包括一个高速暂存 RAM和一个非易失性 的可电擦除的E2RAM,后者存放高温度和低温度触发器 TH、TL和结构寄存器。暂存存储器包含了 8个连续字节,前两个字节是测得的温度信息,第一个字 节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是 TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的 内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字 节是冗余检验字节。该字节各
14、位的意义如下:TM R1 R0 1 1 1 1 1低五位一直都是1 , TM是测试模式位,用于设置 DS18B20在工作模式还 是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0 用来设置分辨率,如表1所示:(DS18B20出厂时被设置为12位)表1 DS18B20温度转换时间表R1R0分辨 率/位温度最大转向 时间00993.750110187.510113751112750根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个 步骤:每一次读写之前都要对 DS18B20进行复位,复位成功后发送一条 ROM 指令,最后发送RAM指令,这样才能
15、对DS18B20进行预定的操作。复位要求 主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660 微秒左右,后发出60240微秒的存在低脉冲,主 CPU收到此信号表示复位成 功。4.2单片机控制电路控制电路采用AT89C51作为控制电路主体,附加外部震荡电路和复位电路本设计用到的AT89C51内部引脚介绍:6CTi c-J r- 3 r 1 rJ 二 F江,一1* U T4 T F1耳 江4 r-1 ; ir律汩什个T寸汽z J e Lsgzd E#,曰 Lwjmzd MZd 詈Zd Ld 9 口)9ox 9口诂od 一口震寸OCL UEod mend LL 0O. L
16、d=E山 山却 N山Sd图4.2 AT89C51内部引脚但EO. W9E0. 口与,L1N 与EdulNiREJP0 : P0 口为一个8位漏级开路双向I/O 口,每脚可吸收 8TTL门电 流。当P0 口的管脚第一次写 1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据地址的低八位。在FIASH编程时,P0 口作为原码输入口,当 FIASH进行校验时,P0输出原码,此时 P0外部必须 被拉高。本设计中使用 P0 口作为输出口,输出单片机处理好的温度信息到1602液晶显示中。使用时必须外接上拉电阻以保证输出的不是高阻态。如图所 示:P1 口: P1 是一个内部提供上拉电阻
17、的8位双向I/O 口,P1 口缓冲器能接收输出4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作 输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘 故。在FLASH编程和校验时,P1 作为第八位地址接收。本设计中P1 口作为输出口输出 1602的控制信号,控制 1602的显示/EA/VPP :当/EA 保持低电平时,则在此期间外部程序存储器 (0000H-FFFFH ),不管是否有内部程序存储器。注意加密方式 1时,/EA 将内部锁定为 RESET;当/EA端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTA
18、L1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。本设计中P0 口需要接10k上拉电阻,否则为P0输出高阻态。震荡电路采用石英晶振接单片机 XTAL1与XTAL2端口构成内部震荡方 式。电容C1,C2起稳定震荡频率、快速起震的作用,电容值选用33pF。内部振荡的方式所得时钟信号比较稳定,电路中使用较多。33pTEXT:PSEN ALE EARST0 12 3 fa I .11 1. .1 pp p p图4.4外部震荡电路RST:复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期 的高电平时间。复位电路采用的是开关复位方式,接单片机RST端口。C3
19、IDu、:T曰E, | 一-czi_R9C O- Ik图4.5复位电路:rn4.3显示器采用 LCD2004图4.6 LCD1602引脚图2004采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电 源时对比度最高(对比度过高时会产生鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择 指令寄存器。接单片机P2.5 口。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写 操作。接单片机P2.6 口。第6脚:E(或E
20、N)端为使能(enable附。接单片机P2.7 口。第7-14脚:D0-D7为8位双向数据端。接单片机 P0 口。1602通过D0D7的8位数据端传输数据和指令。显示模式设置:(初始化)0011 0000 0x38设置20 M显示,8位数据接口 ;显示开关及光标设置:(初始化)0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)0000 01NS N=1(读或写一个字符后地址指针加 1 &光标加1), N=0(读或写一 个字符后地址指针减1 &光标减1), S=1且N=1 (当写一个字符后,整屏显示 左移),S=0当写一个字符后,整屏显示不移动,数据指针设H,所以数
21、据地址为 80H+地址码(0-27H , 40-67H)其他设置:置数据首地址为80, 01H(显示清屏,数据指针=0,所有显示=0); 02H(显示回车,数据指针=0)第5章系统软件设计主要流程图5.1 主程序流程图主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值。图5.1主程序流程图5.2 计算温度流程图计算温度子程序是将所输入的数据进行处理, 包括正负判定,小数位、百位、 十位、个位计算图5.2计算温度流程图5.3 液晶显示流程图液晶显示是将LCD1602进行初始化并且确定好显示位,并且将内部存储的 数据信息进行显示。图5.3液晶显示流程图5.4 读出温度
22、子程序读出温度子程序的主要功能是读出 RAM中的9字节,在读出时需进行CRC 校验,校验有错时不进行温度数据的改写。其程序流程图如下所示图5.4读出温度流程图第6章系统仿真LulWtH 4L3022D238-0(3.e*cDflTE:2aiG-L-26HHCKKjn Foma raag raiPJSi 阳门” rna.*jB KlRJK PQ7 rAMIZOE F2.1MA FZNAU,工一自12 rzafAnF7.TM-KHim M.VISC Fl Jva.a1H3F落 r ”g mv, FiimaP33W ra+rra H*Ti ”TTF3.iTJeFiL&.W-cjc图6-1第7章总结与
23、体会经过将近一周的单片机课程设计,最终完成了我的数字温度计的设计,虽然 没有完全达到设计要求(特别是系统初始化过程中没有消除 85.0的初始显示), 但通过努力把程序弄懂修改好并且仿真实现了,还是很高兴的。在本次设计的过程中,我发现很多的问题,虽然以前还做过类似的设计但这 次设计真的让我长进了很多,单片机课程设计重点就在于软件算法的设计, 需要 有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一 件简单的事,特别是这么长的程序,需要修改调试。我发现在单片机的学习过程 中,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的, 更谈不上掌握。从这次的课程设计中,
24、我意识到在以后的学习中,要理论联系实际,把我们 所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与 读的过程中才能提高,这就是我在这次课程设计中的最大收获。 通过这次对数字 温度计的设计与制作,让我了解了设计电路的程序,也让我了解了关于数字温度 计的原理与设计理念,要设计一个电路时我们应该大胆尝试小心求证。 在确定自 己的想法后要进行一步步地仿真。在此感谢我们的张国旭老师,老师严谨细致、一丝不苟的作风一直是我工作、 学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次简易数字温度计设计的每个实验细节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容
25、的态度,帮助我能够很顺利的完成了这次课程设计。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同 学的友谊。主要参考资料1肖看,李群芳.单片机原理、接口及应用清华大学出版社.20102楼然苗.单片机课程设计指导.北京航空航天出版社.20023孙育才.MCS-51系列单片微型计算机及其应用.东南大学出版社4王法能.单片机原理及应用.科学出版社.20045李飞光.单片机课程设计实例指导.北京航空航天大学出版社.2004附录附录一.源程序代码TEMP_ZH EQU 24H;实测温度值存放单元TEMPL EQU 25HTEMPH EQU 26HTEMPHC EQU 29H;正、负温度值
26、标记TEMPLC EQU 2AHTEMPFCEQU2BHLCD_XEQU2FHLCD_RSEQUP2.5LCD_RWEQUP2.6LCD_ENEQUP2.7;LCD字符显示位置;LCD寄存器选择信号;LCD读写信号;LCD允许信号DQEQU P3.2;DS18B20 数据ORG0000HMAIN:MOVSP,#60HMOVA,#00HMOVR0,#20H;将20H2FH单元清零MOVR1,#10HCLEAR:MOVR0,AINC R0DJNZR1,CLEARLCALLSET_LCDSTART:LCALLRST;调用18B20复位子程序LCALLMENU_OK;DS1820存在,调用显示正确信息
27、子程序LCALLTEMP_BJ;显示温度标记JMPSTART2START2:LCALLRST;调用DS18B20复位子程序MOVA,#0CCH;跳过ROM匹配命令LCALLWRITEMOVA,#44H;温度转换前令LCALLWRITELCALLRSTMOVA,#0CCH;跳过ROM匹配LCALLWRITEMOV A,#0BEHLCALL WRITELCALL READLCALL CONVTEMPLCALL DISPBCDLCALL CONVSJMP START2;读温度命令调用DS18B20数据读取操作子程序 调用温度数据BCD码处理子程序 调用温度数据显示子程序调用LCD显示处理子程序;循环
28、.*显示温度标记子程序*TEMP_BJ: MOV A,#0CBHLCALL WCOMMOV DPTR,#BJ1;指针指至U显示消息MOV R1,#0MOV R0,#3BBJJ1:MOV A,R1MOVC A,A+DPTRLCALL WDATAINC R1DJNZ R0,BBJJ1RETBJ1:DB 00H,C;*显示正确信息子程序 *MENU_OK: MOV DPTR,#M_OK1;指针指到显示消息MOV A,#1;显示在第一行LCALL LCD_PRINTMOV DPTR,#M_OK2MOV A,#2LCALL LCD_PRINTMOV DPTR,#M_OK3MOV A,#3LCALL LC
29、D_PRINTRETM_OK1:DB OK4130220238,0M_OK2:DB,0DATE:2016-1-26 ,0M_OK3:DB;*DS18B20RST: SETB DQNOPCLR DQMOV R0,#6BHMOV R1,#04HTSR1: DJNZ R0,$MOV R0,#6BHDJNZ R1,TSR1 SETB DQNOPNOPNOPTSR5: MOV R0,#06BHTSR6:DJNZ R0,$TSR7:SETB DQ复位子程序(初始化)*;主机发出延时复位低脉冲;拉高数据线;时序要求延时一段时间RET.*将自定义字符写入 LCD的CGRAM 中*STORE_DATA:MOV
30、A,#40HLCALL WCOMMOVMOVMOVS_DATA: MOVMOVCLCALLR2,#08HDPTR,#D_DATAR3,#00HA,R3A,A+DPTRWDATA;写入数据.*WRITE: MOV R2,#8CLR CINC R3DJNZ R2,S_DATARETD_DATA: DB 0CH,12H,12H,0CH,00H,00H,00H,00HDS18B20数据写入操作子程序 *;一共8位数据WR1:CLR DQ;开始写入DS18B20总线要处于复位(低)状态MOV R3,#07DJNZ R3,$RRC AMOV DQ,CMOV R3,#3CHDJNZ R3,$;总线复位保持1
31、6微妙以上;把一个字节DATA分成8个BIT环移给C;写入一位SETB DQ;等待100微妙;重新释放总线NOPDJNZ R2,WR1SETB DQRET.*DS18B20READ:MOV R4,#4数据读取操作子程序*;将温度低位、高位、TH、TL从DS18B20中读出MOV R1,#TEMPL;存入 25H、26H、27H、28H 单元RE00:MOV R2,#8RE01:CLR CYSETB DQNOPNOPCLR DQNOPNOP;读前总线保持为低NOPSETB DQ MOV R3,#09 DJNZ R3,$ MOV C,DQ MOV R3,#3CH DJNZ R3,$ RRC ADJ
32、NZ R2,RE01 MOV R1,A INC R1DJNZ R4,RE00 RET;开始读总线释放;延时18微妙;从DS18B20总线读得一位;等待100微妙;把读得的位值环移给A;读下一位.*温度值BCD码处理子程序*CONVTEMP: MOV A,TEMPH ANL A,#08H JZ TEMPC1 CLR C MOV A,TEMPL CPL A ADD A,#01H MOV TEMPL,A MOV A,TEMPH CPL A ADDC A,#00H MOV TEMPH,A MOV MOV SJMP TEMPC1: MOV MOV TEMPC11: MOV;判温度是否零下;温度零上转;二
33、进制数求补(双字节);取反加1TEMPHC,#0BH ;负温度标志TEMPFC,#0BHTEMPC11TEMPHC,#0AHTEMPFC,#0AH A,TEMPHC;正温度标志SWAP AMOV TEMPHC,AMOV A,TEMPLANL A,#0FH;乘 0.0625MOV DPTR,#TEMPDOTTABMOVC A,A+DPTRMOV TEMPLC,A BCDMOV A,TEMPL ANL A,#0F0H SWAP A MOV TEMPL,A MOV A,TEMPH ANL A,#0FH SWAP A ORL A,TEMPL;TEMPLC LOW=小数部分;整数部分;取出高四位;取出低
34、四位;重新组合BCDMOV TEMP_ZH,A LCALL HEX2BCD1 MOV TEMPL,A ANL A,#0F0H SWAP A ORL A,TEMPHCMOV TEMPHC,A MOV A,TEMPL ANL A,#0FH SWAP A ORL A,TEMPLC MOV TEMPLC,A MOV A,R4 JZ TEMPC12;TEMPHC LOW =十位数;TEMPLC HI = 个位数 BCDANL A,#0FH SWAP A MOV R4,A MOV A,TEMPHC;TEMPHC HI =百位数 BCDANL A,#0FH ORL A,R4 MOV TEMPHC,ATEMP
35、C12:RET;*二-十进制转换子程序 *HEX2BCD1: MOV B,#064HDIV ABMOV R4,AMOV A,#0AHXCH A,BDIV ABSWAP AORL A,BRETTEMPDOTTAB:DB00H,00H,01H,01H,02H,03H,03H,04H ;小数部分码表DB05H,05H,06H,06H,07H,08H,08H,09H;* lcd显示子程序 *SHOW_DIG2H: MOV B,#100DIV ABADD A,#30HPUSH BMOV B,LCD_XLCALL LCDP2POP BMOV A,#0AHXCH A,BDIV ABADD A,#30HINC
36、 LCD_XPUSH BMOV B,LCD_XLCALL LCDP2POP BINC LCD_XMOV A,BMOV B,LCD_XADD A,#30HLCALL LCDP2RETSHOW_DIG2L:MOV B,#100DIV ABMOV A,#0AHXCH A,BDIV ABADD A,#30HPUSH BMOV B,LCD_XLCALL LCDP2POP BINC LCD_X MOV A,B MOV B,LCD_X ADD A,#30HLCALL LCDP2 RET;* ;显示区BCD码温度值刷新子程序*DISPBCD: MOVA,TEMPLCANLA,#0FHMOV70H,A;小数位M
37、OVA,TEMPLCSWAPAANLA,#0FHMOV71H,A;个位MOVA,TEMPHCANLA,#0FHMOV72H,A;十位MOVA,TEMPHCSWAPAANLA,#0FHMOV73H,A;百位RET:* LCD显示数据处理子程序*CONV:MOVA,73H;加载百位数据MOVLCD_X,#6;设置位置CJNE A,#1,CONV1JMP CONV2CONV1:CJNE A,#0BH,CONV11MOV A,#-;-号显示JMP CONV111CONV11: MOV A,#0;+号不显示CONV111: MOV B,LCD_XLCALL LCDP2CONV2:CONV3:JMP CO
38、NV3LCALL SHOW DIG2;显示数据INCLCD XMOVA,72H;十位LCALLSHOWDIG2INC LCD XMOV A,71H;个位LCALL SHOWDIG2INCLCDXMOVA,#.MOVB,LCD_XLCALLLCDP2MOVA,70HINC LCDX;加载小数点位;设置显示位置LCALLSHOW DIG2;显示数据RET.*第二行显示数字子程序*SHOWDIG2:ADDA,#30HMOVB,LCD_XLCALLLCDP2RET.*第二行显示数字子程序*LCDP2: PUSHACCMOV A,BADD A,#0C0HLCALL WCOM;设置显示地址;设置LCD的第二行地址;写入命令POP ACCLCALLWDATA;由堆栈取出A;写入数据RET.*对LCD做初始化设置及测试*SET LCD: CLRLCD ENLCALLINIT LCD;初始化LCDLCALLSTORE_DATA ;将自定义字符存入 LCD的CGRAMRET.*LCD初始化*;开显小,显小光标,光标不闪烁INIT_LCD: MOV A,#38H LCALL WCOM LCALL DE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文案策划专员品牌文案创作与推广指导书
- 人才引进培养运用承诺书3篇
- 协调项目进度的协调函(3篇范文)
- 造口护理的老年患者护理要点
- 企业转型与未来发展计划承诺书(7篇)
- 精神症患者心理护理要点
- 电商平台订单处理标准流程
- 医疗信息安全共享保障承诺书(7篇)
- 家庭日程管理制定方案指南
- 电子元器件制造业智能制造实施计划
- 格宾石笼技术交底
- 医院安全知识培训课件
- 新版人教版一年级数学下册第五单元100以内的笔算加减法
- 严重精神障碍患者报告卡
- 区块链导论 课件 第七章:区块链应用案例
- 《报关培训资料》课件
- 《Hadoop大数据原理与应用》课件4.课件-第3章分布式文件系统HDFS(2020春)
- 自动驾驶测试技术
- JJG 521-2024环境监测用X、γ辐射空气比释动能率仪检定规程
- DBJ15-22-2021-T 锤击式预应力混凝土管桩工程技术规程(广东省)
- 耳鸣的认知治疗干预
评论
0/150
提交评论