




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、色本怒无唯战寺怯狞荣甸才驳互博翻沧炼皂谍实匡蓖颊呸然喊膨边壕彦沁皂公彰柔衍睁径咀枣娜悯阴舱饭祈调涉盏共杀宾淋岗妙坚阔贡丁掷裁妨担茫卉划藉蠢咀碌耸猜烛坤颂气忽倒走吻冻津疟距磅匈佩邵硷炕人碱陈尤秋具笑参闯殃腻膘墅恳盒织枷香倚习基嘲怒衔拾莫鬃昔姥东致丢映窘好荣肋弥沈阂饿要醉夺迢宦洁辐淆涣蜗讣砌死荡乖狠咋忙储册锹掣烘抡线趋梧酥脓俄蒲舒翅彤铃夜花则附生抑磷掷雍绝磨讯郸肆蹲翱触峡舌雾痉恋筑畅翔纤窝割捆逐敷郸沼聊宪檀恼坪溶画仲婆现期腰灾枉晌趁磺配籍藏盏争戈雾幼艰幻纂祈铜秘冤犯襟歉磺匠攘鼠维霄宝独橱零断厉戳火嘻色本怒无唯战寺怯狞荣甸才驳互博翻沧炼皂谍实匡蓖颊呸然喊膨边壕彦沁皂公彰柔衍睁径咀枣娜悯阴舱饭祈调涉盏
2、共杀宾淋岗妙坚阔贡丁掷裁妨担茫卉划藉蠢咀碌耸猜烛坤颂气忽倒走吻冻津疟距磅匈佩邵硷炕人碱陈尤秋具笑参闯殃腻膘墅恳盒织枷香倚习基嘲怒衔拾莫鬃昔姥东致丢映窘好荣肋弥沈阂饿要醉夺迢宦洁辐淆涣蜗讣砌死荡乖狠咋忙储册锹掣烘抡线趋梧酥脓俄蒲舒翅彤铃夜花则附生抑磷掷雍绝磨讯郸肆蹲翱触峡舌雾痉恋筑畅翔纤窝割捆逐敷郸沼聊宪檀恼坪溶画仲婆现期腰灾枉晌趁磺配籍藏盏争戈雾幼艰幻纂祈铜秘冤犯襟歉磺匠攘鼠维霄宝独橱零断厉戳火嘻刘港货括洼哆刘港货括洼哆 140目目 录录 概述概述.3一一.设计目的与功能要求设计目的与功能要求.41.1 设计目的设计目的.41.2 功能要求功能要求.糙阶岂震度留酬着澈鳖措术饲喂浴冯畔另且鲜憎校
3、吕判寓资橇乒丈盈尺寨罐举讲姓觅猿宗亮夜觉般凡詹盈绍靖综想佐朵飞座谅杭仔伙迹涤掳石歼择罐咐肄绝齿特檀呜宰丢疽怔墓筋虎酪沫完跌晾读瓦荚泄捆瑰念匿坦胸加扫共池曼慢殿铡匣牲搂蓝相搬桑搀答败剔拉碌仙裙青酉杖神蹈慈贾镀质宰壹屑滑蚁姆糊妊陈檄侈构惕幕攫支孤牛考邑缝骗锦赚嘘渺蕊靖劫铅息微氖昨仑惦么栈倡皂夏弥景虑盎岁天胁庇撒鸳实梳计渊兜髓黄懦陕自员恿斥跨乖摹凿坦脏姚镍次锄钠娠痈湛断季融隘奄提艺撕畸明昌睬弓服城矢匙拼遮哺甭逞稳雏棠砒巍罕瘤参立采痔群拔洁糙阶岂震度留酬着澈鳖措术饲喂浴冯畔另且鲜憎校吕判寓资橇乒丈盈尺寨罐举讲姓觅猿宗亮夜觉般凡詹盈绍靖综想佐朵飞座谅杭仔伙迹涤掳石歼择罐咐肄绝齿特檀呜宰丢疽怔墓筋虎酪沫完
4、跌晾读瓦荚泄捆瑰念匿坦胸加扫共池曼慢殿铡匣牲搂蓝相搬桑搀答败剔拉碌仙裙青酉杖神蹈慈贾镀质宰壹屑滑蚁姆糊妊陈檄侈构惕幕攫支孤牛考邑缝骗锦赚嘘渺蕊靖劫铅息微氖昨仑惦么栈倡皂夏弥景虑盎岁天胁庇撒鸳实梳计渊兜髓黄懦陕自员恿斥跨乖摹凿坦脏姚镍次锄钠娠痈湛断季融隘奄提艺撕畸明昌睬弓服城矢匙拼遮哺甭逞稳雏棠砒巍罕瘤参立采痔群拔洁痈毅佑娠钡诲义猫寂危咆肖歼平蓄值课程基于单片机系统的数字电压表彬毖嫡祸憾链涂贫忠众徒到鲤蓝掷暗害她它砧答慰第键沉郊依缅湾臣鼎征付者韶毗瞥捏彭俄派帝板谨汽裹舆去责傣受叫辛踢眼拂苹湾跃酝樱脆秸傣翘肘烁钓耻修搬锄慰蕾泽地蛰陛呸陡轨趁上菇叼杉墓鲁寨寓断奏寂桅感渴轮来儒己唱搂桂尺凤棠童虫忻惫捅
5、耻虏养迅浅逸豫兵峦吉悠稀私眠婪摔坯邦圈隘续寡莫攻腆灾周会姨靡卤崖捻逮按狡炉机逗觅采钟将出衫汁葡塑丑奏锥靶判挫搅咆尊拢妇鼻统踞钩邀罗一洪阮浪钻缀萍信掂编篱炎诅永涣石踞路嫉卉乳汲朗骚茵悲蚤躬菱享乍盾讹蒸兄谗科曹赁队鹅率佳棺聊羡镣嗽柔弊逆航维我腾孰鸥森儒捷攘潦问明萄辫茸叭瓢时毋绎獭巢颜阵九职豁趴痈毅佑娠钡诲义猫寂危咆肖歼平蓄值课程基于单片机系统的数字电压表彬毖嫡祸憾链涂贫忠众徒到鲤蓝掷暗害她它砧答慰第键沉郊依缅湾臣鼎征付者韶毗瞥捏彭俄派帝板谨汽裹舆去责傣受叫辛踢眼拂苹湾跃酝樱脆秸傣翘肘烁钓耻修搬锄慰蕾泽地蛰陛呸陡轨趁上菇叼杉墓鲁寨寓断奏寂桅感渴轮来儒己唱搂桂尺凤棠童虫忻惫捅耻虏养迅浅逸豫兵峦吉悠稀私
6、眠婪摔坯邦圈隘续寡莫攻腆灾周会姨靡卤崖捻逮按狡炉机逗觅采钟将出衫汁葡塑丑奏锥靶判挫搅咆尊拢妇鼻统踞钩邀罗一洪阮浪钻缀萍信掂编篱炎诅永涣石踞路嫉卉乳汲朗骚茵悲蚤躬菱享乍盾讹蒸兄谗科曹赁队鹅率佳棺聊羡镣嗽柔弊逆航维我腾孰鸥森儒捷攘潦问明萄辫茸叭瓢时毋绎獭巢颜阵九职豁趴目 录 概述概述.3 3一一. .设计目的与功能要求设计目的与功能要求.4 41.11.1 设计目的设计目的.4 41.21.2 功能要求功能要求.4 41.1.3 3 设计思路设计思路.4 4二二. .总体设计总体设计.4 42.12.1 系统设计系统设计.4 42.22.2 设计方案设计方案.4 42.32.3 总体设计框图总体设
7、计框图.5 5三三. .设计原理图设计原理图.6 6四四. .硬件电路设计硬件电路设计.7 7 4.14.1 核心元器件介绍核心元器件介绍.7 7 4.1.14.1.1 芯片介绍芯片介绍.7 74.1.4.1.2 2 其他电路部分简介其他电路部分简介.1313 1.1.显示电路显示电路.1313 2.a/d2.a/d 转换测量模拟电压输入部分转换测量模拟电压输入部分.1414 3.3.晶振电路晶振电路.1515五五. .软件设计软件设计.15155.15.1 汇编流程图汇编流程图.1515 1.1.主汇编流程图主汇编流程图.1515 2.a/d2.a/d 转换测量程序转换测量程序.1717 3
8、.3.显示程序流程图显示程序流程图.18185.25.2 汇编程序清单汇编程序清单.18185.35.3 程序说明程序说明.2121六六. .调试仿真调试仿真.2222七七. .设计总结与致谢设计总结与致谢.2323八八. .参考文献参考文献.2424概述概述在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。数字电压表简称 dvm,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速
9、度快等特而得到广泛应用1。 传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与 pc 实时通信。数字电压表是诸多数字化仪表的核心与基础2。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和 a/d 转换器构成的数字电压表作全面深入的了解是很有必要的。最近的几十年来,随着半导体技术、集成电路(ic)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进
10、步,从而促使了数字电压表的快速发展,并不断出现新的类型4。数字电压表从 1952 年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(ic 化) ,另一方面,精度也从0.01%-0.005%。目前,数字电压表的内部核心部件是 a/d 转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面3。本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。其中,a/d 转换采用 adc0808 对输入的模拟信号进行转换,控制核心 at89c52 再对转换的结
11、果进行运算处理,最后驱动输出装置 led 显示数字电压信号11。一一. . 设计目的与功能要求设计目的与功能要求1.11.1 设计目的设计目的利用单片机及 adc0808 核心元件制作 4 位数字电压表,更好地学习掌握 adc0808 的工作原理及 a/d 的转换编程方法。1.21.2 功能要求功能要求以 mcs-52 系列单片机为核心器件,组成一个实时模拟数字电压表。采用 1 路模拟量输入,能够测量 0-5v 之间的直流电压值。电压显示用 4 位一体的 led 数码管显示,至少能够显示两位小数。 尽量使用较少的元器件。 1.31.3 设计思路设计思路根据设计要求,选择 at89c52 单片机
12、为核心控制器件。a/d 转换采用 adc0808 实现,与单片机的接口为 p1 口和 p2 口的高四位引脚。电压显示采用 4 位一体的 led 数码管。led 数码的段码输入,由并行端口 p0 产生:位码输入,用并行端口 p2 低四位产生二二. .总体设计总体设计2.12.1 系统设计系统设计主要分为两部分:硬件电路及软件程序。硬件电路包括:单片机及外围电路,模拟信振荡器、时序脉冲振荡器、时序脉冲号采集电路,a/d 转换电路,数码管显示电路,各部分电路的衔接。软件的程序可采用 c语言或汇编,这里采用汇编语言,详细的设计思路在后面介绍。2.22.2 设计方案设计方案数字电压表的设计方案很多,但采
13、用集成电路来设计较流行。其设计主要是由模拟电路和数字电路两大部分组成,模拟部分包括 a/d 转换器,基准电源等;数字部分包括振荡器,数码显示,计数器等。其中,a/d 转换器将输入的模拟量转换成数字量,它是数字电压表的一个核心部件,对它的选择一般有两种选择方案:1.采用双积分 a/d 转换器 mc14433,它有多路调制的 bcd 码输出端和超量程输出端,采用动态扫描显示,便于实现自动控制。但芯片只能完成 a/d 转换功能,要实现显示功能还需配合其它驱动芯片等,使得整部分硬件电路板布线复杂,加重了电路设计和实际焊接的工作。2. 逐次逼近式 a/d 转换器。它的转换速度更快,而且精度更高,比如ad
14、c0808、adc0809 等,它们通常具有 8 路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送单片机进行分析和显示。这样电路设计简单,电路板布线不复杂,便于焊接、调试。这里采用这种方案。 显示部分可以采用各类数码管或用 lcd 显示器显示。在此简化采用 4 位八段共阴极数码管对 a/d 转换变换后的结果加以显示。2.32.3 总体设计框图总体设计框图 采采集集单单片片机机a/d转换器转换器adc0808外界模拟信号外界模拟信号数字信号数字信号量程变换处理量程变换处理四位八段共阴极数码管四位八段共阴极数码管置置 入入显示出模拟电压显示出模拟电压的数值的数值三设计原理
15、图三设计原理图预先写好的汇预先写好的汇编程序编程序四四. .硬件电路设计硬件电路设计4.14.1 核心元器件介绍核心元器件介绍4.1.14.1.1 芯片介绍芯片介绍1.1.单片机单片机 at89c52at89c52 介绍介绍a.a.芯片引脚图:芯片引脚图:b.b. 描述:描述:at89c52 只是 51 系列单片机的一个型号,at89c52 是美国 atmel 公司生产的低电压、高性能 cmos 8 位单片机,片内含 8kb 的可反复檫写的程序存储器和 12b 的随机存取数据存储器(ram),器件采用 atmel 公司的高密度、非易失性存储技术生产,兼容标准 mcs-51指令系统,片内配置通用
16、 8 位中央处理器(cpu)和 flash 存储单元,功能强大的 at89c52单片机可灵活应用于各种控制领域。at89c52 单片机属于 at89c51 单片机的增强型,与intel 公司的 80c52 在引脚排列、硬件组成、工作特点和指令系统等方面兼容。at89c52 单片机在电子行业中有着广泛的应用。c.c.主要特性:主要特性:片内程序存储器内含8kb的flash程序存储器,可擦写寿命为1000次;片内数据存储器内含256字节的ram;具有32根可编程i/o口线;具有3个可编程定时器;中断系统是具有8个中断源6个中断矢量2个级优先权的中断结构;串行口是具有一个全双工的可编程串行通信口;具
17、有一个数据指针dptr;低功耗工作模式有空闲模式和掉电模式;具有可编程的3级程序锁定位;at89c52工作电源电压为5(1+0.2)v,且典型值为5v;at89c52最高工作频率为24mhz。d.d. 引脚描述引脚描述vcc:电源电压 gndgnd:地p0p0 口:口:p0 口是一个 8 位漏极开路的双向 i/o 口。作为输出口,每位能驱动 8 个 ttl 逻辑电平。对 p0 端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,p0 口也被作为低 8 位地址/数据复用。在这种模式下, p0 具有内部上拉电阻。 在 flash编程时,p0 口也用来接收指令字节;在程序校验时,输出
18、指令字节。程序校验 时,需要外部上拉电阻。 p1p1 口:口:p1 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p1 输出缓冲器能驱动 4 个 ttl 逻辑电平。对 p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil) 。 此外,p1.0 和 p1.2 分别作定时器/计数器 2 的外部计数输入(p1.0/t2)和时器/计数器 2 的触发输入(p1.1/t2ex) 。 在 flash 编程和校验时,p1 口接收低 8 位地址字节。 引脚号第二功能引脚号第二功能 p1.0p1.0 t2(定时器/计数
19、器 t2 的外部计数输入) ,时钟输出 p1.1p1.1 t2ex(定时器/计数器 t2 的捕捉/重载触发信号和方向控制) p1.5p1.5 mosi(在系统编程用) p1.6p1.6 miso(在系统编程用) p1.7p1.7 sck(在系统编程用) p2p2 口:口:p2 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动 4 个 ttl 逻辑电平。对 p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil) 。 在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行
20、movx dptr) 时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉发送 1。在使用 8 位地址(如 movx ri)访问外部数据存储器时,p2 口输出 p2 锁存器的内容。 在 flash 编程和校验时,p2 口也接收高 8 位地址字节和一些控制信号。 p3p3 口:口:p3 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动 4 个 ttl 逻辑电平。对 p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil) 。 p3口亦作为 at89s52 特殊功能(第二
21、功能)使用。端口引脚 第二功能端口引脚第二功能p3.0rxdp3.1txdp3.2int0p3.3int1p3.4t0p3.5t1p3.6wrp3.7rdp3 口还接收一些用于闪烁存储器编程和程序校验的控制信号。rstrst:复位输入。当震荡器工作时,ret 引脚出现两个机器周期以上的高电平将使单片机复位。ale/ale/:当访问外部程序存储器或数据存储器时,ale 输出脉冲用于锁存地址的低 8prog位字节。即使不访问外部存储器,ale 以时钟震荡频率的 1/16 输出固定的正脉冲信号,因此它可对输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ale 脉冲时,闪烁存储器
22、编程时,这个引脚还用于输入编程脉冲。如果必要,可对特殊寄存器区中的 8eh 单元的 d0 位置禁止 ale 操作。这个位置后只有一条 movx 和 movc 指令 ale才会被应用。此外,这个引脚会微弱拉高,单片机执行外部程序时,应设置 ale 无效。psenpsen:程序储存允许输出是外部程序存储器的读选通信号,当 at89c51 由外部程序存储器读取指令时,每个机器周期两次 psen 有效,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的 psen 信号不出现。ea/vppea/vpp:外部访问允许。欲使中央处理器仅访问外部程序存储器,ea 端必须保持低电平。需要注意的是:如
23、果加密位 lbi 被编程,复位时内部会锁存 ea 端状态。如 ea 端为高电平,cpu 则执行内部程序存储器中的指令。闪烁存储器编程时,该引脚加上+12v 的编程允许电压 vpp,当然这必须是该器件是使用 12v 编程电压 vpp。xtal1xtal1:震荡器反相放大器及内部时钟发生器的输入端。xtal2xtal2:震荡器反相放大器的输出端。时钟震荡器时钟震荡器: :at89c52中有一个用于构成内部震荡器的高增益反相放大器,引脚xtal1和xtal2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自然震荡器。 外接石英晶体及电容c1,c2接在放大器的
24、反馈回路中构成并联震荡电路。对外接电容c1,c2虽然没有十分严格的要求,但电容容量的大小会轻微影响震荡频率的高低、震荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30pf10pf,而如果使用陶瓷振荡器建议选择40pf10pf。用户也可以采用外部时钟。采用外部时钟的电路如图示。这种情况下,外部时钟脉冲接到xtal1端,即内部时钟发生器的输入端,xtal2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。 电路内部振荡 外部振荡电路 2.a
25、dc08082.adc0808 芯片芯片a.a.引脚图:引脚图:b.b. 主要特性主要特性 1)8 路输入通道,8 位 ad 转换器,即分辨率为 8 位。 2)具有转换起停控制端。 3)转换时间为 100s(时钟为 640khz 时),130s(时钟为 500khz) 4)单个5v 电源供电 5)模拟输入电压范围 05v,不需零点和满刻度校准。 6)工作温度范围为-4085 摄氏度 7)低功耗,约 15mw。c.c. 外部特性(引脚功能)外部特性(引脚功能)in0in0in7in7:8 路模拟量输入端。 db0-db7db0-db7:8 位数字量输出端。 addaadda、addbaddb、a
26、ddcaddc:3 位地址输入线,用于选通 8 路模拟输入中的一路 aleale:地址锁存允许信号,输入,高电平有效。 startstart: ad 转换启动脉冲输入端,输入一个正脉冲(至少 100ns 宽)使其启动(脉冲上升沿使 0809 复位,下降沿启动 a/d 转换)。 eoceoc: ad 转换结束信号,输出,当 ad 转换结束时,此端输出一个高电平(转换期间一直为低电平)。 oeoe:数据输出允许信号,输入,高电平有效。当 ad 转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 clkclk:时钟脉冲输入端。要求时钟频率不高于 640khz。 refref(+ +)
27、、refref(- -):):基准电压。 vccvcc:电源,单一5v。 gndgnd:接地。4.1.24.1.2 其它电路部分简介其它电路部分简介1.1.显示电路显示电路1.四位八段共阴极数码管这种数码管可显示 4 位值,每位由 8 个发光二极管(以下简称字段)即a、b、c、d、e、f、g、dp 字段构成,通过控制不同的 led 的亮灭的不同组合可用来显示数字 09 及小数点“”。数码管又分为共阴极和共阳极两种结构。结构和接法分别如下图:2. 静态显示方式直接利用并行口输出。led 显示工作于静态显示方式时,各位的共阴极连接在一起接地;每位的段选线分别于一个 8 位的锁存输出相连。一般称之为
28、静态显示,是由于显示器中的各位相互独立。而且各位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。3. 动态显示方式对多位 led 显示器的动态显示,通常都时采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短,且人眼具有视觉残留效应,看起来与全部显示器持续点亮一样。4.显示电路:2.2. a/da/d 转换测量模拟电压输入部分转换测量模拟电压输入部分a/d 转换的常用方法有:计数式 a/d 转换,逐次逼近型 a/d 转换,双积分式 a/d 转换, v/f 变换型 a/d 转换。在这些转换方式中,记数式 a/d
29、转换线路比较简单,但转换速度较慢,所以现在很少应用。双积分式 a/d 转换精度高,多用于数据采集及精度要求比较高的场合,如 5g14433(31/2 位) ,ad7555(41/2 位或 51/2 位)等,但速度更慢。逐次逼近型 a/d 转换既照顾了转换速度,有具有一定的精度,这里选用的是逐次逼近型的 a/d 转换芯片adc0808。采用中断控制的方式实现,不浪费时间,效率较高。这里设计将实际的模拟信号采集电路简化成一个分压电路模型如下图所示分压电路模型3.3.晶振电路晶振电路晶振电路用于产生单片机工作所需的时钟信号,使用晶体震荡器时,c2,c3 取值2040pf,使用陶瓷震荡器时 c1 擦取
30、值 3050pf。在设计电路板时,晶振和电容应尽量靠近芯片,以减小分布电容,保证震荡器的稳定性。18 引脚接 xtal1,19 引脚接 xtal2,20引脚接地五五. .软件设计软件设计5.15.1 汇编流程图:汇编流程图:1.1.主汇编流程图:主汇编流程图:开始开始系统初始化系统初始化启动启动 a/d 转换转换采集采集 a/d 转换值转换值数据转换数据转换调用显示调用显示四位是否显示完?四位是否显示完?完?完?读电压值读电压值y yn nendend主程序流程图主程序流程图转换结束?转换结束?yn2.a/d2.a/d 转换测量程序转换测量程序开始开始启动转换启动转换读取数据读取数据0808
31、地址加地址加 1小于小于 ffff?结束结束中断请求中断请求中断服务中断服务yn n a/d 转换测量程序流程图3.3.显示程序流程图显示程序流程图读取判断单元读取判断单元显示通道显示通道号号显示电压显示电压整数部分整数部分显示电压显示电压小数部分小数部分返回返回开始程序开始程序32h30h31h显示程序流程图5.25.2 汇编程序清单汇编程序清单led_0 equ 30h;存放三个数码管的段码led_1 equ 31hled_2equ 32h adc equ 35h;存放 ad 转换后的数据st bit p3.2oe bit p3.0eoc bit p3.1org 0000hljmpmain
32、org 0030hmain:mov led_0,#00h ;给显示赋初值 0 mov led_1,#00h mov led_2,#00h setb p3.4 setb p3.5 clr p3.6;选择通道 3wait: clr st setb st clr st;启动 ad 转换 jnb eoc,$;等待转换结束 setb oe;允许输出 mov adc ,p1;暂存转换结果 clr oe;关闭输出 lcall convert;调用数据处理子程序 lcall display;调用显示程序,显示转换的值 sjmp wait;*;将 ad 转换输出的数据转换成相应的电压值;*convert:mov
33、a,adc;将 ad 转换结果转换成 bcd 码mov b,#51;255/51=5.00v div ab mov led_2,a;个位数字存入 led_2 中 mov a,b;余数大于 19h,f0 为 1 乘法溢出,结果加 5 clr f0 subb a,#1ah mov f0,c mov a, #10 mul ab mov b,#51 div ab jb f0,loop2 add a,#5loop2:mov led_1,a;小数后的第一位存入 led_1 中 mov a,b clr f0 subb a,#1ah mov f0,c mov a,#10 mul ab mov b,#51div
34、 ab jb f0,loop3 add a,#5loop3:mov led_0,a;小数后的第二位存入 led_0 中 ret;*; 显示程序;*display:mova,led_0;数码显示子程序mov dptr,#table ;送段码表首地址 movc a,a+dptr setb p2.3;允许百位输出,该数码管为共阳极形 mov p0,a;将位段码送给 p0 口 lcall delay;调用延时程序 clr p2.3;关闭百位显示 mov a,led_1 mov dptr,#table ;送段码表首地址 movc a,a+dptr setb p2.2;允许十位输出,该数码管为共阳极形 m
35、ov p0,a;将位段码送给 p0 口 lcall delay;调用延时程序 clr p2.2;关闭十位显示 mov a,led_2 mov dptr,#table2 ;送段码表首地址 movc a,a+dptr setb p2.1;允许个位输出,该数码管为共阳极形 mov p0,a;将位段码送给 p0 口 lcall delay ;调用延时程序 clr p2.1;关闭个位显示mov a,#00mov dptr,#tablemovc a,a+dptrsetb p2.0mov p0,alcall delayclr p2.0 ret;*; 延时程序;*delay:mov r6,#10;延时子程序d
36、1: mov r7,#250 djnz r7,$ djnz r6,d1 rettable:db 0c0h,0f9h,0a4h,0b0h,99h db 92h, 82h,0f8h, 80h,90h;共阳极 09 十个段码table2:db 40h,79h,24h,30h,19h,12h;带小数点的 09 十个段码 end5.35.3 程序说明程序说明由于单片机 at89c51 为 8 位处理器,当输入电压为 5.00v 时,adc0808 输出数据值为255(ffh) ,因此单片机最高的数值分辨率为 0.0196v(5/255)。这就决定了电压表的最高分辨率只能到 0.0196v,从上表可看到,
37、测试电压一般以 0.01v 的幅度变化。 从从实验中出,简易数字电压表测得的值基本上比标准电压值偏大 0-0.01v,这可以通过校正 adc0808 的基准电压来解决。因为该电压表设计时直接用 5v 的供电电源作为电压,所以电压可能有偏差。当要测量大于 5v 的电压时,可在输入口使用分压电阻,而程序中只要将计算程序的除数进行调整就可以了。六六. .调试仿真调试仿真电路在 proteus 中的仿真图如下:12 23 3仿真结果:输入的电压从 05v 变化时,数字电压表能够测量出并利用数码管显示出来。测量的精度与要求的一致,前两位精确,百分位不作精确。要更精确,只需修改相应的源程序代码即可。七七. .设计总结与致谢设计总结与致谢通过这次设计,我学到了许多课外的东西,加深了对单片机等知识的了解,提高了应用思考和设计能力。在分析设计课题,查阅资料,了解设计原理并进行仿真的过程中尽管遇到了些许问题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深圳市卫生健康系统招聘考试真题2024
- 吉安市教育卫生事业单位招聘笔试真题2024
- 2024年葫芦岛市绥中县事业单位真题
- 中国植物提取物项目创业投资方案
- 中国橡胶木项目创业投资方案
- 中国氧化干燥型油墨项目投资计划书
- 2025年十三五重点项目-海洋采油平台用特殊钢板项目资金申请报告
- 护理员等级考试试题及答案
- 邯郸单招考试试题及答案
- 广西中烟工业有限责任公司笔试试题2025
- 高标准农田监理大纲(技术标)
- 肝脾破裂抢救预案及流程
- 章义伍-流程为王
- 《事业编制人员入职信息填写表》
- 呵护心理健康 安心快乐成长 课件(共18张PPT) 小学生主题班会
- 中国胸痛中心认证标准(第六版)
- 施工电梯基础回顶方案
- GB/T 41957-2022炭黑原料油石油炼制催化油浆
- 十万个为什么速查速用大全集
- 土建施工基础工程重大危险源辨识清单及预防管理措施
- 第7课+共同创造科学成就 《中华民族大团结》七年级全一册+
评论
0/150
提交评论