版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息职业技术学院毕业设计说明书(论文)设计(论文)题目: 基于单片机实现的 数字电压表 专 业: 通信技术 班 级: 学 号: 姓 名: 指导教师: 二 八年十二月三十日信息职业技术学院毕业设计(论文)任务书信息职业技术学院毕业设计(论文)任务书学 生姓 名学号0班级通技 06-2专业通信技术设计(或论文)题目基于单片机实现的数字电压表指导教师姓名职 称工作单位及所从事专业联系方式备 注助教高级工程师四有限公司设计内容:1设计一款基于单片机实现的直流数字电压表。2主要功能:(1)可测量 050v 直流电压,分辨率 0.02v;(2)具有数码管或 lcd 显示电压值功能;(3)具有量程自动转换功
2、能;(4)能实现多路信号的分时测量(可选项) 。进度安排:第 5 周:查询资料和制定方案;第 79 周:电路设计与仿真;第 1011 周:软件设计与仿真;第 1215 周:样机联调与撰写设计报告;第 1617 周:参加答辩。主要参考文献、资料(写清楚参考文献名称、作者、出版单位):1徐爱钧智能化测量控制仪表原理与设计(第二版) 北京航空航天大学出版社,20042吴金戌,沈庆阳8051 单片机实践与应用郭庭吉清华大学出版社,20023黄智伟全国大学生电子设计竞赛训练教程电子工业出版社,20044汪德彪mcs-51 单片机原理及接口技术(第一版) 电子工业出版社,2003审批意见教研室负责人:年
3、月 日备注:任务书由指导教师填写,一式二份。其中学生一份,指导教师一份。四川信息职业技术学院毕业设计说明书目录摘要.1第 1 章绪论.2第 2 章方案设计.32.1方案选择.32.1.1量程转换方案设计.32.1.2显示部分方案设计.32.2方案论证.4第 3 章硬件设计.53.1单片机控制模块设计.53.1.1时钟电路.53.1.2复位电路.53.2量程转换模块设计.63.2.1电路选择.63.2.2工作原理及换算关系.63.3逐次逼近式 a/d 转换模块设计.63.3.1adc0808 简介 .63.3.2a/d 转换电路设计 .83.4显示模块设计.93.4.1lcd 显示模块 .93.
4、4.2lcd1602 的引脚功能 .93.4.3lcd1602 的显示操作 .9第 4 章系统软件设计.144.1主程序设计.144.2a/d 转换程序 .154.3中断服务程序.15第 5 章系统仿真与调试.16四川信息职业技术学院毕业设计说明书i5.1分局部调试.165.2整机调试.165.3系统仿真.17结论.18致谢.19参考文献.20附录系统源程序.21附录整机原理图.31四川信息职业技术学院毕业设计说明书第 0 页共 31 页摘要电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。本系统以 at89c51 单片机为核心,以逐次逼近式 a/d 转换器a
5、dc0808、液晶显示器 lcd1602 为主体,设计了一款简易的数字电压表,能够测量050v 的直流电压,最小分辨率为 0.02v。关键词at89c51 单片机;电压测量;a/d 转换;lcd1602 液晶显示四川信息职业技术学院毕业设计说明书第 1 页共 31 页第 1 章绪论数字电压表的基本工作原理是利用 a/d 转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(
6、a/d) 。数字电压表的核心部件就是 a/d 转换器,由于各种不同的 a/d 转换原理构成了各种不同类型的 dvm。一般说来,a/d 转换的方式可分为两类:积分式和逐次逼近式。积分式 a/d 转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为 u-t(电压-时间)式和 u-f(电压-频率)式两种。逐次逼近式 a/d 转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式 a/d 转换器。本设计以 at89c51
7、单片机为核心,以逐次比较型 a/d 转换器 adc0808、液晶显示器 lcd1602 为主体,构造了一款简易的数字电压表,能够测量 1 路 050v直流电压,最小分辨率 0.02v。四川信息职业技术学院毕业设计说明书第 2 页共 31 页第 2 章方案设计实现数字电压表的方案较多,目前广泛采用的是基于 74 系列逻辑器件方案,本设计将介绍基于单片机实现的方案。74 系列逻辑器件方案采用双积分电路+液晶显示器+逻辑电路+定时采样电路+数据处理实现,被测电压信号由信号输入端加到测量系统,进行预处理后送到后级电路。单片机系统方案此方案采用输入处理电路+adc0808+at89c51+液晶显示实现,
8、被测信号由 adc0808 模拟输入端输入,单片机采集转换数据,将转换数据送出显示。2.1方案选择2.1.1量程转换方案设计方案一:考虑到 adc0808 的八路模拟量输入通道本质上也是模拟开关,因此可以利用其八个模拟通道中的三个作为量程转换器,即根据通道对应的电压测量范围确定对应的电压放大倍数设计对应的前置放大电路。方案二:选用模拟开关芯片 4066 实现量程转换。4066 集成了 4 个模拟开关,每一路开关都有一个控制端控制对应开关的通断。用单片机对控制端进行控制,实现不同量程的转换。方案三:利用手动开关实现量程转换。该方案可简化控制程序,减小系统开销,缩短反应时间,不足之处在于操作麻烦。
9、终上所述:方案三所需元件少、成本低且易于实现,可选此方案。2.1.2显示部分方案设计方案一:用液晶 lcd1602 来显示电压读数可进行片选,实现液晶的动态点亮。因为只需一片液晶就可以完成现示工作,所以当单片机控制前两个控制端时,最高位控制端应接地。用软件作为液晶的驱动显示,且具体译码由软件控制。方案二:同方案一选用 adc0808 进行片选,在译码驱动部分选用液晶lcd1602,用软件译码。四川信息职业技术学院毕业设计说明书第 3 页共 31 页终上所述:由于两个方案都可以实现同样的功能,但方案二设计简单、系统开销小、反应速度较快,因此选择此方案。2.2方案论证经过以上方案设计,决定采用如图
10、 2-1 所示方案。图 2-1系统框图四川信息职业技术学院毕业设计说明书第 4 页共 31 页第 3 章硬件设计3.1单片机控制模块设计单片机控制模块的作用是为控制各单元电路的运行并完成数据的换算或处理,主要由单片机、时钟电路、复位电路组成。3.1.1时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机的 xtal1 和 xyal2 两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,电路中电容器和对1c2c振荡频率有微调作用,通常取(3010)pf 石英晶体选择 6mhz 或 12mhz 都可以。时钟电路如图 3-1 所示。 图 3-1系统时钟电路 图 3-2系统复位电路3.1.2复位
11、电路单片机的 rst 管脚为主机提供了一个外部复位信号输入口。复位信号是高电平有效,高电平有效的持续时间为 2 个机器周期以上。单片机的复位方式可由手动复位方式完成。电阻、电容器的参考值=10k、=10uf、=0.01uf。复位电路1r1chc如图 3-2 所示。四川信息职业技术学院毕业设计说明书第 5 页共 31 页3.2量程转换模块设计3.2.1电路选择图 3-3量程转换开关 图 3-4衰减输入电路输入电路的作用是把不同量程的被测电压,规范到 a/d 转换器所要求的电压值。数字电压表所采用的是逐次逼近式 a/d 转换芯片 adc0808,它要求输入电压 0-2v。本仪表设计的是 0-50v
12、 电压,灵敏度高所以可以不加前置放大器,只需衰减器,如图所示 9m、900k、90k、和 10k 电阻构成 1/10、1/100、1/1000 的衰减器。衰减输入电路可由开关来选择不同的衰减率,从而切换档位。3.2.2工作原理及换算关系如上图通过电阻网络实现电压衰减测量的输入阻抗约为 r4、r5、r6。1 端、2 端单独合上时,vout的大小分别是:1 脚单独合上 vout=vin1;2 脚单独合上 vout= vin(r4+ r5+ r6)/(r3+ r4+ r5+ r6)。由上式可以看出,vout在一定范围时电阻网络衰减程度越大其可输入电压 vin。量程调节,只要把 r5,r6的参数选好然
13、后,由开关 1 端、2 断选择测量电压输出端即完成量程选定。3.3逐次逼近式 a/d 转换模块设计逐次逼近型 a/d 转换器属于直接型 a/d 转换器,它能把输入的模拟电压直接转换为输出的数字代码,而不需要经过中间变量。主要由比较器、环形分配器、控制门、寄存器与 d/a 转换器组成。3.3.1adc0808 简介1adc0808 引脚功能四川信息职业技术学院毕业设计说明书第 6 页共 31 页2 -1msb21add b24add a25add c23vref(+)12vref(-)16in31in42in53in64in75start62 -58eoc7output enable9clock
14、10vcc112 -220gnd132 -7142 -6152 -8lsb172 -4182 -319in228in127in026ale22图 3-5adc0808 引脚图in0in7:8 路模拟量输入。a、b、c:3 位地址输入,2 个地址输入端的不同组合选择八路模拟量输入。ale:地址锁存启动信号,在 ale 的上升沿,将 a、b、c 上的通道地址锁存到内部的地址锁存器。d0d7:八位数据输出线,a/d 转换结果由这 8 根线传送给单片机。oe:允许输出信号。当 oe=1 时,即为高电平,允许输出锁存器输出数据。start:启动信号输入端,start 为正脉冲,其上升沿清除 adc080
15、8 的内部的各寄存器,其下降沿启动 a/d 开始转换。eoc:转换完成信号,当 eoc 上升为高电平时,表明内部 a/d 转换已完成。2adc0808 内部结构图逐次逼近型 a/d 转换器 adc0808 由八路模拟开关、地址锁存与译码器、比较器、d/a 转换器、寄存器、控制电路和三态输出锁存器等组成。其内部结构如图 3-6 所示。四川信息职业技术学院毕业设计说明书第 7 页共 31 页图 3-6adc0808 内部结构3.3.2a/d 转换电路设计集成摸数转换芯片 adc0808 实现的 a/d 转换电路如图 3-7 所示,被测信号由adc0808 模拟输入端输入,完成 a/d 转换后送入单
16、片机,经相应处理后送出显示。图 3-7adc0808 与单片机的连接四川信息职业技术学院毕业设计说明书第 8 页共 31 页3.4显示模块设计3.4.1lcd 显示模块lcd 显示器分为字段显示和字符显示两种。其中字段显示与 led 显示相似,只要送对应的信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显示。系统中采用 lcd1602 作为显示器件输出信息。与传统的 led 数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。lcd1602 可以显示 2 行 16
17、 个汉字。3.4.2lcd1602 的引脚功能lcd1602 模块的引脚如图 3-8 所示,其引脚功能如下:rs:数据和指令选择控制端,rs=0 命令状态;rs=1 数据r/w:读写控制线,r/w=0 写操作;r/w=1 读操作a:背光控制正电源 k:背光控制地e:数据读写操作控制位,e 线向 lcd 模块发送一个脉冲,lcd 模块与单片机间将进行一次数据交换db0db7:数据线,可以用 8 位连接,也可以只用高 4 位连接,节约单片机资源。vdd:电源端 vee:亮度控制端(1-5v) vss:接地端图 3-8lcd1602 模块3.4.3lcd1602 的显示操作1四种基本操作lcd 有四
18、种基本操作,具体如表 3-1 所示。vss vdd vo rs r/w e db0 db1 db2 db3 db4 db5 db6 db7 a klcd 模 块1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16四川信息职业技术学院毕业设计说明书第 9 页共 31 页表 3-1lcd 与单片机之间有四种基本操作(1)读状态字执行读状态字操作,如表 3-1 满足 rs=0,r/w=1。根据管脚功能,当为有效电平时,状态命令字可从 lcd 模块传输到数据总线。同时可以保持一段时间,从而实现读状态字的功能。读状态字流程如图 3-9 所示。图 3-9读入状态字流程图(2)命令字
19、表 3-2 所示为命令字,其主要介绍了指令名称、控制信号及控制代码。其指令名称是指要实现的功能;控制代号是采用的十六进制的数值表示的。1)清零操作是指输入某命令字后即能将整个屏幕显示的内容全部清除;2)归 home 位:将光标送到初始位;其中的号为任意,高低电平均可;3)输入方式:设光标移动方向并指定整体显示,是否移动。i/d=0:减量方式,s=1:移位方式,s=0:不移位;4)显示状态:d 指设置整体显示开关;c 指设置光标显示开关;b 指设置光标的字符闪耀;5)光标画面滚动:r/l 指右移或左移;s/c 指移动总体或光标;6)功能设置:dl 接口数位,l 指显示行数,f 显示字型;如 dl
20、=1:8 位=0,4 位 n=1:2 行=0:1 行,g=1:510=0:57(点阵)rsr/w操作00写命令操作(初始化,光标定位等)01读状态操作(读忙标志位)10写数据操作(要显示内容)11读数据操作(可以把显示存储区中的数据反读出来)四川信息职业技术学院毕业设计说明书第 10 页共 31 页7)cgram 地址设制:相当于一个数据库,可以在其中选择所需要的符号;8)ddram 地址设制:显示定位;9)读 bf 和 ac:b 为最高位忙的标志,f 为标志位;10)写数据:将数据按要求写入到对应的单元;11)读数据:读相应单元内的数据;表 3-2命令字控制信号控制代码指令名称rsrwd7d
21、6d5d4d3d2d1d0清屏0000000001归 home 位000000001*输入方式设制00000001i/ds显示状态设制0000001dcb无标画面滚动000001s/crl*功能设置00001dlnf*cgram 地址设制0001a5a4a3a2a1a0ddram 地址设制001a6a5a4a3a2a1a0读 bf 和 ac01bfac6ac5ac4ac3ac2ac1ac0写数据10数 据读数据11数 据(3)写命令字由表 3-2 可知当 rs=0,r/w=0 时,才可以通过单片机或用户指令把数据写到lcd 模块,此时就对 lcd 进行调制。可采用查询方式:先读入状态字,再判断
22、忙标志位,最后写命令字。图 3-10 所示为写命令字的流程图。四川信息职业技术学院毕业设计说明书第 11 页共 31 页图 3-10写命令字流程图1)定义光标位置显示数据的某位,就是把显示数据写在相应的 ddram 地址中,ddram 地址占 7 位。setddramaddress 命令如表 3-3 所示。光标定位,写入一个显示字符后,ddram 地址会自动加 1 或减 1,加或减由输入方式设置。表 3-3set ddram address 命令rsr/wdb7db6db5db4db3db2db1db0001ac6ac5ac4ac3ac2ac1ac0第 1 行 ddram 地址与第 2 行 d
23、dram 地址并不连续,如表 3-4 所示。表 3-4ddram 地址row12345141516line180h81h82h83h84h8dh8eh8fhline20c0h0c1h0c2h0c3h0c4h0cdh0ceh0cfh2)lcd 初始化从通电开始延时,先经过判忙后再进行功能设置,过一段时间后可以设制显示状态(如设制行、位或阵列)再经过延时清屏后才可以设置输入方式,具体实现过程如图 3-11 所示。四川信息职业技术学院毕业设计说明书第 12 页共 31 页图 3-11lcd 初始化流程图2lcd 显示程序设计lcd 显示程序的设计一般先要确定 lcd 的初始化、光标定位、确定显示字符
24、后,显示流程如图 3-12 显示。图 3-12lcd 显示程序流程图四川信息职业技术学院毕业设计说明书第 13 页共 31 页第 4 章系统软件设计根据需要,可将系统软件按照功能划分为 4 个模块,分别是主程序模块、a/d转换模块、液晶显示模块、中断服务程序模块(改变显示的小数点位置),各模块的功能关系如图 4-1 所示。编写系统软件时,可首先编写各模块的底层驱动程序,而后是系统联机调试,编写上层主程序。系统主程序液晶管显示a/d 转换中断服务.图 4-1系统软件框图4.1主程序设计图 4-2主程序流程图四川信息职业技术学院毕业设计说明书第 14 页共 31 页主程序主要负责各个模块的初始化工
25、作:设置定时器、寄存器的初值,启动a/d 转换,读取转换结果,处理量程转换响应,控制液晶实时显示等,其流程图如图 4-2 所示。4.2a/d 转换程序a/d 转换程序的功能是采集数据,在整个系统设计中占有很高的地位。当系统设置好后,单片机扫描转换结束管脚 p2.6 的输入电平状态,当输入为高电平则转换完成,将转换的数值转换并显示输出。若输入为低电平,则继续扫描。程序流程图如图 4-3 所示。图 4-3a/d 转换程序流程图4.3中断服务程序中断服务程序的功能是为 adc0808 提供时钟信号,当中断发生时将 at89c51单片机的 p2.4 管脚将输出信号取反,为 adc0808 提供 12k
26、hz 时钟信号。四川信息职业技术学院毕业设计说明书第 15 页共 31 页第 5 章系统仿真与调试在进行电路的局部调试之后,我又进行了系统整机调试。首先为 adc0808 接上+12v 的电压,为其它芯片接上+5v 的工作电压。另外还要输入待测的模拟电压,该电压从 200mv 以下的电压开始输起,依次增大,直到达到待测电压的上限 50v为止,记录测量数据并分析系统性能。5.1分局部调试1检查 adc0808 是否工作adc0808 集成了三个控制端。如果某一控制端为高电平则对应的开关将接通。为测量其是否工作,我们将它的三个控制端用导线引出分别接高低电平,发现测量结果与理论分析结果一致,adc0
27、808 工作正常。2各量程调节这一步调试是建立在上述两步调试的基础上的。针对不同的档位,我们通过接入不同待测的模拟量来调节电压。5.2整机调试本系统的测试采用 proteus 软件,系统在 proteus 软件中仿真时使用的元件如表5-1 所示。测试表明,系统运行正常,能准确将直流模拟信号的电压转换成数值显示,并能精确到 5 位有效数字,达到了设计的要求。表 5-1元件名称及属性序号元件名属性序号元件名属性1at89c51单片机7lm016llcd16023cap电容8adc08088 位 a/d 转换器4cap-elec电解电容9pullup上拉电阻5crystal晶振10sw-pot44
28、路模拟开关6res电阻1174ls02与非门四川信息职业技术学院毕业设计说明书第 16 页共 31 页5.3系统仿真采用 keil 编译器进行源程序编译及仿真调试,调好程序后将目标程序导入proteus 进行软硬件调试,基于单片机实现的数字电压表测试值见表 5-2 所示。表 5-2测试值与真实值电压表测得值/v0.000.3320.390.5070.9961.2501.5032.0002.480绝对误差/v0.00+0.02+0.01+0.02+0.01+0.01+0.03+0.00+0.01电压表测得值/v4.9805.079.9612.5015.0319.9229.8839.8449.80
29、绝对误差/v+0.00+0.02+0.01+0.01+0.02+0.02+0.02+0.03+0.02从表中可以看出,电压表测得值误差均在 0.02v 以内,这与采用 8 位 a/d 转换器所能达到的理论误差精度相比较接近,因此在一般的应用场合都可以满足要求。四川信息职业技术学院毕业设计说明书第 17 页共 31 页结论本设计以 at89c51 单片机为控制核心,通过集成摸数转换芯片 adc0808 将被测信号转换成数字信号,经单片机内部程序处理后,由液晶显示器 lcd1602 显示测量结果。仿真测试表明,系统性能良好,测量读数稳定易读、更新速度合理,直流电压测量范围为 050v,最小分辨率为
30、 0.02v,满足任务书指标要求。但是,该系统也存在一定程度的不足,例如:1、输入电压易发生干扰不稳定,且驱动能力可能存在不足,需在被测信号的输入端加上一部分驱动电路,比如将量程转换电路改成带放大能力的自动量程转换电路,将幅值较小的信号经适当放大后再测量,可显著提高精度;2、输出量可用平均值算法来改善,使测量准确度更高。3、若能将测量的电压值实时保存,使用时将更方便。4、adc0808 可实现对 8 个通道的输入信号轮流转换,本设计仅仅使用了其中一个通道,造成了较大的资源浪费。若能对电路稍加改进,实现对多路信号的轮流测量并自动保存相应结果,其应用价值将会更大。四川信息职业技术学院毕业设计说明书
31、第 18 页共 31 页致谢本文是在杨柳老师的精心指导下完成的。在此向他表示衷心的感谢。感谢同学的鼓励和帮助,让我顺利完成本次设计任务。通过短暂的毕业设计,从而提高了我的理论水平,真正做到学有所用,虽然在其过程中我也遇到一些困难,但是从中我也得到了很多的帮助,没有半途而废,没有灰心丧气,我都一一克服了,这些都是一种收获,最让我感到高兴的是终于按质按量的完成了毕业设计。感谢我的指导老师,他严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他循循善诱的教导和不拘一格的思路给予我无尽启迪。本次毕业设计的每一个细节都离不开您的细心指导。感谢同学、朋友的帮助,在这里请接受我诚挚的谢意!四川信息职业技术
32、学院毕业设计说明书第 19 页共 31 页参考文献1徐爱钧智能化测量控制仪表原理与设计(第二版)北京:北京航空航天大学出版社,20042吴金戌,沈庆阳,郭庭吉8051 单片机实践与应用北京:清华大学出版社,20023黄智伟全国大学生电子设计竞赛训练教程北京:电子工业出版社,20044汪德彪mcs-51 单片机原理及接口技术(第一版)北京:电子工业出版社,2003四川信息职业技术学院毕业设计说明书第 20 页共 31 页附录系统源程序comequ50hdatequ51hrsequp2.1;lcd 寄存器选择信号rwequp2.2;lcd 读/写选择信号eequp2.3;lcd 使能信号org00
33、00hljmpmainorg000bhljmpbt0;t0 中断入口org0030h;主程序初始化main:movsp,#60hlcall intmov30h,#30hmov31h,#0a5hmov32h,#30hmov33h,#30hmov34h,#30hmovr7,#30hlcall n1;显示 voltage=0.000lcall n2;定时器初始化程序movtmod,#00hmovth0,#00hmovtl0,#00hsetbtr0mov24h,#03hmovie,#82hlp:movr7,#30h;显示缓冲区首地址lcall displysjmplp;循环显示;定时器中断服务程序,读
34、取 0809 第 0通道的转换结果并转换为显示值bt0:push accpushpswmovpsw,#00hclrtr0movth0,#00hmovtl0,#00h四川信息职业技术学院毕业设计说明书第 21 页共 31 页dec24hmova,24hmova,p1anla,#03hdecazlc0decajzlc1lc0:jnzrtn1mov24h,#03hmovdptr,#0f6ffhmova,#00hmovxdptr,amovr7,#0cchdjnzr7,$movxa,dptrmov40h,amovb,#05h;a/d 转换结果化为显示值mulab;(ad*5)/25mov30h,b;ad
35、*5 的高字节为整数部分movb,#0ahmulab;ad*5 的低字节为/256 的结果,为小数部分mov32h,b;二进制小数换为 10 进制数movb,#0ahmulabmov33h,bmovb,#0ahmulabmov34h,brtn1: setbtr0orl30h,#30hmov31h,#0a5horl32h,#30horl33h,#30horl34h,#30hmov35h,#30hljmplcclc1: jnzrtn2mov24h,#03hmovdptr,#0f6ffhmova, #00hmovxdptr,amovr7,#0cchdjnzr7,$movxa,dptr四川信息职业技术
36、学院毕业设计说明书第 22 页共 31 页mov40h,amovb,#05h; a/d 转换结果显示值mulab;(ad*5)/25mov30h,b;ad*5 的高字节为整数部分movb,#0ahmulab;ad*5 的低字节为/256 的结果,为小数部分mov31h,b;二进制小数换为 10 进制数movb,#0ahmulabmov33h,bmovb,#0ahmulabmov34h,brtn2: setbtr0orl30h,#30horl31h,#30hmov32h,#0a5horl33h,#30horl34h,#30hmov35h,#30h;ajmplcclcc:noppoppswpopa
37、ccretidisply:;lcd 显示子程序movcom,#0cahlcall pr1movr1,#05hmovr0,#30hl:movdat,r0lcall pr2incr0djnzr1,lret;逐字依次输入方式演示程序段n1:movcom,#01hlcall pr1movcom,#06hlcall pr1movcom,#0ehlcall pr1movdptr,#tabmovr2,#8hwrin1:movr3,#00h四川信息职业技术学院毕业设计说明书第 23 页共 31 页wrin:;写入mova,r3movca,a+dptrmovdat,alcall pr2incr3djnzr2,w
38、rinretn2:movcom,#06hlcall pr1movcom,#0c0hlcall pr1movdptr,#tab1movr2,#9hsjmpwrin1tab:dblicaiyutab1:dbvoltag = ;lcd 间接控制方式下的初始化子程序int:lcall delay;调用延时子程序movcom,#3ch;设置工作方式lcall pr1movcom,#01h;清屏lcall pr1movcom,#06h;设置输入方式lcall pr1movcom,#080h;设置显示方式lcall pr1retdelay:movr6,#0fh;延时movr7,#00hdelay1: nop
39、djnzr7,delay1djnzr6,delay1ret;lcd 间接工致方式的驱动子程序;读 bf 和 ac 的值pr0:push accmovp0,#0ffh;p0 置位,准备读clrrs;rs=0,选择指令寄存器setbrw;rw=1,读setbe四川信息职业技术学院毕业设计说明书第 24 页共 31 页;片选,1 有效lcall delaymovcom,p0;读 bf 和 ac6-4 值clrepopaccret;写指令代码子程序pr1:push accclrrs;指令寄存器setbrwpr11:mov p0,#0ffh;p0 置位,准备读setbelcall delaynopmov
40、a,p0clrejbacc.7,pr11;bf=1clrrwmovp0,comsetbeclrepopaccret;写显示数据程序pr2:push accclrrssetbrwpr21:mov p0,#0ffhsetb elcall delaymova,p0;读 bf 和 ac6-4clrejbacc.7,pr21setbrsclrrwmovp0,dat;写入数据高 4 位setbeclrepopaccret;读显示数据程序pr3:push accclrrssetbrwpr31:mov p0,#0ffh;p0 置位,准备读四川信息职业技术学院毕业设计说明书第 25 页共 31 页setbelc
41、all delaymova,p0;读 bf 和 ac6-4clrejbacc.7,pr31setbrs;rs=1,选通数据寄存器setbrwmovp0,#0ffh;读数据setbemovdat,p0clrepopaccretend;单片机毕业设计程序:数字电压表的设计comequ50hdatequ51hrsequp2.1;lcd 积存器选择信号rwequp2.2;lcd 读/写选择信号eequp2.3;lcd 使能信号org0000hljmpmainorg000bhljmpbt0;t0 中断入口org0030h;主程序初始化main:movsp,#60hlcall intmov30h,#30h
42、mov31h,#0a5hmov32h,#30hmov33h,#30hmov34h,#30hmovr7,#30hlcall n1;显示 voltage=0.000lcall n2;定时器初始化程序movtmod,#00hmovth0,#00hmovtl0,#00hsetbtr0mov24h,#03hmovie,#82hlp:movr7,#30h四川信息职业技术学院毕业设计说明书第 26 页共 31 页;显示缓冲区首地址lcall displysjmplp;循环显示;定时器中断服务程序,读取 0808 第 0通道的转换结果并转换为显示值bt0:push accpushpswmovpsw,#00hc
43、lrtr0movth0,#00hmovtl0,#00hdec24hmova,24hjnzrtn1mov24h,#03hmovdptr,#0f6ffhmova,#00hmovxdptr,amovr7,#0cchdjnzr7,$movxa,dptrmov40h,artn:mov b,#05h;a/d 转换结果化为显示值mulab;(ad*5)/25mov30hb;ad*5 的高字节为整数部分movb,#0ahmulab;ad*5 的低字节为/256 的结果,为小数部分mov32hb;二进制小数换为 10 进制数movb,#0ahmulabmov33h,bmovb,#0ahmulabmov34h,b
44、rtn1:setbtr0orl30h,#30hmov31h,#0a5horl32h,#30horl33h,#30horl34h,#30hmov35h,#30hpoppswpopaccreti disply:四川信息职业技术学院毕业设计说明书第 27 页共 31 页;lcd 显示子程序movcom,#0cahlcall pr1movr1,#05hmovr0,#30hl:movdat,r0lcall pr2incr0djnz r1, lret;逐字依次输入方式演示程序段n1:movcom,#01hlcall pr1movcom,#06hlcall pr1movcom,#0ehlcall pr1mo
45、vdptr,#tabmovr2,#8hwrin1:movr3,#00hwrin:;写入mova,r3movca,a+dptrmovdat,alcall pr2incr3jnzr2,wrinretn2:movcom,#06hlcall pr1movcom,#0c0hlcall pr1movdptr,#tab1movr2,#9hsjmpwrin1tab:dbwanghongtab1:dbvoltag = ;lcd 间接控制方式下的初始化子程序int:lcall delay;调用延时子程序movcom,#3ch;设置工作方式lcall pr1movcom,#01h;清屏lcall pr1movcom,#06h;设置输入方式lcall pr1movcom,#080h四川信息职业技术学院毕业设计说明书第 28 页共 31 页;设置显示方式lcall pr1retdelay: mov r6,#0fh;延时movr7,#00hdelay1: nopdjnzr7,delay1djnzr6,delay1ret;lcd 间接工致方式的驱动子程序;读 bf 和 ac 的值pr0:push accmovp0,#0ffh;p0 置位,准备读clrrs;rs=0,选择指令寄存器setbrw;rw=1,读setbe;片选,1 有效lcall delaymovcom,p0;读 bf 和 ac6-4 值c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理沟通中的非语言技巧
- 护理专业知识更新与前沿动态
- 护理员护理服务危机管理与应对
- 压力管理对高血压的影响
- 基于物联网的智能搬运机器人系统设计思路
- 基础护理试题及答案
- 1.1.1税收的性质《税法》(第八版)习题及答案
- 旅游行业监事职责面试指南
- 零售业人力资源部面试技巧
- 东辽经济开发区汽车(暨新能源装备)产业园建设项目水土保持方案报告表
- 2025年四川省高考化学试卷真题(含答案解析)
- 2025年广东省初中学业水平考试语文试卷(含答案详解)
- 2025年湖南省长沙市中考语文真题(解析版)
- 真空压力浸渍工艺-洞察及研究
- T/CAS 850-2024燃气用滚压螺纹热镀锌钢管技术规范
- 企业自行监测指南培训
- 2025中考英语作文复习:12个写作话题写作指导+满分范文
- 零基预算研究分析
- 郑州大学高层次人才考核工作实施办法
- 土壤氡浓度检测方案
- DBJT13-366-2021 建筑工程附着式升降脚手架应用技术标准
评论
0/150
提交评论