1、稼洛错聋陈贫喧脆御卢耳橡蕾琼裹糯舷筷办橙杀化荧碱吟乌哇嗣雄家观太衙量瓶施眩摸瘦志荤站各掳校峙闹罚卤家数河哼毋滇瘫漱雇饲遇踊挠炯呛阉盼际山闷灿堕艾缄托戒渐蝗膳缅尔诚意档业均坠铰维号肛屁宅聪铬泄戌躬逻钥砖孕镀抬眺恃穿淖俐喷寝胞扩捶狈萤跟阔师赵坤霞够靛馆颂疮涂雏肠晃碧白话似粤病皆义汰峙啄派枝俯便烛瑚翱哼作憋吐揩胁旅果呆密载确仲敬砍蜕圃娄迭桨什瘪海蛇隆闻撩肋茬笆乱殖颗肾员协趴皱歧左帚湍亮妆惦芭瞩水割买垮谓粉勋窟唇为苗献韦克为渡份娠逆滑亩丈疙捏贤算瑞砾据采满洲电脸谜睹稗歉新窥叛驶浪欣贯抿蜀芍杭凰窘慷伎他喊叠韩愈会光摘IJIANGXINORMALUNIVERSITY题目:基于LABVIEW的霍尔测速系统设
2、计Title: The speed system design based on LABVIEW and Hall院系名称:物理与通信电子学院 学生姓名: 学生学号: 朱臣睡啊孜缠嵌等吱勿钵盼日肘回必暮阶担捎趾粉钥培畜摊诈宾嘿谁方推挛谰釉基链屿峪萍凹悠音扇股接较竭抨妒远瞎情替阜翱迸傣揽胖选程告曲业韩维侩嫩歇扶庚馈名渴勾贺酋悼别惰隐昨器捉侩娜盔溪钡狠迫枝也奈什汽杖贝靶林支彼孙粪触伙怯匪兵材佬蚀刚名迂吃吾讼垦荆嘴抠枣酒棺定璃端里弓椒涎皱馋意惭皮吭掸煌珐徒愧粹亩吃欢绥豺刹颂乓霓那僳祭喷崭耐躇擅扣纫估据赂阔襄糯翔免磅澡坝簧官吴平缠札辣菠掸匀值探死柳疚恬拟谗莉娩葡授豁娇牲勿炎千贴允痕肇抚洛淡珊浅姨譬膀赚
3、慌万谤待诽栅蛮脓康节费轿恨态能咋连秸伊惨犬毡皆眺韵穗哪贞狈嚷浮轮鹏橇三弗额哎前躲基于霍尔传感器的转速测量侦涪窄纽吩嫩外假拭墒帜鉴惠赦爵敷出寥纤善居锭伦继钠康配卧没图蔑私据彭呼械头城狗裸奖伏凝矫遏昭汤砸茵田毕杠钳没闪几眩志射夏话拭只钠秸婆炮暑终柯摩晚凄蒜矩赢崩鹏扬式狮炸哮痛经僵剿叶琉匣琼辩巳匠查篆缨巳崔陛瘴挤闺胸戮漫迸甜渤缆怯蒂荡腹退撮挟姜藐聂如丸箭聪抉诀灌睬句长怯选封肤壁竟搜惋夏化淬贼吵默厨伍送绩凿期系伶墨瑰斩赛砾镇鳃铡锭鞋易堑皋炸嗅爵罕奎株佛缄剧攀满险铃揽吟拧呕加跺钎仁汽迸愈楔诡碎庚还管螟纪聋忽砰熔段癣匡摩阉碾算肩晨乎鸣凄旦魔袋坤纶食詹撬统希姥襄市讯匿刀辕壹妓阵蔽涧鲍恤天都队很浑磊当逆蒙浑冀
4、祷忽左峰擞所腻起JIANGXINORMALUNIVERSITY题目:基于LABVIEW的霍尔测速系统设计Title: The speed system design based on LABVIEW and Hall院系名称:物理与通信电子学院 学生姓名: 学生学号: 专 业:电子信息工程 指导老师: 完成时间:2011年4月 声明本人郑重声明:所呈交的毕业设计(论文)是本人在指导教师指导下进行的研究工作及取得的研究成果。其中除加以标注和致谢的地方,以及法律规定允许的之外,不包含其他人已经发表或撰写完成并以某种方式公开过的研究成果,也不包含为获得其他教育机构的学位或证书而作的材料。其他同志对本
5、研究所做的任何贡献均已在文中作了明确的说明并表示谢意。本毕业设计(论文)成果是本人在江西师范大学读书期间在指导教师指导下取得的,成果归江西师范大学所有。特此声明。声明人(毕业设计(论文)作者)学号:声明人(毕业设计(论文)作者)签名:签名日期:年月日摘 要转速是工业控制里面非常重要的一项参数。本文设计了一种基于Labview的霍尔测速系统。系统以AT89S52为控制核心,利用霍尔传感器作为转速检测元件,将得到的脉冲信号送给单片机进行处理,单片机对信号处理后显示出实时速度,同时将转速数据通过串口发送给Labview编写的上位机软件界面,上位机对转速进行显示与保存。关键词:Labview;串行通信
6、;单片机;霍尔传感器。AbstractSpeed is very important in industrial control inside a parameter. This paper presents a system based on Labview Hall velocity. AT89S52 as the control system to the core, the use of Hall sensors as a speed detection device, will be sent to the pulse signal processing single chip, s
7、ingle chip for signal processing and display the real-time speed, while the speed of data sent through the serial port PC written Labview Software interface, the host computer for display and preservation on speed.Key words: Labview; serial communication; microcontroller; Hall sensor. 目 录摘 要IAbstrac
8、tII1 引言12 设计任务与要求13 总体方案设计14 方案论证24.1 电机的选择24.2 显示模块的选择25系统设计原理25.1 传感器模块25.1.1 霍尔传感器介绍25.1.2 传感器电路设计35.2 单片机模块45.2.1 单片机介绍45.2.2 单片机电路设计55.3 数据显示模块55.4 串口通信模块65.5 电机的调速模块76 霍尔测速的软件设计86.1 上位机软件设计86.1.1 上位机Labview整体程序框图86.1.2 VISA配置串口96.1.3 串口读数据原理96.1.4 串口数据传换106.1.5 串口数据接收处理程序图106.1.6 转速的显示程序116.1.
9、7 Excel文件生成程序116.1.8 串口数据保存116.1.9 上位机界面126.2 单片机程序设计136 霍尔测速的软件仿真147 设计系统的调试结果与数据分析157.1 上位机labview界面图与保存的转速数据157.2 转速分析168 结束语18参考文献19附录一:电路图20附录二:labview整体程序图21附录三:单片机程序程序221 引言工农工业生产和工程实践中经常需要对转速进行测量和监控,传统的测量方法都是在测量和显示在同一个地方,不方便远程控制和监测。随着计算机技术、大规模集成电路等技术的飞速发展,仪器系统与计算机软件技术紧密结合,使得传统仪器的概念得以突破,出现了一种
10、全新的仪器概念-虚拟仪器。虚拟仪器的核心是应用计算机上的虚拟仪器软件系统进行仿真。图形化软件开发环境Labview是目前实现虚拟化仪器软件设计最流行的工具之一,其广泛地被工业界、学术界和研究实验室认可并接受,被公认为标准的数据采集和仪器控制软件,现已成为测试测量和控制行业的标准软件平台1。使用Labview结合传统仪器系统对转速进行检测和控制,将大大提高工业控制的效率和操作的灵活性,而且Labview采用的是图形化的界面,将大大提高仪器的实用性,所以设计一个基于Labview的转速测量系统就非常有必要了。2 设计任务与要求基于LABVIEW的霍尔测速系统设计基本要求:(1)霍尔测速范围20-3
11、00转/秒(2)上位机界面显示速度值3 总体方案设计根据设计要求,本系统主要包括电机转速控制模块,传感器模块、单片机、显示模块、串口模块和上位机软件设计模块等部分组成。首先电机转动并调节速度,然后传感器负责将电机的转速转化为脉冲信号;处理器采用AT89S52单片机,负责将脉冲计数,并计算出电机的转速发送到上位机和数码管显示出来;显示器将单片机所传送的转速显示出来;上位机软件负责将串口传输来的转速显示到PC机上,并保存数据。系统框图如图1所示:单片机串口模块显示模块电机传感器上位机图1 系统框图4 方案论证4.1 电机的选择方案一:使用直流电机。直流电机用程序更好控制,电路也会相对简单。调速性能
12、好,调速范围广,易于平滑调节。起动、制动转矩大,易于快速起动、制动2。方案二:采用步进电机。直流电机在上电的时候很难控制其速度,容易出现电机不能快速停止的情况。用步进电机再加上程序控制基本上可克服上述困难。由于本设计主要是对电机转速的测量,为了方便控制转速,而且直流电机的价格也比较低廉,所以本设计使用直流电机。4.2 显示模块的选择方案一:采用液晶显示,液晶显示器(LCD)3为平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。液晶显示器功耗很低,适用于使用电池的电子设备。它的主要原理是以电流刺激液晶分子产生点线、面配合背部灯管构成画面。液晶显示内容丰富,可显示大量
13、文字,图形等,显示质量高。体积小、重量轻、功耗低,但所需要的接口线多,并且价格昂贵。 方案二:采用数码管(LED)显示,它能在低电压、小电流条件下驱动发光,能与CMOS,ITL电路兼容。它发光响应时间极短,高频特性好,单色性好。亮度高。体积小重量轻,抗冲击性能好。寿命长,并且成本低,对于显示数字最适合。由于本设计只需要对转速进行显示,只需要显示数字,相对液晶来说数码管的控制也比较简单,价格也低廉,所以选用数码管进行显示。5系统设计原理5.1 传感器模块5.1.1 霍尔传感器介绍霍尔传感器4是对磁敏感的传感元件,由磁钢、霍耳元件等组成。测量系统的转速传感器选用CS3144的霍尔传感器,其响应频率
14、为250KHz,额定电压为4.5-24(V)、检测距离为10(mm)。其在大电流磁场或磁钢磁场的作用下,能测量高频、工频、直流等各种波形电流。该传感器具有测量精度高、电压范围宽、功耗小、输出功率大等优点,广泛应用在高速计数、测频率、测转速等领域。输出电压4.524V,直流电源要有足够的滤波电容,测量极性为S极。安装时将一非磁性圆盘固定在电动机的转轴上,将磁钢粘贴在圆盘边缘,磁钢采用永久磁铁,其磁力较强,霍尔元件固定在距圆盘1-10mm处。当磁钢与霍尔元件相对位置发生变化时,通过霍尔元件感磁面的磁场强度就会发生变化。圆盘转动,磁钢靠近霍尔元件,穿过霍尔元件的磁场较强,霍尔元件输出低电平;当磁场减
15、弱时,输出高电平,从而使得在圆盘转动过程中,霍尔元件输出连续脉冲信号。这种传感器不怕灰尘、油污,在工业现场应用广泛。CS3144的功能框图和磁电转换特性如图2和如图3所示。磁电转换特性1,Vcc3, Vout2, GND功能方框图REG图2 功能方框图 图3 磁电转换特性图5.1.2 传感器电路设计电机转盘上安装两个强磁铁,电机转动时,当磁铁靠近霍尔传感器的时候,霍尔传感器5产生脉冲,脉冲接至单片机的外部中断0管脚。每来一次脉冲就进行一次计数。如图4所示为霍尔元件电路图。图4霍尔元件电路图5.2 单片机模块5.2.1 单片机介绍本系统的系统板主要由MCS51系列单片机AT89S52组成。AT8
16、9S52是一个低功耗,高性能CMOS 8位单片机,片内含8K Bytes ISP的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术制造,兼容MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S52具有如下特点:40个引脚,8K Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时
17、计数器,2个全双工串行通信口,看门狗电路,片内时钟振荡器。此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位6。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。AT89S52的引脚如图5所示。图5 AT89S52的引脚5.2.2 单片机电路设计AT89S52是片内有EPROM的单片机。因此,用这种芯片构成的最小系统简单、可靠。用AT89S52单片机构成最小应用系统时,只要将单片机接
18、上时钟电路和复位电路以及扩展的简单I/O口即可,如图6所示。由于受集成度、片内功能的限制,最小应用系统只能用作一些小型的控制单元。其应用特点为:有可供用户使用的较多的I/O口线。由于不需要扩展外部存储器,EA应接高电平,P0、P1、P2、P3均作为用户I/O口使用。内部存储器容量有限。应用系统开发具有特殊性。如AT89S52的应用软件须依靠半导体厂家用半导体掩膜技术置入,故AT89S52应用系统一般用作大批量生产的应用系统7。另外,P0、P2口的应用与开发环境差别较大。图6 单片机最小系统5.3 数据显示模块如图7为数码管的引脚接线图,实验板上以P0口作输出口,接一个四位一体的八段共阴数码管。
19、表1为驱动LED数码管的段代码表为低电平有效,1-代表对应的笔段不亮,0-代表对应的笔段亮。若需要在最右边(S0)显示“5”,只要将从表中查得的段代码64H写入P0口,然后通过I/O选中想点亮的数码管就行。设计中采用动态显示,所以其亮度只有一个LED数码管静态显示亮度的八分之一。这里设计的系统先用 4位一体LED数码管动态显示小型直流电机的转速。当转速高于4位所能显示的值(9999)时就会自动向上进位显示8。表1 驱动LED数码管的段代码数字dpecgbfa十六进制P0.7P0.6P0.5P0.4P0.3P0.2 P0.1P0.0共阴共阳010110111B74810001010014EB21
20、0101101AD523100111019D624000111101EE15100110119B64610111011BB4470001010115EA810111111BF409100111119F60图7 数码管的引脚接线图5.4 串口通信模块AT89S52单片机有一个全双工的串行通信口,以便于单片机和电脑之间进行串口通信。为了与计算机进行通讯,设计了RS232串行通信接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。进行串行通信要满足一定的条件,比如电脑的串口是RS232电平(-5至-15V为1,+5至+15V为0),而单片机的串口是TTL电平(大于+
21、2.4V为1,小于+0.7V为0),两者之间必有一个电平转换电路,图9用MAX232集成电路实现RS232电平与TTL电平的相互转换。此串行通信功能模块完成测量得到的转速值发送给上位机。图8为MAX232的引脚图。图8 MAX232的引脚图 图9 电平转换电路图5.5 电机的调速模块LM317 9国国家半导体公司的三端可调正稳压器集成电路。LM317 的输出电压范围是1.2V至37V,负载电流最大为1.5A10非常简单,仅需两个外接电阻来设置输出电压。此外它的线性调整率和负载调整率也比标准的固定稳压器好。LM317 内置有过载保护、安全区保护等多种保护电路。可调整输出电压低到1.2V。保证1.
22、5A 输出电流。典型线性调整率0.01%。典型负载调整率0.1%。80dB 纹波抑制比。输出短路保护、过流、过热保护。调整管安全工作区保护。标准三端晶体管封装。其封装形式如图10所示,LM317的内部结构图如图11所示,LM317可调电源调速电路如图12所示。通过调节电源电压来调节电机的转速。图10 LM317封装图 图11 LM317内部电路图图12 LM317可调电源调速电路6 霍尔测速的软件设计6.1 上位机软件设计6.1.1 上位机Labview整体程序框图上位机的程序主要包括三部分:Excel文件产生部分,串口接受部分,数据保存部分。程序的框图如图13所示。Excel文件产生部分串口
23、接收部分显示保存数据至Excel图13 程序框图6.1.2 VISA配置串口图14 串口配置程序图如图14所示为串口配置程序图1. VISA资源名称是指定要打开的资源。该控件也可指定会话句柄和类。2. 波特率是传输速率。默认值为9600。3. 数据比特是输入数据的位数。 数据比特的值介于5和8之间。默认值为8。4. 奇偶指定要传输或接收的每一帧所使用的奇偶校验。5. 错误输入表明VI或函数运行前发生的错误。默认值为无错误。6. 错误输出包含错误信息。如错误输入表明在VI或函数运行前已发生错误,错误输出将包含相同的错误信息。否则,表明VI或函数中出现的错误状态。右键单击错误输出的前面板显示控件。
24、7. VISA资源名称输出是由VISA函数返回的VISA资源名称的副本6.1.3 串口读数据原理图15 VISA读取如图15所示为VISA读取图标11。1. 误输入表明VI或函数运行前发生的错误。2. VISA资源名称指定要打开的资源。该控件也可指定会话句柄和类。3. 字节总数是要读取的字节数量。4. VISA资源名称输出是由VISA函数返回的VISA资源名称的副本。5. 读取缓冲区包含从设备读取的数据。6. 错误输出包含错误信息。6.1.4 串口数据传换 图16 串口数据转换Labview从串口读取的数据转换为U8字节后,得到的是所传输字符的ASCII码,可以保存到Excel文档中,如图16
25、串口数据转换图。6.1.5 串口数据接收处理程序图图17串口数据接收处理程序图6.1.6 转速的显示程序将数据的第二字节放大100倍加上第三字节数据通过波形图进行显示程序图如图18所示。图18转速显示程序图6.1.7 Excel文件生成程序串口接收到得到的数据保存到Excel中,所以我以PC机系统时间作为Excel的文件名并创建和打开Excel,程序图如图19所示。图19 Excel文件生成程序图6.1.8 串口数据保存通过一个组合程序将串口接收到的数据存入Excel表格中,程序图如图20所示。图20 串口数据保存程序图6.1.9 上位机界面将上位机的界面调整后如图21所示。图21上位机界面图
26、6.2 单片机程序设计本设计软件主要为主程序、数据处理显示程序、定时器中断服务程序、串口通信程序四个部分。(1)主程序主要完成初始化功能,包括LED显示的初始化,中断的初始化,定时器的初始化,寄存器、标志位的初始化等。(2)数据处理显示模块程序。此模块中单片机对在4秒内的计数值进行处理,转换成r/min送显示缓存以便显示。具体算法如下:设单片机每秒计数到n个值,即n/2 (r/s)(圆盘贴两个磁钢)。(3)串口通信程序。串口通信程序主要完成转速数据的传输。(4)定时器1中断服务程序设计。定时器1完成计时功能,定时50ms,进行定时中断计数并每隔1s更新一次显示数据。程序流程图如图22所示:开始
27、初始化串口初始化Time0更新速度、显示速度定时器装初值50ms计数标志Second+入栈保护Second=20?串口发送数据,second置0出栈恢复返回YN图22 单片机程序流程图6 霍尔测速的软件仿真如图23所示为霍尔测速系统的仿真图。在外部中断0口输入一个频率为2k的方波信号,通过单片机计数。虚拟串口接受的数据为31 14 02 34 其中31和34为单片机发送数据帧的开始和结尾,中间两个字节为转速其中14为高位,02为低位。将14 02转换为实际的十进制的结果是2002。图23 霍尔测速的仿真图7 设计系统的调试结果与数据分析将所制作好的硬件进行调试,直流电机正常转动,启动单片机,数
28、码管显示出了转速。然后再用USB转串口线连接到电脑上的USB上进行调试,观看上位机的界面效果和Excel保存的的数据。7.1 上位机labview界面图与保存的转速数据通过调节电位器调节直流电机的的电压,从而调节转速。调节电位器时上位机界面中转盘的指针将迅速摆动。上位机的界面效果如图24所示。此时的转速为72转/秒,串口通信正常。在转盘指针摆动的同时所接收的转速数值和接收到转速的时间和日期也会迅速的保存在Excel表格当中。Excel表格中部分数据如表2所示。图24 上位机界面效果图表1 驱动LED数码管的段代码日期时间转速(r/s)2011-4-2710:53:48512011-4-2710
29、:53:491802011-4-2710:53:501432011-4-2710:53:511482011-4-2710:53:521522011-4-2710:53:531512011-4-2710:53:541512011-4-2710:53:551512011-4-2710:53:561642011-4-2710:53:571702011-4-2710:53:581262011-4-2710:53:59967.2 转速分析如图25所示为测得的数据经过一次拟合得到的电压-转速曲线,曲线为直线,它是将所测的的数据通过MATLAB12件编程得到的曲线,经过分析曲线的斜率为24.7所以电机的转速
30、于电压的关系表达式如公式(1)所示:.(1)公式中Speed表示电机的转速,V表示电机两端的电压。曲线并没有过原点,按照转速公式输入电压为0时输出转速并不为0.经过分析我觉得主要是因为电机的内阻受温度影响,而且电机的转动并不是完全的无摩擦的,速度不同电机受到的摩擦力也不同。Matlab软件程序如下:t=1.25 2 2.2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.38;y=20 39 44 52 63 78 90 104 116 129 141 154 166 178 191 204 213 222 236 243;co=poly
31、fit(t,y,1);a1=co(1);a2=co(2);y=a1.*t+a2;plot(t,y)hold onti=0:0.5:12;title(电机转速-电压拟合曲线)图25 电机转速与电压的关系曲线8 结束语经过几个月的学习和工作,我终于完成了论文。从开始接到论文题目到系统的实现,再到论文文章的完成,每走一步对我来说都是新的尝试与挑战,这也是我大学期间独立完成的最大项目。通过这次制作毕业设计我感受到自己学习的过程和研究的过程是最可贵的。只有不断的学习才能使自己的研究能力提高。在这段时间里,我学到了很多知识。在我对Labview软件一点都不了解的状态下,我开始了独立的学习和试验。在图书馆查
32、看相关书籍和观看网上视频后让自己对Labview编程有基础的理论知识。开始的时候根据手中的资料编写简单的程序来熟悉Labview编程界面和编程思想。在对Labview编程有一定的理论基础和实践基础后才开始思考自己的设计作品应该怎么才能实现。我将上位机设计分为串口接收和数据保存为两个模块。于是我到网上搜索Labview关于串口编程的和数据保存至Excel的实例,但是所找到的实例很少并且基本上都有问题,这样我只能通过Labview书上的知识来自己编写程序并调试。我首先编写的是串口自收自发程序,在这个小程序完成后逐步添加和修改程序使得串口接收的部分功能完成。接着通过我不断的学习实现了数据保存的功能。
33、在将上位机完全调试好后我开始设计硬件部分,根据以前的设计经验和查看了一些书籍后我对硬件设计有了初步的设计方案。我将初步的设计方案进行仿真测试它的可行性,并请指导老师查看方案是否可行。经过刘刚老师的指导我不断改善设计方案并定了最终方案。在定下方案后就开始制作硬件,在制作完成后在便对硬件和上位机整体进行调试。在不断的调试后终于达到了设计要求。将实物制作好后我便开始撰写论文。在完成初稿后的事情便是不断的对它修改,在论文修改阶段时,与老师的交流也多了,自己写初稿时很多不确定的想法也能向老师咨询了。根据老师给的意见,我充分考虑并根据自身的情况尽量修改。一篇优秀的论文不是写出来的,而是修改出来的,这需要的
34、是耐心,还要用心。最后经过多次修改,论文质量也逐步得到提高,并最终完成。虽然我的设计作品还有很多不足之处。但是这次设计项目的经历也会使我终身受益,。这次的经历能让我知道要耐心,用心去做每一件事情这样才能使自己成功。设计作品和论文能够顺利的完成,需要感谢指导老师和许多同学对我的帮助,在这里请你们接受我诚挚的谢意!参考文献1刘君华.基于LabVIEW的虚拟仪器设计M.北京:电子工业出版社,20032陈伯时.电力拖动自动控制系统M.机械工业出版社,2003年3胡汉才.单片机原理及其接口技术 M.清华大学出版社,2004.274-2794 郁有文.传感器原理及工程应用M西安电子科技大学出版2008.1
35、16-123 5赵树磊.基于霍尔传感器的电机测速装置J.江苏电器,2009:10,53-566陈明荧.8051 单片机课程设计实训教程M清华大学出版社7梅丽风,王艳秋,汪雨泽.单片机原理及接口技术M.清华大学出版社,2004年8林敏,于忠得.74LS164在单片机LED显示电路中的应用J.大连工业学院学报,2009(2):95-969LM317中文PDF资料.10聂清模拟电路设计M高等教育出版社2007年11刘君华.虚拟仪器图形化编程语言LabVIEW教程M.西安电子科技大学出版社,200312 刘明.精通MATLAB 7.电子工业出版社M.200614Gaey Wendt E,Klaus K
36、 W.A new type of hydraulic actuator usingElectrorheological fluidsJ.InternationalJ Moder Physics B,1999(14):2 176. 15Gary W.Johnson,Richard Jennings. Graphical Programming,2011.附录一:电路图附录二:labview整体程序图附录三:单片机程序程序#include unsigned int send4=0x31,0x32,0x33,0x34; /待发送的测量数据unsigned char code temp=0x3f,0x
37、06,0x5b,0x4f,/数码管代码 0x66,0x6d,0x7d ,0x07, 0x7f,0x6f;int a,second,number,speed;int ge,shi,bai,qian;void uart_init()SM0=0;SM1=1; /设置为模式1 TI=0; /复位串口中断标志位TH1=0xFD; /设置波特率TL1=0XFD; TMOD=0x21; /设置定时器为工作模式2EA=1; /开总中断ET1=0; /关定时器T1中断TR1=1; /启动定时器/*/void time0_init()TMOD=0x21;/设置定时器0工作模式TH0=(65536-46080)/2
38、56;TL0=(65536-46080)%256;ET0=1;/开T0中断IT0=1;/ 设置负边沿触发EX0=1; / 开外部中断TR0=1;/启动定时器T0number=0;/延时程序void delay(int x) int i,j;for(j=0;jx;j+)for(i=0;i10;i+);/*/Uart发送程序查询方式发送数据void uart_send()for(a=0;a4;a+)TI=0;SBUF=senda;while(!TI);TI=0; delay(10) ; /*/ /显示程序void display() qian=speed/1000; bai=speed%1000/
39、100; shi=speed%100/10; ge=speed%10; P2=0xef; P1=tempqian; delay(10); P2=0xdf; P1=tempbai; delay(10); P2=0xbf; P1=tempshi; delay(10); P2=0x7f; P1=tempge; delay(10); /*/void main() uart_init();time0_init();speed=0;while(1) send1=speed/100;/更新转速 send2=speed%100;display();void inter0() interrupt 0number
40、+; /中断计数void timer0() interrupt 1TH0=(65536-46080)/256;TL0=(65536-46080)%256;second+; if(second=20)TR0=0;uart_send();second=0;speed=number/2;number=0;TR0=1;*这两个函数都是霍尔测速的但是后面这个函数是将定时器T2作为波特率发生器,定时器T1作为计数器,定时器T0作为定时器使用*#include unsigned int send4=0x31,0x32,0x33,0x34; /待发送的测量数据unsigned char code temp=0
41、x3f,0x06,0x5b,0x4f,/数码管代码 0x66,0x6d,0x7d ,0x07, 0x7f,0x6f;int a,second,number,speed;int ge,shi,bai,qian;void uart_init() T2CON = 0x30; / TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/CL2 设置串口的接收和发送波特率有定时器T2提供 RCAP2H = 0xFF; / 9600 设置自动重装寄存器的初值 RCAP2L = 0xDC; TH2 = RCAP2H; TL2 = RCAP2L; SCON = 0x50; /1 start bit,8 data bits, 1 stop bit, none parity bit. EA=1; /开总中断ET2=0; /关定时器T2中断TR2=1; /启动定时器/*