版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录摘要iabstractii1 绪论11.1 研究目的及意义11.2 转速测量方法11.3 开发软件研究32 系统硬件设计62.1 整体框架设计62.2 信号采集系统设计62.3 单片机处理系统设计102.4 led显示143 系统软件设计153.1 主程序设计153.2 系统初始化163.3 定时计数子程序183.4 显示子程序194 系统调试及分析214.1 硬件调试214.2 软件调试224.3 综合调试235 总结24参考文献25附录26致谢27武汉理工大学毕业设计(论文)摘要随着计算机技术的飞速发展,微型计算机的应用已经渗透到人们生产、生活的各个领域。单片微型计算机作为微型计算机的
2、一个重要分支,以其体积小、可靠性高、灵活方便等特点得到广泛应用。现代控制技术是以微控制器为核心的技术,由此构成的控制系统成为当今工业控制的主流系统。本文是基于霍尔元件的转速测量系统设计,设计中采用霍尔元件作为传感器,将转速信号转换为变化的脉冲电信号,完成信号的采集。然后,经过放大和整形电路,将模拟信号转化为适合单片机测量的ttl/cmos兼容数字信号。最后,利用单片机处理,计算出转动的频率值,并在led显示器上显示出来。本次设计主要完成了以下工作,对protues硬件电路设计和keil的c语言软件开发,以及对霍尔元件的原理研究与应用,最终完成整个系统的设计。关键词:霍尔元件;单片机;转速测量;
3、信号处理;ledabstractwith the rapid development of computer technology, micro-computer applications have penetrated into the production and all areas of peoples life. single-chip micro-computer as an important branch of micro-computer, with its small size, high reliability, flexibility ,are so widely use
4、d. modern control technology is based on micro-controller core technology, which constitutes the control system into the mainstream of todays industrial control systems. this paper is based on the speed of the hall element measurement system design, design with hall element as sensor and will speed
5、signals are converted to change the pulse signal, complete signal collection. then, after amplifier and plastic circuits, analog signal into the single chip microcomputer measure for the ttl/cmos compatible with digital signal. finally, using single chip computer processing, calculated the rotating
6、frequency value, and in led display displayed.this design has the following main finish work, the protues hardware circuit design and the c language keil software development, as well as to the hall element theory and application, finally completes the whole system design.key words: hall element; mc
7、u; speed measurement; signal processing; led281 绪论1.1 研究目的及意义目前国内外测量电机转速的方法很多,按照不同的理论方法,先后产生过模拟测速法(如离心式转速表、用电机转矩或者电机电枢电动势计算所得)、同步测速法(如机械式或闪光式频闪测速仪)以及计数测速法。计数测速法又可分为机械式定时计数法和电子式定时计数法。传统的电机转速检测多采用测速发电机或光电数字脉冲编码器,也有采用电磁式(利用电磁感应原理或可变磁阻的霍尔元件等)、电容式(对高频振荡进行幅值调制或频率调制)等,还有一些特殊的测速器是利用置于旋转体内的放射性材料来发生脉冲信号。使用霍尔传
8、感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。这种传感器不怕灰尘、油污,在工业现场应用广泛1。在工程实践中,经常会遇到各种需要测量转速的场合, 例如在发动机、电动机、卷扬机、机床主轴等旋转设备的试验、运转和控制中,常需要分时或连续测量和显示其转速及瞬时转速。要测速,首先要解决是采样问题。测量转速的方法分为模拟式和数字式两种。模拟式采用测速发电机为检测元件,得到的信号是模拟量。早期直流电动机的控制均以模拟电路为基础,采用运算放大
9、器,非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难。数字式通常采用光电编码器、圆光栅、霍尔元件等为检测元件,得到的信号是脉冲信号。随着微型计算机的广泛应用,单片机技术的日新月异,特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法,使得许多控制功能及算法可以采用软件技术来完成,智能化微电脑代替了一般机械式或模拟式结构,并使系统能达到更高的性能。采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。在使用模技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发
10、电机的电压高低反映了转速的高低。为了能精确地测量转速外,还要保证测量的实时性,要求能测得瞬时转速方法。因此转速的测试具有重要的意义。 这次设计内容包含知识全面,对传感器测量发电机转速的不同的方法及原理设计有较多介绍,在测量系统中能学到关于测量转速的传感器采样问题,单片机部分的内容,显示部分等各个模块的通信和联调。全面了解单片机和信号放大的具体内容。进一步锻炼我们在信号采集,处理,显示方面的实际工作能力。1.2 转速测量方法转速是指作圆周运动的物体在单位时间内所转过的圈数,其大小及变化往往意味着机器设备运转的正常与否,因此,转速测量一直是工业领域的一个重要问题。按照不同的理论方法,先后产生过模拟
11、测速法(如离心式转速表) 、同步测速法(如机械式或闪光式频闪测速仪) 以及计数测速法。计数测速法又可分为机械式定时计数法和电子式定时计数法。本文介绍的采用单片机和光电传感器组成的高精度转速测量系统,其转速测量方法采用的就是电子式定时计数法。对转速的测量实际上是对转子旋转引起的周期脉冲信号的频率进行测量。在频率的工程测量中,电子式定时计数测量频率的方法一般有三种:测频率法:在一定时间间隔t 内,计数被测信号的重复变化次数n,则被测信号的频率可表示为: (1)测周期法:在被测信号的一个周期内,计数时钟脉冲数 ,则被测信号频率,其中,为时钟脉冲信号频率。多周期测频法:在被测信号个周期内,计数时钟脉冲
12、数,从而得到被测信号频率,则可以表示为,由测量准确度确定。电子式定时计数法测量频率时,其测量准确度主要由两项误差来决定:一项是时基误差;另一项是量化1误差。当时基误差小于量化1误差一个或两个数量级时,这时测量准确度主要由量化1误差来确定。对于测频率法,测量相对误差为: er1 =测量误差值实际测量值100 % =1n100 % (2)由此可见,被测信号频率越高,n 越大,er1就越小,所以测频率法适用于高频信号(高转速信号) 的测量。对于测周期法,测量相对误差为: er2 =测量误差值实际测量值100 % =1100 % (3)对于给定的时钟脉冲 , 当被测信号频率越低时,越大, er2就越小
13、,所以测周期法适用于低频信号(低转速信号) 的测量。对于多周期测频法,测量相对误差为: er3 =测量误差值实际测量值100%=1100 % (4)从上式可知,被测脉冲信号周期数越大,就越大,则测量精度就越高。它适用于高、低频信号(高、低转速信号) 的测量。但随着精度和频率的提高,采样周期将大大延长,并且判断也要延长采样周期,不适合实时测量。根据以上的讨论,考虑到实际应用中需要测量的转速范围很宽,上述的转速测量方法难以满足要求,因此,研究高精度的转速测量方法,以同时适用于高、低转速信号的测量,不仅具有重要的理论意义,也是实际生产中的需要。一般的转速长期测量系统是预先在轴上安装一个有60 齿的测
14、速齿盘,用变磁阻式或电涡流式传感器获得一转60 倍转速脉冲,再用测频的办法实现转速测量。而临时性转速测量系统,多采用光电传感器,从转轴上预先粘贴的一个标志上获得一转一个转速脉冲,随后利用电子倍频器和测频方法实现转速测量。不论长期或临时转速测量,都可以在微处理器的参与下,通过测量转轴上预留的一转一齿的鉴相信号或光电信号的周期,换算出转轴的频率或转速。即通过速度传感器,将转速信号变为电脉冲,利用微机在单位时间内对脉冲进行计数,再经过软件计算获得转速数据,即:n=n/ (mt)n转速、单位:转/ 分钟。n采样时间内所计脉冲个数。t采样时间、单位:分钟。m每旋转一周所产生的脉冲个数(通常指测速码盘的齿
15、数) 。如果m=60,那么1 秒钟内脉冲个数n就是转速n,即:n=n/ (mt) =n/60 1/60=n通常m为60。在对转速波动较快系统或要求动态特性好而精度高的转速测控系统中,调节周期一般很短,相应的采样周期需取得很小,使得脉冲当量增高,从而导致整个系统测量精度降低,难以满足测控要求。提高采样速率通常就要减小采样时间t,而t 的减小会使采到的脉冲数值n 下降,导致脉冲当量(每个脉冲所代表的转速) 增高,从而使得测量精度变得粗糙。通过增加测速码盘的齿数可以提高精度,但是码盘齿数的增加会受到加工工艺的限制,同时会使转速测量脉冲的频率增高,频率的提升又会受到传感器中光电器或磁敏器或磁电器件最高
16、工作频率的限制。凡此种种因素限制了常规智能转速测量方法的使用范围。而采用本文所提出的定时分时双频率采样法,可在保证采样精度的同时,提高采样速率,充分发挥微机智能测速方法的优越性及灵活性。1.3 开发软件研究1.3.1 系统仿真软件protuesproteus软件是英国labcenter electronics公司出版的eda工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。p
17、roteus是世界上著名的eda工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到pcb设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即将增加cortex和dsp系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持iar、keil和mplab等多种编译器。它具有4大功能模块如下。智能原理图设计(isis)。丰富的器件库:超过27000种元
18、器件,可方便地创建新元件;智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:通过个性化设置,可以生成印刷质量的bmp图纸,可以方便地供word、powerpoint等多种文档使用。完善的电路仿真功能(prospice)。prospice混合仿真:基于工业标准spice3f5,实现数字/模拟电路的混合仿真;超过27000个仿真器件:可以通过内部原型或使用厂家的spice文件自行设计仿真器件,labcenter也在不断地发布新的仿真器件,还可导入第三方发
19、布的仿真器件;多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频fm、数字时钟和码流,还支持文件形式的信号输入;丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、spi调试器、i2c调试器等;生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;高级图形仿真功能(asf):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输
20、特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析。独特的单片机协同仿真功能(vsm)。支持主流的cpu类型:如arm7、8051/52、avr、pic10/12、pic16、pic18、pic24、dspic33、hc11、basicstamp、8086、msp430等,cpu类型随着版本升级还在继续增加,如即将支持cortex、dsp处理器;支持通用外设模型:如字符lcd模块、图形lcd模块、led点阵、led七段显示模块、键盘/按键、直流/步进/伺服电机、rs232虚拟终端、电子温度计等等,其compim(com口物理接口模型)还可以使仿真电路通过pc机串口和外部电路实现双向异步串
21、行通信;实时仿真:支持uart/usart/eusarts仿真、中断仿真、spi/i2c仿真、mssp仿真、psp仿真、rtc仿真、adc仿真、ccp/eccp仿真;编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、avr、pic的汇编编译器,也可以与第三方集成编译环境(如iar、keil和hitech)结合,进行高级语言的源码级仿真和调试。实用的pcb设计平台。原理图到pcb的快速通道:原理图设计完成后,一键便可进入ares的pcb设计环境,实现从概念到产品的完整设计;先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功
22、能使pcb设计更为合理;完整的pcb设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3d 可视化预览;多种输出格式的支持:可以输出多种格式文件,包括gerber文件的导入或导出,便利与其它pcb设计工具的互转(如protel)和pcb板的设计和加工。proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。proteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、spi调试器、i2c调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调
23、用。除了现实存在的仪器外,proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,proteus可提供的调试手段 proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。其电路功能仿真强大。在proteus绘制好原理图后,调入已编译好的目标代码文件:*.hex,可以在proteus的原理图中看到模拟的实物运行状态和过程。proteus 是单片机课堂教学的先进助手。proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当
24、程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例如元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中proteus也能茯得愈来愈广泛的应用。因此,proteus 有较高的利用价值,适合用于本设计研究。1.3.2 程序开发软件keilkeil c51是美国keil so
25、ftware公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。keil提供了包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uvision)将这些部分组合在一起。keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。keilsoftware公司推出的uvision4是一款可用于多种8051mcu的集成开发环境(ide),该ide同时也是pk51及其它开发套件的一个重要组件。除增加了源代码、
26、功能导航器、模板编辑以及改进的搜索功能外,uvision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标mcu,包括指令集、片上外围设备及外部信号等。uvision3提供逻辑分析器,可监控基于mcui/o引脚和外设状态变化下的程序变量。uvision4提供对多种最新的8051类微处理器的支持,包括analogdevices的aduc83x和aduc84x,以及infineon的xc866等。因此,此次设计采用keil来完成软件实现。2 系统硬件设计硬件的功能由总体设计所规定,硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的
27、元器件,设计出系统的电路原理图,必要时做一些部件实验,以确定电路图的正确性,以及工艺结构的设计加工、印制板的制作、样机的组装等。2.1 整体框架设计本设计主要用at89c51作为控制核心,由霍尔传感器、信号预处理电路、处理器、显示器和系统软件等部分组成。传感器部分采用霍尔传感器,负责将电机的转速转化为脉冲信号。信号预处理电路包含待测信号放大、波形变换、波形整形电路等部分,其中放大器实现对待测信号的放大,降低对待测信号的幅度要求,实现对小信号的测量;波形变换和波形整形电路实现把正负交变的信号波形变换成可被单片机接受的ttl/cmos兼容信号。 处理器采用at89c51单片机,显示器采用8位led
28、数码管动态显示。系统原理框图如图1所示。放大、整形电路led显示单片机传感器图1 转速测量系统原理框图传感器:用来对信号的采样。放大、整形电路:对传感器送过来的信号进行放大和整形,在送入单片机进行数据的处理转换。单片机:对处理过的信号进行转换成转速的实际值,送入led。led显示:用来对所测量到的转速进行显示。2.2 信号采集系统设计2.2.1 霍尔传感器首先,我们选用霍尔传感器来将转速信号转化为变化的电信号。霍尔传感器是对磁敏感的传感元件,由磁钢、霍耳元件等组成。测量系统的转速传感器选用siko的njk-8002d的霍尔传感器,其响应频率为100khz,额定电压为5-30(v)、检测距离为1
29、0mm。其在大电流磁场或磁钢磁场的作用下,能测量高频、工频、直流等各种波形电流。该传感器具有测量精度高、电压范围宽、功耗小、输出功率大等优点,广泛应用在高速计数、测频率、测转速等领域。输出电压425v,直流电源要有足够的滤波电容,测量极性为n极。安装时将一非磁性圆盘固定在电动机的转轴上,将磁钢粘贴在圆盘边缘,磁钢采用永久磁铁,其磁力较强,霍尔元件固定在距圆盘1-10mm处。当磁钢与霍尔元件相对位置发生变化时,通过霍尔元件感磁面的磁场强度就会发生变化。圆盘转动,磁钢靠近霍尔元件,穿过霍尔元件的磁场较强,霍尔元件输出低电平;当磁场减弱时,输出高电平,从而使得在圆盘转动过程中,霍尔元件输出连续脉冲信
30、号。这种传感器不怕灰尘、油污,在工业现场应用广泛。霍尔器件是由半导体材料制成的一种薄片,器件的长、宽、高分别l、b、d。若在垂直于薄片平面(沿厚度d)方向施加外磁场b,在沿l方向的两个端面加一外电场,则有一定的电流流过。由于电子在磁场中运动,所以将受到一个洛仑磁力,其大小为:式中:f洛仑磁力,q载流子电荷,v载流子运动速度,b磁感应强度。这样使电子的运动轨迹发生偏移,在霍尔元器件薄片的两个侧面分别产生电子积聚或电荷过剩,形成霍尔电场,霍尔元器件两个侧面间的电位差称为霍尔电压。霍尔电压大小为:式中:霍尔常数,d元件厚度,b磁感应强度,i控制电流。设, 则:为霍尔器件的灵敏系数(mv/ma/t),
31、它表示该霍尔元件在单位磁感应强度和单位控制电流下输出霍尔电动势的大小。应注意,当电磁感应强度b反向时,霍尔电动势也反向。图2为霍尔元件的原理结构图。图2 霍尔元件原理结构图若控制电流保持不变,则霍尔感应电压将随外界磁场强度而变化,根据这一原理,可以将两块永久磁钢固定在电动机转轴上转盘的边沿,转盘随被测轴旋转,磁钢也将跟着同步旋转,在转盘附近安装一个霍尔元件,转盘随轴旋转时,霍尔元件受到磁钢所产生的磁场影响,输出脉冲信号。传感器内置电路对该信号进行放大、整形,输出良好的矩形脉冲信号,测量频率范围更宽,输出信号更精确稳定,已在工业,汽车,航空等测速领域中得到广泛的应用。其频率和转速成正比,测出脉冲
32、的周期或频率即可计算出转速1。 2.2.2 放大电路转速信号处理电路包括信号放大电路、整形及三极管整形电路。我们采用三个运算放大器对其进行信号的放大。图3为我所设计的信号放大的电路图。图3 信号放大电路由于产生的电压信号很小,所以要进行放大处理,一般要放大至少1000倍(60db),然后再进行信号处理工作。信号放大装置选用运算放大器tl084作为放大电压放大元件,采用三级放大电路,前两级级都采用反响比例运算电路,第三级采用回滞电压电路,同时也是后续整形电路的一部分,如图3所示。设计的电压放大倍数为3000倍。其中第一级放大倍数为反向30倍,第二级放大倍数为反向2倍,第三级约为同向50倍,。放大
33、后电压变化范围为04.8v。tl084采用12v双电源供电,由于电源的供电电压在一定范围内有幅值上的波动,所以会形成干扰信号。为起到消除干扰,实现滤波作用,故供电电源两端需接10uf的电容接地,电容选择金属化聚丙已烯膜电容。两级运放放大所采用的供电电源均采用此种接法。第一级与第二级的电路原理比较简单,有放大器的虚短与虚断,可得知其放大的倍数,不做过多分析。第三级为放大与整形的公共部分,其具体分析见下文。2.2.3 整形电路 整形电路的主要作用是将正弦波信号转化为方波脉冲信号,正弦波信号电压的最大幅值约为4.8v,最小幅值为0v。整形电路设计的是一种回滞电压比较器,它具有惯性,起到抗干扰的作用。
34、从而向输入端输入的回滞比较器。在整形电路的输入端接一个电容c5(103),起到的作用是阻止其他信号的干扰,并且将放大的信号进行滤波,解耦。r9和r11是防止电路短路,起到保护电路的作用。图4为我所设计的信号整形电路。图4 信号整形电路一次整形后的信号基本上为2.5v的电平的脉冲信号,在脉冲计数时,常用的是+2.5v的脉冲信号。如果直接采用-2.5v的脉冲计数,会增加电路的复杂性,故一般不直接使用,而是先进行二次整形。第二次用三极管整形电路,当输出为-2.5v的信号时,三极管q2(8050)的基-射极和电阻r14组成并联电路,电流经过r8、r14,三极管q2处于反向偏置状态,所以,q2的集-射极
35、未接通,故处于截止状态。电源回路由r15,三极管q2的集-射极组成,采用单电源+4v供电,由于集射极截止,处于断路状态,故输出电压u0为+4v。当第一次整形输出为+2.5v的信号时,三极管vt2基-射极处于正向偏置状态,有电流i通过,故此时三极管的集-射极处于通路状态。电源电流流经电阻r15,三极管的集-射极到地端,由于集-射极导通时的电阻很小,可以忽略不计。电源电压主要在r19上,其输出电压约为0v。综上所述,三极管整形的电路的输入关系是:信号为-2.5v时,u0=+4v;信号为+2.5v时,u0=0v。2.3 单片机处理系统设计2.3.1 单片机at89c51 单片机我们采用at89c51
36、(其引脚图如图5),相较于intel公司的8051它本身带有一定的优点。at89c51是一种带4k字节闪烁可编程可擦除只读存贮器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos 8位微处理器,俗称单片机。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器, at89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案2。图5所示为at89c51的引脚图。图5
37、 at89c51引脚图该型号单片机具有以下多个特点和功能。与mcs-51 兼容。4k字节可编程闪烁存储器 寿命:1000写/擦循环。数据保留时间:10年。全静态工作:0hz-24hz。三级程序存储器锁定。128*8位内部ram。32可编程i/o线。两个16位定时器/计数器。5个中断源。 片内振荡器和时钟电路。vcc:供电电压。gnd:接地。此外,at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件
38、复位为止。2.3.2 复位电路mcs-51单片机复位电路是指单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使cpu和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。图6 rc上电复位电路 图7 rc按键复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时
39、间。单片机的复位是由外部的复位电路来实现的。片内复位电路是复位引脚rst通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的s5p2,由复位电路采样一次。复位电路通常采用上电自动复位(如图6)和按钮复位(如图7)两种方式3。而在单片机的实际应用中,两种复位电路都要有的,系统会自动地附带上电复位电路。图8所示为我的设计中的按键复位电路。图8 复位电路2.3.3 晶振电路晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。xtal1:
40、反向振荡放大器的输入及内部时钟工作电路的输入。xtal2:来自反向振荡器的输出。振荡器特性。xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石英振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。图9 晶振电路at89c51单片机内部有一个用于构成振荡器的高增益反相放大器。引脚xtal1和xtal2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容c1和c2
41、构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12mhz,电容应尽可能的选择陶瓷电容,电容值约为30f。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作4。图9所示为我所设计的晶振电路。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。2.3.4 输入与输出接口 单片机有p0,p1,p2和p3四个可供使用的输入与输出口。本次设计时,p3
42、口特殊功能我没有使用,不做过多分析。设计中,我运用p0口来输出8位数码管显示,运用p2口进行位选,来实现显示的动态扫描,只用一个p3口进行模拟频率信号的输入,产生中断信号,来计算所测频率,即换算为所测的电机转速。各接口的使用相对简单,就不对各个接口进行分析。图10所示为本次设计使用的接口图。图10 接口电路图2.4 led显示许多电子产品上都有跳动的数码来指示电器的工作状态,其实数码管显示的数码均是由八个发光二极管构成的。每段上加上合适的电压,该段就点亮。led数码有共阳和共阴两种,把这些led发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共
43、阴的,那么应用时这个脚就分别的接vcc和gnd。再把多个这样的8字装在一起就成了多位的数码管了,如图10所示。图11 数码管为使发光二极管有足够的驱动电压,点亮时亮度足够大,此次设计中,我们采用共阳型数码管。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。具体研究见软件设计的显示程序。3 系统软件设计硬件电路完成以后,采用c语言进行系统软件设计。首先要分析系统对软件的要求,然后进行软件的总体的设计,包括程序的总体设计和对程序的模块化设计。按整体功能分为多个不同的模块,单独设计、编程、调试,然后将各个模块
44、装配联调,组成完整的软件。根据设计的要求,单片机的任务是:内部进行计数,在计算出速度后显示。软件编程用c语言完成的,需要能掌握c语言,还要熟练at89c51单片机。从程序流程图、编写程序、编译,到最后的调试,是很复杂的。下面作简单分析:系统软件主程序的功能是完成系统的初始化、显示程序6。/psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。/ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为
45、reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。芯片擦除。整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ale管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。3.1 主程序设计主程序即main程序,其流程图如图12所示。在设计中,先初始化定时器和计数器,然后进入一个不断循环的while程序,在while中,只需要不断刷新数码管显示就行,至于子程序的调用,在中断和显示子程序中自动调用到数码管的显示中。其具体程序及分析如下所示。
46、main() timer_init(); / 定时,计数器初始化 p0=0; / 开始数码管不显示 while(1) xian_shi(); delay(2); / 数码管刷新时间单位毫秒 开始 初始化定时器计数器刷新数码管延时2ms显示图12 主程序流程图3.2 系统初始化单片机复位后的状态。单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器pc0000h,这表明程序从0000h地址单元开始执行。单片机冷启动后,片内ram为随机值,运行中的复位操作不改变片内ram区中的内容,21个特殊功能寄存器复位后的状态为确定值,见表2。 值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对
47、于了解单片机的初态,减少应用程序中的初始化部分是十分必要的。说明:表2中符号*为随机状态。表1 寄存器复位后状态表特殊功能寄存器初始状态特殊功能寄存器初始状态abpsw00h00h00htmodtconth000h00h00hspdpldphp0p3ipie07h00h00hffh*00000b0*00000btl0th1tl1sbufsconpcon00h00h00h不定00h0*bpsw00h,表明选寄存器0组为工作寄存器组; sp07h,表明堆栈指针指向片内ram 07h字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08h单元中;po-p3ffh,表明已向各端口线写入1,
48、此时,各端口既可用于输入又可用于输出 。ip00000b,表明各个中断源处于低优先级; ie000000b,表明各个中断均被关断; 系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。3.2.1 定时器初始化此次设计使用的有两个定时器/计数器t0和t1。计数器的功能是对t0或t1外来脉冲的进行计数,外部输入脉冲负跳变时,计数器进行加1。我们采用的t0与t1分别为计数与定时,方式寄存器tmod的初始化值为ox51,即01010001,都工作于方式1。方式1计数寄存器的位数是16位,由th和tl寄存器各提供8位计数初值,当tl底8位计数满回零向th进位,当th也计数满回零时置位
49、tf。方式1最大计数值为(65536个脉冲),是几种方式中计数最大的方式。定时功能是通过计数器的计数来实现的,每个机器周期产生1个计数脉冲,即每个机器周期计数器加1,因此定时时间等于计数个数乘以机器周期。定时器工作时,每接收到1个计数脉冲(或机器周期)则在设定的初值基础上自动加1,当所有位都位1时,再加1就会产生溢出,将向cpu提出定时器溢出中断身请。当定时器采用不同的工作方式和设置不同的初值时,产生溢出中断的定时值和计数值将不同,从而可以适应不同的定时或计数控制。工作方式寄存器tmod的设定及各位含义如下。gate:门控位,用于控制定时/计数器的启动是否受外部中断请求信号的影响。c/t:定时
50、或计数方式选择位,当c/t=1时工作于计数方式;当c/t=0时工作于定时方式。m1、m0为工作方式选择位 ,用于对t0的四种工作方式,t1的三种工作方式进行选择,选择情况如下表2。本设计为方式1,即:m0m1=01。表2 m1、m0为工作方式选择位mom1工作方式方式说明00110101012313位定时/计数器16位定时/计数器8位自动重置定时/计数器两个8位定时/计数器(只有t0有)3.2.2 中断初始化本次设计中,没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器ie的各位来控制的。中断允许寄存器ie的字节地址为a8h,可以进行位寻址。ie的各位对应的中断源如
51、表3所示。表3 中断位寻址表ied7d6d5d4d3d2d1d0(a8h)eaet2eset1ex1et0ex0 上表中各位的意义如下。ea:中断允许总控位。ea=0,屏蔽所有的中断请求;ea=1,开放中断。 et2:定时器/计数器t2的溢出中断允许位。 es:串行口中断允许位。et1:定时器/计数器t1的溢出中断允许位。 ex1:外部中断 int1的中断允许位。et0:定时器/计数器t0的溢出中断允许位。 ex0:外部中断 int0的中断允许位7。 本次使用的仅有et0的计数器溢出中断允许位,故不多做分析。3.3 定时计数子程序定时计数子程序的设计思路为,首先设置定时器定时为100ms,然后
52、对其赋初值,为:th0=(65535-50000)/256,tl0=(65535-50000)%256。而后,计数器清零,开定时器时开计数器,在定时的100ms内,计数器所计数值,即与频率,转速成一定的比例关系。具体分析如下。计算转速公式:n=60/ntc (r/min)其中,n是内部定时器的计数值,为三字节,分别由th0,tl0,vtt构成。tc为时基,由于采用11.0592m的晶振,所以tc不在是1um,而是12m/11.0592m约为1.08um,带入上面公式,即可得到转速的精确计算公式:n=60*11059200/12n=55296000/n再将55296000化为二进制存入单片机的内
53、存单元。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。图13所示即定时计数子程序的流程图。下面我们将分析除数是如何获得的。单片机的转速测量完成,定时器t0作为内部定时器,外部中断来的时候读取th0,tl0,并同时清零th0、tl0,使定时器再次循环计内部脉冲。此外,对于低速情况下,我
54、们还要设定一个软件计数器vtt,当外部中断还没来而内部定时器已经溢出,产生定时器0中断时,增加vtt,作为三字节中的高字节。三字节组成除数,上面的常数为四字节,所以计算程序实际上就是调用一个四字节除三字节商为两字节(最高转速36000r/min足够)的程序。开始开计数器计数器清零开定时器装定时器初值定时满ny图13 定时计数子程序流程图为数码管能够显示出来,需将二进制转换为十进制,在将十进制转换为非压缩bcd码后,才能调用查表程序,最后送显示。3.4 显示子程序显示程序的设计思路比较简单,即先初始化各段的选位,然后调用显示程序显示。显示中,先按所用段码表预设定好各位显示的段码,之后可直接提取设定段码进行显示。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。我们本次设计采用动态显示驱动,静态显示不做过多分析。开始显示子程序的流程图如图14所示。显示缓存初始化led显示初始化数码显示图14 显示子程序流程图动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极com增加位选通控制电路,位选通由各自独立的i/o线控制,当单片机输出字形码时,所有数码管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质监局访客停车安排
- 环保设备科技公司EICC程序文件
- 儿童心理科护士招聘协议
- 机场装饰石膏线条施工协议
- 心血管专科诊所医师聘用协议
- 2024年ERP系统培训:提升企业竞争力
- 2024年春季新品:《驿路梨花》课件发布
- 2024版《春之声》教案设计:激发学生音乐潜能的策略
- Prisemi芯导MOS产品介绍-BMS 2024 Q3 - Rev0.1
- 教师招聘考试题库《教育公共基础知识》考点强化练习(二)-4
- 能源中国学习通超星期末考试答案章节答案2024年
- 2024广东省云浮市郁南县财政局工程造价类专业人员招聘4人高频难、易错点500题模拟试题附带答案详解
- 军队文职考试《公共科目》试题及答案指导(2024年)
- 山东省青岛市2023-2024学年七年级上学期期末考试数学试题(含答案)
- 2024下半年江苏苏州城市学院招聘管理岗位工作人员27人历年高频难、易错点500题模拟试题附带答案详解
- 小学心理健康课教案分享-《身体“红绿灯”》
- 2022年信息科技课程新课标义务教育信息科技课程标准2022版解读课件
- 小学生防火安全教育课件
- 口语交际:商量(教学设计)2023-2024学年统编版语文二年级上册
- 乡土嵌合:农村社会工作的实践面向与行动路径
- 2024年大学生信息素养大赛(省赛)考试题库(含答案)
评论
0/150
提交评论