基于单片机AT89C51的数字电流表设计

上传人:仙*** 文档编号:36582409 上传时间:2021-10-31 格式:DOC 页数:23 大小:1.18MB
收藏 版权申诉 举报 下载
基于单片机AT89C51的数字电流表设计_第1页
第1页 / 共23页
基于单片机AT89C51的数字电流表设计_第2页
第2页 / 共23页
基于单片机AT89C51的数字电流表设计_第3页
第3页 / 共23页
资源描述:

《基于单片机AT89C51的数字电流表设计》由会员分享,可在线阅读,更多相关《基于单片机AT89C51的数字电流表设计(23页珍藏版)》请在装配图网上搜索。

1、 2014届本科生毕业设计 分类号:TP216 题 目:基于单片机AT89C51的数字电流表设计作 者 姓 名: 学 号: 学 院: 机械与电子工程学院 专 业 : 自动化 指导教师姓名: 指导教师职称: 助教(硕士) 工程师 2014年5月08日摘 要 此次设计提出了用 AT89C51 单片机为核心控制元件,设计一个简易的数字电流表,设计的系统实用性强、操作简单,实现了智能化、数字化。 它的功能是实现待测电路的电流值的数字化显示,将数字电流表连接到待测电路中,通过LM358运算放大器将待测电路的电压值转换成电流值传输给模数转换器ADC0808,通过模数转换将输出的数字信号传输给单片机,单片机

2、将测量的结果传送给数码显示器,显示器将测量的数值显示出来便可直接读出待测电路的电流值。测量值以数字的形式显示出来更直观,而且可以随时监测电路中电流变化情况。关键词:单片机; 模数转换; 数码显示ABSTRACTThe design presented as the core control elements with AT89C51, designing a simple digital ammeter, system usability design, simple operation, to achieve an intelligent, digital. It is the functi

3、on of digital display of the current value of the tested circuit, the digital current meter is connected to the circuit to be tested, the voltage sensing circuit value into the current value is transmitted to the analog to digital converter ADC0808 through LM358 operational amplifier, through the an

4、alog digital conversion digital signal transmission output to the singlechip, singlechip will measure results are transmitted to the digital display, numerical display the measured displayed can be directly read out the value of the current detecting circuit. Measurement values are displayed in digi

5、tal form is more intuitive, but also can monitor the variation of the current in the circuit.Key words: Microcontroller; Analog-to-digital conversion; Digital display目 录1 引 言11.1 概述11.2 设计要求11.3设计意义12 设计分析22.1 总体介绍22.2 功能概述22.3 设计的可行性22.3.1 技术可行性22.3.2 经济可行性22.3.3 操作可行性33 系统硬件设计43.1 结构框图43.2 原理及功能43

6、.2.1 压流转换电路43.2.2 A/D转换电路53.2.3 单片机最小系统73.2.4 显示模块84 系统软件设计94.1 程序流程图94.2 系统程序清单114.2.1 读写ADC0808函数114.2.2 显示转换函数124.2.3 主函数144.3 仿真结果16结束语17致 谢18参考文献191 引 言1.1 概述 电流表是我们经常使用的一种元器件,但是我们在实验室里使用的大多数是指针式的电流表,对于我们读取数值不是非常方便。而且在量程方面也有很大局限。当然,我们也使用过数字式的电流表,但是一般不是独立的,主要是在电工电子实训台上面,使用范围比较局限。为了解决这方面的局限,所以要设计

7、一个基于单片机AT89C51的数字电流表。1.2 设计要求(1) 数字电流表在平常工作环境中能良好工作;(2) 能测01000mA电流,至少能达1%的精度;(3) 要求掌握I/V信号转换,A/D转换器的使用和数据采集系统的设计;(4) 电流表能数字显示,且由单片机处理采集数据并驱动LED显示。1.3设计意义对于工科专业的学生来说,我们不仅要扎实地学好理论知识,而且也要增强自己的动手实践能力。将课本中所学的知识,在实践中论证,加深对于知识点的理解。但是平常所使用的电流表大部分是指针式的,在读取数值方面有很大的误差。我们的课题可以避开现实中难以避免的问题,而且减少财力、物力、人力。对于教学、研究提

8、供了方便,取得较好的效果。设计一个数字式的电流表,我们可以读取更为准确的数值。2 设计分析2.1 总体介绍本设计采用精密采样电阻(9欧、0.9欧、0.09欧、0.01欧),电阻精度可达0.1%可忽略;八位A/D精度为5/256(V);因而除去放大电路增益误差及线性误差,电流表精度约为(5/256)/11,约为1.7mA;对于1000mA的总量程精度可达0.1%,因而方案可达设计要求。2.2 功能概述本次设计的电流表用来测量电路中的电流值,并将测得的电流值以数字的形式显示出来,测量起来更方便,测量结果更稳定。以往的指针式电流表操作麻烦,而且测量的结果不能直观的读出来,造成测量结果的不准确,而用本

9、次设计的数字电流表测出的数值不仅可以直观读取,而且误差更小,精确度更高,更能满足当今数字化时代的要求。2.3 设计的可行性2.3.1 技术可行性实现该系统主要是依靠三个常用软件:一个是KEIL软件,可以用来编写C语言文件,同时也可以生成HEX文件;另一个是ALTIUM软件,可以设计电路图;还有一个是PROTEUS软件,可以提前仿真我们要设计的电路,来验证我们的设计是否可行。而课题所涉及的研究目标,我们在本科已经学习过有关的内容,比如C语言、模拟电子技术、数字电子技术、单片机原理等专业基础知识,其他的部分则可以通过自学,调用已经开发好的一些功能模块来完成课题涉及到的理论知识和技术要求。2.3.2

10、 经济可行性系统所运用的软件也是工作和学习所必不可少的两个软件,因此成本比较少,极大地减少了高校教学在购买和维修硬件设备上的花费。本课题通过通过已有的实验设施,就能够设计出比较完善的数字电流表,不但没有经济上的负担,并且还可以减轻实验设备的购买花费。通过本次毕业设计可以自主设计数字电流表,为我们进行一些专业基础实验提供了方便性,不仅可以看到理想的实验结果,而且为教学和学习提供了方便。2.3.3 操作可行性C程序流程简单明了,易学易用,不需大量编程,开发效率高,并且能够结合其他多种开发工具,创作出一些高水平的电子产品。另外,凭借我们本科学习的专业的基础知识,足够有能力完成这个课题。3 系统硬件设

11、计3.1 结构框图本设计主要设计思路如下图1所示:图1 结构框图 3.2 原理及功能3.2.1 压流转换电路电压电流转换电路即V/I转换电路,也是信号采集电路。因为本次设计的是电流表,而电路中采集到的是电压信号,所以采用V/I转换电路将电路中输入的电压信号转换成满足一定关系的电流信号,转换后的电流相当一个输出可调的恒流源,其输出电流应能够保持稳定而不会随负载的变化而变化。V/I转换原理如图2所示:图2 V/I转换电路 本次采用运算放大电路来实现V/I转换,采用LM358来实现,LM358 内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电

12、源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。其中1号口接采样电阻,用于信号输入;2号口接A/D转换器,用于信号输出。3.2.2 A/D转换电路A/D转换电路用于模拟信号和数字信号之间的相互转换,因为电路中采集到的是模拟信号,而单片机只能读取数字信号,因此需进行模数转换后将数字信号传送给单片机进行处理。A/D转换电路图如下图3所示:图3 A/D转换电路本次设计选取ADC0808作为A/D转换器,ADC0808是带有8位A/D转换器、8路多路开关及微处理机兼容的控制逻辑的CMOS组建,可以和单片机直

13、接接口。IN0口接V/I转换电路用于信号的输入;ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A、B、C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进行转换。ALE口接入单片机的P3.0口,因为单片机P3口作为第二功能的输入/输出或第一功能的通用输入,均将相应位的锁存置1,可以实现ALE口的工作;ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号,当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输

14、出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态;CLK为时钟输入信号线。因ADC0808的内部没有时钟电路,所需时钟信号必须由外界提供,本次设计选取的是74xx74芯片,用来产生时钟信号,触发ADC0808工作;D0D7为数字量输出线,将数字信号输入到单片机。3.2.3 单片机最小系统单片机最小系统包括晶振电路、复位电路、电源模块和串口通信四个部分。单片机最小系统如下图4所示:图4 单片机最小系统(1) 复位电路的原理是单片机9号RST(复位引脚)接收到2us以上的电平信号,一般单片机有上电复位和按键复位,现在高级一点的单片机有软件复位;(2) 按键复位就是按上图解

15、法,使电容处于短路状态,释放了所有的电能,9号RST(复位引脚)与电源短接由于人的反应时间大于2us 所以单片机复位;(3) 上电复位是利用电容不能突变的原理而设计的,只要保证电容的充电时间大于2us,由于电容充发电引起的9号RST(复位引脚)电平变化使单片机复位;(4) 单片机最小系统必须外接晶振电路才可以为单片机提供时钟周期(可选6MHz或者11.0592),在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。3.2.4 显示模块显示采用4段8位共阴数码管,供应数码管就是把负极连在一起的4位一体数码管其编码为:uchar

16、duanma10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;图5 共阴数码管内部连线图图6 四位一体数码管连线图4 系统软件设计4.1 程序流程图根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如下图所示:图7 初始化程序流程图图8 A/D转换子程序图9 显示子程序4.2 系统程序清单部分C语言程序如下:4.2.1 读写ADC0808函数void main()TMOD=0x01;TH0=TIME0H;TL0=TIME0L;TR0=1;ET0=1;EA=1;while(1

17、)if(b_DATransform=1)START=1;START=0;b_DATransform=0;while(EOC=0); uiResult=OUTPORT; void Time1() interrupt 1if(uc_Clock=0)uc_Clock=5;b_DATransform=1;elseuc_Clock-;TH0=TIME0H; TL0=TIME0L;4.2.2 显示转换函数void delay(uint n)uint a;uchar i;for(a=n;a0;a-)for(i=0;i2;i+); void ITOC(float f,uchar *c)float zs,xs;

18、int bxs,bzs,i,k=0;xs=modf(f,&zs); if(P3=0XFE) bxs=(int)(xs*100)+0.5); else bxs=(int)(xs*100)+0.5); ITOAX(bxs,axs); bzs=(int)zs; ITOAZ(bzs,azs); for (i=0;axsi!=s;i+) ci=axsi; ci=.;for(k=0,i=i+1;azsk!=s;k+,i+) ci=azsk; if(U0) ci=-; else ci=0xff;ci+1=s;void ITOAZ(int num,uchar *p) uchar w,i=0; dow=num%

19、10; pi=w; num=num/10;i+;while(num); pi=s;void ITOAX(int num,uchar *p) uchar w,i=0; dow=num%10; pi=w; num=num/10;i+; while(num); while(i2) pi=0;i+; pi=s; w=pi;void decode(uchar *n,uchar *dn) uchar i;for(i=0; ni!=s;i+) switch( ni) case 0: dni=0x3F;break; case 1: dni=0x06;break; case 2: dni=0x5B;break;

20、 case 9: dni=0x6F;break; case 3: dni=0x4F;break; case 4: dni=0x66;break; case 5: dni=0x6D;break; case 6: dni=0x7D;break; case 7: dni=0x07;break; case 8: dni=0x7F;break; case 46: dni=0x80;break; case-:dni=0x40;break; default:dni=0x00;break; dni=s;4.2.3 主函数void main(void)uchar i,j,P2_;float A;while(1)

21、U=ReadADC(0)/256.0;switch(P1)case 0xfe:A=U*10*1.025;break; case 0xfd:A=U*100/1.09;break; case 0xfb: A=U*1000;break; default: A=0.0;break;A=10*A;ITOC(A,ac);decode(ac,dc); P2=0XFf; P2_=0Xfe;for(j=0;dcj!=s;j+) P2=0XFf; P0=dcj; P2=P2_; delay(150); P2_=_crol_(P2_,1); /*P2_=1;*/ 4.3 仿真结果本设计中用到AT89C51单片机、八

22、位ADC 0808、发光二极管、4位八段显示数码管LED,通用运放 LM358 、必要的电阻、电容元件等。系统原理方框图电路仿真简图如下图10所示:图10 仿真图结束语自己对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次编写单片机的大程序,很有成就感。另外在编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,我们也是这么做的,这在课设中十分重要。为了减少主程序的长度,为了易于检测

23、和调试,应尽量多点设置不同功能的子模块,子程序。单片机在现实生活中有很大的的实用价值,学好这们课程非常关键,可以让自己的知识储备更加丰富,而这次课程设计正好提供了一个很好的机会加深对单片机知识的掌握。通过这次课程设计,我对proteus以及Keil等软件的使用掌握的更加熟练,对汇编语言程序有了跟深层次的理解。因为已经是大四了,各方面事情都比较多所以这次毕业设计显得很仓促,做得很不完善,在制作和调试过程中由于对程序和电路没有设计好出了不少问题,这给我提供了很好的经验教训,对自己以后的课设很有帮助。不过总体上来说这次课设还是比较成功的,自己懂得了不少东西,制作的数字电流表也很有价值。增长了自己的知

24、识,使我受益匪浅。致 谢本论文是在胡波导师和刘明导师的悉心指导下完成,给我留下了很深的印象。在这次毕业设计完成的过程中,胡波老师和刘明老师不时给予我热情的鼓励和实验设施上的大力支持,给我搜集了充分的资料,这是我的课题顺利完成的保障。胡波老师和刘明老师认真负责的态度,深厚的理论水平都使我受益匪浅。在从论文最开始设计,到系统的最初规划,程序编写以及最后的论文撰写过程中都给予了我许多得建议和指正。在此,我非常感谢我的导师胡波老师和刘明老师,感谢他们耐心的辅导。另外在写论文过程中我的同学给我非常大的帮忙,感谢各位的帮助。最后感谢所有关心和帮助我的同学、老师和朋友。谢谢大家!参考文献1 黄正谨. 综合电

25、子设计与实践M. 上海:东南大学出版社,20122 何立民. 我国单片机应用技术发展趋势及展望J. 自动化与仪表,20123 郭天祥.51单片机C语言教程M.北京:电子工业出版社,20124 王东锋.董冠强. 单片机C语言应用100例M. 北京;电子工业出版社,20105 Tang Jing-nan, Qin Shen. Development and Examples of 51 Microcontrollers C Language M. Posts & Telecom Press, 20116 杨振江,杜铁军,李群. 流行单片机应用子程序及应用实例M西安电子科技大学出版社,20117 Coordination Control of Greenhouse Environmental FactorsJ. International Journal of Automation & Computing,20118 杨打生. 单片机C51技术应用M .北京:北京理工大学出版社,20119 张毅刚. 单片机原理及应用M .北京:高等教育出版社,201210 楼然苗,李光飞 .51系列单片机设计实例M北京航空航天大学出版社,201211 刘湘涛.江世明. 单片机原理与应用M. 北京:电子工业出版社,2011

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!