欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    微电阻测量系统毕业设计.doc

    • 资源ID:23741       资源大小:187.60KB        全文页数:33页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微电阻测量系统毕业设计.doc

    微电阻测量系统内容摘要:本设计根据题目要求制作一台简易自动电阻测试仪,能够测量100、1k、10k、10M四档不同的量程,并实现其中前三档的自动量程转换功能,同时自动显示小数点和单位。基于这些要求,经过讨论,决定利用555多谐振荡电路将电阻参数转化为频率,频率f是单片机很容易处理的数字量,一方面测量精度高,另一方面便于使仪表实现自动化,而且单片机构成的应用系统有较大的可靠性。通过输入单片机AT89C51控制继电器控制被测RC振荡电路频率的自动选择,输入输出控制采用键盘输入控制电路、LCD12864显示系统和报警控制电路组成,能很好的实现各个要求。单片机具有可编程性,硬件的功能描述可完全在软件上实现,另一方面便于使仪表实现自动化,设计时间短,本钱低,可靠性高。关键字:AT89C51单片机 555多谐振荡电路 继电器 自动量程转换The resistance measurement systemAbstract:The design on the basis of the subject demand produced a simple automatic resistance tester, capable of measuring 100 Omega Omega, 1K, 10K, 10M Omega Omega four profile at different range, and realizes the automatic conversion range before the third, while automatically display a decimal point and unit. Based on these requirements, after discussion, decided to use the 555 multivibrator circuit resistance parameters are transformed into frequency, frequency of F SCM is easily handled the digital quantity, a high measuring precision, on the other hand, so easy to realize automation of instrumentation, and chip microprocessor application system has higher reliability. Through the input of single-chip AT89C51 control relay to control the tested RC oscillating circuit frequency automatic selection, input / output control using the keyboard input control circuit, LCD12864 display system and an alarm control circuit, can achieve a very good all. Microcontroller having programmable, hardware description of the function can be pletely realized in software, on the other hand, so easy to realize automation of instrumentation, short design time, low cost, high reliability.Keywords: single chip AT89C51 555 multivibratorcircuit relayautomatic range switching目 录前言11 根本原理12 设计思路22.1 总体方案组成和说明22.2 组成局部及说明23 设计实现53.1 测量电路设计53.2 通道选择电路设计53.3 控制电路设计64 测试及结果分析94.1 测试方法及使用的仪器95 完毕语10参考文献12附录12附录1: 主要元器件清单12附录2:程序清单13附录3:实物图23微电阻测量系统前言现代电子产品正以前所未有的速度,向着多功能化、体积最小化、功耗最低化的方向开展。本次设计出具有四档量程的简易自动电阻测试仪,量程分别为100、1k、10k、10M四档,难点在于小电阻的测量精度。测量时电阻值为3位数字显示最大显示数必须为999,能自动显示小数点和2字单位,如98.7欧姆,并实现前三档的自动量程转换。在本设计中我们着重介绍一种把电子元件的参数R转换成频率信号f,然后采用单片机控制后,再通过程序处理运算求出R,最后应用LCD12864显示的方法。量程自动转换原理分别是RC振荡电路和LM555多谐振荡器,这样就能够把待测电阻转换为频率,而频率f是单片机很容易处理的数字量。目前市面上测量电子元器件参数R的仪表种类较多,方法和优缺点也各有不同。一般的测量方法都存在计算复杂,不易实现自动测量而且很难实现智能化等缺点。将电阻参数转化为频率,这样处理一方面使测量精度提高了,另一方面也便于使仪表实现智能化,并能很好的实现各个要求。1 根本原理方案一:最根本的就是根据 R 的定义式来测量。在如图1-1中,分别用电流表和电压表测出通过电阻的电流和通过电阻的电压,根据公式R=U/I求得电阻。这种方法要测出两个模拟量,不易实现自动化。而指针式万用表欧姆档是把被测电阻与电流一一对应,由此就可以读出被测电阻的阻值,如图1-2所示。这种测量方法的精度变化大,假设需要较高的精度,必须要较多的量程,电路复杂。图1-1定义法测电阻 图1-2 万用表测电阻方案二:把电阻转换成频率信号 f ,转换的原理分别是 RC 振荡电路和555 电路,单片机根据所选通道,向模拟开关送两路地址信号,取得振荡频率,作为单片机的时钟源,通过计数则可以计算出被测频率,再通过该频率,通过公式计算出各个电阻参数。然后根据所测频率判断是否转换量程,或者是把数据处理后,把电阻的值送显示局部显示出相应的参数值,利用编程实现量程自动转换。总结:通过准确度以及方便使用的角度考虑, 方案二的方法更好。2 设计思路2.1 总体方案组成和说明本系统的电路设计方框图如图1-2所示,它由四局部组成: 控制局部主芯片采用单片机AT89C51;测量局部主要是采用利用RC振荡电路和555振荡电路实现将被测电阻转换为频率;通道选择局部主要是通过51单片机I/O接口控制继电器来自动选择被测频率的档位; 显示局部是通过LCD12864、二极管指示灯及按键选择测量电路。测量电路被测电阻RC振荡电路继电器选择通道量程51单片机二极管指示灯LCD12864显示按 键 选 择测 量 电 路图2-1 系统设计框图2.2 组成局部及说明第一,控制局部1分析说明:本设计以单片机为核心,采用AT89C51单片机,利用其管脚特殊的功能以及具备的中断系统,延时程序来控制换挡,以及12864液晶屏的显示等等功能。2原理图图2.2-1 单片机最小系统第二,测量局部l 计算分析:RC振荡电路时利用555振荡电路实现被测电阻的频率,通过51单片机的I/O接口的自动识别量程,来实现自动测量。l 原理图图2-2 LM555振荡电路第三通道选择*分析说明:本设计通过单片机控制来控制继电器的自动选择,继电器是一种电子控制器件,它具有控制系统又称输入回路和被控制系统又称输出回路,通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关。故在电路中起着自动调节、平安保护、转换电路等作用。 2原理图图2-3 继电器自动选择第四,显示局部l 分析说明:使用12864液晶显示屏,具有画面效果好,分辨率高,抗干扰能力强等特点,可以显示4行字,符合本次设计任务的要求。l 2原理图图2-4 12864显示3 设计实现3.1 测量电路设计根据题目要求,采用555多谐振荡电路,将电阻量转换为相应的频率信号值。考虑到单片机对频率的灵敏度,具体的讲就是单片机对10HZ10KHZ的频率计数精度最高。所以要选用合理的电阻和电容大小,同时又要考虑到不能使电阻的功率过大。所以首先要确定对应档位时适合的频率,然后在确定电阻或电容值,从而算出4个电阻和电容的值以及对应频率围。电阻的测量采用“脉冲计数法,如下列图所示由555电路构成的多谐振荡电路,通过计算振荡输出的频率来计算被测电阻的大小。 555接成多谐振荡器的形式,其振荡周期为:T=t1+t2=ln2R1+R*C1+ln2R*C1,得出:即,求出R*表3-1 振荡测量电路对应量程参数档位电阻R1电容C1频率围0100R1=200C1=4.7uF7661543HZ1001KR2=15KC2=10nF84879492HZ1K10KR3=20KC3=10nF36066568HZ10K10MR4=10MC4=4.7pF1093016387HZ3.2 通道选择电路设计利用实现测量CD4052类别的转换,CD4052是差分4通道数字控制模拟开关器件,有A0和A1两个二进制控制输入端和INH输入,具有低导通阻抗和很低的截止电流。表3-2 CD4052真值表INHIBITBA0000*,0y0011*,1y0112*,2y0113*,3y1*None该电路通过CD4052双向模拟开关控制量程的自动切换,直到进入适当的量程为止。电路流程图如下:检测被测电阻阻值RC振荡转换电路调用量程判断程序CD4052开关最高量程吗?超量程吗?升量程降量程超载报警图3-3 量程自动转换流程图注:实际测试时由于CD4052出现问题,我们改用继电器实现量程转换,但原理一样。3.3 控制电路设计本设计使用单片机为核心部件,来控制换挡以及显示。以下是单片机管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进展校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进展存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进展读写时,P2口输出其特殊功能存放器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,如表1所示:表1 P3特殊功能口P3口引脚第二功能P3.0R*D串行口输入P3.1T*D串行口输出P3.2INT0外部中断0输入P3.3INT1外部中断1输入P3.4T0定时器0外部脉冲输入P3.5T1定时器1外部脉冲输入P3.6WR外部数据存储器写脉冲输出P3.7RD外部数据存储器读脉冲输出P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想制止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOV*,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE制止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器0000H-FFFFH,不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源VPP。*TAL1:反向振荡放大器的输入及部时钟工作电路的输入。*TAL2:来自反向振荡器的输出。3.4 显示电路系统的显示局部采用OCM12864液晶显示模块。3.5 软件设计系统通过频率来控制量程自动切换,并根据RC振荡频率公式换算成对应的电阻,然后再控制显示模块输出。YesNO 初始化通过采样中断计算频率计算R的值通过R的范围,确定档位12864显示判断是否在规定频率内开场完毕后两个继电器至高,其它至低图3-2 程序设计流程图4 测试及结果分析4.1 测试方法及使用的仪器测量方法:采用555多谐振荡电路,将电阻量转换为相应的频率信号值。再利用单片机及有关程序对围的选择,显示侧量出数值。测试使用的仪器设备:数字万用表、示波器。4.2 指标测试和测试结果表 测试结果对照分析表档位测量值测量值实际值010023141001K7682311K10K5614550110K10M8978K8870K5 完毕语本设计实现了一种利用51单片机实现的简易电阻测试仪,基于单片机和量程自动切换电路的控制系统,能够根据待测电阻的大小实现适当频率的控制,再分别采样频率,通过程序计算待测电阻R*并在12864液晶上显示。并且测量的数据结果较稳定。设计过程中出现问题有以下:1. 在测量振荡电路中电阻和电容值时,由于单片机对10HZ10KHZ的频率计数精度最高。所以要选用合理的电阻和电容大小。同时又要考虑到不能使电阻的功率过大,这样给我们计算带来了很多的麻烦。2.我们接收到频率较高,所以通过电路很难控制准确度,产生的误差比拟大。3CD4052是差分4通道数字控制模拟开关器件,有A0和A1两个二进制控制输入端和INH输入,具有低导通阻抗和很低的截止电流。但是其频率较高不能自动换挡,最终我们选择了继电器来显示代替CD4052来自动换挡的功能。 4、在实验过程中时常有捉襟见肘的感觉,一方面是理论缺乏,很多好的方案,好的思想由于理论的匮乏,无法理解,也不能使用,在以后的学习过程中理论的学习始终是重点;还有就是程序的问题,由于编程水平跟不上,加上思路也不清晰,导致程序的编写存在很大的问题,好的思想,无法在程序中展现出来,这也是以后需要加强的地方。在做毕业设计的这段时间里,我学会了很多知识,同学之间的团结互助,教师孜孜不倦的教诲,使我们感受了教师们认真负责的态度,毕业论文的制作给了我难忘的回忆。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的冲动和兴奋;亲手设计电路图的时间里,记忆最深的是每一步小小思路实现时那幸福的心情;为了论文我曾赶稿到深夜,但看着亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏。参考文献1. 高桔祥,黄智伟,丁文霞. 数字电子技术M. :电子工业,2003年,P17-P322. 邹其洪 黄智伟 高嵩.电工电子实验与计算机仿真M.:电子工业,2003年,P51-P673. 友汉.电子线路设计应用手册M.:科学技术.2000年.P132-P156.4. 黄智伟.电子电路计算机仿真设计M. :电子工业,2004年,P43-P58附录附录1: 主要元器件清单单元电路元器件型号及大小数量5V电源电路变压器220V1个整流桥2W102个电解电容2200UF2个电解电容2200UF2个元片电容1044个三极管78051个三极管79051个电阻5102个发光二极管2个插针假设干多路选择继电器继电器943-1C-SDS8个三极管C80508个电阻1K8个二极管8个插针假设干单片机最小系统芯片AT89C511个晶振11.0592MHZ1个电容22PF2个电容10 UF1个按钮开关SW-PB1个电阻10K1个电阻1K1个插针假设干555振荡电路LM5551个电阻4个RC振荡电路4个未知电阻附录2:程序清单/*12864子程序*/#include <reg51.h> #include <math.h>#include <intrins.h>#include <absacc.h>#define uchar unsigned char#define uint unsigned int /宏定义/*12864接口定义*/sbit LCD_RS = P20; /1:输入数据 ;0:输入命令 sbit LCD_RW = P21; /1:读数据 0:写数据sbit LCD_EN = P22; /LCM使能端#define LCD_DATA P1 /12864总线端口 /*LCD功能初始化指令*/#define CLEAR_SCREEN 0*01 /清屏指令:清屏且AC值为00H#define AC_INIT 0*02 /将AC设置为00H。且游标移到原点位置#define CURSE_ADD 0*06 /设定游标移动方向默认游标右移#define FUN_MODE 0*30 /工作模式:8位根本指令集#define DISPLAY_ON 0*0c /显示开,显示游标,且游标位置反白#define DISPLAY_OFF 0*08 /显示关#define CURSE_DIR 0*14 /游标向右移动:AC=AC+1#define SET_CG_AC 0*40 /设置AC,围为:00H3FH#define SET_DD_AC 0*80/*汉字地址表*/uchar code addr_tab= /便于根据汉字坐标求出地址 0*80,0*81,0*82,0*83,0*84,0*85,0*86,0*87,/第一行汉字位置 0*90,0*91,0*92,0*93,0*94,0*95,0*96,0*97, /第二行汉字位置 0*88,0*89,0*8a,0*8b,0*8c,0*8d,0*8e,0*8f, /第三行汉字位置 0*98,0*99,0*9a,0*9b,0*9c,0*9d,0*9e,0*9f, /第四行汉字位置;/*nms延时子程序*/void delayms(uint t) /约延时nms uint i; while(t-) for(i=0;i<150;i+); /*等待12864显示屏忙*/void WaitBusy(void) /延时一小段时间,等待12864显示屏空闲 uchar i=5; while(i-);/*写指令代码*/void Lcd_WriteCmd(uchar cmdcode) LCD_RS = 0; LCD_RW = 0; LCD_EN = 1; WaitBusy(); LCD_DATA = cmdcode; LCD_EN = 0;/*写数据*/void Lcd_WriteData(uchar dispdata) LCD_RS = 1; LCD_RW = 0; LCD_EN = 1; WaitBusy(); LCD_DATA = dispdata; LCD_EN = 0;/*初始化12864显示屏*/void Lcd_Init() delayms(50); Lcd_WriteCmd(0*30); /选择根本指令集 delayms(2); WaitBusy(); Lcd_WriteCmd(0*30); /选择8bit数据流 delayms(2); Lcd_WriteCmd(0*0c); /开显示(无游标、不反白) delayms(2); Lcd_WriteCmd(0*01); /去除显示,并且设定地址指针为00H delayms(20);/*字符显示*/void display10(unsigned long m)/*这样写的好处就是能让每一位都能显示,且数据地址指针是自动加一位的*/ Lcd_WriteCmd(0*9a);/lcd_pos(2,4); /第四行第四个字节上显示;Lcd_WriteData(m+0*30); /显示个位;Lcd_WriteData('.');/写入“.小数点固定Lcd_WriteData(0+0*30); /显示百分位Lcd_WriteData(0+0*30); /显示十分位Lcd_WriteCmd(0*9a); /锁定显示位置;void display11(unsigned long u)/*这样写的好处就是能让每一位都能显示,且数据地址指针是自动加一位的*/ Lcd_WriteCmd(0*9a);/lcd_pos(2,4); /第四行第四个字节上显示;Lcd_WriteData(u/10+0*30);/别离出十位;Lcd_WriteData(u%10+0*30); /个位Lcd_WriteData('.');/写入“.小数点固定Lcd_WriteData(u%10/10+0*30); /显示百分位Lcd_WriteCmd(0*9a); /锁定显示位置;void display12(unsigned long v)/*这样写的好处就是能让每一位都能显示,且数据地址指针是自动加一位的*/ Lcd_WriteCmd(0*9a);/lcd_pos(2,4); /第四行第四个字节上显示;Lcd_WriteData(v/100+0*30);/别离出百位;Lcd_WriteData(v%100/10+0*30);/别离出十位;Lcd_WriteData(v%10+0*30);/别离出个位;Lcd_WriteCmd(0*9a); /锁定显示位置;void display13(unsigned long w)/*这样写的好处就是能让每一位都能显示,且数据地址指针是自动加一位的*/ Lcd_WriteCmd(0*9a);/lcd_pos(2,4); /第四行第四个字节上显示;Lcd_WriteData(w/1000+0*30);/别离出千位;Lcd_WriteData('.');/写入“.小数点固定!Lcd_WriteData(w%1000/100+0*30);/别离出百位;Lcd_WriteData(w%100%10+0*30);/十位Lcd_WriteCmd(0*9a); /锁定显示位置;void display14(unsigned long q)/*这样写的好处就是能让每一位都能显示,且数据地址指针是自动加一位的*/ Lcd_WriteCmd(0*9a);/lcd_pos(2,4); /第四行第四个字节上显示;Lcd_WriteData(q/10000+0*30);/别离出万位;Lcd_WriteData(q%10000/1000+0*30); /千位Lcd_WriteData('.');/写入“.小数点固定!Lcd_WriteData(q%1000/100+0*30); /百位Lcd_WriteCmd(0*9a); /锁定显示位置;void display15(unsigned long p)/*这样写的好处就是能让每一位都能显示,且数据地址指针是自动加一位的*/ Lcd_WriteCmd(0*9a);/lcd_pos(2,4); /第四行第四个字节上显示;Lcd_WriteData(p/100000+0*30);/别离出十万位;Lcd_WriteData(p%100000/10000+0*30); /别离出万位Lcd_WriteData(p%10000/1000+0*30); /别离出千位Lcd_WriteCmd(0*9a); /锁定显示位置;void display16(unsigned long r)/*这样写的好处就是能让每一位都能显示,且数据地址指针是自动加一位的*/ Lcd_WriteCmd(0*9a);/lcd_pos(2,4); /第四行第四个字节上显示;Lcd_WriteData(r/1000000+0*30);/别离出百万位;Lcd_WriteData('.');/写入“.小数点固定!Lcd_WriteData(r%1000000/100000+0*30); /别离出十万位;Lcd_WriteData(r%100000/10000+0*30); /别离出万位别离出万位;Lcd_WriteCmd(0*9a); /锁定显示位置;/*显示汉字*/void hanzi_Disp(uchar *,uchar y,uchar code *s) /*、y为汉字坐标 Lcd_WriteCmd(addr_tab8*+y); /写地址 delayms(1); while(*s>0) Lcd_WriteData(*s); /写数据 delayms(1); s+; void display1(void)hanzi_Disp(0,0,"欢送使用自动电阻");hanzi_Disp(1,0,"*测试仪*"); hanzi_Disp(2,0,"请您开场测量电阻");void display2(void)hanzi_Disp(0,0,"您所测电阻围为"); hanzi_Disp(1,0,"*0999欧*"); hanzi_Disp(2,0,"当前测得电阻值为");hanzi_Disp(3,0," 欧");void display3(void)hanzi_Disp(0,0,"您所测电阻围为"); hanzi_Disp(1,0,"*1K9K欧*");hanzi_Disp(2,0,"当前测得电阻值为"); hanzi_Disp(3,0," K欧");void display4(void)hanzi_Disp(0,0,"您所测电阻围为"); hanzi_Disp(1,0,"*10K99K欧*"); hanzi_Disp(2,0,"当前测得电阻值为");hanzi_Disp(3,0," K欧");void display5(void)hanzi_Disp(0,0,"您所测电阻围为"); hanzi_Disp(1,0,"*100K999K欧*"); hanzi_Disp(2,0,"当前测得电阻值为");hanzi_Disp(3,0," K欧");void display6(void)hanzi_Disp(0,0,"您所测电阻围为"); hanzi_Disp(1,0,"*1M10M欧*"); hanzi_Disp(2,0,"当前测得电阻值为");hanzi_Disp(3,0," M欧");void display7(void)hanzi_Disp(0,0,"*非常抱歉*");hanzi_Disp(2,0,"所测阻值已经超出");/*主程序*/#include <reg51.h> #include <math.h>#include<12864.h>#include <intrins.h>#include <absacc.h>#define uchar unsigned char#define uint unsigned int /宏定义uchar T0count; uint timecount; bit flag; sbit BEEP=P23;sbit A1=P00;sbit A2=P01;sbit A3=P02;sbit A4=P03;sbit A5=P04;sbit A6=P05;sbit A7=P06;sbit A8=P07;/*nms延时子程序*/void Del(uint t) /约延时nms uint i; while(t-) for(i=0;i<150;i+); /*/* 蜂鸣器响一声 */*/void beep() unsigned char y ; for (y=0 ;y<100 ;y+) Del(60) ; BEEP=!BEEP ; /BEEP取反 BEEP=1 ; /关闭蜂鸣器Del(40000);/*主函数*/void main() unsigned long *;long double y;long double t;A1=0;A2=0;A3=0;A4=0;A5=0;A6=0;A7=0;A8=0; TMOD=0*15; TH0=0; TL0=0; TH1=(65536-2000)/256; TL1=(65536-2000)%256; TR1=1; TR0=1; ET0=1; ET1=1; EA=1; Lcd_Init();/ 屏幕初始化 display1();Del(800);while(1) A1=1;A2=1; while(flag) flag=0; *=T0count*65536+TH0*256+TL0;if*=0y=0;Lcd_Init();display2();display10(y);Del(800); if(*>766&&*<1534) t=2*0.0000047;y=1.443/t-100;if(y>0&&y<10)/beep();/LED1=0;Lcd_Init();display2();display10(int)y);Del(800); /Lcd_WriteData(0*01);/清屏

    注意事项

    本文(微电阻测量系统毕业设计.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开