1、I1.设计主要内容及要求;设计一个多功能数字电压表。要求:1)硬件电路设计,包括原理图和 PCB 板图。2)数字电压表软件设计。3)要求能够测量并显示直流电压、交流电压,测量范围 0.002V-2V。2.对设计论文撰写内容、格式、字数的要求;(1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于 3000 字。(2).学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计论文的结构及各部分内容要求可参照沈阳工程学院毕业设计(论文)撰写规范执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。(3).论文要求打印,打印时按沈阳工程学院毕业设计(论文)撰写规范的要求进行
2、打印。(4). 课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。3.时间进度安排;顺序 阶段日期 计 划 完 成 内 容 备注1 8 月 30 日 教师讲解题目,学生查阅相关资料2 8 月 31 日 查阅相关资料、进行方案论证3 9 月 1 日 参数计算、确定方案4 9 月 2 日 绘制原理图,设计 PCB 板图5 9 月 3 日 设计 PCB 板图,程序设计6 9 月 6 日 程序设计7 9 月 7 日8 日程序调试8 9 月 9 日 撰写论文7 9 月 10 日 论文答辩,成品验收- II -中文摘要随着微型计算机及微电子技术在测试领域中的广泛
3、应用,仪器仪表在测量原理、准确度、灵敏度、可靠性、多种功能及自动化水平等方面都发生了巨大的变化,逐步形成了完全突破传统概念的新一代仪器智能仪器。智能化是现代仪器仪表的发展趋势,许多嵌入式系统、电子技术和现场总线领域的新技术被应用于智能仪器仪表的设计,尤其是嵌入式系统的许多新的理念极大地促进了智能仪器仪表技术的发展。今年来,随着大规模集成电路的发展,有单片 A/D 转换器构成的数字电压表获得了迅速普及和广泛应用,它是目前在电子测量及维修工作中最常用、最得力的一种工具类数字仪表。数字电压表具有很高的性价比,其主要优点是准确度高、分辨力强测试功能完善、测量速率快、显示直观。测试仪器的智能化已是现代仪
4、器仪表发展的主流方向。因此学习智能仪器的工作原理、掌握新技术和设计方法无疑是十分重要的。关键词 智能,数字,电压表,仪器仪表多功能数字电压表- III -目 录中文摘要 V目 录 .VI1 设计任务描述 11.1 设计题目:多功能数字电压表设计 .11.2 设计要求 .11.2.1 设计目的 .11.2.2 基本要求 .12、设计思路 .23、设计方框图 .34、硬件整体框图 .45、硬件的设计和元器件的选择及介绍 .55.1.稳压源部分电路的设计 .55.2 外部晶振和复位 .55.3 蜂鸣器 .65.4 交流电压采集测量电路 .75.5 单片机 C8051 简介 .76、系统软件设计 .8
5、6.1 软件总流程图 .86.2 各部分程序介绍 .96.2.1 主程序部分 96.2.2.显示程序 116.2.3.报警程序 116.2.4.量程选择 127、各部分参数计算 138、元器件清 14小 结 15致 谢 16参考文献 .17附录 1 程序清单 18附录 2 硬件电路图 26附录 3 PBC 板图 27多功能数字电压表- 1 -1 设计任务描述1.1 设计题目:多功能数字电压表设计1.2 设计要求1.2.1 设计目的1) 掌握 A/D 转换的采集,处理和显示程序方法;2) 熟悉单片机的编程方法。1.2.2 基本要求1)硬件电路设计,包括原理图和 PCB 板图。2)数字电压表软件设
6、计。3)要求能够测量并显示直流电压、交流电压,测量范围 0.002V-2V。- 2 -2、设计思路本次智能仪器课设,我的题目是多功能数字电压表,能够利用 C8051 单片机实现测量交直流电压的功能,并且在液晶显示上输出电压值。课程设计的要求是能够测量并显示直流电压、交流电压,测量范围 0.002V-2V,即能转换交直流并显示出电压值,由于单片机采集的都是直流电压,所以需要在外部添加真有效值/直流转换器,将外部采集的交流电压转换成直流电压,作为有效值送到单片机内部。在本次设计中,将 P1.0 作为采集口,将采集到的数据通过 P1.0 输入到单片机。经过数据处理,将 16 进制数转换成 10 进制
7、数,从 LCD 液晶显示中输出。由于考虑到量程的变换,我们用查寻方法改变量程,为了使程序模块化,思路清楚,于是选择了利用中断选择量程,量程为(0,2mV)和(0,2V)使用中断 6,7 选择。多功能数字电压表- 3 -3、设计方框图根据设计的任务和要求,进行整体设计的构思。其流程图如下:N分 析设计任务和 要求电路图设计制 作P C B 板程序编写与调 试完成 设计报告系 统稳定性能符 合要 求Y图 3-1 设计流程- 4 -4、硬件整体框图在本次多功能电压表的设计中,硬件部分主要由以下几部分电路组成:电源电路:为单片机提供 5V 稳定的电压;交流采集电路:采集交流信号,将交流信号转换成有效的
8、直流电压值,放大后传送给单片机;显示电路:显示所测得的电压值;报警电路:当测得值超出给定范围时,将自动报警;晶振及复位电路。图 4-1 硬件总框图单片机C8051F020电源电路显示电路晶振及复位电路报警电路交流采集电路多功能数字电压表- 5 -5、硬件的设计和元器件的选择及介绍5.1.稳压源部分电路的设计电源稳压及过零检测电路由变压器 TF、整流桥 RB、二极管 D、三端稳压器 7805、整形电路和滤波电容 C1、C2、C3、C4 组成。电路如下图 4-1 所示图 5-1 稳压源电路变压器 TF 将 220V 的交流电压转换为 5V 低压,并利用整流桥 RB 转变为脉动直流电压。然后通过二极
9、管 D 经滤波电容 C1 和 C2 滤波后,生成无纹波的直流电压。直流电压经三端稳压器 7805 稳压后,形成 5V 直流电压。滤波电容 C3 和 C4 负责负载突变情况下的滤波工作。二极管 D 在脉动直流电压和滤波后的直流电压之间起隔离的作用。同时,由整流桥输出的脉动直流电压经整形电路整形后,产生 10ms 的负脉冲过零信号,用于进行时间计数。5.2 外部晶振和复位单片机外部复位,外部复位引脚(RESET)提供了使用外部电路强制单片机进入复位状态的手段。在复位引脚上加一个低电平有效信号将导致单片机进入复位状态。最好能提供一个外部上拉和(或)对 RESET 引脚的去耦电路以防止由于强噪声而引起
10、复位。I/O端口锁存器的复位值为 0xFF(全部为逻辑高电平) ,内部若上拉有效,使外部 I/O 引脚处于高电平状态。外部 I/O 引脚并不立即进入高电平状态,而是在进入复位状态后的 4 个系统时钟之内。注意:在复位期间弱上拉是被禁止的,在器件退出复位状态时弱上拉被时能。这就使得在器件保持在复位状态期间可以节省功耗。对于 VDD监视器复位,/RESET引脚被驱动为低电平,直到 VDD复位超时结束。石英晶体振荡器是高精度和高稳定度的振荡器, 为数据处理设备产生时钟信号和为特定系统提供基准信号。当外部晶体振荡器稳定运行时,晶体振荡器有效标志(OSCXCN- 6 -寄存器中的 XTLVLD)被硬件置
11、为逻辑 1。XTLVLD 检测电路要求在使能震荡器工作和检测XTLVLD 之间至少有 1ms 的启动时间,在外部振荡器稳定之前就切换到外部振荡器可能导致不可预见的后果。单片机外接晶振作为时钟频率,并采用电源复位设计。复位电路采用上电复位,它的工作原理是,通电时,电容两端相当于短路,于是 RESET 引脚上为高电平,然后电源通过对电容充电。RESET 端电压慢慢下降,降到一定程序,即为低电平,单片机开始工作。下图为晶振复位电路图。SR 9C 8C 9C 7Y G ND图 5-2 晶振及复位图5.3 蜂鸣器蜂鸣器是报警装置。当前、左、右的传感器反馈的信号都为 1(即都有障碍物)时,说明机器人进入死
12、路,它便会发出报警的声音。蜂鸣器如图 5-3 所示。图 5-3 蜂鸣器PP31PP22PWM1/PP13PWM0/PP04PK35PK26PK17PK08IOC0/PT09IOC1/PT110IOC2/PT211IOC3/PT312VDDF13VSS114IOC4/PT415PT516PT617IOC7/PT718PK519PK420PJ121PJ022MODC23PB024PB125PB226PB327PB428PB529PB630PB731PH732PH633PH534PH435PE736PE637PE538PE439VSSX240VDDX241RESET42VDDR43VSS344VSS
13、PLL45EXTAL46XTAL47VDDPLL48PH349PH250PH151PH052PE353PE254PE155PE056PA0 57PA1 58PA2 59PA3 60PA4 61PA5 62PA6 63PA7 64VDD 65VSS2 66PAD00/AN00 67PAD08/AN08 68PAD01/AN01 69PAD09/AN09 70PAD02/AN02 71PAD10/AN10 72PAD03/AN03 73PAD11/AN11 74PAD04/AN04 75PAD12/AN12 76PAD05/AN05 77PAD13/AN13 78PAD06/AN06 79PAD1
14、4/AN14 80PAD07/AN07 81PAD15/AN15 82VDDA 83VRH 84VRL 85VSSA86PM787PM688PS089PS190PS291PS392PS493PS594PS695PS796TEST97PJ798PJ699PM5100PM4101PM3102PM2103PM1104PM0105VSSX1106VDDX1107PK7108PP7109PP6110PP5111PP4112U1MC9S12XS128MALC190.01uFC220.1uF C2610uFL1100uHR10C200.01uFC230.001uF C2710uFL2100uHC330.1u
15、FC30220nFC29220nFC320.1uFR111KD1LEDR121KD2LEDC210.01uFC250.001uF C2810uFL3100uHR134.7KR14100RESETRESETC3522pFR1510MY2 16MC3622pFC31220nFC340.1uFPP3PP2PP1PP0PK0PK1PK2PK3PT0PT1PT2PT3PT4PT5PT6PT7PK4PK5PJ0PJ1PB0PB1PB2PB3PB4PB5PB6PB7MODCPH0PH1PH2PH3PH4PH5PH6PH7PE0PE1PE2PE3PE4PE5PE6PE7RSTGNDGNDPA0PA1PA2PA
16、3PA4PA5PA6PA7AD0AD1AD2AD3AD4AD5AD6AD7AD8AD9AD10AD11AD12AD13AD14AD15VRHPM0PM1PM2PM3PM4PM5PM6PM7PP4PP5PP6PP7PK7PJ6PJ7PS0PS1PS2PS3PS4PS5PS6PS71 23 45 67 89 1011 1213 1415 1617 1819 2021 2223 2425 2627 28JP1HEADER 14X212345678910111213141516171819202122232425262728JP2HEADER 14X21234567891011121314151617
17、1819202122232425262728JP3HEADER 14X212345678 JP4HEADER 4X212345678 JP5HEADER 4X21 23 45 6BDMHEADER 3X2R2051MODCR193.3KVCCGNDPP4 PP5PP6 PP7PK7PM0PM1PM2PM3PM4PM5PM6PM7PS0 PS1PS2 PS3PS4 PS5PS6 PS7PJ6PJ7PP0PP1PP2PP3PB0 PB1PB2 PB3PB4 PB5PB6 PB7PJ0PJ1PK4 PK5PT0 PT1PT2 PT3PT4 PT5PT6 PT7PK0PK1PK2PK3 PA0PA1P
18、A2PA3PA4PA5PA6PA7AD0AD1AD2AD3AD4AD5AD6AD7AD8AD9AD10AD11AD12AD13AD14AD15VRHGND VCCPE4PE5PE6PE7PH4PH5PH6PH7PE0PE1PE2PE3PH0PH1PH2PH3AGND1FS2IN13V+4V+5OUT16OUT17DNC8PGND9PGND10 PGND 11PGND 12D2 13OUT2 14OUT2 15V+ 16CcP 17D1 18IN2 19DNC 20U5MC33886C233nFC1470uFGNDGNDGNDAGND1FS2IN13V+4V+5OUT16OUT17DNC8PGN
19、D9PGND10 PGND 11PGND 12D2 13OUT2 14OUT2 15V+ 16CcP 17D1 18IN2 19DNC 20U2MC33886C333nFGNDGNDPP1PP1PP5PP5123JP3D20PP3PM0 PM1PM2PM0PM1PM212345JP5123456GND7 8910111213VCC14CC40106CC40106R175.1KR185.1KR195.1KT0T1T2T0T1T2PT0PT1PT2T0T1T2V2PK0PK1OUT1OUT2OUT1OUT2123JP13PT0PT1PT2abfcgdeVCC1234567abcdefg8dpdp9
20、DS1abfcgdeVCC1234567abcdefg8dpdp9DS2R30R31R32R33R34R35R36R37R38R39R40R41R42R43R44R45V5Q0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q10Q11Q12Q13Q14Q15A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9VCC14 GND 774HC164(1)A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9VCC14 GND 774HC164(2)PK0PK1V5 V2V2 V2Q0Q1Q2Q3Q4Q5Q6Q7 Q8Q9Q10Q11Q12Q13Q14Q15D
21、1 VT1R110KR210KD2 VT2R310KR410KD3 VT3R510K R610KD4 VT4R710KR810KD5 VT5R910KR1010KD6 VT6R1110KR1210KD7 VT7R1310KR1410KVin 1GND2Vout3U4LM7805C71FC822FVin 1GND2Vout3U5LM7805C91FC1022FVin 1GND2Vout3U7LM7805C131FC1422FVin 1GND2Vout3U6LM7805C111FC1222F+7V传传传+7VV1V2V3V4V1V1V1V1V1MOTOR2OUT1OUT2传传传传传传AD0 AD1
22、 AD2 AD3 AD4 AD5 AD6传传传传R2001KBELLV3多功能数字电压表- 7 -5.4 交流电压采集测量电路该部分电路是将采集到的交流电压通过转换得到其有效值,然后经过放大后输入到单片机内部,在经数据处理后显示出来。在这个部分里我使用了真有效值/直流转换器AD536A。它的输入和输出都有完善的保护电路,输入电压允许大大超过其电源电压;而输出则有短路保护。在电源电压下降时也不影响其测量精度。AD536A的使用和链接都非常方便、简单,而且相当灵活。只要在他的Vin端输入交流信号,便能在其Vout端输出正比于输入信号真有效值的直流电压。图5-4 交流电压采集转换电路5.5 单片机
23、C8051 简介C8051F020 单片机是 Cygnal 公司生产的,它是完全集成的混合信号系统级芯片(SOC)。采用全速、非侵入式在系统调试接口,提供 C 编译调试环境,可以大大提高产品开发速度和效率。我们使用的 C8051 单片机是目前各大高校及市场上应用最广泛的单片机型.其内部包含: 一个 8 位的 CPU;4K 的程序存储空间 ROM;128 字节的 RAM 数据存储器;两个 16位的定时/计数器;可寻址 64KB 外部数据存储器和 64KB 外部程序存储器空间的控制电路;32 条可编程的 I/O 线;具有两个优先级嵌套的中断结构的 5 个中断源。- 8 -6、系统软件设计6.1 软
24、件总流程图图6-1 总体流程图开 始关开门狗初始化ADCO 初始化电压采集LCD 显示量程选择结 束多功能数字电压表- 9 -6.2 各部分程序介绍6.2.1 主程序部分main: mov wdtcn,#0deh ;关开门狗mov wdtcn,#0adhlcall sysclk_init ;系统时钟片外lcall port_init ;通用 I/O 口及交叉开关初始化lcall int67_init ;中断 6、7 初始化mov r0,#00mov r3,#00setb ea ;允许总中断lcall adc_init ;初始化 A/D;测量程序CC:lcall lcd_init ;LCD 初始
25、化setb ad0busyjnb ad0int,$clr ad0intmov a,adc0hmov 30h,amov a,adc0lmov 31h,a loop1: clr cymov a,31hadd a,31hadd a,31hmov 51h,a mov a,30haddc a,30haddc a,30hmov 50h,amov a,50hmov a,50hclr cy- 10 -rrc amov 50h,a;将 50h51h 中 16 进制数转化为 BCD 数,存入 41h40h39h38h 中mov a,50hmov b,#64hdiv abmov 41h,amov a,#0ahxch
26、 a,bdiv abmov 40h,axch a,bmov 39h,aclr cymov a,40hcjne a,#02h,lopplopp: jnc baojingjc huanyuanbaojing: mov xbr2,#40hmov p1mdout,#0ffhclr p3.5lcall lcd_xianshihuanyuan:mov xbr2,#40hmov p1mdout,#0ffhsetb p3.5该部分为整个程序的主程序部分,先关开门狗,然后进行初始化,其中包括系统时钟片外初始化、通用 I/O 口及交叉开关初始化、中断 6、7 初始化、允许总中断、初始化A/D、LCD 初始化。A/
27、D 转换后将高位存入 30h 中,将低位存入 31h 中。然后数据进行处理,再将 16 进制数转换成 ASC码,在液晶屏上显示。因为量程为 0.002V-2V,所以将 40h 上的数与 2 比较,大于 2 将超量程报警。多功能数字电压表- 11 -6.2.2.显示程序lcd:lcall delaymov p7,#38hmov p6,#01hmov p6,#00hlcall delaymov p7,#0ehmov p6,#01mov p6,#00lcall delaymov p7,#06mov p6,#01mov p6,#00lcall delaymov p7,#01mov p6,#01mov
28、p6,#00lcall delayret上部分为显示程序的初始化,P6. P7 分别为推挽输出。mov a,41h add a,#30hmov p7,amov p6,#05mov p6,#04lcall delayret这个为单一一位数的显示,将想要显示的数据存入 41h 中,在将数加上 30h 形成相应的 ASC码值,在把这个 ASC码值送给 P7,当 P6 减一的时候,这个数就送入了显示器中,就能显示出想要的值。6.2.3.报警程序先将进位 CY 清零,将某一位上的数和设定的数作比较,若大于或等于设定的数则调用报警程序,若小于则调用还原程序。其程序如下- 12 -cjne a,#02h,l
29、opplopp: jnc baojingjc huanyuanbaojing:mov xbr2,#40hmov p1mdout,#0ffhclr p3.5lcall lcd_xianshihuanyuan:mov xbr2,#40hmov p1mdout,#0ffhsetb p3.5 P3.5 为推挽输出,当它清零的时候。铃响。当调用还原程序的时候,P3.5 置一,铃停。以达到报警的目的。6.2.4.量程选择int6:mov p3if,#00hinc r3cjne r3,#02,J1 ;不相等跳转dec r3J1: reti;外部中断 7 服务程序int7: mov p3if,#00hdec
30、r3cjne r3,#0ffh,J2inc r3J2: reti利用中断 6.7 来进行选择。先将 R3 赋初值 0 当没有中断时,顺序执行。当有中断时候,将 R3 加一(INT7 减一) ,再将 r3 和 2h(FFh)比较,不相等则继续跳转,相等就让他减一(加一) 。以达到能循环使用中断 6.7 的目的。防止一直使用中断 6 而回不了中断7.多功能数字电压表- 13 -7、各部分参数计算用的是 12 位电压输出 A/D 换器,数据为 12 位,分为两部分高四位和低八位。根据公式 3N/29 可以求出电压。求得的电压是十六进制的数值,而 LCD 液晶显示需要使用ASC码。要将十六进制的数值转
31、换成 BCD 数,再转换成 ASC。例如 0000 1111 1111 1111 自加 3 次得 0010 1111 1111 1101;再除以 29 相当于二进制小数点向右移动 9 位,那么低八位直接舍弃既可以了,然后把高四位向右移动一位,得到 0111。对应十六进制中的 7,然后除以十六进制中的 64h 的百位 0,除以 0Ah 得到十位 0,得到个位 7,结果每位加上 30h 得到对应的 ASC。在(0,2mV)和(0,2V)的量程在液晶显示输出相同的 700 的电压。- 14 -8、元器件清器件名称 参数 数量电阻 1K 5电阻 4.7K 3电阻 5.1K 3电容 0.01uF 4电容
32、 0.1uF 4电容 0.001uF 3二极管 5集成运放 LM311 2有效值转换器 AD536A 1变压器 1稳压器 LM7805 1蜂鸣器 BELL 1晶振 石英晶振片 1单片机 C8051F020 1复位按键 RESET 1多功能数字电压表- 15 -小 结致 谢参考文献1程德福.智能仪器.第二版.北京.机械工业出版社.2009 年2徐爱钧.智能化测量控制仪表原理与设计.第二版.北京.北京航空航天大学出版社.2004 年3方建军.SOC 单片机实验、实践与应用设计.第一版.北京.化学工业出版社.2004 年- 16 -附录 1 程序清单org 93hljmp int6_isr$incl
33、ude (c8051f020.inc)org 00hljmp mainorg 009bhljmp int7_isrorg 100h;通用 I/O 口及交叉开关初始化port_init:mov xbr0,#00hmov p74out,#0f0hret;中断 6、7 初始化int67_init:orl eie2,#30hmov p3if,#00hret;外部中断 6 服务程序int6_isr:anl p3if,#not(40h)inc r3cjne r3,#02,J1dec r3J1: reti;外部中断 7 服务程序int7_isr: anl p3if,#not(80h)dec r3cjne r
34、3,#0ffh,J2inc r3J2: reti多功能数字电压表- 17 -;初始化 A/Dadc_init:mov amx0cf,#00hmov amx0sl,#00hmov adc0cf,#28hmov ref0cn,#03hmov adc0cn,#80hret;系统时钟片外sysclk_init:mov oscxcn,#67hlop: mov a,oscxcnjnb acc.7,lopmov oscicn,#08hret ;main: mov wdtcn,#0deh ;关开门狗mov wdtcn,#0adhlcall sysclk_init ;系统时钟片外lcall port_init
35、;通用 I/O 口及交叉开关初始化lcall int67_init ;中断 6、7 初始化mov r0,#00mov r3,#00setb ea ;允许总中断lcall adc_init ;初始化 A/D;测量程序CC:lcall lcd_init ;LCD 初始化setb ad0busyjnb ad0int,$clr ad0intmov a,adc0hmov 30h,amov a,adc0lmov 31h,a - 18 -loop1: clr cymov a,31hadd a,31hadd a,31hmov 51h,a mov a,30haddc a,30haddc a,30hmov 50h
36、,amov a,50hmov a,50hclr cyrrc amov 50h,a;将 50h51h 中 16 进制数转化为 BCD 数,存入 41h40h39h38h 中mov a,50hmov b,#64hdiv abmov 41h,amov a,#0ahxch a,bdiv abmov 40h,axch a,bmov 39h,aclr cymov a,40hcjne a,#02h,lopplopp: jnc baojingjc huanyuanbaojing: mov xbr2,#40hmov p1mdout,#0ffhclr p3.5lcall lcd_xianshi多功能数字电压表-
37、19 -huanyuan:mov xbr2,#40hmov p1mdout,#0ffhsetb p3.5;LCD 液晶显示lcd_xianshi:mov r2,#08 cjne r3,#00,NED1mov dptr,#liangcheng0line1: clr a movc a,a+dptrinc dptrmov p7,amov p6,#05mov p6,#04lcall delaydjnz r2,line1mov p7,#0c0hmov p6,#01mov p6,#00lcall delayljmp line2NED1: mov dptr,#liangcheng1ljmp line1lin
38、e2: cjne r3,#00,NED3 lcall lcd_xian1ljmp delay1NED3: lcall lcd_xian2delay1: lcall delaylcall delay lcall delaylcall delaylcall delay- 20 -lcall delaylcall delaylcall delaylcall delaylcall delaylcall delaylcall delay ;循环测电压lcall CCljmp $;LCD 初始化,写命令操作lcd_init:lcall delaymov p7,#38hmov p6,#01hmov p6,#
39、00hlcall delaymov p7,#0ehmov p6,#01mov p6,#00lcall delaymov p7,#06mov p6,#01mov p6,#00lcall delaymov p7,#01mov p6,#01mov p6,#00lcall delayret;延时子程序delay: mov r7,#01hdely0: mov r6,#80hdely1: mov r5,#00djnz r5,$多功能数字电压表- 21 -djnz r6,dely1djnz r7,dely0ret; lcd_xian1: lcall wei1lcall dianlcall wei2lcall
40、 wei3lcall wei4lcall mmvvretlcd_xian2: mov a,41h ;若 41h 里面是“0“不输出add a,#30hcjne a,#30h,W1sjmp W2W1: lcall wei1W2: lcall wei2lcall dianlcall wei3lcall wei4lcall vvvret;显示第一位wei1:mov a,41h add a,#30hmov p7,amov p6,#05mov p6,#04lcall delayret;显示小数点 dian: mov a,#2eh mov p7,amov p6,#05- 22 -mov p6,#04lca
41、ll delayret;显示第二位wei2: mov a,40h add a,#30hmov p7,amov p6,#05mov p6,#04lcall delayret;显示第三位 wei3: mov a,39h add a,#30hmov p7,amov p6,#05mov p6,#04lcall delayret;显示第四位 wei4: mov a,38h add a,#30hmov p7,amov p6,#05mov p6,#04lcall delayret;显示Vvvv: mov a,#56hmov p7,amov p6,#05多功能数字电压表- 23 -mov p6,#04lcal
42、l delayret ;显示mVmmvv: mov a,#4dhmov p7,amov p6,#05mov p6,#04lcall delaymov a,#56hmov p7,amov p6,#05mov p6,#04lcall delayret liangcheng0: DB 30h,7eh,32h,2eh,30h,4dh,56h,20h ; 0-2.0mV liangcheng1: DB 30h,7eh,32h,2eh,30h,56h,20h,20h ; 0-2.0V end- 24 -附录 2 硬件电路图1234D1 BRIDGE1T1 TRANS1C3 CAPC4 CAPC5 CAPC
43、6 CAPD2 DIODEVin1GND 2Vout3U1 VOLTREG123J1R2 RES2VCC12345678910111213141516J2 CON16U5AU5A U5B U5B U5D U5D U5C U5CR9 RES2 R10 RES2VCCR11 RES2C12 C13Y1C11 SR4 RES2Q1 NPNU2 BELLVCCR3 RES2R5 RES2 R6 RES2C8 CAPR1 RES2R7 RES2 R8 RES2C9 CAPC10 CAPC2 CAP32184 U3A CA082567U3B CA082VCC6P7.07P7.18P7.29P7.310P7.411P7.512P7.613P7.714P6.015P6.116P6.217GND 18RET5XTAL24XTAL13P1.01LPE2U? CA082Vin1-Vs2Vout3BUFin4Vs5COM6Rl7BUFout8U? CA082传传传传多功能数字电压表- 25 -附录 3 PBC 板图