使用单片机制作多路输入电压表
1543电压表
使用单片机制作多路输入电压表(TLC1543)作者:佚名来源:不详录入:Admin更新时间:2008-7-26 20:01:07点击数:2【字体:与单片机的接口采用串行接口方式,引线很少,与单片机连接简单。
图1是TLC1543的引脚示意图,其中A0~A10是11路输入,Vcc和GND分别是电源引脚,REF+和REF-分别是参考电源的正负引脚,使用时一般将REF-接到系统的地,达到一点接地的要求,以减少干扰。
其余的引脚是TLC1543与CPU的接口,其中CS 为片选端,如不需选片,可直接接地。
I/O Clock是芯片的时钟端,Adress是地址选择端,Data Out是数据输出端,这三根引脚分别接到CPU的三个I/O端即可。
EOC用于指示一次AD转换已完成,CPU可以读取数据,该引脚是低电平有效,根据需要,该引脚可接入CPU的中断引脚,一旦数据转换完成,向CPU提出中断请求;此外,也可将该引脚接入一个普通的I/O引脚,CPU通过查询该引脚的状态来了解当前的状态,甚至该引脚也可以不接,在CPU向TLC1543发出转换命令后,过一段固定的时间去读取数据即可。
三、单片机与TLC1543芯片的接口图2使用TLC1543制作的多路输入电压表的电路图,从图中可以看出,这里使用了TLC1543作为基准电压源,将REF-直接接地,P1.0、P1.1、P1.2、P1.3和P1.4分别与EOC、时钟、地址、数据、片选端分别相连。
制作时,请参考表1进制连线。
注意电容E1和C1一定要用,E1可用10u/16V电解,C1可用0.1u CBB电容,安装时尽量接近20脚和第10脚。
输入端可根所需要,接入相应的信号。
编程的要求是在六位数码管的后四位数码管上轮流显示TLC1543各通道的测量值,同时用十六进制表示的通道号显示在第1位数码管上。
图2用单片机制作多路输入电压表四、TLC1543驱动程序编写由于采用串行接口,在硬件电路简单的同时,带来了软件编制的复杂性,初学单片机的入门者很难掌握这类芯片的编程方法,这给此类芯片的应用带来一定的限制。
单片机电压表设计
设计一个单片机电压表涉及硬件和软件的结合。
以下是一个简单的步骤指南,帮助你设计一个基于单片机的电压表:选择单片机:如Arduino、STM32、PIC等。
对于初学者,Arduino是一个很好的选择,因为它简单易用且资源丰富。
硬件需求:单片机板(例如Arduino Uno)ADC(模拟-数字转换器):如果你的单片机内置ADC,则无需额外购买。
电压分压器:用于将待测的高电压降低到单片机可以承受的范围内。
LCD或OLED显示屏:用于显示电压读数。
连接线、面包板和其他辅助材料。
设计分压电路:使用电阻分压器将输入电压降低到ADC的输入范围内。
例如,使用两个10kΩ的电阻可以得到输入电压的一半。
连接硬件:将分压器的输出连接到单片机的ADC输入。
将显示屏连接到单片机的相应引脚。
编程:使用你选择的单片机的编程语言(如Arduino IDE、STM32CubeIDE等)编写程序。
程序功能:读取ADC的值。
使用公式将ADC值转换为实际电压值。
例如,如果你使用的是10位ADC,那么最大值为1023,代表最大电压(通常是5V或3.3V,取决于单片机)。
因此,实际电压= (ADC值/ 1023) * 最大电压。
将计算出的电压值显示在屏幕上。
测试:给单片机提供不同的已知电压源,并检查显示的电压是否与源电压匹配。
如果不匹配,可能需要校准或调整分压器的电阻值。
优化与扩展:根据需要,你可以添加其他功能,如数据存储、无线通信、报警功能等。
封装:一旦测试并确认工作正常,你可以将所有部件放入一个适当的外壳中,以便安全、方便地使用。
请注意,处理高电压时务必小心,确保遵循所有相关的安全指南和标准。
单片机课程设计报告:电压表(附程序)
——电压表【课题】电压表【设计要求】设计一个量程可变的数字电压表,用3个LED数码管显示,电压表量程为0~200mV(显示0~200mV)、200mV~2V(显示0.2V~2V)。
【设计原理】一、实验电路图二、工作原理如上图所示,实验中主要用到的芯片有运算放大器、继电器、ADC0832、8951单片机及其外围设备。
电压表的量程为两档,0~200mV 和200mV~2V。
其相对应的运放的放大增益是25倍和2.4倍,这样即使是最大的输入其通过运放后的输出电压都会小于5V,其通过限幅电路后电压均为其真实值。
然后模拟输入电压由AD0832输入,经过模数转换后送给单片机。
由p0口输出字形,同时由p1.4的电平控制74LS573的锁存和直通状态。
P1.5、p1.6、p1.7控制字位。
P1.2控制继电器的工作状态,当P1.2低电平时,三极管工作在截止状态,继电器线圈无电流通过,继电器处于常闭状态,那么相对应的运放的放大增益为25倍。
而当P1.2为高电平时,三极管工作在饱和状态,继电器线圈有电流通过,产生电磁力将继电器的开关吸到常开状态,其对应的放大增益即变为2.4倍。
对于一个模拟输入,现将其放大2.4倍,然后由AD 输入并相应转化,如果它的输出要是小于0.5V ,也就是19H ,则选择此档位是不精确的,也说明此时的输入电压介于0~200mV 之间。
那么我们就需要让P1.2置低电平,将相应的放大倍数改成25以提高转换精度。
若其满足相应的条件则直接将其转换成BCD 码并直接送数显示即可。
实验中用到了模数转换器ADC0832,其引脚图如右图所示,ADC0832是8位逐次逼近型A /D 转换器, 单一正5V 电源供电,CS 为片选, CLK 提供串行输入/输出时钟信号,DO用于串行数字输出,CHO 和CHl 为双通道模拟输入端, 它可用软件设定为单端或差分输人。
在差分方式中,通道口地址的选择由DI 逐位输入,GND 是数字、模拟公共地,cc V (REP V )为芯片电源、参考电压公共端。
基于51单片机的数字电压表adc0808多种设计方案单通道、ADC0809双通道、多通道可选
基于ADC0809的数字电压表摘要:数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表,是诸多数字化仪表的核心与基础,以数字电压表为核心,可以扩展成各种通用数字仪表,专用数字仪表一级各种非电量的数字化仪表几乎覆盖了电子电工测量、工业测量、自动化仪表等各个领域,它的应用已经非常普及了,数字电压表的主要技术指标在:测量范围,显示位数,测量速度,分辨率等方面。
本文是一基于单片机的数字电压表设计为研究内容。
首先对数字电压表作了简单的介绍、接着对A/D转换器作了解、单片机AT89C51与ADC0809的数字电压表的制作原理和系统设计,主要介绍了数字电压表的硬件电路、软件电路和利用Proteus仿真软件进行仿真等内容,以及设计的数字电压表的实用价值和优点。
关键词:AT89C51 ADC0809 A/D转换器 Proteus仿真软件基于ADC0808与ADC0809的数字电压表有多种设计方案第一种,最基础的一通道,数据进行处理显示0.00——5.00V第二种,双通道,数据进行处理显示0.00——5.00V,可先择某一通道显示,可以选择两通道循环显示。
第三种,多通道,数据进行处理显示0.00——5.00V,多通道循环显示。
第四种,多通道,数据进行处理显示0.00——5.00V,可切换单通道显示与多通道循环显示。
(二)系统的主要模块根据设计要求,系统可以分为A/D转换模块、接口模块、显示模块。
1. A/D转换模块采用ADC0809转换芯片,其中A/D转换器用于实现模拟量向数字量的转换,单电源供电。
它是具有8路模拟量输入、8位数字量输出功能的A/D转换器,转换时间为100us,模拟输入电压范围为0V~5V,不需要零点和满刻度校准,功耗低,约15mW。
2. 接口模块采用AT89C51单片机作为系统的控制单元,通过A/D转换将被测量转换为数字量送入单片机中,再由单片机产生显示码送入显示模块显示。
单片机设计数字电压表
单片机设计数字电压表单片机设计数字电压表数字电压表是一种常见的电子测量仪器,它可以用来测量电路中的电压大小。
在本文中,我们将介绍如何使用单片机设计数字电压表。
单片机是一种集成电路,它可以用来控制电子设备的运行。
在数字电压表中,单片机可以用来读取电路中的电压值,并将其显示在数字显示屏上。
设计数字电压表的第一步是选择适当的单片机。
在本文中,我们将使用ATmega328P单片机。
这是一种常见的单片机,它具有多个输入/输出引脚和内置的模拟数字转换器(ADC)。
接下来,我们需要将电路连接到单片机上。
我们将使用一个电压分压器电路来将电路中的电压降低到单片机可以读取的范围内。
电压分压器电路由两个电阻组成,它们将电路中的电压分成两个部分,其中一个部分与单片机连接。
我们将使用10KΩ和1KΩ电阻来构建电压分压器电路。
接下来,我们需要编写单片机程序来读取电路中的电压值并将其显示在数字显示屏上。
我们将使用C语言编写程序,并使用Arduino开发环境来编译和上传程序。
程序将使用单片机的ADC模块来读取电路中的电压值,并将其转换为数字值。
然后,程序将使用数字显示屏库将数字值显示在数字显示屏上。
最后,我们需要将电路和单片机编程板连接起来,并上传程序到单片机。
我们可以使用USB编程器将程序上传到单片机。
在完成上述步骤后,我们就可以使用数字电压表来测量电路中的电压了。
我们只需要将电路连接到电压分压器电路中,然后将数字电压表连接到电压分压器电路中。
数字电压表将显示电路中的电压值。
总结单片机设计数字电压表是一项有趣的项目,它可以帮助我们了解单片机和电路设计的基础知识。
通过使用单片机和电路设计,我们可以构建各种各样的电子设备,从而实现我们的创意和想法。
基于单片机的数字电压表设计
基于单片机的数字电压表设计在当今的电子世界里,电压的准确测量已成为各种电路设计和应用的关键部分。
为了满足这一需求,数字电压表应运而生。
本文将详细阐述如何利用单片机设计数字电压表。
在了解数字电压表之前,我们首先需要理解什么是单片机。
单片机是一种微型计算机芯片,它集成了CPU、内存、I/O接口等必要组件,具有体积小、功耗低、价格实惠等优点。
因此,利用单片机来设计数字电压表是十分理想的选择。
数字电压表是一种能够将模拟电压信号转换为数字信号并加以处理的仪器。
它的优点包括测量准确、分辨率高、稳定性好等。
数字电压表的种类繁多,根据应用场景的不同,可以选择不同的设计方案。
在进行数字电压表设计时,我们需要以下几个方面:电压传感器的选择:根据实际应用场景选择合适的电压传感器,例如电压互感器、霍尔电压传感器等。
A/D转换器的选择:A/D转换器是将模拟信号转换为数字信号的关键部件。
在选择时,我们需要考虑其分辨率、转换速率、功耗等参数。
单片机的选择:根据项目需求选择合适的单片机型号,确保其具有足够的资源来处理数字信号。
人机界面的设计:为了便于用户操作和观察,我们还需要设计一个简单易用的人机界面。
在具体实施时,我们需要将电压传感器与A/D转换器连接,并将A/D 转换器的输出端连接到单片机的I/O端口。
然后,我们可以通过编写单片机程序,实现对数字信号的处理、存储和显示。
数字电压表在各种电路设计中都有着广泛的应用,例如电源电路、电机控制电路、模拟电路等。
通过数字电压表,我们可以轻松地监测电路中的电压波动,以便及时进行调整和故障排查。
数字电压表还可以用于科研、教育、生产等领域,为人们提供准确可靠的电压测量数据。
基于单片机的数字电压表设计是一项实用且具有挑战性的任务。
通过掌握数字电压表的基本原理和单片机的应用方法,我们可以实现准确、稳定的电压测量,从而为各种电路设计和应用提供有力的支持。
在未来的电子世界中,数字电压表将继续发挥其重要作用,推动电路技术的发展和创新。
多路数字电压表
1引言随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。
传统的模拟电压表,已有百年的发展历史,虽然经过改进,但是仍然远远不能满足测量的需要。
近几十年来随着电子技术的发展,经常需要测量高精度的电压,因此数字电压表应运而生,发展的速度很快,数字电压表成为数字仪表的基础和核心。
本次设计的数字电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。
A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。
数据处理则由芯片8031来完成,其负责把ADC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0809芯片的工作。
显示模块主要由数码管,显示测量到的电压值。
2 系统原理及基本框图2.1 设计原理采用80C51系列单片机和ADC0809设计一个多路数字电压表,能够测量0-5V 之间的直流电压值,四位数码管动态显示, 这里采用总线型DIP40引脚封装.80C51系列基本型单片机具有如下特点:40个引脚,4kROM ,128字节RAM ,32个外部双向输入/输出(I/O )口,5个中断优先级,2层中断嵌套中断,2个16位定时计数器,还具有一套完善的中断系统.根据系统的功能要求,控制系统采用AT89C51单片机,A/D 转换器采用ADC0809.ADC0809是8位A/D 转换器.当输入电压为5伏时,输出的数据值为255(0FFH),因此最大分辨率为0.0196(5/255).ADC0809具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换.每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8路输入电压进行测量.LED 数码管显示采用软件译码动态显示.通过按键选择可8路循环显示,也可单路显示,单路显示可通过按键选择显示的通道数. 基本框图如图2.1所示图2.1基本框图3 系统硬件电路设计3.1硬件电路设计多路数字电压表应用系统硬件电路主要由AT89C51单片机、ADC0809 A/D 转换器、数码管动态显示电路和按键处理电路等组成。
基于51单片机的数字电压表
课程设计题目数字电压表学生姓名张玉龙学号20081341056学院信息与控制学院专业测控技术与仪器指导教师葛化敏二O一一年六月三十日基于51单片机的数字电压表一、设计内容:先在proteus 上进行软件仿真设计,在仿真实现的基础上,要求完成部分硬件模块的制作和系统联调,实验内容为设计一个数字电压表,实现从模拟信号输入到数字信号输出的基本功能。
二、设计要求:采用51系列单片机和ADC 设计一个数字电压表电路,通过调节滑动变阻器改变电压,在LCD 液晶屏上显示其相应的电压值,要求电压精确到小数点后第四位,显示格式为,LCD 第一行前一段为“20081341056”(班级同学张玉龙的学号),后一段则为“V :”(电压单位);第二行的前一段为“Class 2”(班级2班),后一段则显示电压值,单位为“V ”。
三、设计原理:通过在Keil 软件对单片机AT89C52进行编程,硬件电路中单片机与ADC0804及LCD 显示屏连接。
P0与ADC0804相连接,P1与LCD 连接。
通过start()子程序启动ADC0804,通过init ()子程序初始化LCD 。
模拟信号通过ADC0804的VIN+引脚输入到ADC0804中转换为数字信号,P0获得此数字量后,经过处理得到每位的数据后,通过P1口写数据到LCD上图为基本的原理图 四、实验电路图及仿真结果:51系列 单片机电压输入五、程序代码:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit lcdrs=P3^0;sbit lcden=P3^1;sbit wrad=P3^6;sbit rdad=P3^7;uint temp,a1,a2,a3,a4,a5,num;uchar code table[]="0123456789.";//显示数字uchar code table1[]="20081341056 V:"; uchar code table2[]="Class 2";void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=100;y>0;y--);}void start()//启动AD{wrad=1;wrad=0;wrad=1;}void write_command(uchar com)//写命令{lcdrs=0;P1=com;delay(2);lcden=1;delay(2);lcden=0;}void write_data(uchar date)//写数据{lcdrs=1;P1=date;delay(5);lcden=1;delay(5);lcden=0;}void init()//lcd初始化{lcden=0;write_command(0x38);//设置16x2显示write_command(0x0c);//设置光标write_command(0x06);//写字符指针加1,光标加1write_command(0x01);//清屏}void main(){init();//LCD初始化write_command(0x80);//LCD写地址for(num=0;num<15;num++){write_data(table1[num]);delay(5);}while(1){start();//启动ADdelay(50);rdad=0; //rd低脉冲读数据delay(50);temp=P0;a1=(temp*50000/255)/10000;//区分位数,最高位 255*50000/255/10000=5.0000V a2=(temp*50000/255)%10000/1000;a3=(temp*50000/255)%1000/100;a4=(temp*50000/255)%100/10;a5=(temp*50000/255)%10;write_command(0x80+0x40);for(num=0;num<7;num++){write_data(table2[num]);delay(5);}write_command(0x80+0x49);//LCD写地址write_data(table[a1]);delay(1);write_data(table[10]);delay(1);write_data(table[a2]);delay(1);write_data(table[a3]);delay(1);write_data(table[a4]);delay(1);write_data(table[a5]);delay(1);write_data('V');delay(1);}}六、心得体会:课程设计中不得不遇到一些问题,但只要自己有恒心有毅力,终究会克服一切困难;在设计中我们要学会运用keil软件及protues软件对我们设计的电路不断地进行仿真、调试和修正,遇到程序问题时我们应该学会一段一段地去排查,最终解决所有问题;另外,还应熟练掌握每个芯片及器件如51单片机及ADC0804和LM016L每个引脚的作用和接法及各种状态的判断。
基于MSP430单片机的新型多路数字电压表设计
图 2幅值 0 . 5 V的 直 流信 号 采样 结 果
3 . 系 统 硬 件 设 计
3 . 1 电源降 压 电路 该 系统 果川AMSI 1 I 7稳 t 片输 Ⅲ3 - 3 V A流 电,经 过 瓷” 电 容卡 ¨ 电 } U 滤 波 ,使 供给 机 的电源 稳 定性 ,蚓时 竹 戈按 卜 仃L E D做 指 , J ,¨ J - 以 卣接 观察 _ 乜源的 通惭 。 3 _ 2 直 流采 样 和交流 采样 源 电路 直流 采样源 路 I - h 4 个1 O K滑动变 阻器电路组成 :交流 采样源 电路 F h 输 入信 I j 处 理电路 乖 『 I 极性转换 电路组 成。输 入信 号处理 电路 完成埘 输 入n 勺 信 进仃幅眨 调整。极性转换 电路则完成对信 的放火 。 输入f 青 处 理 电 路 的 同的 足将 2 2 0 V的交 流 信 号转 化 为 幅 值较 小的1 . 5 V交流信 。 先 山变压 器将 2 2 O v 的 交流 电 降 成 l 2 V交 流 电压 , { f f 经过 电化 器的 凋节作 川 ,输 出 1 . 5 vO q交流 侍 扎 极 性转 换 电路 利川 采 样 芯 』 正 常运 行州 的 电压 做 转 换时 的 参 芍u。} h t 芯 片 正常运 行时 的 电压 ‘ 般 为j F u,【 此 要 对输 入 信 处理 电路输 H { 的1 . 5 V的交 流 进 行变 换 ,转变 为单 极性 交流 u 信 号。 3 . 3 显 示 电 路 电路采 川液 示  ̄ : L C Dl 6 0 2 ,刖 米对 采样 剑 的 流俏 号
单片机课程设计-多通路简易数字电压表-报告
目录第1章引言 (1)第2章总体设计方案 (2)2.1 设计要求 (2)2.2 设计思路 (2)2.3 设计方案 (3)第3章硬件电路设计 (4)3.1 A/D转换模块 (4)3.2 单片机系统 (9)3.3 复位电路和时钟电路 (12)3.4 LED显示系统设计 (14)3.5 总体电路设计 (17)第4章程序设计 (18)4.1 程序设计总方案 (18)4.2 系统子程序设计 (18)第5章仿真 (20)5.1 软件调试 (20)5.2 显示结果 (21)第6章使用说明 (22)第7章心得体会 (23)参考文献 (24)附录A 程序清单 (25)附录B 原理图 (31)第1章引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。
传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。
采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。
数字电压表是诸多数字化仪表的核心与基础。
以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。
目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。
最近的几十年来,随着半导体技术、集成电路和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。
目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。
基于单片机的多路输入电压表的设计毕业设计
(基于单片机的多路输入电压表的设计)摘要:在工业控制领域中,电压是一个十分重要的参考量,准确而实时的控制电压对于我们的工作有事半功倍的效果。
随着微电子技术、计算机技术、通信技术和自动化技术的高速发展,过去我们所采用的一些传统的电压测控系统,存在着功能单一、速度慢、精度低、数据无法长期存储等问题,己经渐渐不能满足工业自动化和实际测量工作中多样性、多功能的需要,在这种背景下,人们对电压测控系统的检测速度、准确度以及仪表的检测功能等方面又提出了新的要求,而寻求这些问题的解决方案成为当前研究的焦点。
关键词:电压表;A/D转换;TLC1543;编写程序(The design of the multi-channel inputvoltmeter based on SCM)ABSTRACT:In the field of industrial control, voltage is an important reference, accurate and real-time control voltage for our job has twice the result with half the effort. With microelectronics technology, computer technology, communication technology and automation technology, the rapid development of the past we use some of the traditional voltage measurement and control system, there is a single function, slow speed and low accuracy, data cannot be stored for a long time, has been gradually cannot meet the practical measurement in industrial automation and the needs of the diversity, multi-function, under this background, the detection speed and accuracy of voltage measurement and control system and instrument detection, etc, and puts forward new requirements, and to seek solutions to these problems become the focus of current research.KEY WORDS: V oltmeter; A/D conversion; TLC1543; Write a program目录1 前言 (1)1.1本次毕业设计课题的目的、意义 (1)1.2 设计系统的发展与状况 (1)1.3 智能仪器的发展趋势 (5)2 系统的结构及原理组成框图 (5)2.1 系统结构及原理组成框图 (5)2.2传感器 (5)2.3模数转换器TLC1543的简介 (5)2.4 AT89C51系列单片机简介 (7)2.5显示电路设计 (11)3系统的硬件 (13)3.1系统硬件设计 (13)3.2绘制系统硬件电路图了解其工作原理 (13)4 系统的软件 (17)4.1 TLC1543与AT89C51接口程序 (117)4.2系统程序流程图及主程序 (21)4.3延时子程序 (24)4.4模数转换程序 (24)5结论 (26)参考文献 (28)致谢 (28)外文翻译 (29)附件 (38)1 前言1.1本次毕业设计课题的目的、意义在工业控制领域中,电压是一个十分重要的参考量,准确而实时的控制电压对于我们的工作有事半功倍的效果。
单片机课设 简易数字电压表
1.总体设计方案选择与说明要实现电压的测量有多种方案,其中两种比较简单的且精度比较高的方法,分别采用并行ADC0808芯片和和TLC1543/TLC2543芯片。
方案一:用ADC0808芯片做模数转换采样芯片,占用的单片机I/O口线多,占用的板子面积较大,但是可以循环采样8路模拟通道,编程相对简单。
方案二:用TLC1543/TLC2543芯片做模数转换采样芯片,占用的单片机I/O口线少,且占用电路面积小,但是编程比较复杂。
我采用方案一,因为方案一所用到的芯片我们都比较熟悉,采用常用的51单片机作为控制芯片,ADC0808芯片的CLOCK脚(时钟脉冲输入端)接单片机的P2.4脚,DATA OUT接单片机的P0.0-P0.7脚;ADD A-ADD C脚(3位地址输入线)接单片机的P1.0-P1.2;ALE脚(地址锁存允许信号)接单片机的P2.5;OE脚(数据输出允许信号)接单片机的P2.7;IN0-INT7接输入电压(及测试电压),ADC0808通过采样进来的数据信号送给单片机,通过计算再送入显示电路将其电压值显示出来。
电压的范围是0-5V。
2.系统结构框图与工作原理2图1.1 系统结构框图 2.2系统工作原理数字电压表工作原理:这里主要是利用ADC0808并行接口芯片,ADC0808芯片的基准电压脚外接电压为+5V ,则最大可以测得的电压为5V ,ADC0808芯片的模拟输入脚通过电位器接+5V 电压,进行模拟采样,通过调整电位器的值改变模拟量。
输入的模拟量经ADC0808芯片的内部8位开关电路逐次逼近A/D 转换器,转换成8位二进制数,其最小的分辨率为0.0196(V R E F =0.0196V),D 为转化的数字量,再通过 255/V V REF IN D ⨯=可以求得模拟电压,最后输入四位LED 显示器就可将所测得电压显示出来。
3.硬件电路设计及说明3.1键盘接口电路独立式键盘:独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立。
用单片机制作电压表
用单片机制作电压表摘要:本文介绍了如何用单片机制作一种简单的电压表。
首先讲述了设计思路和所需材料,然后详细介绍了电压表的电路和程序设计。
最后,进行了实验验证和误差分析,结果表明该电压表具有较高的精度和稳定性,可用于实际应用中。
关键词:单片机,电压表,电路设计,程序设计,实验验证正文:一、设计思路电压表是一种用来测量电源电压、信号源电压等的电子测试仪器。
在实际工作中,电压表的精度和稳定性对测量结果具有重要影响。
因此,本文采用单片机的方法设计一种简单的电压表,以提高其精度和稳定性。
二、所需材料本电压表所需材料如下:1.AT89C51单片机2.LCD1602液晶显示器3.AD转换芯片4.电阻等电子元器件三、电路设计1. AD转换电路该电压表采用的是单片机内部的AD转换芯片,可将输入的模拟电压转换成数字信号。
因此,需要设计一个合适的AD转换电路。
该电路的原理图如下图所示:其中,R1和R2为分压电阻,可通过调整它们的阻值来调整输入电压的范围。
C1为滤波电容,将输入电压进行滤波,使AD转换器输入的电压更加稳定。
2. 单片机电路单片机电路的原理图如下图所示:其中,U1为单片机,U2为LCD液晶显示器,U3为电源芯片,P1为电压输入接口,R3和R4为接在U1的引脚上的上拉电阻,可以保证单片机工作的稳定。
R5和R6为控制LCD1602液晶显示器的调整电位器。
四、程序设计该电压表的程序设计如下:1. 设置单片机的输入/输出口2. 初始化LCD1602液晶显示器3. 初始化AD转换器4. 通过AD转换器读取输入电压的模拟信号5. 将模拟信号转换成数字信号6. 将数字信号转换成电压值7. 将电压值显示在LCD液晶显示器上五、实验验证经过实验验证,该电压表的精度约为0.1V,稳定性较高,可以满足实际应用需求。
但是,由于电阻和电容的选型和电路设计的误差,误差值有时会有所不同。
因此,在实际应用中需要进行误差分析和校准。
六、误差分析误差分析的主要目的是分析电路的精度,以确定设计的合理性。
基于单片机的多路数字电压表设计---高文超
目录0. 前言 (1)1.基于单片机的多路数字电压表的基本理论 (1)2. 方案设计 (2)3. 硬件电路的工作原理 (2)3.1单片机电路模块 (2)3.2 A/D转换器电路模块 (4)3.3数码管显示电路模块 (5)3.4 按键处理电路模块 (5)4. 软件编程 (6)4.1 主程序 (6)4.3 显示子程序 (9)5. 系统调试和结果分析 (10)6. 结论及进一步设想 (10)参考文献 (11)附录1 元件清单 (12)课设体会 (13)基于单片机的多路数字电压表的设计高文超沈阳航空航天大学自动化学院摘要:本次设计了一个多路数字电压表,该电压表测量范围在0—5V之间。
它主要利用A/D转换器,对多路电压值进行采样,得到相应的数字量,然后按照数字量与模拟量的比例关系得到对应的模拟电压值,通过显示设备显示出来。
系统过程就是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示。
由于采用高性能的单片机芯片为核心,同时利用LED数码管为显示设备,这样就使显示清晰直观、读数准确,大大地减少了因人为因素所造成的测量误差事件,大大的提高了测量的精确度。
关键词:单片机;数字电压表;ADC08090. 前言单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU)。
随着单片机技术的飞速发展,各种单片机蜂拥而至,单片机技术已成为一个国家现代化科技水平的重要标志。
单片机可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。
单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化。
现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。
本次课程设计的课题是“基于单片机的多路数字电压表的设计”。
主要考核我们对单片机技术,编程能力等方面的情况。
用单片机制作电压表
元器件清单
品名
型号
数量
备注
单片机
STC12C5A60S2
1
大约11元/片
芯片座
管孔式40PIN-DIP
1
可以用普通40PIN的芯片座替代
电容
30Pf
2
大约8元/包,瓷片电容
晶体振荡器
12MHz
1
大约1元/个,普通的直插式晶体即可
数码管
SR430563K
1
4位共阳,数码管中间带冒号显示
5V稳压电源
1
为单片机提供工作电压
电路原理图
显示部分:
电压值是用数码管显示出来的,非常直观,本制作采用的是四位数码管。采用动态显示,相比静态显示。动态显示方式不论是多少位的数码管,在同一时刻内只有其中一位被点亮,所以比较省电,要加上100欧的限流电阻来保护数码管。
注意事项:
1.在使用ADC功能时,应将其输入端的I/O接口设置为高阻输入工作方式。
电阻
10K 1/4W
1
电阻
100欧1/4W
3
万能实验板
2.54mm间距
1
尺寸可按喜好选择
原理:
主要运用到了A/D转换原理,将连续变化的模拟信号转化为数字信号,STC12C5A60S2自带A/D转换,省去了A/D转换芯片,A/D转换接口在P1口(P1.7-P1.0),有8位10路A/D转换器,速度可达250KHz,上电复位后P1口为弱上拉I/O口,可设置8路中任何一路为A/D转换,不需要作为A/D使用的可继续作为I//O使用。
单片机应用技术任务15 制作数字电压表
相关知识
3、A/D转换器的基本知识
A/D转换器(简称ADC)的功能是将连续的模拟信号转换成数字信号。 按照器件与微处理器的接口形式,ADC可分为串行ADC和并行ADC,按 照转换原理可分为双积分式和逐次逼近式。选择ADC芯片时,常涉及到 的技术指标有分辨率、转换时间等。 分辨率:表示输出数字量增减1所需要的输入模拟量的变化值,它 反映了ADC能够分辨最小的量化信号的能力。设ADC的位数为n,转换 的满量程电压为U,则其分辨率为U/(2n-1)。 例如,满量程电压为5V,如果是用10位ADC转换器,则它的分辨率 为5000mV/(210-1)≈5mV,如果是用12位ADC转换器,则它的分辨率为 5000mV/(212-1)≈1mV。可见ADC的位数越多,其分辨率就越高。
相关知识
4、并行ADC0804的应用特性
1 2 3 4 5 6 7 8 9 10
CS RD WR CLKIN INTR VIN+ VINAGND VREF DGND
VCC CLKR 19 18 17 16 15 14 13 12 11
相关知识
4、并行ADC0804的应用特性 CLKIN、CLKR引脚(4脚、19脚):时钟信号输入、输出引脚。
相关知识
1、单片机的三总线 数据总线:由P0 口的 8 根线构 控制总线:由 、 、 WR RD 数据 数据总线、地址总线和控制总线。 总线 成, P0.0 ~P0.7分别对应数 3根线构成。 PSEN 单片机片外扩展数据存储器、并行 I/O接口芯片或者程序存储器(简称外 据总线中的 D0~D7。单片机 为程序存储器读控制线。 PSEN STC89C51 部扩展芯片 )时,需要使用三总线 74LS373 单片机片外扩展程序存储器时, 的数据总线为双向三态总线。 3 D0 A0 P00 39 Q0 2 单片机的外部并行扩展芯片时, 线与程序存储器的输出允许脚 38 4 5 A1 P01 D1 Q1 7 D2 A2 地址总线:共 16 根,分别为 P02 37 Q2 6 P0.0 ~P0.7引脚直接与扩展 ( 一般为脚或脚 )相接。 36 8 9 A3 P03 D3 Q3 13 D4 A4 A0 ~ A15。其中高 8 位地址线 芯片的数据引脚 D0 ~ D7相接。 为片外扩展数据存储器和 RD P04 35 Q4 12 34 14 15 A5 P05 D5 Q5 A8 ~ A15 由P2口直接引出, 此时,单片机的 P0口不能作 并行 I/O 接口芯片的读控制线 17 D6 A6 P06 33 Q6 16 32 18 19 A7 P07 D7 Q7 此时, P2口不能作普通的并 普通的并行 I/O口使用。 WR 为片外扩展数据存储器 11 LD ALE 30 OE 1 地址 行 I/O口使用。低 8位地址线 和并行 I/O接口芯片的写控制 总线 A8 P20 21 A0 ~A7由P0口经74LS373锁 A9 线。单片机片外扩展数据存储 P21 22 A10 P22 23 存而形成,由 74LS373的 2 器或并行I/O接口芯片时,这 24 A11 P23 A12 Q0 ~Q7引脚输出。 P24 25 根控制线分别与接口芯片的读 A13 P25 26 27 A14 写控制引脚相接。此时,单片 P26 A15 P27 28 机的P3.7、P3.6引脚不能作 片外扩展RAM或I/O芯片写控制线 WR P36/WR 16 控制 I/O口使用。 17 片外扩展 RAM 或 I/O 芯片读控制线 RD P37/RD
多路数字电压表的设计
8.3 多路数字电压表的设计数字电压表是电子测量中经常用到的电子器件,传统的指针式电压表功能单一、精度低、不能满足数字时代的要求。
而采用单片机的数字电压表精度高、抗干扰能力强、可扩展性强、使用方便,在日常生活中广泛应用。
8.3.1 多路数字电压表的功能要求多路数字电压表的功能要求如下:(1) 输入电压为8路。
(2) 电压值的范畴为0~5V。
(3) 测量的最小分辨率为0.019V,测量误差为 0.02V。
(4) 能通过显示器显示通道和通道电压,有效位数为小数点后两位8.3.2 多路数字电压表的总体设计多路数字电压表的总体结构如图8.9所示,处理过程如下:先用A/D转换器对各路电压值进行采样,得到相应的数字量,再按数字量与模拟量成正比关系运算得到对应的模拟电压值,然后把模拟值通过显示器显示出来,另外可以通过按键选择通道。
图8.9 多路数字电压表的总体结构图根据系统的功能要求,控制系统采用AT89C52单片机,A/D转换器采用ADC0808(0809)。
ADC0808(0809)是8位的A/D转换器。
当输入电压为5.00V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196V(5/255)。
ADC0808(0809)具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。
如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8路输入电压进行测量。
显示器采用LCD显示器,显示效果好。
按键可只设定一个,用于选择显示的当前通道。
8.3.3 多路数字电压表硬件电路多路数字电压表具体硬件电路如图8.10所示。
P 17P 16P 15P17P16P15P07P 07P06P05P04P03P02P01P00P 00P 01P 02P 03P 04P 05P 06P 07P 00P 01P 02P 03P 04P 05P 06P27ST P23P26P21P22P20P24P25ADDC ADDB ADDA ADDA ADDB ADDC ST XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52D 714D 613D 512D 411D 310D 29D 18D 07E 6R W 5R S 4V S S 1V D D 2V E E3LCD1LM016LR110k234567891RP1RESPACK-8OUT121ADD B 24ADD A25ADD C 23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START 6OUT58EOC 7OE9CLOCK 10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE 22U2ADC0808X1CRYSTALC11nFC21nFC31nFR420056%RV11k50%RV21k图8.10 多路数字电压表的电路原理图其中,ADC0808(0809) 的数据线D0~D7与AT89C52的P2口相连,地址输入端ADDA 、ADDB 、ADDC 与AT89C52的P3口的低3位P3.0、P3.1、P3.2相连,地址锁存控制端ALE 和启动信号START 连接在一起与P3.7相连,数据输出允许控制端OE 与P3.6相连,转换结束信号EOC 与P1.3相连。
单片机四位半数字电压表程序
单片机四位半数字电压表程序摘要:1.单片机四位半数字电压表的原理2.程序设计方法3.程序实现步骤4.程序应用实例正文:1.单片机四位半数字电压表的原理单片机四位半数字电压表是一种基于微处理器的数字电压表,它可以测量并显示输入电压的大小。
其主要原理是通过模拟- 数字转换器(ADC)将输入的模拟电压信号转换为数字信号,然后通过单片机进行处理并在显示器上显示。
四位半数字表示电压表可以显示最大值为9999,最小值为0.0001,测量精度较高。
2.程序设计方法设计单片机四位半数字电压表程序时,需要先确定硬件电路,包括电源、模拟- 数字转换器、显示器等部分。
接下来,根据硬件电路设计软件程序,主要包括以下几个步骤:(1)初始化:设置单片机的工作模式,初始化定时器、中断、ADC 等模块。
(2)读取电压值:使用ADC 模块将输入电压信号转换为数字值,并进行模数转换。
(3)程序处理:对读取到的电压值进行处理,如放大、滤波等,以提高测量精度。
(4)显示电压值:将处理后的电压值显示在显示器上。
3.程序实现步骤以下是一个简单的单片机四位半数字电压表程序实现步骤:(1)设置单片机工作模式:初始化单片机,设置工作模式,初始化定时器、中断、ADC 等模块。
(2)读取电压值:使用ADC 模块对输入电压信号进行模数转换,得到数字电压值。
(3)程序处理:对读取到的电压值进行处理,如放大、滤波等,以提高测量精度。
(4)显示电压值:将处理后的电压值显示在显示器上。
4.程序应用实例以下是一个简单的单片机四位半数字电压表程序应用实例:假设我们使用STC89C52 作为单片机,ADC0804 作为模拟- 数字转换器,12864 液晶显示器作为显示器。
(1)初始化:设置单片机工作模式,初始化定时器、中断、ADC 等模块。
(2)读取电压值:使用ADC 模块对输入电压信号进行模数转换,得到数字电压值。
(3)程序处理:对读取到的电压值进行处理,如放大、滤波等,以提高测量精度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用单片机制作多路输入电压表
在工业控制和智能化仪表中,常由单片机进行实时控制及实时数据处理。
单片机所加工的信息都是数字量,而被控制或测量对象的有关参量往往是连续变化的模拟量,如温度、速度、压力等等,与此对应的电信号是模拟电信号。
单片机要处理这种信号,首先必须将模拟量转换成数字量,这一转换过程就是模—数转换,实现模/数转换的设备称为A/D转换器或ADC。
AD转换器是单片机应用中常见的接口,从事单片机开发的人员通常都会遇到使用AD的要求,本文通过一个典型的例子来学习一种常用AD转换器的用法。
一、模数转换简介
A/D转换电路种类很多,在选择模/数转换器时,主要考虑以下的一些技术指标:转换时间和转换频率、量化误差与分辨率、转换精度、接口形式等。
目前,较为流行的 AD转换器件有很多都采用了串行接口,这使得这类芯片与单片机的硬件连接非常简单,而软件编程相对要复杂一些,下面,我们以TI公司的TLC1543为例,制作一个多路输入的电压表,了解一下这类芯片的使用特点。
二、TLC1543特性简介
TLC1543是由TI公司开发的开关电容式AD转换器,该芯片具有如下的一些特点:
10位精度、11通道、三种内建的自测模式、提供EOC(转换完成)信号等。
该芯片与单片机的接口采用串行接口方式,引线很少,与单片机连接简单。
图1是TLC1543的引脚示意图,其中A0~A10是11路输入,Vcc和GND分别是电源引脚,REF+和REF-分别是参考电源的正负引脚,使用时一般将REF-接到系统的地,达到一点接地的要求,以减少干扰。
其余的引脚是TLC1543与CPU的接口,其中CS为片选端,如不需选片,可直接接地。
I/O Clock是芯片的时钟端,Adress是地址选择端,Data Out是数据输出端,这三根引脚分别接到CPU的三个I/O端即可。
EOC用于指示一次AD转换已完成,CPU可以读取数据,该引脚是低电平有效,根据需要,该引脚可接入CPU的中断引脚,一旦数据转换完成,向CPU提出中断请求;此外,也可将该引脚接入一个普通的I/O引脚,CPU通过查询该引脚的状态来了解当前的状态,甚至该引脚也可以不接,在CPU向TLC1543发出转换命令后,过一段固定的时间去读取数据即可。
三、单片机与TLC1543芯片的接口
图2使用TLC1543制作的多路输入电压表的电路图,从图中可以看出,这里使用了TLC1543作为基准电压源,将REF-直接接地,P1.0、P1.1、P1.2、P1.3和P1.4分别与EOC、时钟、地址、数据、片选端分别相连。
制作时,请参考表1进制连线。
注意电容E1和C1一定要用,E1可用10u/16V电解,C1可用0.1u CBB电容,安装时尽量接近20脚和第10脚。
输入端可根所需要,接入相应的信号。
编程的要求是在六位数码管的后四位数码管上轮流显示TLC1543各通道的测量值,同时用十六进制表示的通道号显示在第1位数码管上。
图2用单片机制作多路输入电压表
四、TLC1543驱动程序编写
由于采用串行接口,在硬件电路简单的同时,带来了软件编制的复杂性,初学单片机的入门者很难掌握这类芯片的编程方法,这给此类芯片的应用带来一定的限制。
为解决这一问题,我们在实际应用该芯片的基础上写出了该芯片的驱动程序,有了驱动程序,使用者不必再关心TLC1543数据手册中的时序图之类不易懂的部份,只要了解清楚驱动程序的用法,即可使用该芯片。
TLC1543共有11条输入通道,这11条通道的编号从0~10,读取时,根据编号来获得想应通道的数据,此外,内部还有三条用于测试的通道,分别是接:
、和其通道编号分别是11、12和13.
1.驱动程序
;以下定义各引脚
ADCLK EQU P1.1 ;时钟
ADaddr EQU P1.2 ;地址引脚
ADDout EQU P1.3 ;数据端
ADCS EQU P1.4 ;片选端
命令:ADConver
参数:r2通道号,转换前存入转换结后数据在r0r1中,高位在前
资源占用:r0,r1,r7,A
ADConver:
CLR ADClk
CLR ADCS
MOV A,R2
RLC A
;送出地址信号
MOV R7,#4
C_L1:
RLC A
MOV ADAddr,C SETB ADClk NOP
NOP
NOP
NOP
CLR ADClk DJNZ R7,C_L1 ;补6个脉冲MOV R7,#6
C_L2:
SETB ADClk NOP
NOP
NOP
NOP
CLR ADClk DJNZ R7,C_L2 ;等待转换结束SETB ADCS NOP
NOP
NOP
NOP
CLR ADCS
;取高2位
NOP
NOP
NOP
NOP
SETB ADDout SETB ADClk MOV C,ADDout MOV ACC.1,C CLR ADClk NOP
NOP
NOP
NOP
SETB ADDout SETB ADClk MOV C,ADDout MOV ACC.0,C CLR ADClk
ANL A,#00000011B ;清A的高6位
MOV R0,A ;保存数据
MOV R7,#8
C_L3:
NOP
NOP
NOP
NOP
SETB ADDout
SETB ADClk
MOV C,ADDout
MOV ACC.0,C
RLC A
CLR ADClk
DJNZ R7,C_L3
SETB ADCS
MOV R1,A
RET
2.驱动程序的使用
该驱动程序中用到了四个标记符号:
ADClk与TLC1543的Clk引脚相连的单片机引脚
ADaddr与TLC1543的Address引脚相连的单片机引脚
ADDout与TLC1543的AdDout引脚相连的单片机引脚
ADCS 与TLC1543的引脚相连的单片机引脚
实际使用时,根据接线的情况定义好ADclk、ADaddr、ADDout、ADCS,将通道号送入R2,调用ADConver,即可从R0、R1中得到转换后的数据,使用非常简单。
;**************************************************
; 平凡单片机工作室
;
; Copyright 2003 pingfan's McuStudio
; All rights Reserved
;作者:周坚
;文件名:ad.asm
;功能简介:每隔1s轮流将一个通道的值显示在数码管后4位,首位显示通道号
;**************************************************
gCoun DA TA 22H ;通道计数器
CLK bit P1.1 ;时钟端
ADDR bit P1.0 ;地址端
Dout bit P1.4 ;数据输出端
CS bit P1.3 ;片选端
Hidden DATA 10H ;消隐码
Counter DATA 57H ;显示程序用计数器
DISPBUF DATA 58H ;显示缓冲区首地址
ORG 0000H
JMP START
ORG 000BH ;定时中断使用T0
JMP DISP ;定时中断程序
ORG 30H
START:
MOV SP,#5FH ;初始化
MOV P1,#0FFH
MOV P0,#0FFH
MOV P2,#0FFH ;关所有LED及数码管
MOV TMOD,#00000001B
MOV TH0,#HIGH(65536-3000)
MOV TL0,#LOW(65536-3000)
SETB TR0
SETB EA
SETB ET0
MOV Counter,#0 ;计数器清零
MOV DISPBUF+1,#Hidden ;第2位显示器消隐
MOV gCoun,#0 ;通道计数器清零,指向通道0
LOOP:
CALL Delay ;延时1s
MOV R2,gCoun ;送通道号
CALL ADConver
MOV A,R0
MOV R6,A
MOV A,R1
MOV R7,A
CALL HB2
;调用二-十进制转换程序
;入口:待转换的双字节十六进制数在R6和R7中
;出口:转换结束的结果在R3、R4和R5中,压缩BCD码方式存储MOV A,R4
ANL A,#0F0H
SWAP A ;高低4位互换
MOV DispBuf+2,A ;最高位
MOV A,R4
ANL A,#0FH
MOV DispBuf+3,A
MOV A,R5
ANL A,#0F0H
SWAP A
MOV DispBuf+4,A
MOV A,R5
ANL A,#0FH
MOV DispBuf+5,A
;以上程序段将压缩BCD码转换成非压缩BCD码并送显示缓冲区
MOV DispBuf,gCoun ;将通道号送第1个显示器的显示缓冲区
INC gCoun ;通道号加1
MOV A,gCoun
CJNE A,#11,LOOP ;判断是否到11了
MOV gCoun,#0 ;到则回零
JMP LOOP
;主程序到此结束
限于篇幅,文中用到的其他程序就不再提供了,可以在光盘中找到完整的源程序。