传感器原理——基于霍尔传感器的转速测量系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
传感器原理及应用期末课程设计之袁州冬雪创作题目基于霍尔传感器的转速丈量电路设计
姓名小波学号8888888888
院(系)电子电气工程学院
班级清华大学——电子信息
指导教员牛人职称博士后
二O一一年七月十二日
摘要:转速是发动机重要的工作参数之一,也是其它参数计算的重要依据.针对工业上罕见的发动机设计了以单片机STC89C51为节制核心的转速丈量系统.系统操纵霍尔传感器作为转速检测元件,并操纵设计的调理电路对霍尔转速传感器输出的信号停止滤波和整形,将得到的尺度方波信号送给单片机停止处理.实际测试标明,该系统能知足发动机转速丈量要求.
关键词:转速丈量,霍尔传感器,信号处理,数据处理
Abstract: The rotate speed is one of the important parameters for the engine, and it is also the important factor that calculates other parameters. The rotate speed measurement system for the common engine is designed with the single chip STC89C51. The signal of the rotate speed is sampled by the Hall sensor, and it is transformed into square wave which will be sent to single chip computer. The result of the experiment shows that the measurement system is able to satisfy the requirement of the engine rotate speed measurement.
Key words: rotate speed measurement, Hall sensor, signal processing, data processing
目录
1 前言 (3)
2 系统概述 (3)
2.1 系统组成 (3)
2.2 处理方法 (4)
2.3 系统工作原理 (5)
3 系统硬件电路设计 (6)
3.1 单片机主控电路设计 (6)
3.2 脉冲发生电路设计 (8)
3.3 按键电路设计 (9)
3.4 数据显示电路设计 (10)
3.5 稳压电源设计 (12)
3.6 串行通信模块设计 (13)
4 系统软件设计 (15)
5 制作调试 (17)
5.1 硬件调试 (17)
5.2 软件调试 (18)
6 测试成果分析 (18)
结论 (20)
参考文献 (21)
致谢 (22)
附录A (22)
1 前言
在工农业生产和工程实践中,常常会遇到各种需要丈量转速的场合,例如在发动机、电动机、卷扬机、机床主轴等旋转设备的试验、运转和节制中,常需要丈量和显示其转速.要测速,首先要处理的是采样问题.丈量转速的方法分为摹拟式和数字式两种.摹拟式采取测速发电机为检测元件,得到的信号是摹拟量.早期直流电动机的节制均以摹拟电路为基础,采取运算放大器,非线性集成电路以及少量的数字电路组成,节制系统的硬件部分非常复杂,功能单一,而且系统非常不矫捷、调试坚苦.数字式通常采取光电编码器、圆光栅、霍尔元件等为检测元件,得到的信号是脉冲信号.随着微型计算机的广泛应用,单片机技术的日新月异,特别是高性能价格比的单片机的出现,转速丈量普遍采取以单片机为核心的数字式丈量方法,使得许多节制功能及算法可以采取软件技术来完成,智能化微电脑代替了一般机械式或摹拟式布局,并使系统能达到更高的性能.采取单片机构成节制系统,可以节俭人力资源和降低系统成本,从而有效的提高工作效率.
直流电动机具有杰出的起动、制动性能,宜于在大范围内平滑调速.测速电机的电压高低反映了转速的高低,在许多需要调速或疾速正反向电力拖动范畴中得到了广泛的应用.从节制的角度来看,直流调速还是交流拖动系统的基础.本文先容一种用STC89C51单片机丈量小型电动机转速的方法.系统以单片机STC89C51为节制核心,用NJK-8002D霍尔集成传感器作为丈量小型直流电机转速的检测元件,颠末单片机数据处理,用8位LED 数码管动态显示小型直流电机的转速.
2 系统概述
2.1 系统组成
系统由传感器、信号预处理电路、处理器、显示器和系统软件等部分组成.传感器部分采取霍尔传感器,负责将电机的转速转化为脉冲信号.信号预处理电路包含待测信号放大、波形变换、波形整形电路等部分,其中放大器实现对待测信号的放大,降低对待测信号的幅度要求,实现对小信号的丈量;波形变换和波形整形电路实现把正负交变的信号波形变换成可被单片机承受的TTL/CMOS兼容信号. 处理器采取STC89C51单片机,显示器采取8位LED数码管动态显示.系统原理框图如图2.1所示:
系统软件主要包含丈量初始化模块、信号频率丈量模块、浮点数算术运算模块、浮点数到BCD码转换模块、显示模块、按键功能模块、定时器中断服务模块.系统软件框图如图2.2所示.
图2.2 系统软件框图
2.2 处理方法
系统的设计以STC89C51单片机为核心,操纵它外部的定时/计数器完成待测信号频率的丈量.测速实际上就是测频,通常可以用计数法、测脉宽法和等精度法来停止测试.所谓计数法,就是给定一个闸门时间,在闸门时间内计数输入的脉冲个数;测脉宽法是操纵待测信号的脉宽来节制计数门,对一个高精度的高频计数信号停止计数.由于闸门与被测信号不克不及同步,因此,这两种方法都存在±1误差的问题,第一种方法适用于信号频率高时使用,第二种方法则在信号频率低时使用.等精度法则对高、低频信号都有很好的适应性.此系统采取计数法测速.单片机STC89C51外部具有 2 个 16 位定时/计数器 ,定时/计数器的工作可以由编程来实现定时、计数和发生计数溢出中断要求的功能.在构成为定时器时,每个机器周期加 1(使用12MHz 时钟时,每 1us 加 1),这样以机器周期为基准可以用来丈量时间间隔.在构成为计数器时,在相应的外部引脚发生从 1 到 0 的跳变时计数器加1,这样在计数闸门的节制下可以用来丈量待测信号的频率.外部输入每个机器周期被采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24 个振荡周期),所以最大计数速率为时钟频率的1/24(使用12MHz时钟时 ,最大计数速率为500KHz).定时/计数器的工作由相应的运行节制位TR节制,当TR置1时,定时/计数器开端计数,当 TR清0时,停止计数.
2.3 系统工作原理
转速是工程上一个常常使用的参数,旋转体的转速常以每分钟的转数来暗示.其单位为 r /min.由霍尔元件及外围器件组成的测速电路将电动机转速转换成脉冲信号,送至单片机STC89C51的计数器 T0停止计数,用T1定时测出电动机的实际转速.此系统使用单片机停止测速,采取脉冲计数法,使用霍尔传感器获得脉冲信号.其机械布局也可以做得较为简单,只要在转轴的圆盘上粘上两粒磁钢,让霍尔传感器接近磁钢,机轴每转一周,发生两个脉冲,机轴旋转时,就会发生持续的脉冲信号输出.由霍尔器件电路部分输出,成为转速计数器的计数脉冲.节制计数时间,即可实现计数器的计数值对应机轴的转速值.单片机CPU 将该数据处理后,通过LED 显示出来.
霍尔传感器
霍尔传感器是对磁敏感的传感元件,由磁钢、霍耳元件等组成.丈量系统的转速传感器选用SiKO 的 NJK-8002D 的霍尔传感器,其响应频率为100KHz ,额定电压为5-30(V )、检测间隔为10(mm ).其在大电流磁场或磁钢磁场的作用下,能丈量高频、工频、直流等各种波形电流.该传感器具有丈量精度高、电压范围宽、功耗小、输出功率大等优点,广泛应用在高速计数、测频率、测转速等范畴.输出电压4~25V ,直流电源要有足够的滤波电容,丈量极性为N 极.装置时将一非磁性圆盘固定在电动机的转轴上,将磁钢粘贴在圆盘边沿,磁钢采取永久磁铁,其磁力较强,霍尔元件固定在距圆盘1-10mm 处.当磁钢与霍尔元件相对位置发生变更时,通过霍尔元件感磁面的磁场强度就会发生变更.圆盘转动,磁钢接近霍尔元件,穿过霍尔元件的磁场较强,霍尔元件输出低电平;当磁场减弱时,输出高电平,从而使得在圆盘转动过程中,霍尔元件输出持续脉冲信号.这种传感器不怕灰尘、油污,在工业现场应用广泛.
转速丈量原理
霍尔器件是由半导体资料制成的一种薄片,器件的长、宽、高分别为 l 、b、d.若在垂直于薄片平面(沿厚度 d)方向施加外磁场B,在沿l方向的两个端面加一外电场,则有一定的电流流过.由于电子在磁场中运动,所以将受到一个洛仑磁力,其大小为:qVB f =
式中:f —洛仑磁力, q—载流子电荷, V—载流子运动速度, B—磁感应强度. 这样使电子的运动轨迹发生偏移,在霍尔元器件薄片的两个正面分别发生电子积聚或电荷过剩,形成霍尔电场,霍尔元器件两个正面间的电位差H U 称为霍尔电压.
霍尔电压大小为: H U H R =d B I /⨯⨯(mV)
式中:H R —霍尔常数, d—元件厚度, B—磁感应强度, I—节制电流 设 H K H R =d /, 则H U =H K d B I /⨯⨯(mV)
H K
为霍尔器件的活络系数(mV/mA/T),它暗示该霍尔元件在单位磁感应强度和
单位节制电流下输出霍尔电动势的大小.应注意,当电磁感应强度B反向时,霍尔电动势也反向.图2.3为霍耳元件的原理布局图.
若节制电流坚持不变,则霍尔感应电压将随外界磁场强度而变更,根据这一原理,可以将两块永久磁钢固定在电动机转轴上转盘的边沿,转盘随被测轴旋转,磁钢也将跟着同步旋转,在转盘附近装置一个霍尔元件,转盘随轴旋转时,霍尔元件受到磁钢所发生的磁场影响,输出脉冲信号.传感器内置电路对该信号停止放大、整形,输出杰出的矩形脉冲信号,丈量频率范围更宽,输出信号更切确稳定,已在工业,汽车,航空等测速范畴中得到广泛的应用.其频率和转速成正比,测出脉冲的周期或频率即可计算出转速.
图2.3 霍耳元件的原理布局图
3 系统硬件电路设计 3.1 单片机主控电路设计
系统选用 STC89C51 作为转速信号的处理核心.STC89C51 包含 2 个16位定时/计数器、4K ×8 位片内 FLASH 程序存储器、4个8位并行I/O 口.16 位定时/计数器用于实现待测信号的频率丈量.8位并行口P0、P2用于把丈量成果送到显示电路.4K ×8 位片内FLASH 程序存储器用于放置系统软件.STC89C51与具有更大程序存储器的芯片管脚兼容,如:89C52(8K ×8 位)或 89C55(32K ×8 位),为系统软件升级打下坚实的物质基础.STC89C51最大的优点是:可直接通过计算机串口线下载程序,而无需专用下载线和编程器.
STC89C51单片机是在一块芯片中集成了CPU 、RAM 、ROM 、定时器/计数器和多功能I/O 口等一台计算机所需要的基本功能部件.其基本布局框图如图3.1,包含: ·一个8位CPU ;
·4KB ROM;
·128字节RAM数据存储器;
·21个特殊功能寄存器SFR;
· 4个8位并行I/O口,其中P0、P2为地址/数据线,可寻址64KB ROM或64KB RAM;·一个可编程全双工串行口;
·具有5个中断源,两个优先级,嵌套中断布局;
·两个16位定时器/计数器;
·一个片内震荡器及时钟电路;
计数脉冲输入
中断输入
图3.1 STC89C51单片机布局框图
STC89C51系列单片机中HMOS工艺制造的芯片采取双列直插(DIP)方式封装,有40个引脚.STC89C51单片机40条引脚说明如下:
(1)电源引脚.V
CC 正常运行和编程校验(8051/8751)时为5V电源,V
SS
为接地端.
(2)I/O总线.P0.0- P7.0(P0口),P0.1- P7.1(P1口),P0.2- P7.2(P2口),P0.3- P7.3(P3口)为输入/输出引线.
(3)时钟.
XTAL1:片内震荡器反相放大器的输入端.
XTAL2:片内震荡器反相放器的输出端,也是外部时钟发生器的输入端.
(4)节制总线.
由P3口的第二功能状态和4根独立节制线RESET、EA、ALE、PSEN组成.
值得强调的是,P3口的每条引脚都可独立定义为第一功能的输入输出或第二功能.如表
3.1所示.
表3.1 P3口线的第二功能定义:
STC89C51单片机的片外总线布局:
①地址总线(AB):地址总线宽为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由P0口经地址锁存器提供8位地址(A0至A7);P2口直接提供8位地址(A8至A15).
②数据总线(DB):数据总线宽度为8位,由P0提供.
③节制总线(CB):由P3口的第二功能状态和4根独立节制线RESET、EA、ALE、PSEN 组成.
3.2 脉冲发生电路设计
LM358外部包含有两个独立的、高增益、外部频率抵偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作形式,在推荐的工作条件下,电源电流与电源电压无关.它的使用范围包含传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合.
LM358的封装形式有塑封8引线双列直插式和贴片式.
特性:
•外部频率抵偿
•直流电压增益高(约100dB)
•单位增益频带宽(约1MHz)
•电源电压范围宽:单电源(3—30V)
•双电源(±1.5一±15V)
•低功耗电流,适合于电池供电
•低输入偏流
•低输入失调电压和失调电流•共模输入电压范围宽,包含接地
图3.3 按键电路图
3.4 数据显示电路设计
数码管布局和显示原理
图3.4为数码管的引脚接线图,实验板上以P0口作输出口,经74LS244驱动,接8只共阳数码管S0-S7.表3.2为驱动LED数码管的段代码表为低电平有效,1-代表对应的笔段不亮,0-代表对应的笔段亮.若需要在最右边(S0)显示“5”,只要将从表中查得的段代码64H写入P0口,再将P2.0置高,P2.1-P2.7置低即可.设计中采取动态显示,所以其亮度只有一个LED数码管静态显示亮度的八分之一.
驱动LED数码管的段代码
数字d p e c g b f a 十六进制
P0.2 共阴共阳
0 1 0 1 1 0 1 1 1 B7 48
1 0 0 0 1 0 1 0 0 14 EB
2 1 0 1 0 1 1 0 1 AD 52
3 1 0 0 1 1 1 0 1 9D 62
4 0 0 0 1 1 1 1 0 1E E1
5 1 0 0 1 1 0 1 1 9B 64
6 1 0 1 1 1 0 1 1 BB 44
7 0 0 0 1 0 1 0 1 15 EA
8 1 0 1 1 1 1 1 1 BF 40
9 1 0 0 1 1 1 1 1 9F 60
这里设计的系统先用 6 位LED数码管动态显示小型直流电机的转速.当转速高于六位所能显示的值(999999)时就会自动向上进位显示.
3 缓冲器74LS244
系统总线中的地址总线和节制总线是单向的,因此驱动器可以选用单向的,如74LS244.74LS244还带有三态节制,能实现总线缓冲和隔离,74LS244是一种三态输出的八缓冲器和线驱动器,该芯片的逻辑电路图和引脚图如图3.5所示.
从图可见,该缓冲器有8个输入端,分为两路——1A1~1A4,2A1~2A4.同时8个输出端也分为两路——1Y1~1Y4,2Y1~2Y4,分别由2个门控信号1G和2G节制,/1G, /2G三态允许端(低电平有效).当1G为低电平时,1Y1~1Y4的电平与1A1~1A4的电平相同,即输出反映输入电平的高低;同样,当2G为低电平时,2Y1~2Y4的电平与2A1~2A4的电平相同.而当1G(或2G)为高电平时,输出1Y1~1Y4(或2Y1~2Y4)为高阻态.经74LS244缓冲后,输入信号被驱动,输出信号的驱动才能加大了.74LS244缓冲器主要用于三态输出的存储地址驱动器、时钟驱动器和总线定向接纳器和定向发送器等.常常使用的缓冲器还有74LS240,241等.
74LS244逻辑电路图
74LS244的极限参数如下:
电源电压 (7V)
输入电压………………………………………………
输出高阻态时高电平电压……………………………
操纵上述器件设计的显示电路如图3.6所示.8个共阳的LED数码管(S0-S7)同名的引脚毗连在一起,由单片机P0口通过74LS244驱动(段节制),R12-R19 为限流电阻.单片机P2口的8个引脚分别通过三极管Q0-Q7节制8个LED数码管的公共端(位节制).
单片机的主时钟为12MHz.
P0口和 P2口都是准双向口,输出时需要接上拉电阻.P0外部没有上拉电阻,P2口外部有弱上拉.所以P0口外围电路设计为低电平有效,高电平无效.要使数码管S0-S7的其中一个亮,其对应的P2端口要置高,P2的其余端口置低.如要让S0数码管亮,则要将即可.
系统将定时把显示缓冲区的数据送出,在数码管LED上显示.
图3.6 显示电路
3.5 稳压电源设计
如图 3.7所示为5-12V持续可调稳压电源,采取L4960芯片制作的输出电流可达10A,输出电压在5-12V间持续可调,是一个实用的开关型稳压电源.其工作原理为:220V交流电源经变压器T1降压,桥堆VD1整流,C1、C2滤波后得到一直流电压.
IC第①、②脚为直流电压输入端,其最高输入电压为+40V.该直流电压经IC外部的
振荡器调制为200kHz 左右的高频开关电压,振荡器的开关频率由外接振荡电容器C4决议.当C4的值取为3300pF 时,电源的开关频率约为200kHz ;R3、C6为环路调节放大器的频率抵偿网络,由第7脚输入.IC 第④脚为抑制输入端,其闭锁电压的阈值为0.7V ,输出电压经取样电阻R2反馈至第④脚后与R1比较,当阈值电压大于0.7V 时,输出关闭,起到短途经流呵护作用.第6脚为输出电压调节节制端,由电位器RP1及电阻R4将输出电压分压后得到调节电压检测值,调节电位器RP1可节制输出电压的大小,输出电压值可由公式:VO=Vref (){}4/1R R R L h ++停止估算.其中,Vref 为基准电压,为2.1V.
IC 为专用开关型稳压集成电路L4960,其外壳接地并接散热器.IC 外围电路中,除振荡电容C4选择高频电容器外,电阻R1、R2应选择允许偏差<1%的高精度金属膜电阻外,其余元件无特殊要求,按图中参数选取小型器件即可.由于输出电压为高频开关式,因此IC 和功率三极管VT 所需的散热器仅为普通稳压电源的三分之一,且性能远远高于普通的稳压电源.
图3.7 5-12V 持续可调稳压电源电路
3.6 串行通信模块设计
STC89C51单片机有一个全双工的串行通信口,以便于单片机和电脑之间停止串口通信.为了与计算机停止通讯,设计了RS232串行通信接口,将该接口与PC 机的串口毗连,可以实现单片机与PC 机的串行通信,停止双向数据传输.停止串行通信要知足一定的条件,比方电脑的串口是RS232电平(-5至-15V 为1,+5至+15V 为0),而单片机的串口是TTL 电平(大于+2.4V 为1,小于+0.7V 为0),二者之间必有一个电平转换电路,图3.8用MAX232集成电路实现RS232电平与TTL 电平的相互转换.此串行通信功能模块完成源程序代码下载到STC89C51芯片中,它需要和微机上的ISP 下载器软件配合使用来完成这样的功能.
所示.
图3.8 MAX232串行通信图3.9 系统总电路
4 系统软件设计
本设计软件主要为主程序、数据处理显示程序、按键程序设计、定时器中断服务程序四个部分.
(1)主程序主要完成初始化功能,包含LED显示的初始化,中断的初始化,定时器的初始化,寄存器、标记位的初始化等.主程序流程图如图4.1所示.
(2)数据处理显示模块程序.此模块中单片机对在1秒内的计数值停止处理,转换成r/min送显示缓存以便显示.详细算法如下:设单片机每秒计数到n个值,即n/2 (r/s)(圆盘贴两个磁钢).则n/2 (r/s)=30n(r/min).即只要将计数值乘以30即可得到每分钟电机的转速.数据处理显示模块流程图如图4.2所示.
图4.1 主程序流程图图4.2 数据处理显示模块流程图
图4.3 按键程序流程图
(3)按键程序设计.按键程序包含按键防抖动处理、判键及修改项目等程序.按键流
程图如图4.3所示.
(4)定时器1中断服务程序设计.定时器1完成计时功能,定时50ms,停止定时中断计数并每隔1s更新一次显示数据.流程图如图4.4所示.
定时器1中断服务程序流程图
5 制作调试
5.1 硬件调试
硬件调试时先分步伐试硬件中各个功能模块,调试成功后再停止统调.装置固定电机和霍尔传感器时,粘贴磁钢需注意,霍尔传感器对磁场方向敏感,粘贴之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试.
霍尔传感器探头要对准转盘上的磁钢位置,装置间隔要在10mm以内才可活络的感应磁场变更.在磁场增强时霍尔传感器输出低电平,指示灯亮;磁场减弱时输出高电平,指示灯熄灭.当电机转动时,感应电压指示灯高频闪烁,所以视觉上指示灯不会有多大的闪烁感.当给NJK 8002D 型霍尔传感器施加15V电压时其输出端可以输出4V的感应电压.输
出幅值为4V的矩形脉冲信号.
LM358整形电路调试:在焊接硬件电路时需细心解除元器件和焊接等方面可以出现的故障,元器件的装置位置出错或引脚插错都可以导致电路短路或实现不了电路应有的功能,甚至烧坏元器件.为方便调试,用信号发生器发生的1KHz的正弦信号送给LM358整形电路,调试直到可以输出矩形脉冲信号为止,该整形电路调试即可完成.然后以此信号为测试信号送给单片机系统,停止丈量、显示等其他功能的调试.
5.2 软件调试
丈量系统与PC机毗连时一定要先毗连串行通信电缆,然后再将其电源线拔出USB接口;裁撤时先断开其电源,再断开串行通信电缆,否则极易损坏PC机的串口.
在停止软件编程调试时需要用到单片机的集成开辟环境MedWin V2.39 软件,编程时极易出现误输入或其他的一些语法错误,最重要的还有一些模块无语法错误却达不到预期的功能,都要颠末调试才干解除.MedWin V2.39 软件具有很强大的编程调试功能,可以摹拟仿真实际单片机的端口和外部功能部件的状态值.该软件中有硬件调试和软件调试功能,可以观察单片机内存单元对应的运行值,可以显示单片机端口、中断、定时器1、定时器2还有串口对应的运行值.可以单步伐试也可以模块调试,最好的是可以对你所怀疑的语句模块设置断点.MedWin V2.39 具有的强大的编译调试功极大地方便了对软件部分的调试.在详细调试过程中,系统将各功能模块如数据处理程序、按键程序设计、中断服务子程序、LED显示程序分别分开停止调试,最后停止主程序的整体调试.编译无误后生成方针代码BIN文件
采取STC 单片机下载软件STC-ISP将其下载到实验板的单片机中.下载软件的最后一步:点击软件STC-ISP界面中的[下载]按钮,在点击前一定要坚持实验板的串行通信线及电源线与PC机毗连杰出,而且实验板的电源开关处于关闭状态,然后点击[下载]按钮,再打开实验板电源开关,此时软件将自动完成程序下载.最后将硬件和软件连系起来整体调试实现系统的测速功能.
6 测试成果分析
设计基本完成题目中的各项要求,其中电机转速的丈量比较切确,与实际转速相差10 转/分左右,精度在全量程范围内优于10转/分,存在一定的误差,经分析主要是由以下原因造成:
1)由于电机的转盘是采取塑料盘片磨制而成,高速旋转时容易打飘不稳,导致获得的脉冲信号频率与实际转速有一定的误差.
2) 中断处理的进入和中断处理程序都会有一定时间的误差,从而导致定时时间的误差,这也是造成丈量误差的一个因素.
3)在固定装置时,由于是手动操纵,从而导致初始获得信号有一定的时差.
结论
霍尔传感器具有不怕灰尘、油污,装置简易,不容易损坏等优点,在工业现场得到了广泛应用.操纵霍尔传感器设计的转速丈量系统以单片机STC89C51为数据处理核心,采取定时器定时中断的方法实现计数,对丈量数据停止计算得到转速数据,并将成果送数码管显示.整个丈量系统硬件电路简单,容易调试,软件部分编程采取C51,有较高的编程效率.测试成果标明对电动机转速的丈量精度较高,基天性够知足实际的测试需要,有一定的实际应用价值.
参考文献
应用实例[M]
[2]谭浩强.C程序设计(第二版)[M].北京:清华大学出版社,1999
[3]谢嘉奎,宣月清,冯军 . 电子线路[M].北京:高等教导出版社,2004
[4]康华光 .电子技术基础[M].北京:高等教导出版社,2004
[5]胡斌 . 图表细说电子元器件[M]
[6][德]克劳斯·[M]
[M]
致谢
附录A
部分程序清单:
//============源代码
_HYTC================================================================ #include <reg51.h>
#include <stdio.h>---
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
//#include <AT89X52.H>
//const uchar code tab1[]={0x48,0xeb,0x52,0x62,0xe1,0x64,0x44,0xea,0x40,0x60};
//const uchar code tab2[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
//uchar buf[8]={0,0,0,0,0,0,0,0};
//unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char code dispbit[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
//unsigned char code
dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
unsigned char codedispcode[]={0x48,0xeb,0x52,0x62,0xe1,0x64,0x44,0xea,0x40,0x60,0xff,0xbf}; uchar dispbuf[8]={0,0,0,0,0,0,10,10};
uchar temp[8];
uchar dispcount;
uchar T0count;
uchar timecount;
bit flag;
unsigned long x;//timecount;
void delay() ;
void main(void)
{
unsigned char i;
P1=0xdf;
TMOD=0x15;//TH1定时,形式1;TH0计数,形式1
TH0=0;
TL0=0;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
ET0=1;
ET1=1;//TH0,1溢出允许中断
EA=1;//允许中断
TR1=1;
TR0=1;//开端计数
while(1)
{
if(flag==1)
{
flag=0;
x=(T0count*65536+TH0*256+TL0)*30;
//x=TH0*256+TL0;
for(i=0;i<8;i++)
{
temp[i]=0;
}
i=0;
while(x/10) //频率代码转换,存入temp[i],送显示缓存dispbuf[i] {
temp[i]=x%10;
x=x/10;
i++;
}
temp[i]=x;
for(i=0;i<6;i++)
{
dispbuf[i]=temp[i];
}
timecount=0;
T0count=0;
TH0=0;
TL0=0;
TR0=1;
}
P0=dispcode[dispbuf[dispcount]];
P2=dispbit[dispcount];
dispcount++;
delay();
if(dispcount==8) {dispcount=0;}
}
}
void t0(void) interrupt 1 using 0
{
T0count++;
}
void t1(void) interrupt 3 using 0
{
TH1=(65536-46500)/256;
TL1=(65536-46500)%256;。