ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:801.20KB ,
资源ID:22069479      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22069479.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机电压采集装置课程设计AD转换及编程实现Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机电压采集装置课程设计AD转换及编程实现Word文件下载.docx

1、,键盘电路和8个LED数码显示电路。扩展电路中包含了A/D转换电路,AD转换五种工作模式下对应要实现的功能:即模式0下完成通道0的模拟信号采集;模式1时完成指定模拟通道电压采集,按加、减(K2,K3)按键手动实现模拟通道的切换, 此外,通过内部定时器T1实现报警功能,即超过上限电压4.999V时报警,同时点亮P1.1即L2发光LED小灯,低于下限电压0.000V时也实现报警功能,只是报警的频率改变,同时点亮P1.0即L1发光LED小灯;而模式2完成8通道模拟信号自动循环采集功能,通过加入内部定时器T0中断,从而实现每隔1秒通道值自动加1的功能;进入模式3的时候,需要人为设置报警上限,此程序设定

2、报警上限为4V,而报警上限默认值为3.999V,通过按加、减(K2/K3)按键实现上限加减0.1V;模式4的时候设置报警下限电压,默认报警下限电压为1.999V,本程序中设置的报警下限电压为2V,通过加减(K2/K3)按键实现电压加减0.1V的功能,最终实现电压采集和扩展功能。关键词:AT89S52芯片 、ADC0809芯片 1 绪论1.1系统设计方案本次实验要求设计电压采集装置,课程设计分设计、制作和调试三个部分。设计选题以单片机为核心,基本内容应包括单片机最小系统、键盘和LED显示电路,以及设计系统涉及的其他电路。系统硬件电路由标准电路和自制电路两部分组成。标准电路包括单片机最小系统、8个

3、LED数码管电路和键盘电路,可根据设计需要进行配置选用。自制电路需自行设计焊接,包含标准电路不具备的其他电路。设计中采用了模数转换器,利用ADC0809型8位MOS型A/D转换器。可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路,实现模拟信号到数字信号的转换。控制部分采用单片机89C52来完成。显示部分利用LED数码管显示模块,来显示采集到的电压分量。1.2.1系统设计原理框图2 硬件电路设计标准电路包括单片机最小系统、6个LED数码管电路和键盘电路,可根据设计需要进行配置选用。2.1单片机电路2.1.1单片机最小系统 CPU原理图该原理图包含单片机以及外

4、部连接译码,锁存电路端口,其中的ALE,REST为高电平时用来启动ADC0809.P0、P2口控制数码输出显示,P3口的P3.3、P3.4、P3.5控制按键,P1.1P1.3控制通道选择。晶振采用12MHZ,该频率有利于提高串口的通信可靠性,同时又保证单片机有较高的运行速度。2.1.2 显示译码电路LED显示电路可提供8位LED显示;可显示P1(P3)口状态;也可显示输入按键状态 LED显示电路显示电路采用6位共阳极LED动态扫描显示,CD4511输出所需字形,74LS138选择字位。在动态方式中,逐个地循环地点亮各位显示器。 数码管显示电路显示译码电路部分由P0口或P2口输出显示。显示译码器

5、采用CD4511芯片:输入:BCD 输出:七段码 74LS138芯片是用来控制显示时候的字位的,由于单片机的管脚是有限的通过使用138芯片可以避免少使用些单片机的管脚,当输入001时,译码可得10111111:07 输出:低电平 2.2 A/D转换2.2.1 ADC0809转换原理 当单片机端的P3.3接低电平时,可以使两个非门打开(1)当模拟量送至某一输入通道后,CPU将标识该通道编码的三位地址信号经数据线或地址线输入到ADDC、ADDB、ADDA引脚上。(2)地址锁存允许ALE锁存地址信号,启动命令START启动A/D转换。(3)转换开始,EOC变低电平,转换结束,EOC变为高电平。EOC

6、可作为中断请求信号。(4)转换结束后,可通过执行IN指令,设法在输出允许OE脚上形成一个正脉冲,打开三态缓冲器把转换的结果输入到DB,一次A/D转换便完成。2.2.2 AD转换电路转换结束:EOC1IN0,通道0参考电压:5V转换时钟:接单片机ALE输出经分频后得到启动和地址锁存信号输出使能信号通道地址信号输出数据/WR/RD片选信号:P3.3=0/INT0CC4060_7AD_CS2.2.3电路设计硬件资源分配数码管显示电路:用 P2 口:bcd 码输出P2.3P2.0;字位选择 cba=P2.6P2.4 ;小数点 P2.7键盘电路: P3口低四位1号按键P3.0-模式切换2号按键P3.1-

7、通道、报警限加3号按键P3.2-通道、报警限减4号按键P3.3- 查询法,接收ad转换状态 (不作为按键使用) 中断法,收ad结束中断信号ADC0809电压转换电路控制信号:/wr=p3.6 /rd=p3.7 eoc= p3.3 Cs= p3.5 转换通道选择地址线:CBA =P1(6-4)3 软件设计3.1 设计任务3.1.1 基本任务 1、进行电压采集并显示 3.1.2 扩展任务 1、指定通道采集 2、循环采集显示 ,默认每通道显示1秒钟。3、报警设置 报警上限为4V报警下限为2V 3.2 程序设计3.2.1 主程序框图 主程序框图3.3.2AD信号采集程序#include#define

8、uchar unsigned char#define uint unsigned int#define zxma P0 /字型码地址,通过P0口送字型码#define zwma P2 /字位码地址,通过P2口送字位码sbit lowflag=P10; /下限报警LEDsbit highflag=P11; /上限报警LEDsbit ad_adda=P14; /ad0809地址端A,低位sbit ad_addb=P15; /ad0809地址端B,中位sbit ad_addc=P16; /ad0809地址端C,高位sbit key1=P30; /按键1sbit key2=P31; /按键2sbit

9、key3=P32; /按键3sbit ad_eos=P33; /ad0809转换结束标志,1转换完,0正在转换sbit speeker=P34; /蜂鸣器报警sbit ad_cs=P35; /ad0809片选,低电平有效sbit ad_wr=P36; /ad0809写入信号,锁存地址和启动adsbit ad_rd=P37; /ad0809读出信号,通过P0口读回ad转换结果uchar ad_data; /ad采集数据uchar pdata ad_start,ad_over; /两个片外地址,用于产生读写信号uchar ad_td; /ad采集通道uchar ad_mode; /ad采集模式uc

10、har key;uint ad_high=4000; /ad报警上限,设置为4Vuint ad_low=2000; /ad报警下限,设置为2Vuchar tt0=100; /定时1s(10ms,需要100次)sbit ad_clk=P17; /本程序利用P1.7产生方波来给ad0808提供脉冲, /*共阴极数码管字形码,共阳极数码管取反即可*/uchar code zixing=0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71;/*共阳极数码管字位码,共阴

11、极数码管取反即可*/uchar code ziwei=0x01, 0x02, 0x04, 0x08,0x10, 0x20, 0x40, 0x80;void timer2int(); void delay(uint i);void disp(void);void ad_change(void);void keyscan(void);void keyanswer(void);void alarm();void timer0int(void);void timer0chengxu(void);void timer1int(void);void timer1chengxu(void);void mai

12、n(void) timer0int(); timer1int(); while(1) keyscan(); keyanswer(); ad_change(); alarm(); disp(); void keyscan(void) if(!key1) while(!key1)disp(); key=1;F0=1;key2)key2)disp(); key=2;key3)key3)disp(); key=3;void keyanswer(void) if(key=1&F0=1) ad_mode+; if(ad_mode=5)ad_mode=0; if(ad_mode=0) ad_td=0; if

13、(ad_mode=1) if(key=2& ad_td+; if(ad_td=8)ad_td=0; if(key=3& ad_td-; if(ad_td=255)ad_td=7; if(ad_mode=2)TR0=1; else TR0=0; if(ad_mode=3) ad_high=ad_high+100; ad_high=ad_high-100; if(ad_mode=4) ad_low=ad_low+100; ad_low=ad_low-100; F0=0;void timer0int(void) TMOD=0x11; TH0=(65536-10000/1)/256; TL0=(655

14、36-10000/1)%256; ET0=1; EA=1; TR0=0;void timer0chengxu(void) interrupt 1 tt0-; if (tt0=0) tt0=100; if(ad_td=8)ad_td=0; void timer1int() TH1=(65536-500/1)/256; TL1=(65536-500/1)%256;ET1=1; TR1=0;void timer1chengxu() interrupt 3 uint ad_dianya; if (ad_dianyaad_high|ad_dianyaad_low) TR1=1; /开放T1中断 else

15、 TR1=0; /关闭T1中断 void ad_change(void) ad_adda=0; ad_addb=0; ad_addc=0; P1=P1|(ad_td4); ad_cs=0; ad_start=0x00; while(ad_eos=1)disp(); ad_data=ad_over;void disp(void) uint ad_dianya; uchar j,k,l,m; if(ad_mode=0|ad_mode=1|ad_mode=2) ad_dianya=ad_data*19.60784; ad_dianya=ad_high; ad_dianya=ad_low; j=ad_

16、dianya/1000; k=ad_dianya%1000/100; l=ad_dianya%100/10; m=ad_dianya%10; zwma=ziwei0; zxma=zixingad_mode; delay(1); zxma=0xFF; zwma=ziwei2; zxma=zixingad_td; zwma=ziwei4; zxma=zixingj&0x7f; zwma=ziwei5; zxma=zixingk; zwma=ziwei6; zxma=zixingl; zwma=ziwei7; zxma=zixingm;void delay(uint i) unsigned int

17、j,k; for(j=0;ji;j+) for(k=0;k121;k+); void timer2int() C_T2=0; RCAP2H=(65536-100)/256; RCAP2L=(65536-100)%256; ET2=1; TR2=1; void timer2pro(void) interrupt 5 using 0 TF2=0; ad_clk=ad_clk; 4 系统调试硬件焊接分为单片机板和扩展版两部分。在焊接单片机板的时候出现过虚焊和漏焊的现象,再其次就是在焊接扩展板的时候,自己将排阵竟然全部焊接反了,由于自己的疏忽,导致杜邦线无法连接。然后自己又逐一将排阵全部焊接了一遍,再

18、者就是电路板的布局问题,由于自己是第一次走线,导致板子背面的走线很不光滑而且混乱,没有秩序,但最终在自己的努力下实现了功能。由于自己曾经掌握一些简单的汇编语言,例如VB,C,C+等汇编语言,所以开始的时候总想将汇编语言写成C语言的格式,导致程序频频出现问题。而且由于自己起初对KEIL C软件不是非常了解,所以很多时候出现问题自己不会改写。但最终在老师和同学的帮助之下,悉心学习,耐心请教,通过程序调试各个部分的功能,完成各功能模块,把程序下载到单片机中,最终实现电压采集功能和扩展功能。参考文献:1胡汉才,单片机原理及其接口技术(2版),清华大学出版社 2张迎新,单片机中级教程,北京航空航天大学出

19、版社3丁元杰,单片机原理与应用,机械工业出版社4孙育才,MCS-51系列单片微型计算机及其应用,东南大学出版社附录一 电源印刷电路板布线图附录二 单片机板电路原理图附录三 单片机印刷电路板布线图附录四 元件清单电源板符号名称型号 参数数量备注C156电解电容2200uF/25V3C3910100uF/25VC2478111213独石电容1047LED123发光二极管5红R1电阻470欧1R2/31K欧2D1_1/1/2/3/4/5二极管IN40076散热片变压器220V50VMC1芯片7805MC27812MC37912POWERIN/OUT5电源接口电路板插头扩展板滑动变阻器ADC080974HC02404674HC04双排针若干短路帽单片机主板KP1/2/3/4/SWRST1微动开关6*6*65SWPIP1拨码开关芯片座14P416P28P40P11U1AT89S52U24511U374HC138U5/6L188SEG16LED数码管共阴极SR18200欧1KR210KCRY1晶振12MC2/3瓷片电容20PC5C122uF/25VRKP1排阻3.3KRKP2RL1RLED470POW1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1