




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用课程设计报告电气工程及其自动化 单片机原理及应用课程设计报告姓 名: 冯远钊 学 号: 20122004 专业班级: 电气及其自动化120310 设计课题:电容、电阻参数单片机测试系统的设计指导教师: 陈仁辉 电气与电子工程学院 2014年12月29日- 22 - 目录一 设计目的 .2二 设计任务和要求 .2三 设计原理分析 .2四 硬件设计 .3五 软件设计 .8六 程序清单 .12七 调试及其分析 .19八 仿真截图 .20九 设计心得体会 .22一 设计目的 1通过单片机课程设计,熟练掌握汇编语言编写方法,将理论联系到实践中去,提高我们的动脑和动手能力。 2 通过对电容,电阻参数单片机测试系统的设计,掌握ne555的使用方法,和简单的程序编写,最终提高我们的逻辑抽象能力。二 设计任务和要求 任 务: 设计一个能测量电容,电阻参数的测试系统 实验原理: 对电阻的测量,可将待测电阻与一标准电阻串联后接在+5v的电源上,根据串联分压原理,利用adc测定电阻两端电压后,即可测得其阻值。对电容的测量,可将其与已知阻值的电阻ra和rb组成基于ne555的多谐振荡器,通过测 定方波信号的频率可以比较精准的测定c值。测定方波信号频率的方法。三 设计原理分析 设计思路或设计方案论证 对电阻的测量,可将待测电阻与一标准电阻串联后接在+5v的电源上,根据串联分压原理,利用adc测定电阻两端电压后,即可得到其阻值。对电容的测量,可将其与已知阻值的电阻ra和rb组成基于ne555的多谐振荡器如下页图。其产生的方波信号频率为 : 故通过测定方波信号的频率可以比较精确的测定c的值。测定方波信号频率的方法,。测量频率有测频法和测周法两种。 (1)测频法,利用外部电平变化引发的外部中断,测算1s内的波数,从而实现对频率的测定; (2)测周法,通过测算某两次电平变化引发的中断之间的时间,实现对频率的测定。简而言之,测频法是直接根据定义测定频率,测周法是通过测定周期间接测定频率。理论上,测频法适用于较高频率的测量,测周法适用于较低频 率的测量。 经过调校,在测量低频信号时,本项目中测频法精度已高于测 周法,故舍弃测周法,全量程采用测频法。四 硬件设计4. 1. 1按键电路设计 按键是实现人机对话的比较直观的接口,可以通过按键实现人们想让单片机做的不同的工作。键盘是一组按键的集合,键是一种常开型开关,平时按键的两个触点处于断开状态,按下键是它们闭合。键盘分编码键盘和非编码键盘,案件的识别由专用的硬件译码实现,并能产生键编号或键值的称为编码键盘,而缺少这种键盘编码电路要靠自编软件识别的称为非编码键盘。在单片机组成的电路系统及智能化仪器中,用的更多的是非编码键盘。就是一种比较典型的按键电路,在按键没有按下的时候,输出的是高电平,当按键按下去的时候,输出的低电平4.1.2 lcd显示器 1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5x7或者5x11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形 (用自定义cgram,显示效果也不好) n1602lcd是指显示的内容为16x2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 n目前市面上字符液晶绝大多数是基于hd44780液晶芯片的,控制原理是完全相同的,因此基于hd44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。+5v电压,对比度可调 内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能有80字节显示数据存储器ddram 内建有192个5x7点阵的字型的字符发生器cgrom 8个可由用户自定义的5x7的字符发生器cgram电压,对比度可调内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能有80字节显示数据存储器ddram内建有192个5x7点阵的字型的字符发生器cgrom8个可由用户自定义的5x7的字符发生器cgram4. 1. 3 adc0804转换 adc0804是一个8位cmos型逐次比较式a/d转换器,具有三态锁存输出功能,最短转换时间为100us,cs:片选信号,低电平有效;rd:外部读取转换结果的控制信号,当rd为高电平时,db0为高阻态;当rd为低电平时,数据才会通过db0-db7输出;wr:a/d转换器启动控制信号,当wr由高电平变为低电平时,转换器被清零,当wr由低电平变为高电平时,a/d转换正式开始;clk in和clk r:时钟输入端,在adc0804片内有时钟发生器,采用内部时钟时,在clk in clk r 和地线之间连接rc电路即可,adc0804的工作频率约为100-1460khz,若使rc电路作为时钟,其振荡频率为1/(1.1rc);intr:中断请求输出信号,当a/d转换结束时,intr引脚输出低电平,只有当数据被取走后(单片机发出读数据指令),此引脚才会变为高电平;vin+和vin-:差动模拟电压输入端,若输入为单端正电压,vin-应接地,若差动输入,则输入信号直接加入vin+和vin-;agnd.dgnd:模拟信号地与数字信号地,若系统对抗干扰要求严格,则这两条地线必须分接地;vref/2:参考电压值的一半,若在adc0804组成的电路中需要的参考电压为5v,则此引脚可以悬空。若电路中需要使用的参考电压小于5v,即参考电压值的一半小于2.5v,这时可将此引脚连接到需要的参考电压值(如4v)的1/2电压值上(如 2v),在adc0804芯片内部会自动判断参考电压的选择,当vref/2引脚的电压值低于2.5v时,芯片会自动选择由vref/2引脚电压放大2倍以后的电压值作为参考电压。db0-db7:8位数字输出端。 4.2 系统工作原理论述 1实验硬件设备:lcd1602液晶显示器一块,adc0804芯片一片,两个滑动变阻器,一个150pf电容,两个200欧姆的电阻,一个10k欧姆的电阻,stc89c51芯片,电源,地线,按键(复位电路和晶振电路另加),杜邦线诺干。 2 adc0804在使用时,外围电压的连接比较简单,只需要对参考电压和时钟输入端进行设计即可。通常情况下,时钟的输入可以选用rc谐振电路,adc0804可以进行a/d转换的时钟频率为1001460khz,典型值为640khz,这里选用r=10k欧姆.c=150pf的谐振电路,利用公式1/(1.1rc)计算后,此时的时钟频率约为606khz,与典型值十分接近。 3模拟电压的计算:这里选用的是8位a/d转换器,数值的变化范围是0255(00h-ffh),模拟电压的输入范围是0-5v,每个数码的变化,对应的电压值的变化为0.0196v,所以要计算模拟电压值,就可以利用下面的公式进行计算: v=d*0.0196式中,v为计算出的模拟电压值,d为a/d转换器转换后的数字量。克服浮点运算方法:从上式不难看出,在计算过程,需要乘以一个0.0196,这是一个小数,在计算机中称为浮点数。而对于8位单片机来说,不具有浮点运算能力,如果一定要计算浮点数,将占用单片机中大量的内存单元和cpu时间。这里采用一种简单的方法:就是将从a/d读取进来的数字量直接乘以196,即进行整数运算,运算结果是真正值的1000倍,这个整数运算的速度是非常快的,不会占用过多的cpu时间。由于是两个8位的二进制数相乘,得到的结果不会超过16位二进制数。 5电压值的显示:最常用到的二进制转换成bcd码的方法是用除法。先用得到的16位二进制数除以10000,得到的商就是模拟电压值的整数部分(模拟电压的输入为0-5v,所以整数部分只有1位),得到的余数是模拟电压值的小数部分;接下来用余数除以1000,商是十分位,余数作为被除数再除以100,商为百分位,余数再除以10,商为千位。这样就将16位的二进制数转换成了4位bcd码。 6再将电压值转化为电阻值,并显示 7电容的测量是利用555产生方波,采用8052内部定时器,计算得到的脉冲数,在利用公式即可求出电容值五 软件设计 5.1 分析论证此电容、电阻参数单片机测试系统的设计与实现,主要采用了1lcd显示屏,8052内部二进制8位定时器/计数器,adc0804模数转换,ne555芯片,包含显示模块,产生脉冲模块和转换模块三大功效模块。5.1.1 显示模块用lcd显示屏的显示功效来设计。采用lcd1602来显示,1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5x7或者5x11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形(用自定义cgram,显示效果也不好)n1602lcd是指显示的内容为16x2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。n目前市面上字符液晶绝大多数是基于hd44780液晶芯片的,控制原理是完全相同的,因此基于hd44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。+5v电压,对比度可调内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能有80字节显示数据存储器ddram内建有192个5x7点阵的字型的字符发生器cgrom 8个可由用户自定义的5x7的字符发生器cgram电压,对比度可调内含复位电路提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能有80字节显示数据存储器ddram内建有192个5x7点阵的字型的字符发生器cgrom8个可由用户自定义的5x7的字符发生器cgram5.1.2 产生脉冲模块ne555是属于555系列的计时ic的其中的一种型号,555系列ic的接脚功能及运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生的振荡频率也不大相同;而555是一个用途很广且相当普遍的计时ic,只需少数的电阻和电容,便可产生数位电路所需的各种不同频率之脉波讯号。ne555的作用范围很广,但一般多应用于单稳态多谐振荡器(monostable mutlivibrator)及无稳态多谐振荡器(astable multivibrator)。5.1.3 转换模块 adc0804是属于连续渐进式(successive approximation method),即ad转换器,这类型的a/d转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。 以输出8位的adc0804动作来说明“连续渐进式a/d转换器”的转换原理,动作步骤如下表示(原则上先从左侧最高位寻找起)。第一次寻找结果:10000000 (若假设值输入值,则寻找位=假设位=1)第二次寻找结果:11000000 (若假设值输入值,则寻找位=假设位=1)第三次寻找结果:11000000 (若假设值输入值,则寻找位=该假设位=0)第四次寻找结果:11010000 (若假设值输入值,则寻找位=假设位=1) 第五次寻找结果:11010000 (若假设值输入值,则寻找位=该假设位=0)第六次寻找结果:11010100 (若假设值输入值,则寻找位=假设位=1)第七次寻找结果:11010110 (若假设值输入值,则寻找位=假设位=1) 第八次寻找结果:11010110 (若假设值输入值,则寻找位=该假设位=0)这样使用二分法的寻找方式,8位的a/d转换器只要8次寻找,12位的a/d转换器只要12次寻找,就能完成转换的动作,其中的输入值代表图1的模拟输入电压vin 。各管脚的作用:d0-d7:八位数字量输出端; clk:为芯片工作提供工作脉冲,时钟频率计算方式是:fck=1/(1.1rc) cs:片选信号;wr:写信号输入端;rd:读信号输入端;intr:转换完毕中断提供端;其他管脚连接如图,是供电和提供参考电压的管脚输入端。5.1.4 启动/暂停,复位模块该模块的功能是实现秒表的启动/暂停,复位。本实验中第一次按下09键进入测量程序,开始测量,第二次按下09键暂停测量,并返回到主程序,在电路中设定三个按键一个是换电阻的按键,其余分别为测电容和测电阻时的按键,当按下测电阻键时,显示相应的电阻值,当按下电容值时显示测得的电容值,此外还有量程更改的键,程序未编写,但画图有。5.1.5 整体功效 当按下测量电阻按键是,液晶屏第一行显示measures,第二行显示r?.?k,当按下测量按键时,液晶屏第一行显示measures,第二行显示?u,若同时按下,则轮流显示。按复位键时,程序会自动重新执行,电阻的测量在k较准确,电容只能测量u。当然,可以通过程序更改六 程序清单 #include#include#define data p0#define uchar unsigned char#define uint unsigned int sbit adcs=p23;/可以硬件直接接地sbit adrd=p25;sbit adwr=p24; sbit rw=p21;/1602写数据sbit rs=p20;/1602写地址sbit en=p22; /1602工作使能sbit b_test=p37; /开始测量电容的按键输入sbit c_test=p36;sbit _reset=p35; /555时基芯片工作控制信 uint t_flag,n,d,c,i,dis1,dis0;uchar get_ad(); uint a,f,h,a1,a2;uint r=r,=,0,0,.,0,k,0xf4;uint b9=c,=,0,0,.,0,0,u,f; /显示c=00.00ufuint data1;/*延时1ms*/void delay1ms(uint mm)uint i;for(;mm0;mm-) for(i=0;i0;x-)for(y=110;y0;y-);/*检查忙否*/void checkstates() uchar dat; rs=0; rw=1; doen=1;/下降沿 _nop_();/保持一定间隔_nop_(); dat=data; _nop_();_nop_(); en=0; while(dat&0x80)=1);/*lcd写命令函数*/void wcomd(uchar cmd) checkstates(); rs=0; rw=0; data=cmd; en=1; _nop_(); _nop_(); _nop_(); _nop_(); en=0;/*lcd写数据函数*/void wdata(uchar dat) checkstates(); rs=1; rw=0; data=dat; en=1; _nop_(); _nop_(); _nop_(); _nop_(); en=0;/*初始化*/void lcdinit() delay1ms(15); wcomd(0x38);/功能设置 delay1ms(5); wcomd(0x38);/功能设置 delay1ms(5); wcomd(0x01);/清屏 delay1ms(5); wcomd(0x08);/关显示 delay1ms(5); wcomd(0x0c);/开显示,不开光标/*显示函数*/void display(void) /显示函数 uchar i,j; uchar a12=0x4d,0x45,0x41,0x53,0x55,0x52,0x45,0x4d,0x45,0x4e,0x54,0x53;/显示measurements for(i=0;i12;i+)/写显示第一行 wcomd(0x80+i); delay1ms(1); wdata(ai); delay1ms(1); for(j=0;j9;j+)/写显示第二行 wcomd(0xc0+j); delay1ms(1); wdata(bj); delay1ms(1); delay1ms(150);void display1() /显示函数 显示电阻 uchar i,j; uchar a12=0x4d,0x45,0x41,0x53,0x55,0x52,0x45,0x4d,0x45,0x4e,0x54,0x53;/显示measurements for(i=0;i12;i+)/写显示第一行 wcomd(0x80+i); delay1ms(1); wdata(ai); delay1ms(1); for(j=0;j5000) /设置最长等待时间 _reset=0; /最长等待时间到还没有中断,停止555 if(n5000) /如果计数值大于5000,显示larger,表示应换用大一点的量程 b6=0x15; b5=0x17; b4=0x22; b3=0x11; b2=0x1c; if(n=100 & n=5000) c=n/100;d=n%100; /计算电容的大小 b2=c/10; /计算电容值的十位 b3=c-b2*10; /计算电容值的各位 b5=d/10; b6=d-b5*10; display(); /显示电容的大小 wcomd(0x80+0x42); delay1ms(5); wdata(0x30+b2); delay1ms(5); wcomd(0x80+0x43); delay1ms(5); wdata(0x30+b3); delay1ms(5); wcomd(0x80+0x45); delay1ms(5); wdata(0x30+b5); delay1ms(5); wcomd(0x80+0x46); delay1ms(5); wdata(0x30+b6); delay1ms(1000); if(!c_test=1) display1();data1=get_ad();a=100*data1;h=a/(256-data1);a1=h/10;a2=h%10; wcomd(0x80+0x43); delay1ms(5); wdata(0x30+a1); delay1ms(5); wcomd(0x80+0x45); delay1ms(5); wdata(0x30+a2); delay1ms(1000); void int0(void) interrupt 0 /第一次中断开始计数,第二个中断停止计数 t_fl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025银行高管面试题及答案
- 2025新乡银行面试题库及答案
- 2025上市银行面试题目及答案
- 安全隐患排查十大案例及整改方案
- 市场调研报告范本及写作技巧
- 小学奥数加减法数学习题专项
- 行业深度调研报告模板
- 语文写作提升技巧与心得合集
- 职场人士年度工作总结与自我提升方案
- 班级活动安全管理通知模板
- 中秋节知识课件
- 110kV变电站及110kV输电线路运维投标技术方案
- 人教版(新教材)高中生物选择性必修1课件3:4 3 免疫失调
- 《SLT 582-2025水工金属结构制造安装质量检验检测规程》知识培训
- “燕园元培杯”2023-2024学年全国中学生地球科学奥林匹克竞赛决赛试题详解
- 中国血脂管理指南(基层版+2024年)解读
- 分子诊断技术在感染性疾病中的应用-深度研究
- 《智能AI分析深度解读报告》课件
- 气道异物护理教学
- 2024年版机电产品国际招标标准招标文件
- 企业合规经营规范手册
评论
0/150
提交评论