基于单片机的系统课程设计---AD转换

合集下载

单片机课设AD转换器

单片机课设AD转换器

前言在老师下达本次课程设计的任务后,我认真研究了自己的课程设计题目。

本次课程设计的题目是A/D转换器,要求是利用实验台上的ADC0809做A/D转换器,实验箱上的电位器提供模拟电压信号输入,编制程序,将模拟量转换成数字量,用数码管显示模拟量转换的结果。

本次课程设计的目的是让我们掌握A/D 转换与单片机的接口方法,了解A/D芯片ADC0809转换性能及编程方法,并通过设计了解单片机如何进行数据采集。

明确了我只记得任务后,我通过阅读课本和一些其他的书籍以及上网搜寻A/D转化器的知识,我读它又有了更深的理解。

把模拟量转换成数字量的器件,称为模数转换器,简称为A/D(Anolog to Digit)。

一般的A/D转换过程是通过采样、保持、量化和编码4个步骤完成的,这些步骤往往是合并进行的。

当A/D 转换结束,ADC输出一个转换结束信号数据。

CPU可有多种方法读取转换结果,包括查询方式、中断方式、 DMA方式等。

通道8位A/D转换器,ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。

它是逐次逼近式A/D转换器,可以和单片机直接接口。

ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D 转换器和一个三态输出锁存器组成。

多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

一个实际的系统中需用传感器把各种物理参数(如压力和温度等)测量出来,并转换为电信号,再经过A/D转换器,传送给微型计算机;微型计算机加工处理后,通过D/A转换器去控制各种参数量。

当然,我感觉自己的知识还是明显欠缺,在设计中如果出现了问题,还请老师批评指正,谢谢老师。

目录前言1.课程设计的目的和要求 (3)1.1 课程设计的目的 (3)1.2 课程设计的基本要求 (3)2.总体设计 (3)2.1 基本工作原理 (3)2.1.1 ADC0809读写原理 (3)2.2.2电路原理 (4)2.2 硬件总体设计 (4)2.3 软件总体设计 (5)3.硬件设计 (5)3.1 8051单片机简介 (6)3.2 ADC0809芯片简介 (6)3.3 可编程接口芯片8255A (7)4.软件设计 (8)4.1 中断程序流程图 (8)4.2 汇编语言代码 (9)结束语 (11)参考文献 (12)1.课程设计的目的和要求1.1 课程设计的目的1.掌握A/D转换与单片机的接口方法。

单片机ad转换原理

单片机ad转换原理

单片机ad转换原理
单片机的AD转换原理基于模拟信号的数字化处理。

在单片机中,AD转换是将模拟信号转换为数字信号的过程,以便于单片机进行数字信号的处理和运算。

AD转换的过程主要由两个部分组成:采样和量化。

采样是指对模拟信号进行离散化处理,将连续的模拟信号转换为离散的采样值。

这是通过采样定理实现的,采样定理认为,如果采样频率大于模拟信号的最高频率的两倍,那么就能够完全还原原始信号。

量化是将采样后的连续值转换为离散值的过程。

通过使用一个固定的参考电压,将模拟信号的幅值分为若干个等级,然后将每个等级映射为一个数字值。

量化的结果是离散的数字信号,每个数字代表一个特定的幅值范围,通常用二进制表示。

在单片机中,通常使用的AD转换器是SAR(逐次逼近型)的AD转换器。

SAR AD转换器通过逐次逼近的方式,不断调整DAC(数字-模拟转换器)的输出值,使其逼近输入信号的幅值,最后得到一个与输入信号幅值对应的数字量。

AD转换器的输出可以通过串行或并行方式传输给单片机的内部数据总线,供单片机进行后续的数字信号处理和运算。

在程序设计中,可以通过对AD转换器的配置和控制,调整转换精度、采样率等参数,以满足具体应用的需求。

总结起来,单片机的AD转换原理是将模拟信号经过采样和量
化,转换为数字信号,并通过AD转换器将结果传输给单片机进行处理。

这个过程是通过逐次逼近的方式实现的,利用固定的参考电压和二进制编码表示模拟信号的幅值范围。

单片机AD转换实验

单片机AD转换实验

一、实验目的1、掌握单片机与ADC0809的接口设计方法。

2、掌握Proteus软件与Keil软件的使用方法。

二、实验要求1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。

2、在0809的某一模拟量输入通道上接外部模拟量。

3、在单片机的外部扩展数码管显示器。

4、分别采用延时和查询的方法编写A/D转换程序。

5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。

三、实验电路图四、实验程序流程框图和程序清单1、查询ORG 0000H START:LJMP MAINORG 0100HMAIN: MOV SP, #6FHCLR EALOOP: MOV DPTR, #0fef8H MOVX @DPTR, ALOOP1:JNB P3.2, LOOP1MOVX A, @DPTRMOV B, #51DIV ABMOV 23H, AMOV A, #10MOV 22H, AMOV A, BLCALL CHULIMOV 21H, AMOV A, BLCALL CHULIMOV 20H, A LCALL DIRLJMP LOOPDIR: PUSH ACCPUSH DPHPUSH DPLPUSH PSWSETB RS1SETB RS0MOV R0, #20HMOV R3, #0FEH LOOP2:MOV P2, R3 MOV DPTR, #TAB1MOV A, @R0MOVC A, @A+DPTRMOV P1, ALCALL DELAYINC R0MOV A, R3JNB ACC.3, LOOP3RL AMOV R3, ALJMP LOOP2LOOP3:POP PSWPOP DPLPOP DPHPOP ACCRETTAB1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,07FH DELAY:MOV R7, #01HDL1: MOV R6, #8EHDL0: MOV R5, #02HDJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1RETCHULI:CJNE A, #25, LPLJMP LP2LP: JNC LP1LP2: MOV B, #10MUL ABMOV B, #51DIV ABLJMP LP3LP1: CLR CSUBB A, #25MOV B, #10MUL ABCLR CSUBB A, #5MOV B, #51DIV ABADD A, #5LP3: RETEND2、延时ORG 0000HSTART:LJMP MAINORG 0100HMAIN: MOV SP, #6FHCLR EALOOP: MOV DPTR, #0fef8HMOVX @DPTR, ALCALL DELAY100MOVX A, @DPTRMOV B, #51DIV ABMOV 23H, AMOV A, #10MOV 22H, AMOV A, BLCALL CHULIMOV 21H, AMOV A, BLCALL CHULIMOV 20H, ALCALL DIRLJMP LOOPDIR: PUSH ACCPUSH DPHPUSH DPLPUSH PSWSETB RS1SETB RS0MOV R0, #20HMOV R3, #0FEHLOOP2:MOV P2, R3MOV DPTR, #TAB1MOV A, @R0MOVC A, @A+DPTRMOV P1, ALCALL DELAYINC R0MOV A, R3JNB ACC.3, LOOP3RL AMOV R3, ALJMP LOOP2LOOP3:POP PSWPOP DPLPOP DPHPOP ACCRETTAB1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,07FH DELAY:MOV R7, #01HDL1: MOV R6, #8EHDL0: MOV R5, #02HDJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1RETCHULI:CJNE A, #25, LPLJMP LP2LP: JNC LP1LP2: MOV B, #10MUL ABMOV B, #51DIV ABLJMP LP3LP1: CLR CSUBB A, #25MOV B, #10MUL ABCLR CSUBB A, #5MOV B, #51DIV ABADD A, #5LP3: RETDELAY100: MOV R6,#01H;误差 0usDL0:MOV R5,#2FHDJNZ R5,$DJNZ R6,DL0RETEND3、中断ORG 0000HSTART:LJMP MAINORG 0003HLJMP INTT0ORG 0100HMAIN: MOV SP, #6FHSETB EASETB EX0MOV DPTR, #0000HMOVX @DPTR, AHERE: LJMP HEREINTT0:MOVX A, @DPTRMOV B, #51DIV ABMOV 23H, A //整数部分放22H中MOV A, #10MOV 22H, A //小数点放22H中MOV A, BLCALL CHULIMOV 21H, A //小数点后第一位放21H中 MOV A, BLCALL CHULIMOV 20H, A //小数点后第一位放21H中 LCALL DIRMOV DPTR, #0000HMOVX @DPTR, ARETIDIR: PUSH ACCPUSH DPHPUSH DPLPUSH PSWSETB RS1SETB RS0MOV R0, #20HMOV R3, #01HLOOP2:MOV P2, R3 //位控码初始值MOV DPTR, #TAB1MOV A, @R0MOVC A, @A+DPTRMOV P1, ALCALL DELAYINC R0MOV A, R3JB ACC.3 LOOP3RL AMOV R3, ALJMP LOOP2LOOP3:POP PSWPOP DPLPOP DPHPOP ACCRETTAB1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,07FH DELAY:MOV R7, #01HDL1: MOV R6, #8EHDL0: MOV R5, #02HDJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1RETCHULI:CJNE A, #25, LPLJMP LP2LP: JNC LP1MOV B, #10MUL ABMOV B, #51DIV ABLJMP LP3LP1: CLR CSUBB A, #25MOV B, #10MUL ABCLR CSUBB A, #5MOV B, #51DIV ABADD A, #5LJMP LP3LP2: MOV A, #5MOV B, #0LP3: RETEND五、实验结果六、实验总结通过本次试验掌握了A/D转换的电路设计,掌握了AD0808的使用以及编址技术,熟悉了A/D转换的方法和A/D转换的程序设计方法。

单片机课程设计AD转换

单片机课程设计AD转换

引言本课题旳任务是对A/D转换电路进行设计,理解A/D转换与单片机旳接口措施,掌握AD0809转换性能及编程措施。

把模拟量转换成数字量旳器件,称为模数转换器,简称为A/D(Anolog to Digit)。

一般旳A/D转换过程是通过采样、保持、量化和编码4个环节完毕旳,这些环节往往是合并进行旳。

当A/D转换结束,ADC输出一种转换结束信号数据。

CPU可有多种措施读取转换成果:①查询方式;②中断方式;③ DMA方式。

通道8位A/D转换器,ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容旳控制逻辑旳CMOS组件。

它是逐次迫近式A/D转换器,可以和单片机直接接口。

ADC0809由一种8路模拟开关、一种地址锁存与译码器、一种A/D转换器和一种三态输出锁存器构成。

多路开关可选通8个模拟通道,容许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器用于锁存A/D 转换完旳数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完旳数据。

一种实际旳系统中需用传感器把多种物理参数(如压力和温度等)测量出来,并转换为电信号,再通过A/D转换器,传送给微型计算机;微型计算机加工处理后,通过D/A转换器去控制多种参数量。

目录一系统设计原理 (3)二系统设计 (4)三整个系统实现功能 (7)四收获与心得体会 (9)五参照书目 (10)一系统设计原理1 引脚定义:IN0~IN7:8路模拟信号输入端,由地址锁存及译码控制单元旳3位地址A、B、C进行选通切换。

START:A/D转换启动控制信号输入端。

ALE:地址锁存信号输入端,START 和ALE 用于启动A/D转换。

V REF(+)和V REF(-):正、负基准电压输入端。

OE:输出容许控制信号输入端,A/D转换后旳数据进入三态输出数据锁存器,并在OE旳作用下(OE为高电平),通过D0~D7将锁存器旳数据送出。

EOC:A/D 转换结束标志信号。

单片机课程设计AD转换

单片机课程设计AD转换

目录一、课程设计目的------------------------------2二、课程设计内容与要求---------------------2三、芯片简介-----------------------------------3 (一) A/D转换芯片0809引脚图与功能简介(二)8051单片机引脚图与引脚功能简介(三)8155引脚图及功能描述四、设计方案及程序流程图 ---------------------10五、子模块设计及硬件电路连接----------12(一)A/D转换模块(二)单片机模块(三)数码管动态扫描模块六、总程序-----------------------------19七、课程设计总结---------------------------23 1.收获与体会2.遇到的问题及解决八、参考书目--------------------------------- 24一、课程设计目的单片机课程设计的目的就是要锻炼学生的实际动手能力。

在理论学习的基础上.通过完成一个具有综合功能的小系统.使学生将课堂上学到的理论知识与实际应用结合起来.对电子电路、电子元器件等方面的知识进一步加深认识.同时在软件编程、调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高.为今后能够独立设计单片机应用系统的开发设计工作打下一定的基础。

二、课程设计内容与要求要求每个学生(或小组)都要自己动手独立设计完成一个典型的单片机应用小系统。

设计题目由指导教师提供.也可以自己选择设计题目.但难度不应小于参考题目.需经指导教师审查后方可确定是否采纳。

一般4人为一小组。

课程设计的时间为1周。

设计的最终作品包括硬件和软件两个部分.要求能够演示并达到设计指标的要求。

每个学生(或小组)在作品完成后.要经指导教师检查通过后才算完成。

课程设计报告每个学生一份.独立完成。

设计目的:利用MCS-51芯片及相关芯片构成模拟温度检测。

单片机课设AD转换

单片机课设AD转换
时钟电路,外接晶振和电容可产生1.2~12MHz的时钟频率。
外部程序存储器寻址空间为64KB,外部数据存储器寻址空间为64KB。
111条指令,大部分为单字节指令。
单一+5V电源供电,双列直插40引脚DIP封装。
5.2.3 复位电路
复位电路有两种:上电自动复位和上电/按键手动复位。在这里我们采用上电/按键手动复位,如图所示按下按键SW,电源对电容C充电,使RESET端快速达到高电平。松开按键,电容向芯片的内阻放电,恢复为低电平,从而使单片机可靠复位。既可上电复位,又可按键复位。一般R1选470欧姆,R2选8.2K欧姆,C选22uF。
6.2 主程序
主程序主要是设置数据区的起始地址为60H,模拟路数为8路,设置外部中断方式是下降沿触发,开总中断,向ADC0809写数据启动AD转换。
图1主流程图的设计框架
6.3中断服务程序
中断服务程序主要完成取AD转换结果存储,模拟路数自增1,存储区自增1,判断8路是否转换完毕,若完毕则返回。
图2 T0中断服务程序流程图
MOV @DPTR,A
就启动了AD转换。
8051的P2.7(A15)和 经或非门后的信号YOE与ADC0809的OE端相连,但单片机执行如下程序后,
MOV DPTR,#7FF8H
MOV A,@DPTR
就可以获取AD的转换结果。
转换数据的传送可以有定时传送方式,查询方式和中断方式,在这里我们采用中断方式。因为ADC0809的转换时间为100us,而单片机执行一条指令的时间为1us,它们之间相差两个数量级。而且采用中断方式的好处在于可以不占用CPU硬件资源,使CPU可以在转换的过程中完成其他的工作。将ADC0809的EOC引脚经或非门后与8051的INT0相连,这样就能在外部中断子程序中实现对采集来的数据进行存储。

单片机任务书5-AD转换

单片机任务书5-AD转换

《单片机技术课程设计》任务书(5)一、设计题目基于单片机的模数转换及显示系统设计二、设计任务(1)、单片机小系统开发板焊接根据元件清单清点电路板散件,提供的电路图识别各元器件,进行单片机开发板的焊接与调试。

焊接时要注意以下几点:1、先熟悉开发板原理图再和电路板上的丝印层相对照,以免出现错误。

2、焊接时要从低到高的顺序,先焊小元器件再焊大元器件,特别是先焊接USB接口和电阻这类器件。

焊接数码管时一定要注意,必须先焊接板子底层的三个芯片。

3、在往电路板上安装发光二极管、电解电容和蜂鸣器时,注意看准它们的极性;在安装集成块时,它们的缺口要与丝印层上的缺口保持一致;在焊接三极管时,注意三极管的朝向。

(2)、基于单片机的模数转换及显示系统设计1、能将ADC0809和单片机进行正确连接并可靠工作;2、能利用可变电阻输入模拟电压,电压值通过ADC0809转换后能利用LED数码管进行3位数显示(利用液晶显示为选做);3、能预置电压报警范围,并在超出电压范围后报警(选做);4、能进行多路模拟电压巡回采集,能利用串口上传数据到PC机(选做)。

三、设计要求及时间安排1.必须自己独立完成,自己查阅相关资料,补充相关知识;能够实现要求的功能。

2. 提交课程设计报告一份,内容按学院提供的格式书写。

报告中要提供所设计电路的工作原理及原理图、元器件清单、键盘键值的定义、调试过程及仿真结果,给出结论。

四、主要参考资料1.郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,20092.元增民.AT89S51单片机与ADC0809模数转换器的三种典型连接[J].长沙大学学报,2005.193.刘焕平,韩树新.ADC0809与AT89C51的一种接口方法[J].石家庄师范专科学校学报,2002.44. 宋辉余,张国主编.单片机原理及应用[M].电子科技大学出版社,2008电子与电气工程学院。

基于单片机的AD转换电路与程序设计

基于单片机的AD转换电路与程序设计

基于单片机的AD转换电路与程序设计单片机(MCU)是一种集成了处理器核心、内存、输入输出接口和各种外围设备控制器等功能的集成电路。

MCU通常用于嵌入式系统,广泛应用于各个领域,例如家电、工业控制、汽车电子等。

其中,AD转换是MCU中的一个重要模块,用于将模拟信号转换成数字信号。

在应用中,常常需要将外部的温度、湿度、压力或光照等模拟信号进行转换和处理。

AD转换电路一般由模拟输入端、引脚连接、采样保持电路、比较器、取样调节电路、数字输出端等部分组成。

模拟输入端负责接收外部的模拟量信号;引脚连接将模拟输入信号引到芯片的模拟输入端;采样保持电路负责将引脚输入的模拟信号进行采样和保持,保证AD转换的准确性;比较器用于将模拟信号与参考电压进行比较,判断信号的大小;取样调节电路用于调整模拟信号的边界;数字输出端将模拟信号转换成数字信号输出给MCU。

在程序设计方面,MCU通常使用C语言进行编程。

程序设计分为初始化和数据处理两个步骤。

初始化阶段主要包括设置IO口、初始化外设、设置模拟输入通道等工作。

数据处理阶段主要包括数据采样、数值转换、数据处理和输出等工作。

下面以一个简单的温度采集系统为例进行说明。

首先,在初始化阶段,需要设置IO口和外设,以及设置模拟输入通道。

具体步骤如下:1.设置IO口:根据具体需要配置MCU的引脚功能和工作模式。

2.初始化外设:根据需要初始化ADC模块,包括设置采样频率、参考电压等参数。

3.设置模拟输入通道:选择需要转换的模拟输入通道。

接下来,在数据处理阶段,需要进行数据采样、数值转换和数据处理。

具体步骤如下:1.数据采样:使用ADC模块进行模拟信号的采样,将采样结果保存到寄存器中。

2.数值转换:将采样结果转换成数字信号,可以使用如下公式进行转换:数字信号=(ADC采样结果/采样最大值)*参考电压3.数据处理:根据具体需求进行数据处理,例如计算平均值、最大值或最小值,也可以进行滤波或校正。

51单片机ad转换流程

51单片机ad转换流程

51单片机ad转换流程51单片机是一种广泛应用于嵌入式系统中的微控制器。

与其他单片机相比,51单片机的特点之一是其模拟到数字转换功能(AD转换),它允许将模拟信号转换为数字量,以便进行数字信号处理和控制。

在本文中,我们将以“51单片机AD转换流程”为主题,详细介绍AD转换的步骤和相关概念。

第一步:了解AD转换的基本概念模拟到数字转换(AD转换)是电子系统中一种常见的操作。

它涉及将连续的模拟信号转换为离散的数字信号,以便进行数字信号处理。

AD转换的结果通常以二进制形式表示,可以被计算机或其他数字处理设备使用。

在AD转换过程中,最重要的参数是分辨率和采样率。

分辨率是指AD转换器能够分辨的最小信号变化量,通常以比特数表示。

例如,8位AD转换器的分辨率为2^8,即256个离散的信号水平。

采样率是指AD转换器每秒钟进行的样本数量,通常以赫兹(Hz)表示。

第二步:准备硬件连接在进行AD转换之前,需要连接电源、待转换的模拟信号源和51单片机上的AD输入引脚。

具体的硬件连接方式可以根据具体的应用需求和开发板设计进行调整。

通常情况下,待转换的模拟信号将通过电阻网络与AD输入引脚相连接。

这个电阻网络起到电压分压的作用,将输入信号的幅度限制在AD转换器可接受的范围内。

开发板上的AD输入引脚通常还具有可选的电容网络,用于去除输入信号中的高频噪声。

第三步:配置AD转换器参数在开始AD转换之前,需要通过编程设置51单片机上的AD转换器参数。

这些参数包括分辨率、输入通道选择、参考电压选择和采样率等。

这些参数的设置是通过对寄存器的操作来实现的。

通过写入相应的寄存器值,我们可以选择转换的分辨率。

51单片机上的AD转换器可以支持不同的分辨率,如8位、10位或12位。

选择转换的输入通道也是一个重要的步骤。

通常情况下,AD转换器具有多个输入信道,可以同时转换多个信号。

需要根据具体的信号源,选择合适的输入通道。

参考电压的选择也要根据具体的应用需求来确定。

单片机AD转换

单片机AD转换

AD转换实验报告一、实验原理实验用到的ADC0809是逐次逼近法的八位A/D转换器。

A/D转换结束后会自动产生EOC信号,将其与8031 的INT0相接。

采集程序用中断的方式,当A/D转换结束后,进入中段子程序,将转换得到的数字信号存入单片机,再通过74ls273连接到LED,观察转换现象。

二、硬件连接图三、实验程序D8279 EQU 0FF80HORG 0000HAJMP MAINORG 0003HAJMP PINTIORG 0100HMAIN:SETB EX0; 启动SETB IT0SETB EAMOV DPTR,#8100H; 选择通道INTOMOV A,#00HMOVX @DPTR,A; 启动转换SJMP $PINTI:MOV DPTR,#8100HMOVX A,@DPTR; 读取转换MOV DPTR,#8300HMOVX @DPTR,A; 二极管显示MOV R3,AMOV DPTR,#0FF82H; 清除命令MOV A,#0D1HMOVX @DPTR,AW AIT:MOVX A,@DPTR; 读取8279状态JB ACC.7,W AITMOV A,#00H; 方式MOVX @DPTR,A; 重启MOV A,R3ANL A,#0FH; 屏蔽高四位MOV DPTR,#DATA; 起始地址MOVC A,@A+DPTR; 查表MOV DPTR,#D8279MOVX @DPTR,A; 数码管显示MOV A,R3ANL A,#0F0H; 屏蔽低四位SW AP AMOV DPTR,#DATAMOVC A,@A+DPTRMOV DPTR,#D8279MOVX @DPTR,A; 数码管显示LCALL DELAY; 调用延时程序MOV A,#00H; 清零MOV DPTR,#8100HMOVX @DPTR,ARETIDATA: DB 3FH,06H,5BH,4FH,66H,6DH,7DH DB 07H,7FH,6FH,77H,7CH,39H,5EHDB 79H,71HDELAY:MOV R2,#14HL1:MOV TMOD,#10HMOV TH1,#4CHMOV TL1,#0FFHSETB TR1L2:JBC TF1,L3; 溢出跳AJMP L2L3:DJNZ R2,L1RETEND四、实验功能用ADC0809完成A/D转换。

单片机课程设计AD

单片机课程设计AD

单片机课程设计AD一、课程目标知识目标:1. 理解单片机的基本原理,掌握AD转换器的功能与工作流程;2. 学习并掌握单片机与AD转换器的接口技术,能正确运用编程实现数据采集;3. 了解AD转换器的分辨率、精度等性能参数,能分析其对系统性能的影响。

技能目标:1. 能够运用所学知识,设计并搭建单片机与AD转换器的硬件电路;2. 熟练掌握相关编程语言,实现单片机对AD转换器数据的读取与处理;3. 学会分析实验过程中遇到的问题,具备一定的故障排查与解决能力。

情感态度价值观目标:1. 培养学生对单片机及电子技术的兴趣,激发学习热情;2. 培养学生的团队合作精神,提高沟通与协作能力;3. 培养学生严谨的科学态度,注重实验数据的真实性,养成良好的学术道德。

本课程针对高年级学生,具有较强的理论性与实践性。

结合学生特点,注重培养学生的学习兴趣和动手能力,提高创新意识和解决问题的能力。

在教学过程中,要求教师以学生为主体,关注个体差异,引导学生主动探索,培养其自主学习能力。

通过课程学习,使学生能够将所学知识应用于实际项目中,为今后的学习和工作打下坚实基础。

二、教学内容本章节教学内容主要包括以下几部分:1. 单片机基本原理回顾:复习单片机的硬件结构、工作原理及编程基础,为学习AD转换器打下基础。

2. AD转换器原理与接口技术:介绍AD转换器的工作原理、类型及性能参数,重点讲解与单片机连接的接口技术。

3. 硬件电路设计:学习并设计单片机与AD转换器的硬件电路,包括元器件选型、电路搭建与调试。

4. 编程与数据处理:学习相关编程语言,编写程序实现单片机对AD转换器数据的读取与处理。

5. 实践操作与故障排查:进行实际操作,学会分析实验过程中遇到的问题,掌握故障排查与解决方法。

教材章节关联:1. 《单片机原理与应用》第3章:单片机硬件结构及工作原理;2. 《单片机原理与应用》第4章:单片机编程基础;3. 《模拟电子技术》第6章:AD转换器原理及接口技术;4. 《电子线路设计与实践》第2章:硬件电路设计与调试。

基于单片机的AD转换电路与程序设计

基于单片机的AD转换电路与程序设计

A/D 转换电路在实际电路中获得了
广泛的应用,论文对这一电路结构进行了详细的研究。
关键词 :单片机; AD 转换器;电路
编辑版 word
Based on SCM A/D Circuit and Program Design
TANG Xiaoling
College of Engineering and Technology, Southwest University, Chongqing 400716, China
物理过程的重要手段 ;亦是获取科学奥秘的重要手段之一。
本文采用新颖的方法完成设计 , 用到的集成芯片主要有 8051 单片机、
ADC0809、等 .ADC0809 主要作用是对八路模拟信号进行选择采集 ,并将其转化为
八位数字信号 ,再送至主控制器 (8051 单片机 );由单片机外界键盘控制,由数码管
1.1 任务分析与方案确定
根据系统基本要求,将本系统划分为如下几个部分: 信号调理电路 8 路模拟信号的产生与 A/D 转换器 发送端的数据采集与传输控制器 人机通道的接口电路 数据采集与传输系统一般由信号调理电路, 多路开关,采样保持电路, A/D , 单片机,电平转换接口,接收端单片机(或 PC 机)组成。系统框图如图 1 所示
图 2 上电复位 Fig.2 The reset
图 3 外部复位 Fig.3 External reset
上电瞬间, 逐步充电, 充电电流减
小,RST 电位逐渐下降。 上电复位所需的最短时间是振荡器建立时间加上二个机
器周期,在这段时间里,振荡建立时间不超过 10ms。复位电路的典型参数为: C
3.4 键盘程序 .......................................................................................................................... 26 3.5 LED 显示程序 ................................................................................................................. 27 4 结论 ..................................................................................................................................... 28 参考文献 ................................................................................................................................ 29 致谢 ........................................................................................................................................ 30

单片机课程设计AD转换

单片机课程设计AD转换

目录一、课程设计目的------------------------------2二、课程设计内容与要求---------------------2三、芯片简介-----------------------------------3(一) A/D转换芯片0809引脚图与功能简介(二)8051单片机引脚图与引脚功能简介(三)8155引脚图及功能描述四、设计方案及程序流程图---------------------10五、子模块设计及硬件电路连接----------12(一)A/D转换模块(二)单片机模块(三)数码管动态扫描模块六、总程序-----------------------------19七、课程设计总结---------------------------231.收获与体会2.遇到的问题及解决八、参考书目--------------------------------- 24一、课程设计目的单片机课程设计的目的就是要锻炼学生的实际动手能力。

在理论学习的基础上,通过完成一个具有综合功能的小系统,使学生将课堂上学到的理论知识与实际应用结合起来,对电子电路、电子元器件等方面的知识进一步加深认识,同时在软件编程、调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立设计单片机应用系统的开发设计工作打下一定的基础。

二、课程设计内容与要求要求每个学生(或小组)都要自己动手独立设计完成一个典型的单片机应用小系统。

设计题目由指导教师提供,也可以自己选择设计题目,但难度不应小于参考题目,需经指导教师审查后方可确定是否采纳。

一般4人为一小组。

课程设计的时间为1周。

设计的最终作品包括硬件和软件两个部分,要求能够演示并达到设计指标的要求。

每个学生(或小组)在作品完成后,要经指导教师检查通过后才算完成。

课程设计报告每个学生一份,独立完成。

设计目的:利用MCS-51芯片及相关芯片构成模拟温度检测。

单片机课程设计任务书(AD转换器)

单片机课程设计任务书(AD转换器)

单片机课程设计任务书
题目:A/D转换设计及实验
姓名专业班级
地点工程楼八楼实验室起止时间2015.6.1-2015.6.12
设计目的、内容与要求目的:
(1)掌握A/D转换与单片机接口的方法;
(2)了解A/D芯片0809转换性能及编程方法;
(3)通过实验了解单片机如何进行数据采集。

内容:利用已有的实验系统上的0809 A/D转换器,实验电位器提供模拟量输入,编制程序,将模拟量转换成数字,通过数码管显示出来。

要求:
(1)编制电路图;
(2)程序框图;
(3)写明实验步骤;
(4)分析实验结果。

设计参数(1)系统时钟:
(2)机器周期:
(3)AD转换时钟频率:(4)AD转换时间:(5)输入电压:
(6)显示器显示值。

进度要求要求写到每2天一个进度
(1)布置课题,落实任务,确定课题,收集相关资料。

(2)设计电路,用proteus仿真
(3)编写程序,调试程序
(4)整理实验材料,撰写实验报告
(5)制作ppt
参考资列出至少5个参考文献!
[1]《新概念51单片机C语言教程》郭天祥
[2]《单片机原理与接口技术》邓宏贵
料[3]《数字电子技术基础》阎石
[4]《模拟电子技术基础》童诗白
[5]《基于AT89C51的多功能智能实验测试仪器的设计与实现》王正兰其
89C516RD+实验开发板
它。

单片机报告(ad转换)

单片机报告(ad转换)

实验报告自动化与电气工程类实训实验实验一:数据采集_A/D转换实验组员:李彩芹 2014212744蒋添云 2014212756班级:08051401指导老师:蔡军实验一、数据采集_A/D转换实验一、实验目的⑴掌握A/D转换与单片机接口的方法;⑵了解A/D芯片0808转换性能及编程方法;⑶通过实验了解单片机如何进行数据采集。

二、实验设备装有proteus的电脑一台三、实验说明及实验原理:A/D转换器大致分有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/D转换器,精度、速度、价格适中;三是并联比较型A/D转换器,速度快,价格也昂贵。

实验用ADC0808属第二类,是8位A/D转换器。

每采集一次一般需100μs。

由于ADC0808A/D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/D转换结果。

ADC0808是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS 组件。

它是逐次逼近式A/D转换器,可以和单片机直接接口。

(1) ADC0808的内部逻辑结构由图1.1可知,ADC0808由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。

多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

图1.1 ADC0809 内部结构框图(2) ADC0808引脚结构ADC0808各脚功能如下:D7 ~ D0:8位数字量输出引脚。

IN0 ~ IN7:8位模拟量输入引脚。

VCC:+5V工作电压。

GND:地。

REF(+):参考电压正端。

REF(-):参考电压负端。

START:A/D转换启动信号输入端。

ALE:地址锁存允许信号输入端。

(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。

51单片机课程设计--AD转换

51单片机课程设计--AD转换

51-单片机课程设计题目:用PCF8591P芯片对电位器上的电压进行AD采样,将采到的数据用1602LCD进行显示。

姓名: 学号:学院:专业: 指导教师:目录1、PCF8591概述 (3)2、芯片介绍 (3)3、PCF8591的A/D 转换 (4)4、A/D转换程序设计流程 (5)5、1602LCD主要技术参数 (7)6、Proteus仿真原理图 (10)7、程序代码 (10)8、结语 (17)9、参考文献 (17)1、PCF8591 概述PCF8591 是一种具有 I2C 总线接口的 8 位 A/D D/A 转换芯片,在与 CPU 的信息传输过程中仅靠时钟线 SCL 和数据线 SDA 就可以实现。

I2C 总线是Philips (飞利浦)公司推出的串行总线,它与传统的通信方式相比具有读写方便,结构简单,可维护性好,易实现系统扩展,易实现模块化标准化设计,可靠性高等优点。

2、芯片介绍2.1内部结构及引脚功能描述PCF8591 为单一电源供电(2.5 6 V)典型值为 5 V,CMOS 工艺 PCF8591 有 4 路 8 位 A/D 输入,属逐次比较型,内含采样保持电路; 1 路 8 位 D/A 输出,内含有 DAC的数据寄存器 A/D D/A 的最大转换速率约为 11 kHz,但是转换的基准电源需由外部提供 PCF8591 的引脚功能如图1所示图1 PCF8591引脚功能2.2片内可编程功能设置在 PCF8591 内部的可编程功能控制字有两个,一个为地址选择字,另一个为转换控制字 PCF8591 采用典型的I2C总线接口的器件寻址方法,即总线地址由器件地址引脚地址和方向位组成 Philips (飞利浦)公司规定 A/D器件高四位地址为 1001,低三位地址为引脚地址A0A1A2,由硬件电路决定,地址选择字格式具体描述如表 2 所示因此 I2C 系统中最多可接 23=8 个具有总线接口的A/D 器件地址的最后一位为方向位 R/W,当主控器对 A/D 器件进行读操作时为1,进行写操作时为 0 总线。

单片机ad转换原理

单片机ad转换原理

单片机的AD转换(Analog-to-Digital Conversion)原理是将模拟信号转换为数字信号的过程,使得单片机能够处理和分析模拟输入信号。

下面是单片机AD转换的基本原理:
参考电压:单片机内部需要一个参考电压,用于将模拟信号转换为数字量。

这个参考电压可以是内部提供的固定电压,也可以是外部提供的参考电压。

采样和保持:在进行AD转换之前,需要对模拟信号进行采样和保持。

采样是指从模拟信号中获取一个瞬时的样本值,而保持是指将这个样本值保持不变,直到转换完成。

数字化过程:单片机使用一种特定的转换器将模拟信号转换为数字信号。

这个过程涉及比较和逼近,根据模拟信号的大小来逼近最接近的数字量。

分辨率:AD转换的分辨率是指数字输出的精度,通常以位数(例如8位、10位、12位等)来表示。

更高的分辨率意味着更准确的模拟信号转换。

输出:转换完成后,数字信号将被存储在单片机的寄存器中,可以通过读取寄存器来获取转换后的数字值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的系统设计 题 目 AD 转换 学 院 电子信息工程学院 学科门类 单片机 班 级 指导教师 小组成员2011年 12月08日装订线一、实验目的(1)学习基于单片机的系统设计;(2)学习单片机电路设计和制版工艺;(3)学会数据采集电路设计;(4)学会VB编写上位机,实现和单片机通信;(5)学习单片机的软件设计;二、实验要求(1)要求每位同学设计单片机最小系统;(2)每位同学自己设计硬件电路设计和程序编写;(3)每位同学自己完成调试;(4)认真细心的安装焊接。

三、使用的主要器材(1)单片机,TLC549及其他元件一套;(2)工具一套;(3)PC机一台;四、TLC549简介4.1引脚排列⏹/CS:片选低有效⏹GND:地⏹VCC:电源⏹ANALOG IN:模拟信号输入⏹DATA OUT :数据串行输出⏹I/O CLOCK:外接输入输出时钟⏹REF+:正基准电压输入端,REF+ 大于等于2.5V 小于等于Vcc+0.1V⏹REF-:负基准电压输入端,REF+ 大于等于-0.1V 小于等于2.5V ,切要求REF+-REF-大于等于1V4.2内部结构4.3时序分析TLC549是SPI三总线器件,其时序见上图,当/CS为高电平时候,AD正在进行内部转换,转换时间大概为17us,当/CS有高电平变为低电平时候,这时候上次的采样转换结果的最高位A7首先出现在DATA OUT端,其余7位将会在7个I/O CLOCK的下降沿时候出现在DATA OUT端,并在第4个I/O CLOCK的下降沿启动采样保持电路,开始采样模拟输入量,在第8个I/O CLOCK的下降沿开始保持,这时候,/CS由低电平变为高电平,在其上升沿开始启动AD转换,这时候/CS需保持17us,保证本次的采样转换完成,然后按上次一样步骤,输出AD转换结果和输入模拟采样。

五、上位机5.1上位机简介上位机软件通过串口,实现单片机和PC机的通信,以简单可视化的窗口,实现对单片机的监控。

本次课程设计采用VB编写上位机,VB拥有功能强大的可视化窗口控件和串口控件Microsoft Comm Control 6.0,从而减少了编写上位机的难度。

5.2上位机思路应为本次的课程设计要求,只是在PC机上通过串口显示电压,那么就不需要上位机通过串口发送指令,控制单片机。

所以,编写上位机时候,我没有编写发送部分的指令。

其次,本次采集的电压,电压范围为0v—5v,为充分利用数码管,我采用了一位整数和五位小数,并且在单片机内完成了二进制到BCD码的转换。

在编写上位机传送程序时候,我想发送一针就包括小数和整数,这样编写单片机发送程序和上位机接收程序,就会简单,并且发送的是十进制BCD,这样就减少了上位机的运算。

下位机思路:因为一针是8为数据,那么最大为255,如果想一针包含两位小数,那么就需要把整数扩大100,第一位小数扩大10倍,然后相加:一针=整数位*100+第一位小数位*10+第二位小数位,因为采集的电压范围为0v—5v,这时候就由可能超出255的范围,如果一针包含一位整数和一位小数,那么他的范围为0v—50v,这时候不会超出255的范围,所以我发送的一针就包含一位整数和一位小数,即:一针=整数位*10+第一位小数位。

采用9600波特率,1位开始为,1位结束位,8位数据位,没有校验位。

上位机思路:就收一针存于A,然后和10整除,结果存于B,然后C=A-10*B,那么B就是整数部分,C就是小数部分,显示即可5.3上位机设计界面5.4上位机程序Public style1 As IntegerPublic style As IntegerPrivate Sub Form_Load()If MSComm1.PortOpen = True ThenMSComm1.PortOpen = FalseElseEnd IfCombo1.AddItem "COM1"Combo1.AddItem "COM2"Combo1.AddItem "COM3"Combo1.AddItem "COM4"Combo1.AddItem "COM5"Combo1.AddItem "COM6"Combo1.AddItem "COM7"Combo1.AddItem "COM8"Combo1.AddItem "COM9"Combo1.AddItem "COM10"Combo1.AddItem "COM11"Combo1.AddItem "COM12"Combo1.ListIndex = 0mPort = 3MSComm1.Settings = "9600,n,8,1" Command2.Caption = "打开串口" Shape1.FillColor = &HFFFFC0Option2.Value = TrueCombo2.AddItem "256000"Combo2.AddItem "128000"Combo2.AddItem "115200"Combo2.AddItem "57600"Combo2.AddItem "38400"Combo2.AddItem "28800"Combo2.AddItem "19200"Combo2.AddItem "9600"Combo2.AddItem "4800"Combo2.AddItem "2400"Combo2.AddItem "1200"Combo2.AddItem "600"Combo2.AddItem "300"Combo3.AddItem "无 None"Combo3.AddItem "奇 Odd"Combo3.AddItem "偶 Even"Combo4.AddItem "4"Combo4.AddItem "5"Combo4.AddItem "6"Combo4.AddItem "7"Combo4.AddItem "8"Combo5.AddItem "1"Combo5.AddItem "2"MSComm1.InBufferSize = 24MSComm1.OutBufferSize = 10style = 0style1 = 0End SubPrivate Sub Combo1_Click()If MSComm1.PortOpen = True ThenMSComm1.PortOpen = FalseEnd IfmPort = Combo1.ListIndex + 1 End SubPrivate Sub Command1_Click()Text1.Text = ""End SubPrivate Sub Command2_Click()On Error GoTo uerrorIf Command2.Caption = "关闭串口" ThenMSComm1.PortOpen = FalseCommand2.Caption = "打开串口" Shape1.FillColor = &HFFFFC0 ElseMSComm1.PortOpen = TrueCommand2.Caption = "关闭串口" Shape1.FillColor = &HFFEnd IfExit Subuerror:msg$ = "无效端口号"Title$ = "串口调试助手"X = MsgBox(msg$, 48, Title$)End SubPrivate Sub MSComm1_OnComm()Dim BytReceived() As ByteStatic strBuff As StringStatic strBuff1 As StringStatic sly As SingleDim i As IntegerSelect Case mEventCase comEventRcOverText1.Text = ""Exit SubCase comEvReceiveMSComm1.InputLen = 1strBuff = MSComm1.InputText1.Text = ""If MSComm1.InputMode = comInputModeBinary Then BytReceived() = strBuffFor i = 0 To UBound(BytReceived)If Len(Hex(BytReceived(i))) = 1 ThenstrData = staData & "0" & Hex(BytReceived(i)) & "" ElsestrData = strData & Hex(BytReceived(i)) & "" End IfNextstrBuff1 = strDatasly = CLng("&H" & strData)If style = 1 ThenIf style1 = 0 ThenText1.Text = Str(Format(sly, "0.0")) & "D" ElseText1.Text = Str(Format(sly / 10, "0.0")) & "V" End IfElseText1 = Text1 & strData & "H"strData = ""End IfElseText1 = Text1 & strBuff & "$"End IfEnd SelectEnd SubPrivate Sub Option1_Click()MSComm1.InputMode = comInputModeBinaryText1.MaxLength = 6style1 = 1style = 1End SubPrivate Sub Option2_Click()MSComm1.InputMode = comInputModeBinaryText1.MaxLength = 3style = 0End SubPrivate Sub Option3_Click()MSComm1.InputMode = comInputModeTextText1.MaxLength = 0End SubPrivate Sub Option4_Click()MSComm1.InputMode = comInputModeBinaryText1.MaxLength = 6style = 1style1 = 0End Sub六、实验步骤6.1设计硬件电路6.1.1数据采集电路设计6.1.2 单片机外围电路设计6.1.3 LED驱动电路设计6.1.4 串行通讯电路6.1.5 电源电路6.2根据设计电路清点全套零件,并负责保管;6.3对元器件引线或引脚进行镀锡处理,注意镀锡层未氧化(可焊性好)时可以不再处理;6.4检查印制板的铜箔线条是否完好,有无断线及短路,特别注意边缘;6.5安装元器件,元器件安装质量及顺序直接影响整机质量及成功率,合理的安装需要思考及经验;6.6软件设计#include"reg52.h"#include"intrins.h"#include"math.h"#define uchar unsigned char#define uint unsigned int#define ulint unsigned long intsbit IO=P1^0;sbit DATA=P1^1;sbit CS=P1^2;uchar SMG[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //数码管显示译码uchar data_in=0; //接受DATA数值uchar data_pc=0; //串口通信数据存储区uchar data_out[]={0,0,0,0,0,0};void delay() //数码管动态扫描延时,3ms{ uint j,i;for(i=3;i>0;i--)for(j=110;j>0;j--);}void SM() //动态扫描数码管{ uchar m;P2=0;for(m=0;m<6;m++){ if(m==0)P0=SMG[data_out[m]]|0x80; //小数点 elseP0=SMG[data_out[m]];delay();P0=0; //数码管消隐P2+=1;}}void TLC549() //接受TLC549的采集电压{ uchar n,k;CS=1;IO=0;data_in=0;CS=0;_nop_();data_in=data_in|DATA;_nop_();_nop_();for(n=0;n<7;n++){IO=1;for(k=5;k>0;k--);IO=0;data_in=data_in<<1;if(DATA==1)data_in=data_in|0x01;for(k=5;k>0;k--);}IO=1;for(k=5;k>0;k--);IO=0;CS=1;}void BCD() //转换成对应的BCD码{ float y;ulint x;y=0.01961*data_in;x=(ulint)(100000*y);data_out[0]=(uchar)(x/100000);data_out[1]=(uchar)((x-data_out[0]*100000)/10000);data_out[2]=(uchar)(x/1000-data_out[0]*100-data_out[1]*10);data_out[3]=(uchar)(x/100-data_out[0]*1000-data_out[1]*100-data_out[2]*10); data_out[4]=(uchar)(x/10-data_out[0]*10000-data_out[1]*1000-data_out[2]*100-d ata_out[3]*10);data_out[5]=(uchar)(x-data_out[0]*100000-data_out[1]*10000-data_out[2]*1000-d ata_out[3]*100-data_out[4]*10);data_pc=data_out[0]*10+data_out[1];}void com(void) interrupt 4{ TI=0;EA=0;}void main(){ SCON=0x40;PCON=0x00;TMOD=0x20;TH1=0xfd;TL1=0xfd;EA=1;ES=1;ET1=1;while(1){ uchar t,h;TR1=1;for(h=0;h<10;h++){ SM();TLC549();BCD();}EA=1;SBUF=data_pc;for(t=0;t<180;t++);}}七、实验总结课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程,对我们学工科的同学来说尤为重要。

相关文档
最新文档