八位模拟信号转换成数字信号
8路模拟电压信号进行采集并循环显示

前言一直以来,科学都是人类文明不断进步的源泉,从最开始的原始人折树枝弄火,磨石头做各种器件,到现在的飞机大炮因特网,无一不彰示着我们的进步,无一不说明了科技在生活中的重要性。
而自从1840年,洋枪坚船利炮惊醒还在梦中的国人,经历了近100年的屈辱和血泪,终于看到了科技的重要性,明白了什么是落后就要挨打,只有科技进步了,国家才能强大!本次专业课程设计就是锻炼理论和实际结合的能力,提高科技能力和科学思想。
随着计算机技术的飞速发展和普及,数据采集系统也迅速地得到应用。
在生产过程中,应用这一系统可对生产现场的工艺参数进行采集,监视和记录,为提高产品质量,降低成本提供信息和手段。
在科学研究中,应用数据采集系统可获得大量的动态信息,是研究瞬间物理过程的有力工具,也是获取科学奥秘的重要手段之一。
总之,不论在哪个应用领域中,数据采集与处理越及时,工作效率就越高,取得的经济效益也越高。
科学发展的今天,选择基于单片机八路数据采集系统设计是很有意义也是很有必要的。
第一章 设计要求1.1 设计要求(1) 对8路模拟电压信号进行采集并循环显示 (2) 模拟电压变换范围为:0 –5V (3) 测量精度小于±2%(4) 测量温度用3位LED 显示器显示,1位显示循环通道1.2 系统设计思路图1.1 八路数据采集系统方框图1.3 方案选择1.3.1模拟输入方案在试验中使用滑动变阻器改变输入电压,模拟数据采集。
此方案简单易懂,可操作性强,价格也比较便宜。
1.3.2 数据显示方案利用试验使所提供的7279最小功能版来实现数据的显示和按键等试验要求。
在试验中如果使用四个数码管来实现,要使用动态显示,且实现按键功能等比较复杂。
要在P 口接多个按键,这样使程序很复杂。
使用7279最小功能板在试验中使用命令字87H~80H,收到此指令后,按以下规则进行译码0000~1001显示数字0~9,1010显示—,1111显示空白。
只需利用两个P 口就能够实现所有功能。
1、模拟信号到数字信号的转换

模拟信号到数字信号的转换(A/D转换)(胥永刚)现在大部分传感器输出的信号都是模拟信号,主要包括电压信号和电流信号两种,当然也有直接输出数字信号的传感器。
对于传感器输出的模拟信号,除了一些简单的仪表直接进行显示之外,大部分都需要转换成数字信号,以便在网络上进行传输,并保存在硬盘、CF卡等存储介质上,用于后续的分析和处理,如此,就需要用专门的器件将模拟信号转换成数字信号。
对于部分技术人员来说,了解模数转换的原理,对深入了解测试仪器,开发测试系统,修正仪器的技术参数等有着很大的帮助。
对于一个完整的带反馈控制的监控系统来说,大体可以用图1这个框图来描述,从图中可以看出来,一般而言,模数转换(A/D)大多在数模转换(D/A)之前,但在很多教材上,往往是先讲数模转换(D/A),再讲模数转换(A/D),因为模数转换电路里要用到数模转换。
当然这是从理论上来讲的,对于现在工程中实际应用的数模转换究竟基于什么原理,我也不是很清楚,但并不妨碍我们对模数转换的理解。
.因此,我们尝试着讲解数模转换原理,因为从对应关系上来说,这两者是一样的,只是转换电路不同而已。
图1 典型的监控系统(带反馈控制)1、数模转换原理图2是很多教材上给出的数模转换电路,要想讲清楚这个,需要用到电工电子方面的知识,这里我们就不详细展开了。
(原谅我一次一次提到教材二字,因为在高校里工作,养成习惯了,^_^)图2 数模转换电路图1是一个4位的数模转换电路,意思是将一个4位的二进制数转换成对应的电压。
4位的二进制数可以表示成3210d d d d ,翻译成十进制数,就是321032102*+2*+2*+2*d d d d (1)式(1)中的四位二进制数,每个位上要么是0,要么是1,不可能是其它数字。
因此,四位二进制数最大可表示十进制的15,最小可表示十进制的0。
若我们任意给一个四位的二进制数,可以按照如下公式进行数字和电压之间的换算。
321043210=(2+2+2+2)32F R o R U U d d d d R (2)比如,我们假设这个四位的数模转换器参考电压=10R U V ,=3F R R ,若输入的四位二进制数是0000(对应的十进制数是0),则输出的电压为:3210410=(2*0+2*0+2*0+2*0)=032F o R U V R 若输入的四位二进制数是1101(对应的十进制数是13),则输出的电压为: 321041010130=(2*1+2*1+2*0+2*1)=(8+4+0+1)=321616F o R U V R 也就是说,要是输入的十进制数是0,则输出电压0V,若输入的十进制数是13,则输出的电压为13016V ,如此类推,我们就可以得知,输入任意一个四位二进制数(对应的十进制数在0~15之间),就可以按照式(2)得到一个对应的电压值。
8位数模转换器ADC0809实验报告

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
单片机原理与接口技术
课程设计说明书
8位数模转换器ADC0809项目设计
专业
电气工程及其自动化
学生姓名
林雯雯
班级
D电气122
学号
1220601220
指导教师
周云龙
完成日期
2015年12月12日
一 理论部分
1
8位数模转换器ADC0809实验
(1)、设计一个0-5V可调的直流模拟电压信号
(2)、扩展2位静态显示的数码管
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
特性概述:
AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
模拟信号与数字信号之间的转换

模拟信号与数字信号之间的转换
模拟信号与数字信号之间的转换是通过模数转换(ADC)和数模转换(DAC)来实现的。
模拟信号转换成数字信号,首先通过ADC将模拟信号进行采样,即将连续的模拟信号按照一定的频率进行离散化,得到一系列的模拟采样值。
然后将模拟采样值通过量化处理,转换成对应的数字信号,即根据一定的量化规则,将模拟采样值映射到一系列离散的数字量级上。
数字信号转换成模拟信号,首先通过DAC将数字信号进行反量化,即将数字信号的离散量级映射回模拟信号的值。
然后通过重构滤波器将反量化后的数字信号进行平滑处理,得到模拟信号。
最后,通过模拟电路对模拟信号进行放大、滤波等处理,使之符合要求。
需要注意的是,模拟信号转换成数字信号和数字信号转换成模拟信号都会引入一定的误差,即量化误差和重构误差。
因此,在进行模拟信号与数字信号之间的转换时,要选择合适的采样频率、量化精度和重构滤波器等参数,以保证转换的精度和准确性。
模拟信号与数字信号的优缺点及之间的转化

模拟信号与数字信号之间的优缺点及两者之间的转换概述:信号数据可用于表示任何信息,如符号、文字、语音、图像等,从表现形式上可归结为两类:模拟信号和数字信号。
模拟信号与数字信号的区别可根据幅度取值是否离散来确定。
模拟数据(Analog Data)是由传感器采集得到的连续变化的值,例如温度、压力,以及目前在电话、无线电和电视广播中的声音和图像。
数字数据(Digital Data)则是模拟数据经量化后得到的离散的值,例如在计算机中用二进制代码表示的字符、图形、音频与视频数据。
目前,ASCII美国信息交换标准码(American Standard Code for Information Interchange)已为ISO国际标准化组织和CCITT国际电报电话咨询委员会所采纳,成为国际通用的信息交换标准代码,使用7位二进制数来表示一个英文字母、数字、标点或控制符号;图形、音频与视频数据则可分别采用多种编码格式。
模拟信号与数字信号:(1)模拟信号与数字信号:不同的数据必须转换为相应的信号才能进行传输:模拟数据一般采用模拟信号(Analog Signal),例如用一系列连续变化的电磁波(如无线电与电视广播中的电磁波),或电压信号(如电话传输中的音频电压信号)来表示;数字数据则采用数字信号(Digital Signal),例如用一系列断续变化的电压脉冲(如我们可用恒定的正电压表示二进制数1,用恒定的负电压表示二进制数0),或光脉冲来表示。
当模拟信号采用连续变化的电磁波来表示时,电磁波本身既是信号载体,同时作为传输介质;而当模拟信号采用连续变化的信号电压来表示时,它一般通过传统的模拟信号传输线路(例如电话网、有线电视网)来传输。
当数字信号采用断续变化的电压或光脉冲来表示时,一般则需要用双绞线、电缆或光纤介质将通信双方连接起来,才能将信号从一个节点传到另一个节点数字信号,只要走了,则为有信号,不走则为无信号,走的时间越长则信号越强,脉冲宽度越短同样信号也越强。
模拟电压转成数字电平的方法

模拟电压转成数字电平的方法模拟电压转成数字电平是现代电子技术中常见的一种操作。
数字电平是指在数字电路中表示逻辑高和逻辑低的电信号状态,通常用二进制编码表示。
而模拟电压是连续变化的信号,需要经过一定的处理才能转化为数字电平。
本文将介绍几种常见的模拟电压转换为数字电平的方法。
一、比较器法比较器法是一种简单常用的模拟电压转数字电平的方法。
比较器是一种电子元件,它能将输入的模拟电压与参考电压进行比较,输出对应的数字电平。
比较器的输出通常为逻辑高或逻辑低。
比较器法的原理是将模拟电压与参考电压进行比较,当模拟电压大于参考电压时,比较器输出逻辑高电平;当模拟电压小于参考电压时,比较器输出逻辑低电平。
通过这种方式,可以将模拟电压转换为数字电平。
二、模数转换器法模数转换器(ADC)是一种将模拟信号转换为数字信号的设备。
它通过对模拟信号进行采样和量化处理,将连续变化的模拟信号转换为离散的数字信号。
常见的模数转换器有逐次逼近型ADC、积分型ADC 等。
逐次逼近型ADC是一种常用的模数转换器,它通过逐次逼近的方式将模拟信号转换为数字信号。
该方法的基本原理是逐步逼近输入信号的大小,直到找到与输入信号最接近的数字信号。
三、脉冲编码调制法脉冲编码调制(PCM)是一种将模拟信号转换为数字信号的方法。
它通过对模拟信号进行采样和量化处理,将连续变化的模拟信号转换为离散的数字信号。
脉冲编码调制法常用于音频和视频信号的数字化处理。
脉冲编码调制法的基本原理是将模拟信号的幅度进行量化,并将量化结果用二进制编码表示。
通过这种方式,可以将模拟信号转换为数字信号,并且能够保持一定的信号质量。
四、电流积分法电流积分法是一种将模拟电压转换为数字电平的方法。
它通过将模拟电压转换为对应的电流,并对电流进行积分,最终得到对应的数字电平。
电流积分法的原理是利用电容器的充放电过程,将模拟电压转换为电流信号。
通过对电流进行积分,可以将电流转换为电压信号,并最终得到对应的数字电平。
adc0809模数转换公式

adc0809模数转换公式ADC0809模数转换公式ADC0809是一种八位串行控制ADC(Analog-to-Digital Converter,模数转换器),它可以将模拟信号转换为数字信号。
ADC0809采用的是逐次比较法,最大转换速率为100kHz。
其输出数据格式为二进制补码形式。
模数转换公式一般为:V_{in} = \frac{D}{2^n} * V_{REF}V_{in}为输入模拟电压,D为ADC输出数字量,n为ADC的位数,V_{REF}为ADC的参考电压。
ADC0809工作原理ADC0809的工作原理基于逐次比较法,其主要部分有:比较器、运算放大器、8位移位寄存器、控制逻辑和输出寄存器。
当模拟信号被送入ADC0809时,首先通过比较器进行比较,如果比较器的一个输入端被送入一个参考电压,比较器的另一个输入端被送入输入模拟信号,比较器输出与输入端相连的开关被打开,运算放大器输出的电压跟随着比较器的输出变化。
在ADC0809的控制下,运算放大器会把比较器输出的电压值进行增益调整并送入8位移位寄存器。
这个过程可以理解为,ADC0809逐位地进行比较,并将每位的比较结果转换成二进制码存在寄存器中。
当所有位的比较和转换完成后,ADC0809会将二进制码输出到外部的数据总线上,从而提供给后面的数字电路进行处理。
ADC0809的典型应用场景ADC0809主要用于需要将模拟信号转换成数字信号的场合。
下面列举一些典型的应用场景:1.嵌入式系统中,ADC0809可以将传感器测量到的模拟信号转换成数字信号,为嵌入式系统提供数字化的数据。
2.工业自动化领域中,ADC0809可以将工控设备传感器采集的模拟信号转换成数字信号,为人机界面提供数字化的数据。
3.实验室仪器控制中,ADC0809可以将各类传感器测量到的模拟信号转换成数字信号,用于仪器控制和数据处理。
模拟信号与数字信号的相互转换

编码
编码
将量化后的离散幅度信号转换为 二进制代码的过程。
编码方式
常见的编码方式有二进制编码、 格雷码等。
编码效率
编码效率是指编码过程中所使用 的二进制位数与量化级数的比值, 编码效率越高,传输和存储所需 的带宽和容量越小。
03
数字信号到模拟信号的转换
解码
解码
将数字信号转换为模拟信号的第一步是将数字信号解码为可识别的二进制数据。 解码过程通常涉及将数字信号转换为二进制代码,然后根据特定的编码方案将 这些二进制代码解码为模拟信号。
抗混叠滤波器设计
01
抗混叠滤波器的作用
在模拟信号转换为数字信号的过程中,抗混叠滤波器用于限制模拟信号
的带宽,防止高于采样频率的信号混入,从而避免混叠效应的产生。
02
抗混叠滤波器的设计方法
可以采用低通滤波器、带阻滤波器等不同类型的设计方法,根据实际需
求选择合适的设计方案。
03
抗混叠滤波器的性能指标
需要考虑滤波器的阶数、截止频率、通带和阻带的波动等性能指标,以
图像处理
模拟图像转数字图像
通过扫描仪或摄像头将纸质文档、照片等模拟图像转换为数字图 像。
数字图像转模拟图像
在显示时,数字图像通过显示器还原为模拟图像,呈现给用户。
分辨率与显示效果
数字图像的分辨率越高,显示效果越清晰,但所需的存储空间和 传输带宽也越大。
通信系统
模拟通信与数字通信
模拟通信传输的是连续的信号,而数 字通信传输的是离散的信号。
采样定理
采样定理指出,为了不失 真地恢复原始模拟信号, 采样频率必须至少为模拟 信号最高频率的两倍。
量化
量化
将连续幅度的离散时间信 号转换为具有有限数量的 离பைடு நூலகம்幅度的过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
八位模拟信号转换成数字信号的实验设计报告
一、实验目的
1、了解A/D转换的基本知识及ADC0804的工作原理。
2、掌握基本的编程方法。
3、熟练掌握protel画电路原理图及PCB板的方法。
4、掌握运用keil软件编写单片机C语言。
二、基本原理
1、所谓A/D转换此就是模拟/数字转换器(ADC),是将输入的模拟信号转换
成数字信号。
信号输入端可以使传感器或转换器的输出,而ADC输出的数字信号可以提供给微处理器,以便更广泛地应用。
2、AT89S52的基本介绍:
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可
编程Flash 存储器,与工业80C51 产品指令和引脚完全兼容,此实验中
采用AT89S52芯片。
3、ADC0804的主要技术指标:
(1) 高阻抗状态输出(2) 分辨率:8 位(0~255)
(3) 存取/转换时间:135 ms/100 ms (4) 模拟输入电压范围:0V~5V
(5) 参考电压:2.5V (6) 工作电压:5V
3、ADC0804电压输入与数字输出关系
三、电路原理图
四、原理图接线分析
1、ADC0804芯片主要端口接线原理:
(1) (CS ):片选端。
与RD、WR 接脚的输入电压高低一起判断读取或写入
与否,此实验直接接地让其处于选通状态。
(2) ( RD ):当CS 、RD 皆为低位准(low) 时,ADC0804 会将转换后的数字
讯号经由DB7 ~ DB0 输出至其它处理单元。
(3) (WR ):启动转换的控制讯号。
当CS 、WR 皆为低位准(low) 时,ADC0804
做清除的动作,系统重置。
当WR 由0→1且CS =0 时,ADC0804会开始转换信号,此时INTR 设定为高位准(high)。
(4) (CLK IN、CLKR):频率输入/输出。
频率输入可连接处理单元的讯号频率
范围为100 kHz 至800 kHz。
而频率输出频率最大值无法大于640KHz,一般可选用外部或内部来提供频率。
在CLK R 及CLK IN 加上电阻及电容,构成RC振荡电路,则可产生ADC 工作所需的时序,其频率约为:f=1/1.1RC ≈640KHz,
(5) ( INTR ):中断请求。
转换期间为高位准(high),等到转换完毕时INTR 会
变为低位准(low)告知其它的处理单元已转换完成,可读取数字数据,此实验不用中断控制,接去MCU其中某个引脚。
(6) (VIN(+)、VIN(-)):差动模拟讯号的输入端。
输入电压VIN=VIN(+) -VIN(-),
此图使用单端输入,而将VIN(-)接地,VIN(+)由电位器R1控制其电压从0~5V 变化,产生了模拟量。
(7) (A GND):模拟电压的接地端。
(8) (VREF/2):滑动变阻器R2和R3利用分压原理提供ADC芯片的基准电压。
2、AT89S52芯片主要端口接线原理:
(1) XTAL2、XTAL1:晶振电路中电容C2、C3选取30pF。
(2) REST:复位电路中电容C4隔直作用,Urest=R6/(R5+R6),因为高电平有
效,故R5取小阻值1K, R6取小阻值10K.
(3) P0:内部无上拉电阻,故接上1K的上拉排阻。
(3)P1:流水灯采用共阳极接法。
五、控制原理及实验内容
控制原理
根据ADC0804芯片主要端口接线原理部分的介绍,工作控制过程可简单描述如下:调节电位器R4产生连续变化的电压值,ADC0804启动转换,产生与之对应的信号送到单片机中,其高低电平从而控制D1~D8发光二级管的亮灭,这就实现了模拟信号(连续的电压值)到数字信号(高低电平1、0)的转换。
实验内容
1、ADC0804将输入模拟信号转换成数字值输出到P1,使对应的LED亮。
如输入3V,ADC0804的输出应为96H=10010110B,此数字信号送入MCU 的累加器,然后累加器再送至P1,使对应的LED亮。
2、先将ADC0804的参考电压VREF调整为2.56V。
3、从ADC0804的VIN接一个可变电阻器,由0V调到5V,根据其关系表观察P1的LED亮灭变化情况和明暗程度。
六、编写程序
注:ADC0804的片选端直接接地,一直处于选通状态,编程时可无需操作
汇编程序:
ORG 00H
START: MOVX @R0,A ;使P0为高阻抗,并使ADC0804开始转换,/WR=0 JB P2.0,$ ;检测ADC0804的INTR=0?若是,则转换完成
MOVX A,@R0 ;将转换好的数据载入累加器
CPL A ;将累加器的值反相,
MOV P1,A ;输出至P1显示
CALL DELAY ;延时50ms
JMP START
DELAY: MOV R6,#100 ;延时50ms的子程序
D1: MOV R5,#248
DJNZ R5,$
DJNZ R6,D1
RET
END
C程序:
#include<reg52.h> //头文件
#define uchar unsigned char //宏定义
#define uint unsigned int
sbit wr=P3^6; //对AD的WR端口的位定义
sbit rd=P3^7; //对AD的RD端口的位定义
void delay(uint z) //声明延时子函数
{
uint t1,y; //定义t1,y数据类型
for(t1=z;t1>0;t1--)
for(y=110;y>0;y--);
}
void init(); //声明初始化子函数
void start(); //声明启动子函数
void main() //主函数
{
init(); //先初始化
while(1) //进入死循环
{
start(); //启动
delay(20); //延时
rd=0; //启动AD转换
P0=p1; //将P0信号送给P1口(流水灯接在P1)
delay(10); //AD工作频率较低,启动转换后多留点时间rd=1;
delay(10); //延长转换时间
}
}
void init()
{
P0=0; //选通片选及P0口
}
void start()
{
wr=1; //启动转换过程WR先后是1、0、1
wr=0;
wr=1;
}
七、实验总结
实验在极少情况下,亮灭状况有可能会出错。
因为AT89C52与ADC0804芯片的时钟频率不一致,而亮灭在极短时间内完成的。
若进行微调,可调节CLK IN、CLKR端口的R4;若想得到最佳效果,可在ADC0804的DB0~DB7与AT89C52的P0.0~P0.7之间接一个缓冲器,如74LS373等。