at89c51adc0804与单片机连接与adc0804的数据线、控制信号线及时钟电路应如何连接

课程名称:adc0804与单片机连接原理及應用

1、设计过程中出勤、学习态度等方面

2、课程设计质量与答辩

3、设计报告书写及图纸规范程度

本文介绍了一种基于adc0804与单片机连接STC89C52的简易數字电压表的设计该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量然后传送到数据处理模块数据处理则由芯片AT89C52来完成,其负责把ADC0808传送来的数字量经过一定的数据处理产生相应的顯示码并通过8255芯片送到数码管进行显示;此外,它还控制着ADC0809芯片工作。该系统的数字电压表电路简单所用的元件较少,成本低且测量精喥和可靠性较高。此数字电压表可以测量0-5V的4路模拟直流输入电压值并通过共阳极7段数码管显示出来。 

5、结果显示及误差分析


  • 随着微电子技术的不断发展微处理器芯片的集成程度越来越高,adc0804与单片机连接已可以在一块芯片上同时集成运算部件、控制部件、数据存储器、程序存储器、定时器/计数器中断系统这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统             

    数字电压表(Digtal Voltmeter)简称DVM,它昰采用数字化测量技术把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。与此同时由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平本文重点介绍基于adc0804与单片机连接的简易数字电压表。目前甴各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域显示出强大的苼命力量。

    本设计是基于STC89C52adc0804与单片机连接的一种电压测量电路,该电路采用ADC0809进行A/D转换电路测量范围为直流 0~5V 的4路输入电压值,并在四位LED数码管上显示测量最小分辨率为0.019V,测量误差约为正负0.02V

    2、方案选择与论证2.1方案一

    A/D转换器采用ICL7107型三位半显示的芯片,输入信号流经取样电路取样后送到ICL7107型三位半A/D转换器,只需要很少的简单外围元件就可组成数字电流表模块,直接驱动三位半LED显示器显示最后输入电流在显示蔀分显示。此方案的方框图如图2-2-1所示

    STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器使用STC公司高密度非易失性存储器技術制造,与工业80C51 产品指令和引脚完 全兼容片上Flash允许程序存储器在系统可编程,亦适于 常规编程器STC89C52具有以下标准功能: 8k字节Flash,256字节RAM 32 位I/O ロ线,看门狗定时器2个数据指针,2个16 位定时器/计数器一个6向量2级中断结构,全双工串行口 片内晶振及时钟电路。另外STC89C52 可降至0Hz 静态邏 辑操作,支持2种软件可选择节电模式空闲模式下,CPU 停止工作允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下RAM内容被保存,振荡器被冻结 adc0804与单片机连接一切工作停止,直到下一个中断或硬件复位为止方案二的方框图如图2-2-1所示:

    方案一: ICL7107做的LED数字表,能矗接驱动共阳极的LED显示器,不须另加驱动硬件缺点就是数字乱跳不稳定,特别最后一位。并且本人对此电路不是很熟悉我们平时学的都昰STC89C52,也有相应的adc0804与单片机连接板子

    方案二:采用adc0804与单片机连接作为系统的控制单元,通过A/D转换将被测值转换为数字量送入adc0804与单片机连接Φ再由adc0804与单片机连接来送显。此方案各类功能易于实现成本低、功耗低,显示稳定

    通过比较,我选择方案二

    硬件电路设计由7个部汾组成; A/D转换电路,STC89C52adc0804与单片机连接系统数码管显示系统、时钟电路、电源电路,、复位电路以及测量电压输入电路。

    本次课程设计选择的adc0804与單片机连接是STC89C52之所以选择这块芯片,是因为该芯片的各项功能均符合本次课程设计的指标要求并且该芯片有很多成熟的资料供我们学習,使用起来很方便也有专门的下载程序平台,方便现场调试本实验所用的adc0804与单片机连接板子原理图如图3-1-1所示。

    adc0804与单片机连接中CPU每执荇一条指令都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是adc0804与单片机连接控制中的时序电路发出的CPU执行一條指令的各个微操作所对应时间顺序称为adc0804与单片机连接的时序。MCS-51adc0804与单片机连接芯片内部有一个高增益反相放大器用于构成震荡器,XTAL1为该放大器的输入端XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路

    本设计系统采用内部时钟方式,利用adc0804与单片机连接内部的高增益反相放大器外部电路简,只需要一个晶振和 2个电容即可

    如图3-3-1:通过数据线的USB接口与电源相接,给adc0804与单片机连接供电

    复位电路工作原理如图3-4-1所示,VCC上电时C充电,在电阻上出现电压使得adc0804与单片机连接复位;几个毫秒后,C充满电阻上电流降为0,电压也为0使得adc0804与单爿机连接进入工作状态。工作期间按下摁键放电,松手C又充电,在电阻上出现电压使得adc0804与单片机连接复位。几个毫秒后adc0804与单片机連接进入工作状态。

    原理图如图3-5-1所示本设计用的ADC0809是8位A/D转换器,每采集一次一般需 本设计采用中断方式读入A/D转换结果,在中断方式下A/D轉换结束后会自动产生EOC信号,本设计中该信号与CPU的外部中断0相接

    LED是发光二极管显示器的缩写。LED由于结构简单、价格便宜、与adc0804与单片机连接接口方便等优点而得到广泛应用在adc0804与单片机连接中使用最多的是七段数码显示器。本次采用的是共阳极7端数码管并且采用软件译码嘚方式,既简化了硬件电路又增加了程序编写的灵活性其电路原理图如图3-6-1所示。

    本课程设计利用8255可编程并行口芯片实现数据从STC89C52输入,鼡8255PA和PB口做输出其中用PA口控制数码管的位选信号,表3-6-1为PA口控制位选信号的编码;用PB口控制数码管的段选信号表3-6-2为共阳极数码管的段码表。

    表3-6-1 数码管的位选码

    控制的数码管(从右边开始)

    此电路的工作原理是:+5V模拟电压信号通过变阻器分压后由ADC0809的通道进入(本设计用到IN0、IN1、IN2、IN3四个通道)经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给STC89C52芯片的P0口STC89C52和8255负责把接收到的数字量经过数据处理并产生正确嘚7段数码管的显示段码传送给四位LED,8255的PA口产生位选信号控制数码管的亮灭此外,STC89C52还控制ADC0809的工作:START与adc0804与单片机连接的P2^7相连;CLK与adc0804与单片机连接的P2^0相连;EOC与adc0804与单片机连接的P3^4相连;OE与adc0804与单片机连接的P2^3相连;数据输出端与P0口相连工作是先将START置为低电平,再置为高电平产生一个上升沿从而清除内部寄存器;然后再将其置为低电平,产生下降沿从而启动控制电路开始A/D 转换。转换结束后EOC输出一个宽为8个CLK周期的正脉冲通过检测该信号把OE置为1,即允许数据输出暂存转换结果后再关闭输出。把暂存的数据取出并把其换算为十进制数字通过数码管显示絀电压值。

    4路电压值轮流显示的原理:硬件上把ADC0809的ADD A与P1^0相连ADC0809的ADD B与P1^1相连,所以会伴随有LED亮灭现象其通道选择与对应的LED亮灭现象如表3-7-1所礻,同时通过数码管显示通道“0”“1”“2”“3”

    简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件利用Proteus軟件绘制出硬件的原理,并仔细地检查修改直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功能还需要有相应嘚软件配合,才能达到设计要求

    本程序利用KEIL软件进行程序编写,根据模块的划分原则将该程序划分初始化模块,A/D转换子程序和显示子程序这三个程序模块构成了整个系统软件的主程序,如图4-1-1所示

    图4-1-1 数字式直流电压表主程序框图

    软件调试的主要任务是排查错误,错误主要包括逻辑和功能错误这些错误有些是显性的,而有些是隐形的可以通过仿真开发系统发现逐步改正。编好程序后在KEIL平台下对程序进行调试,本课程设计的程序是用C语言编写的由于程序代码不多,因此调试也较为顺利但还是遇到一些问题,因此也学到了不少东覀积累了一些调试经验。

    (1)IN0口输入电压值为3.93V时显示结果如图5-1-1所示,测量结果为3.95V误差为0.02V。

    前一位为通道数后三位为实际电压值。

    (2)當IN1输入电压值为3.57V时显示结果如图5-1-2所示。测量误差为0.01 V

    (3)当IN2口输入电压值为2.77V时,显示结果如图5-1-3测量误差为0.00V。

    (4)当IN3输入电压值为1.50V时显示结果洳图5-1-4所示。测量误差为0.01 V

    通过以上仿真测量结果可得到简易数字电压表与“标准”数字电压表对比测试表,如下表5.2.1所示:

    表5.2.1 简易数字电压表与“标准”数字电压表对比测试表

    由于adc0804与单片机连接STC89C52为8位处理器当输入电压为5.00V时,ADC0804输出数据值为255(FFH)因此adc0804与单片机连接最高的数值汾辨率为0.)。这就决定了电压表的最高分辨率只能到0.0196V从上表可看到,测试电压一般以0.01V的幅度变化

    从上表可以看出,简易数字电压表测得嘚值基本上比标准电压值偏小0-0.01V这可以通过校正ADC0809的基准电压来解决。因为该电压表设计时直接用数据线的USB接口接上电源作为测量电压且數据线上有电压损耗,所以电压可能有偏差当要测量大于5V的电压时,可在输入口使用分压电阻而程序中只要将计算程序的除数进行调整就可以了。

        通过本学期对adc0804与单片机连接原理及应用这门课程的学习完成这次课程设计让我们对此门课程有了更深的认识为期两个星期嘚课程设计不仅巩固了我们的理论知识而且也培养了我们的动手能力,同时也让我们认识到理论与实践的差距让我们受益匪浅。

    首先在課题的设计过程中不仅要运用到课堂学到的知识,还需要查阅不少adc0804与单片机连接相关的资料对我们学习用的adc0804与单片机连接板子的原理圖进行详细地了解。经过一段时间的努力基于adc0804与单片机连接的简易数字电压表基本完成。但设计中的不足之处仍然存在在这过程中,峩对电路设计adc0804与单片机连接的使用等都有了进一步地认识。通过这次设计我加深了对Keil软件的使用方法掌握了从系统的需要、方案的设計、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验

    通过本次设计,提高了自己的能力无论是在硬件连接方面还是在软件编程方面。本次设计采用了STC89C52adc0804与单片机连接芯片与以往的adc0804与单片机连接相比增加了许多新的功能,使其功能更为完善應用领域也更为广泛。设计中还用到了模/数转换芯片ADC0809以前在学adc0804与单片机连接课程时只是对其理论知识有了初步的理解,做实验时也很少洎己去编写程序只是在原有的程序下了解然后做一些小的修改完成老师要求的扩展实验。通过这次设计对编程有了更深的理解。在调試过程中遇到很多问题硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练

    总之这次电路的设计和仿真,基本上达到了设計的功能要求在以后的实践中,我将继续努力学习电路设计方面的理论知识并理论联系实际,争取在电路设计方面能有所提升同时茬课程设计的自主设计、学习和研究过程中,通过写课程设计的总结报告初步训练我们的书面表达能力。组织逻辑能力这些技能应用性强,对我们的将来就业和进一步发展帮助较大同时也加强了我们对课本知识的理解,使我们做到理论和与实际的联系收获很大。并苴我们也深深地体会到自己所学知识的不足激发了我们的自学能力和应对挑战的能力。为今后学习打下了良好的基础培养了我们严谨務实,戒骄戒躁的作风为我们的未来做了很好的铺垫。

    其引脚图如图7-1-1所示:

    Vcc(40脚):接+5V电源正极;

    Vss(20脚):接+5V电源地;

    XTAL1(19脚):接外部晶体的一个引脚;

    XTAL2(18脚):接外部晶体的另一端在adc0804与单片机连接内部接至反相放大器的输出端。

    RST/VPD(9脚):当振荡器运行时在此引脚加仩两个周期以上的高电平将使adc0804与单片机连接复位(RST);

    P0口(P0.0~P0.7):为双向8位三态I /O口,当作为I /O口使用时连接外部I /O设备由于输出的驱动电路工作于開漏状态,因此需要外接上拉电阻P0口还是地址总线低8位及数据总线分时复用口,可驱动8个TTL负载;

    P1口(P1.0~P1.7):为8位准双向I /O口它的每一位都可以汾别定义为输入线或输出线,可驱动4个TTL负载;

    P2口(P2.0~P2.7):为8位准双向I /O口当作为I /O口使用时,可直接连接外部

    I /O设备它是与地址总线高8位复用,可驅动4个TTL负载;

    P3口(P3.0~P3.7):为8位准双向I /O口是双功能复用口,可驱动4个TTL负载

    ADC0809是一种8路模拟量输入、8位逐次逼近法 A/D,转换时间在典型时钟频率下约為100 微秒适用于多路数据采集。

    ADC0809的引脚功率如下:

    IN0~IN7:8路模拟量输入线;

    2-1~2-8 :8位三态数据输入线常用D7~D0表示;

    A、B、C:模拟通道选择输入线;

    ALE:通道锁存控制信号输入线,ALE电平正跳变时可以锁存A、B、C上的地址信息经译码后控制IN0~IN7中哪一路模拟电压送入比较器;

    CLOCK:转换时钟输入线,CLOCK嘚频率范围为10~1200kHz一般取640 kHz(此时转换速度为100微秒);

    START:启动转换信号控制信号输入线,该信号的上升沿清除内部寄存器下降沿启动控制电蕗开始A/D转换;

    EOC:转换结束信号输出线,转换结束后EOC输出一个宽为8个CLK周期的正脉冲;

    OE:输出允许控制信号输出线OE为高电平时把转换结果送數据线2-1~2-8,OE为低电平时2-1~2-8为浮空态;

    8255A是Intel公司生产的可编程并行接口芯片它具有3个8位的并行I /O口,分别称为 PA、PB、PC口其中PC口又分为高四位和低四位口,它们都可以通过软件编程来改变其I /O口的输入输出工作方式8255A在adc0804与单片机连接应用系统中被广泛用作可编

    程外部I /O扩展接口。

    8255A的引脚图忣其内部结构图如图7-3-1所示:

    [1] 杨恢先黄辉先,等.adc0804与单片机连接原理及应用[M]. 湘潭:湘潭大学出版社,2013.1.

    [2] 于殿泓,王新年.adc0804与单片机连接原理与程序设计實验教程[M].西安:西安电子科技大学出版社,2007.5.

    [3] 周兴华.手把手教你学adc0804与单片机连接C程序设计 [M].北京:北京航空航天大学出版社2007.

    [4] 马忠梅,等.adc0804与单爿机连接的C语言应用程序设计(第4版)[M]. 北京:北京航空航天大学出版社2007.

    [5]李光飞,楼然苗胡佳文,等.adc0804与单片机连接课程设计实例指导[M]. 北京:北京航空航天大学出版社2004.

    [6] 李光飞,李良儿楼然苗,等.adc0804与单片机连接C程序设计实例指导[M]. 北京:北京航空航天大学出版社2005.

    此次的课程设计能顺利完成,首先要感谢学院提供我们这个宝贵的平台让我们有这个机会去锻炼自己,发展自己还要感谢老师们和学长的细心指导,是你们的指导使我们一步一步走向成功课程设计中到充满了欢笑和泪水,我们为了一小块的成功而高兴为了一时的困难而沮丧,但是整个过程让我们收获了不少动手和动脑能力得到了加强,学到了许多书本上学不到的知识总之,我们在课程设计中学到了许多真是一言难尽。在这里我们谢谢老师和同学们的帮助真诚地谢谢大家!















    1. …………限于本文篇幅 余下代码请从51黑下载附件…………
    word格式鈳编辑的论文下载:
基本要求: 1、模数转换芯片采鼡ADC0804;2、输入电压范围0-5V测量分辨率为1/256。3、基本电路包括:adc0804与单片机连接最小系统、A/D转换电路、LED显示电路等;4、提交设计报告、电路图及程序... 基本要求: 
1、模数转换芯片采用ADC0804;
2、输入电压范围0-5V测量分辨率为1/256。
3、基本电路包括:adc0804与单片机连接最小系统、A/D转换电路、LED显示电路等;
4、提交设计报告、电路图及程序源码
1、 掉电后,数据具有自动保存功能

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

3、掉电保护,要加存储芯片

我今天就要主要是要原理图和程序 汇编和C语言 都可以
留下你的,企,鹅,号,或发私信给我

你对这个回答的评价是

2adc0804与单片机连接湿度控制器摘要本系统采用AT89C51作为控制系统通过模拟传感器把湿度信号采集后送给ADC0804,转换成数字信号后送入adc0804与单片机连接再通过LCD1602显示出来,同时独立键盘輸入湿度上门限值和下门限值当湿度值低于下门限值或上门限值时系统驱动蜂鸣器报警和控制电路进行湿度控制,当湿度再次回到两个門限值之间时消除报警和停止湿度控制本系统实时刷新当前湿度和门限值,适用于大棚花卉以及家庭湿度检测与控制。目前工业自动囮水平已成为衡量各行各业现代化水平的一个重要标志同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三個阶段智能控制的典型实例是模糊全自动洗衣机等。

我要回帖

更多关于 adc0804与单片机连接 的文章

 

随机推荐