




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 课 程 设 计 说 明 书课程名称 单片机原理题 目 数字电压表设计 院 系 电子信息工程学院班 级 自动化085班学生姓名 指导教师 课程设计名称 单片机原理 学生姓名 黄楠楠 专业班级 自动化085 设计题目 数字电压表设计 一、 课程设计目的1、 培养学生文献检索的能力,如何利用internet检索需要的文献资料。2、 培养学生综合分析问题、发现问题和解决问题的能力。3、 培养学生综合运用知识的能力和工程设计的能力。4、 培养学生理论联系实际的能力。5、 提高学生课程设计报告撰写水平。二、 设计内容和设计要求1、设计内容利用51单片机与adc0808或adc0809设计一个数字电压表,
2、能够测量05v之间的直流电压值,四位数码显示或lm1602液晶显示,但要求使用的元器件数目最少。(1)使用adc0808或adc0809芯片做为电压输入的ad模块;(2)使用外部按键控制方式读取电压信号;(3) 使用4位共阴极动态led数码管或lm1602液晶显示屏作为输出显示部分;(4)软件可用c语言或汇编语言,硬件可用实验箱或protues仿真软件实现功完整的能演示。2、设计要求(1)设计单片机最小系统(包括复位按钮、晶振电路等);(2)共阴极led数码管或lm1602液晶显示。(3)用定时器中断方式定时刷新或按键控制读取方式显示,使用按键控制时要求使用外部中断方式。(4)绘制实现本设计内
3、容的硬件电路(原理图),系统的组成框图。(5)给出adc0808或adc0809的功能说明与使用方法;(6)编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。三、硬件设计原理模数转换原理: 试验中,我们选用adc0809作为模数转换的芯片,其为逐次逼近式ad转换式芯片,其工作时需要一个稳定的时钟输入,根据查找资料,得到adc0809的时钟频率在10khz1200khz,我们选择典型值640khz。课题要求测量电压范围是0到5v,又adc0809的要求:vref+=gnd,故我们取vref+=+5v,vref-=0v。由于adc0809有8个输入通道可供选择,我们选择in6通道,直接使
4、adc0809的a接地,b、c接高电平可以了,在当adc0809启动时ale引脚电平正跳变时变可以锁存a、b、c上的地址信息。adc0809可以将从in6得到的模拟数据转换为相应的二进制数,由于adc0809输出为8位的二进制数,转换时将0到5v分为255等分,所以我们可以得到转换公式为x/255*5化简为:x/51,x为得到的模拟数据量,也就是直接得到的电压量。在ad转换完成后,adc0809将在eoc引脚上产生一个8倍于自身时钟周期的正脉冲,以此来作为转换结束的标志。然后当oe引脚上产生高电平时,adc0809将允许转换完的二进制数据输出。数据处理原理: 由adc0809的转换原理可以知道
5、我们从其得到数据还只是二进制数据,我们还需要进一步处理来的到x的十进制数,并且对其进行精度处理,也就是课题要求的的精确到小数点后两位,在这里我们用51单片机对数据进行处理。我们处理数据的思路是:首先将得到的二进制数直接除以十进制数51,然后取整为x的整数部分,然后就是将得到的余数乘以10,然后再除以51,再取整为x的十分位,最后将得到的余数除以5得到x的百分位。硬件原理图:系统框图:时钟电路 复位电路a/d转换电路测量电压输入显示系统at89c51 p1 p2 p2 p0 四、主要器件介绍1、at89c51at89c51芯片模型at89c51芯片的各引脚功能为:p0口:8位,漏极开路的双向i/
6、o口。这组引脚共有8条,p0.0为最低位。这8个引脚有两种不同的功能,分别适用于不同的情况。 p1口:8位,准双向i/o口,具有内部上拉电阻。这8个引脚和p0口的8个引脚类似,p1.7为最高位,p1.0为最低位,当p1口作为通用i/o口使用时,p1.0-p1.7的功能和p0口的第一功能相同,也用于传送用户的输入和输出数据。p2口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用i/o口使用,它的第一功能和p0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像p0口那样传送存储器的读/写数据。p3口:这组引脚的第一功能和其余三个端口的第一功能
7、相同,第二功能为控制功能,每个引脚并不完全相同,如下表2所示:ale/prog:地址锁存允许信号,输出。配合p0口的第二功能使用,在访问外部存储器时,89c51的cpu在p0.0-p0.7引脚线去传送随后而来的片外存储器读/写数据。在不访问片外存储器时,89c51自动在ale线上输出频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为外部时钟源或定时脉冲使用。/ea:片外存储器访问允许信号,低电平有效。可以控制89c51使用片内rom或使用片外rom,若/ea=1,则允许使用片内rom, 若/ea=0,则只使用片外rom。/psen:片外rom的选通信号低电平有效。在访问片外rom时,89c5
8、1自动在/psen线上产生一个负脉冲,作为片外rom芯片的读选通信号。rst:复位线,可以使89c51处于复位(即初始化)工作状态。通常89c51复位有自动上电复位和人工按键复位两种。xtal1和xtal2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89c51片内osc(震荡器)的定时反馈回路。2、adc0808的功能说明与使用方法adc0808是一种典型的a/d转换器。它是由8位a/d转换器,一个8路模拟量开关;8位模拟量地址锁存译码器和一个三态数据输出锁存器组成;+5v单电源供电,转化时间在100us左右;内部没有时钟电路,故需外部提供时钟信号。芯片模型如下图所示
9、:adc0808芯片模型功能说明:(1) in0in7:8路模拟量输入端。(2) d0d7:8位数字量输出端口。(3) start:a/d转换启动信号输入端。(4) ale:地址锁存允许信号,高电平有效。(5) eoc:输出允许控制信号,高电平有效。(6) oe: 输出允许控制信号,高电平有效。(7) clk:时钟信号输入端。(8)adda、addb、addc:转换通道地址,控制8路模拟通道的切换。adda、addb、addc分别与地址线或数据线相连,三位编码对应8个通道地址端口,adda、addb、addc=000111分别对应in0in7通道的地址端口。使用方法:adc0808采用逐次比较
10、的方法完成a/d转换,由单一的+5v电源供电。片内带有锁存功能的8路选1的模拟开关,由adda、addb、addc的编码来决定所选的通道。adc0808完成一次转换需100s左右,它具有输出ttl三态锁存缓冲器,可直接连接到at89c51的数据总线上。通过适当的外接电路,adc0808可对05v的模拟信号进行转换。五、部分电路介绍1、晶振电路 本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2个电容即可,如下图所示。晶振电路电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路。参数,电路中,电容器c1和c2对震荡频率有微调作用,通常的取值范
11、围是3010pf,在这个系统中选择了33pf;石英晶振选择范围最高可选24mhz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12mhz,因而时钟信号的震荡频率为12mhz。2、复位电路单片机在启动运行时都需要复位,使cpu和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。mcs-51单片机有一个复位引脚rst,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。复位完成后,如果rst端继续保持高电平,mcs-51就一直处于复位状态,只要rst恢复低电平后,单片机才能进入其他工作状态。 复位电路3、模拟输入电路通过可变
12、电阻一端接电源+5v,一端接地gnd,通过改变电阻的阻值,从而改变所测电压值,实现电压的模拟信号输入。模拟输入电路六、软件设计程序流程图:开始初始化调用a/d转换子程序调用显示子程序结束主程序流程图启动转换a/d转换结束?输出转换结果数值转换显示结束开始a/d转换流程图源程序:/*程序功能:实现数模转换,并将结果在*数码管上显示出来。 */#include #include#define led_data p2#define a 10#define u 11sbit led1=p30;sbit led2=p31;sbit led3=p32;sbit led4=p33;sbit dp=p35;#
13、define led_slect p3#define uchar unsigned char#define uint unsigned intstatic uchar dispdata4;unsigned char code num=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x3e; /数字编码/ad0809#define xbyte (unsigned char volatile xdata *) 0) #define adin xbyte0x7ff9 /0809的外部地址void delayus(uint us) whi
14、le(us-);uchar ad_action(uchar ch)/0255代表05v,所以v=out*5.0/255 uchar read_data; adin=ch; /ch:通道号 delayus(6); read_data=adin; /? return read_data; /0809的输出,数字量/* lcall ad_action(c:0463)mov dptr,#0x7fffmov a,r7movx dptr,amov r7,#0x06mov r6,#0x00lcall delayus(c:02d3)movx a,dptrmov r7,aret */ /数码管显示控制void
15、decodenum(float adv,uchar ch) /ch: ad通道号 uint temp; temp=(uint)(adv*1000);/若显示3位: temp=(uint)(adv*100) dispdata0=temp/1000; dispdata1=temp/100%10; dispdata2=temp/10%10; dispdata3=temp%10; dispdata3=ch;/可在最后1位显示通道号void select(uchar led) switch(led) case 0:led1=0;break; case 1:led2=0;break; case 2:led
16、3=0;break; case 3:led4=0;break; default: led_slect=0xff; void dispone(uchar led,bit ifpoint,uchar number) /,number 0-9 select(led);if(ifpoint) dp=1; else dp=0; led_data=numnumber|0x80; delayus(200); led_slect=0xff; void disp() uchar i; bit point; for(i=0;i4;i+) if(i=0) point=1; else point=0; dispone
17、(i,point,dispdatai); #define addo (5.0/255.0)#define zero 0.005 /用于校准ad的误差 void main() uint cnt=0;/ad_action(0); while(1) switch(cnt+) case 0: decodenum(ad_action(0)*addo+zero,0);break; /* case 0: decodenum(ad_action(0)*addo+zero,0);break; case 70: decodenum(ad_action(1)*addo+zero,1);break; case 140
18、: decodenum(ad_action(2)*addo+zero,2);break; case 210: decodenum(ad_action(3)*addo+zero,3);break; case 280: decodenum(ad_action(4)*addo+zero,4);break; case 350: decodenum(ad_action(5)*addo+zero,5);break; case 420: decodenum(ad_action(6)*addo+zero,6);break; case 490: decodenum(ad_action(7)*addo+zero,7);break;*/ case 560:cnt=0;break; disp(); 七、总结与体会经过一周的努力终于设计成功,led的显示结果和直接用数字电压表测试模拟量输入所得结果几乎一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《工作分析final》课件
- 铁路旅客运输服务车票知识课件
- 《广东专升本计算机》课件
- 铁道机车专业教学湖南铁道左继红57课件
- 双语客运值班员客运工作基本要求课件
- 铁路工程安全技术石家庄铁路87课件
- 铁路客运站售票岗位作业李秀聪课件
- 中国书画文化课件
- 中华文化课件党课
- 电动车短期出租合同
- 2024年资格考试-良好农业规范认证检查员考试近5年真题集锦(频考类试题)带答案
- 初二地理生物会考动员家长会发言稿
- 医学教材 《疟疾》课件
- 混凝土结构后锚固技术规程
- 食材配送服务方案投标方案(技术方案)
- DLT 5285-2018 输变电工程架空导线(800mm以下)及地线液压压接工艺规程
- 2024五保户集中供养协议书
- 北京海淀区2023-2024学年八年级物理下学期期中考试卷
- 耳穴临床应用-运动恢复新技巧
- 上海市低年级主题式综合活动课程指导纲要
- 人教版二年级音乐下册教案全册合集
评论
0/150
提交评论