数字电压表单片机课程设计报告.doc_第1页
数字电压表单片机课程设计报告.doc_第2页
数字电压表单片机课程设计报告.doc_第3页
数字电压表单片机课程设计报告.doc_第4页
数字电压表单片机课程设计报告.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

桂林电子科技大学课程设计报告用纸 编号: 单片机课程设计报告书课 题: 数字电压表 院 (系): 机电工程学院 专 业: 电气工程及其自动化 学生姓名: 闫奥博 学 号: 1200120334 题目类型:理论研究 实验研究 工程设计 工程技术研究 软件开发 2014 年 1 月 6 日前 言一、数字电压表的主要内容1.1任务要求和内容 (1)用ADC0809设计一个数字电压表,能测量05V间的直流电压。(2)在2位数码管上显示0.0 5.0 V。1.2数字电压表的使用步骤为:(1)系统上电,上电后数码管显示测量的电压。(2)调节输入电压,数字电压表及时测出当前的输入电压值。二、资料收集2.1 芯片资料的收集此次课设中用到STC89C51单片机,该单片机是宏晶公司生产的STC89C51,其片内带有8K字节闪速可编程、可擦除寿命1000次程序存储器。2.2 数字电压表的资料根据题目的要求在单片机教材了解单片机的基本使用方法和性能,查找ADC0809芯片的原理,综合这些资料来先在PROTEUS仿真软件中绘图并仿真,最后用Altium Designer 10版本绘制原理图和PCB图。三、工作过程简介选好题目以后根据题目要求进行一个总体的思路设计,硬件分有三大模块,最小单片机系统模块、模数转换模块、显示模块;软件部分有一大模块,模数转换模块,然后在PROTEUS仿真软件中绘图并仿真。仿真没有问题以后用Altium Designer 10绘制原理图和PCB图。将打印好的电路图转印打铜板上,进行腐蚀、打孔、焊接元器件,最后进行电路板调试 。在调试过程中没有达到预期的效果,显示偏暗,测量出的数据跳变很快,后面在程序中加了定时的程序,经过短暂的时间的间隔测量数据,使得测得的数据很稳定,显示效果非常理想。目 录1 系统概述11.1 数字电压表的基本功能11.2 数字电压表的工作过程11.3 模数转换原理11.3.1 ADC0809芯片工作过程12 数字电压表硬件部分22.1 最小单片机系统模块22.1.1 晶振电路32.1.2 复位电路32.2 模数转换模块42.3 显示模块53 数字电压表软件部分53.1 系统软件53.2 模数转换程序53.3 显示子程序64 电路的调试与安装64.1 系统硬件调试64.2 系统软件调试65 结束语和心得体会76 参考文献77 元件清单7附录18附录21第 13页 共 12 页桂林电子科技大学课程设计报告用纸1 系统概述1.1 数字电压表的基本功能:(1)测量0.0V-5.0V之间的电压 。(2)数码管显示2位测量数据。系统框图如图1-1所示:单片机数码管显示测量 图1-1 系统框图1.2 数字电压表的工作过程硬件分有三大模块,最小单片机系统模块、模数转换模块、显示模块;软件部分有一大模块,模数转换模块。工作原理:电路上电后,数码管显示测量电压。1.3 模数转换原理1.3.1 ADC0809芯片工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。(1)定时传送方式对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。(2)查询方式A/D转换芯片有表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。(3)中断方式把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。表1-2 ADC0809芯片工作脉冲图2 数字电压表硬件部分2.1 最小单片机系统模块单片机最小系统由复位电路、时钟振荡电路。数字电压表采用STC89C51单片机作为控制芯片,图2-1是其最小系统电路。主要包括:时钟电路、复位电路。其中各个部分的功能如下:(1)时钟电路:给单片机提供一个外接的12MHz的石英晶振。(2)复位电路:在电压达到正常值时给单片机一个复位信号。 图2-1 单片机最小系统2.1.1 晶振电路本设计选用的是12MHZ无源晶振、2个22pF电容,使得一个机器周期是1s。晶振的作用是为系统提供基本的时钟信号,而两个电容则是起到并联谐振的作用,如果没电容,振荡电路会因为没有回路而停振,电路不能正常工作。图2-2 晶振电路2.1.2 复位电路复位电路的作用是在上电或复位过程中,控制CPU的复位状态,当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。本设计采用的电容值为10F的电容和电阻采用10K的电阻。如图2-3所示上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。图2-3 复位电路2.2 模数转换模块电路的原理如下图示,三个地址位ADDA、ADDB、ADDC均接低电平,因而所需测量的外部电压可由ADC0809的IN0口端口输入。由于ADC0809在进行A/D转换时需要有CLK信号,本设计利用AT89C51的定时中断产生一个25KHz的脉冲,由P1.5口送给ADC0809的时钟端,通过软件给其输入一个正脉冲,可立即启动A/D转换。图2-4 模数转换电路2.3 显示模块本次使用的是2位7段共阴数码管,其实物图和引脚图如图2-5、2-6所示: 图2-5 共阴数码管实物图 图2-6 共阴数码引脚图 3 数字电压表软件部分3.1 系统软件系统流程图如下:开始初始化调用A/D转换程序调用数据采集程序调用显示程序图3-1 程序流程图3.2 模数转换程序模数转换程序如下:ST=0;ST=1;ST=0; /启动 A/D转换 while(!EOC);/等待转换完成 OE=1; getdata=value_in;OE=0;temp=getdata*196/1000;/ 50/255=0.1963.3 显示子程序void Display(uint temp)/显示 qu_value=dispbitcodetemp%10; A0=1;A1=0;Delay(10);qu_value=0x00;qu_value=dispbitcodetemp/10;P17=1;A0=0;A1=1;Delay(10); qu_value=0x00;利用定时器1中断程序,把显示延迟显示使显示更加稳定,子程序如下:void t1() interrupt 3TH1=(65536-4000)/256; TL1=(65536-4000)%256;Display(temp);4 电路的调试与安装4.1 系统硬件调试将所需要的元器件都焊接在电路板,检查有没有虚焊或则短路。上电以后电路能够正常工作,硬件没有问题。4.2 系统软件调试硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。将程序下载到单片机以后,显示跳变很快,显示不稳定偏暗。解决的方案是通过定时器来延迟显示。5 结束语和心得体会在这次课设中让我获益匪浅,受益良多。至今制作的每一个步骤和每一个环节都在我的脑海里时隐时现,这个过程真的令我印象太深刻,在这个课设中,我做之前做了大量的准备,主要查询模数转换的工作原理,在弄懂原理以后在PROTEUS仿真软件进行仿真。在这次的单片机课设中,我第一大心得体会就是作为设计者,要求具备的首要素质绝对是严谨。在这次难得的课设过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考的完整性和实际生活生活联系的可行性。在方案的设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也用了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力,并且我们熟练掌握了有关期间的性能及调试方法。再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论学习还是生活,生活是实在的,要踏实走路。课设的时间虽然很短,但我学习了很多东西,使我眼界打开,感受颇深。为今后踏入社会做了一定的基础准备。6 参考文献1赵全利. 单片机原理及应用教程(第3版)M.北京:机械工业出版社,2013.68-105 2康华光.电子技术基础 数电部分M.北京:高等教育出版社,2006.103-1591及力. DXP2004SP2实用设计教程(第2版)M.北京:电子工业出版社,2013.68-105 7 原件清单表7-1 原件清单序号名称数量1STC89C511222pF电容2310uF极性电容142段共阴数码管15ADC080916电阻10K1附录1附图1 数字电压表原理图附图2 数字电压表PCB原理图附图3 数字电压表仿真图附录2#include#define uchar unsigned char #define uint unsigned int#define value_in P0/ADC0809数据输入口#define qu_value P2/数码管数据端sbit A0=P10;/位sbit A1=P11;sbit ST=P12;/启动信号 sbit OE=P13;/输出使能sbit EOC=P14;/转换结束信号 sbit CLK=P15;/时钟信号sbit P17=P27;/数码管上的点uchar code dispbitcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/数据码uint getdata;uint temp;uint i;void Display(uint temp);/显示void TimeInitial();/初始化void Delay(uint i);/延迟函数void main()TimeInitial();while(1)ST=0;ST=1;ST=0; /启动 A/D转换 while(!EOC);/等待转换完成 OE=1; getdata=value_in;OE=0;temp=getdata*196/1000;/ 50/255=0.196void t0(void) interrupt 1 CLK=CLK;void t1() interrupt 3TH1=(65536-4000)/256; TL1=(65536-4000)%256;Display(temp);void TimeInitial()/初始化 TMOD=0x12;TH0=216; TL0=216; TH1=(65536-4000)/256; TL1=(65536-4000)%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论