基于单片机的电子脉搏计的设计论文

上传人:沈*** 文档编号:149090769 上传时间:2022-09-06 格式:DOC 页数:52 大小:754.50KB
收藏 版权申诉 举报 下载
基于单片机的电子脉搏计的设计论文_第1页
第1页 / 共52页
基于单片机的电子脉搏计的设计论文_第2页
第2页 / 共52页
基于单片机的电子脉搏计的设计论文_第3页
第3页 / 共52页
资源描述:

《基于单片机的电子脉搏计的设计论文》由会员分享,可在线阅读,更多相关《基于单片机的电子脉搏计的设计论文(52页珍藏版)》请在装配图网上搜索。

1、仅供参考,支持原创,鄙视抄袭!基于单片机的电子脉搏计的设计摘 要人们在日常生活或是医学上常常是通过测量脉搏跳动的力度和频率来检测身体的健康状况,而普通的方法是用手按在人腕部的动脉上,根据脉搏的跳动进行计数,这样不仅测量时间长而且精度不高,为了节省测量时间,一般不采用长时间测量,而是几秒钟之内测出脉搏数。本文介绍一种基于STC89C52单片机的电子脉搏计,通过测量腕部动脉的压力,把压力转变为电信号,送入单片机,可以在3秒钟之内精确测量出每分钟脉搏数,测量结果用三位LED数码管显示,并且脉搏波形通过串口送入PC机,实时显示脉搏波形。脉搏计是最常用的医疗检查设备之一,实时准确的脉搏测量在日常生活、患

2、者监控、临床治疗及体育运动等方面都有着广泛的应用。脉搏测量包括瞬时脉搏测量和平均脉搏测量。瞬时脉搏可以反映心率的快慢,同时能反映心率是否匀齐;平均脉搏测量虽然只能反映心率的快慢,但记录方便。本文设计的电子脉搏计可以把这两个参数在测量时都记录下来并且显示,瞬时测量结果通过PC机实时显示,平均脉搏测量结果通过LED七段数码管显示。关键词:STC89C52 单片机 脉搏 串口Based on SCM electronic pulse plan designAbstractPeople in daily life or medicine is often measured by the pulse f

3、requency and strength to detect the health status of body by hand, and ordinary people by the arteries in the wrist, according to a pulse count, thus not only beat measuring time long and accuracy is not high, in order to save the measuring time, generally does not use the long time measurement, but

4、 a few seconds pulse count. Measured This paper introduces a STC89C52 MCU based on the electronic pulse plan, by measuring the pressure, the wrist artery pressure into electrical signals, into a single-chip microcomputer, can accurate measurement in three seconds per minute, a pulse with measurement

5、 results number three LED digital display, and pulse tube through a serial port into PCS, real-time display pulse waveform.Pulse meter is one of the most commonly used in the medical examination device, real-time accurate measurement of the pulse of daily life, patient monitoring, clinical treatment

6、 and other aspects of sports have a wide range of applications. Pulse measurements include transient pulse measurement and the average pulse measurement. Instantaneous heart rate may reflect the speed of the pulse, while heart rate can reflect whether the uniform homogeneous; average heart rate, pul

7、se measurement can only reflect the speed though, but the record of convenience. This design of elec- tronic pulse meter to measure these two parameters are recorded and displayed the time, instantaneous measurements in real time through the PC, shows that the average pulse measurements by seven seg

8、ment LED digital display.朗读显示对应的拉丁字符的拼音字典Keywords: STC89C52; microcontroller; pulse; the serial interface目 录1 引言12 总体设计思路12.1 方案设计与选取12.1.1 总体流程图12.1.2 方案选择12.2 总体电路图23 硬件电路结构模块43.1 单片机的选取43.1.1 STC89C52引脚功能说明43.1.2 振荡电路53.1.3 复位电路53.2 AD转换电路模块63.2.1 ADC0809引脚功能63.2.2 ADC0809主要特性73.2.3 ADC0809工作过程73

9、.2.4 ADC0809与单片机接口电路83.2.5 ADC0809与PC机连接93.3 传感器的选取104 软件程序设计134.1 脉搏计数模块的设计134.1.1 脉搏计数程序方案的选取134.1.2 脉搏计数代码设计144.2 LED数码管显示模块设计154.2.1 显示模块的选取154.2.2 LED数码管与单片机的接口电路164.2.3 LED数码管驱动程序的设计174.3 AD转换模块的设计184.4 串口发送程序设计194.5 上位机程序及界面设计204.5.1 上位机程序的设计204.5.2 上位机界面的设计214.6 扩展血压计功能225 软硬件调试236 结论27谢辞28参

10、考文献29附录30外文资料36毕 业 设 计1 引言随着经济的飞速发展和人民生活水平的日益提高,有关心脑血管疾病的发病率与死亡率正在呈逐年上升趋势,这就需要一种方便的方法来测量心脑血管的健康状况,可以实时观测和评估人体的健康状况。从古到今中外医学界都重视从脉搏波中提取人体的健康状况,并作为临床诊断和治疗的依据。世界上几乎所有的民族都用过摸脉来作为诊断疾病的手段,因为脉搏处跳动压力比较明显。脉搏波所显示出的波形、压力强度、频率和节奏等方面的综合信息,在很大程度上可以反映出人体心脑血管系统中许多生理病理的健康状况。直接用手摸脉测量误差较大,并且无法实时观测。如果采用电子测量计,有利于精确测量,还可

11、以借助PC机进行高效、合理的判断和分析。随着集成电路技术的发展,电子脉搏计必然向微型化、大众化、智能化的方向发展。脉搏计是最常用的医疗检查设备之一,实时准确的脉搏测量在日常生活、患者监控、临床治疗及体育运动等方面都有着广泛的应用。脉搏测量包括瞬时脉搏测量和平均脉搏测量。瞬时脉搏可以反映心率的快慢,同时能反映心率是否匀齐;平均脉搏测量虽然只能反映心率的快慢,但记录方便。本设计这两个参数在测量时都会被记录并且显示,瞬时测量结果通过PC机实时显示,平均脉搏测量结果通过LED七段数码管显示。为了适应人们生活中的需要,本文设计一款基于压电传感器的电子脉搏计,实现瞬时脉搏测量和平均脉搏测量,并将测量结果用

12、数字显示。该电子脉搏计具有误差小,体积小易于携带的特点。家中备有这样的一款脉搏计,就可以在日常生活中监控自己和家人的心率变化,可以有效防止和控制多种疾病的发生和变化,达到日常保健的目的。测量范围广,测量精度高,显示采用三位十进制数显示。其设计思路是用压电传感器把待检测对象的脉搏跳动转变成电信号,但是由于信号比较微弱,需要经过传感器内部放大整形滤波后才可以得到规则的脉冲波形。处理后的信号经过单片机定时计数后通过译码电路就可以从数码管直接读出被测对象的脉搏数了。同时记录每一次脉搏跳动的间隔和力度,实时记录绘制曲线,分析数据。定时由基准时间产生电路完成。STC89C52 单片机构成的控制电路在硬件的

13、作用下控制脉搏信号放大、整形和倍频后再通过软件进入定时计数器的时间。该基于单片机的电子脉搏计优点是制作简单,使用元器件少,工作稳定可靠,显示直观,误差不大于1%,成本低廉且能节电。2 总体设计思路2.1 方案设计与选取2.1.1 总体流程图设计的总体流程图如图2-1所示:信号采集放大整形单片机模数变换数码管显示上位机显示图2-1 总体流程图2.1.2 方案选择方案1:1.信号采集 脉搏传感器将脉搏跳动的压力信号转换为与此相对应的电信号。2.放大电路 将传感器所采集到的微弱电流电压放大,可采用高输入阻抗的非门进行放大。3.低通滤波 空气中存在的高频信号对信号采集有影响,需要进行滤除,只让低频脉冲

14、信号通过。对脉搏信号进行采集的时候,空气中交流工频干扰最大,根据有源滤波的原理,在接至非门的输入与输出之间作为直流偏置电阻上并联一个电容。4.整形电路 可用两个非门组成的施密特触发器对放大后的信号进行整形。5.计数、译码、显示 用来读出脉搏数,并以十进制数的形式由数码管显示。方案2:1.信号采集 脉搏传感器将脉搏跳动的压力信号转换为与此相对应的电信号。2.放大电路 用普通运放进行发大,为达到高输入阻抗的要求,采用同相比例放大。3.低通滤波 在运放的反馈电阻上并联一个电容,达到滤波的效果。4.整形电路 通过集成运算放大电路运放组成的单限比较器进行脉冲整形。方案3:1.信号采集与放大 与方案1和方

15、案2中不同的是信号的采集和放大用一个MB-4型传感器实现,传感器不仅能把压力信号转变为电信号,而且还能通过传感器内部电路把信号放大输出。2.波形整形 由于单片机中断不识别脉搏波,所以放大后的信号通过555芯片构建的施密特触发器,将放大后的脉搏波转变为单片机实现的方波信号。3.模数变换 将信号送入模数变换后将模拟信号转变为数字信号送入单片机,为上位机波形显示部分做准备。4.数码管显示 用来读出脉搏数,并以十进制数的形式由数码管显示。通过以上方案对比观察可以得出,方案3中传感器的选取简单易行,节约了许多外围电路的空间,缩小了整体电路的体积,更加便于携带,如果价格合适的话,是最优的方案选择。波形整形

16、部分,方案3中的由555定时器构成的施密特触发器,电路搭构简单易行,与前两个方案相比减少了电路器件的繁琐度。采用数码管显示,节约设计成本,而且可以实现实时显示的功能。综合考虑,设计选择方案3的整体设计思路进行设计。2.2 总体电路图总体电路图如图2-2所示:图2-2 总体电路图单片机的P1口八个引脚分别与LED数码管的八段段码显示控制端相连接,构成了片选控制端,单片机的P3.3P3.5引脚分别接到LED数码管位选控制端,当程序控制单片机发送相应的字符时,数码管便会相应的点亮,从而实现每分钟脉搏数目的显示,这就是显示模块的设计。ADDA、ADDB、ADDC3位地址输入线接地,即选用IN0通道,模

17、拟信号通过IN0通道输入;时钟控制信号通过CLOCK端口输入,时钟频率选择为500kHz;A/D转换启动脉冲输入端START与单片机的P2.4引脚相连;数据输出允许信号输入端OE与单片机的P2.5引脚相连,通过单片机的P2.4与P2.5引脚控制ADC0809芯片。当转换完成后数据通过ADC0809的OUT1OUT8引脚送入单片机的P0.0P0.7引脚进行处理。总体电路框图用信号发生器代替传感器模拟采集到的信号,一路送入单片机,经过单片机的处理后送LED数码管显示每分钟的脉搏数。一路送到ADC0809芯片进行模数转换,并将转换后的信号送入单片机,信号经过单片机的处理后送到上位机实时显示脉搏波波形

18、。3 硬件电路结构模块3.1 单片机的选取考虑到单片机作为整体电路设计的核心工作单元,选取STC89C52型号的单片机作为总处理器。STC89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory)的低电压,高性能CMOS8的微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。其芯片引脚图如下图3-1所示:图3-1 STC89C52芯片引脚图STC89C52主要功能:兼容MCS51指令系统、32个双向I/O口、3个16位可

19、编程定时/计数器中断、2个串行中断、2个外部中断源、2个读写中断口线、低功耗空闲和掉电模式、8K可反复擦写Flash ROM、256x8bit内部RAM、时钟频率0到24MHz、可编程UART串行通道、共6个中断源、3级加密位、软件设置睡眠和唤醒功能。3.1.1 STC89C52引脚功能说明1可编程输入/输出引脚:STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8根引脚,共32根。P0口:8位双向I/O口线,名称为P0.0P0.7。P1口:8位准双向I/O口线,名称为P1.0P1.7。P2口:8位准双向I/O口线,名称为P2.0P2.7。P3口:8位准

20、双向I/O口线,名称为P3.0P3.7。2控制引脚:RST/VPP:复位引脚,引脚上出现2个机器周期的高电平将使单片机复位、ALE/PROG:地址锁存允许信号、PSEN:外部存储器读选通信号、EA/VPP:程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。3外接晶振引脚:XTAL1:片内振荡电路的输入端、XTAL2:片内振荡电路的输出端。4电源引脚:VCC:电源输入,接5V电源、GND:接地线 11。3.1.2 振荡电路单片机的时钟信号由内部振荡电路产生,振荡电路如图3-2所示:图3-2 振荡电路本系统选取的晶振频率为12MHz,电容选择30pF。经

21、计算得单片机工作机器周期为1s。3.1.3 复位电路复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续二个机器周期以上。若使用频率为12MHz的晶振,则复位信号持续时间应超过2s才能完成复位操作1。复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经

22、电阻与Vcc电源接通而实现的,而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,按键电平复位电路如图3-3所示:图3-3 按键电平复位电路上述电路图中的电容、电阻参数适用于12MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用按键电平复位方式,由于程序运行出错或操作错误使系统处于死锁状态时,此方式无需重新上电,直接按键复位即可,操作简单。3.2 AD转换电路模块AD转换即模数转换,就是把模拟信号转换成数字信号,以便于计算机进行处理。目前广泛应用在单片机系统中的主要有积分型、逐次比较型、并行比较型/串并行型、-调制型、电容阵列逐次比较型、压频变换型。打算采用的具

23、体芯片型号为逐次比较型ADC0809、AD574A与双积分型AD转换器MC14433。考虑到转换精度、速度和芯片价格,本设计采用ADC0809,ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式AD转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行AD转换。ADC0809是目前国内应用最广泛的8位通用AD芯片,ADC0809芯片有28条引脚,采用双列直插式封装。3.2.1 ADC0809引脚功能下面说明各引脚功能:IN0IN7:8路模拟量输入端。D0D8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线

24、,用于选通8路模拟输入中的一路。START:A/D转换启动脉冲输入端,输入一个正脉冲使其启动,脉冲上升沿使ADC0809复位,下降沿启动A/D转换。EOC:A/D转换结束信号输出端,当A/D转换结束时,此端输出一个高电平,转换期间一直为低电平。OE:数据输出允许信号输入端,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。REF+、REF-:基准电压。Vcc:电源,单一+5V、GND:地 13。3.2.2 ADC0809主要特性ADC0809主要特性:8路输入通道,8位A/D转换器,即分辨率为8位、具有转

25、换启停控制端、时钟为640kHz时转换时间为100s,时钟为500kHz时130s、单个+5V电源供电、模拟输入电压范围0+5V,不需零点和满刻度校准、工作温度范围为-40+85摄氏度、低功耗,约15mW。3.2.3 ADC0809工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿时启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量

26、输出到数据总线上。转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式确认AD转换是否完成 12。1定时传送方式 对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809在时钟频率为500kHz时转换时间为128s,相当于12MHz的MCS-51单片机共128个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,当延迟时间到达时,转换可以确定已经完成了,接着就可进行数据传送。2查询方式A/D转换芯片可以利用表明转换完成的状态信号,例如

27、ADC0809的EOC端。因此可以用查询方式,查询EOC的状态,即可判断转换是否完成,并接着进行数据传送。3中断方式用转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。本设计采用单独通道,定时传送方式,ADDA、ADDB、ADDC3位地址输入线接地,即选用IN0通道输入模拟信号,经ADC0809转换完成后将数字信号采用定时传送方式传入单片机进行数据处理,然后单片机把数据经过MAX232电平转换后送入PC机串口,PC机根据所接收的数据经过VB界面实时绘制波形。3.2.4 ADC0809与单片机接口电路由于proteus仿真软件不支持ADC0809芯片仿真,所以采用ADC080

28、8芯片代替ADC0809,其功能特性与ADC0809芯片相同,软件仿真时采用ADC0808芯片,实际硬件电路中采用ADC0809芯片,无论是仿真还是实际硬件其与单片机接口电路相同,ADC0808与单片机接口电路如图3-4所示:图3-4 ADC0808与单片机接口电路由图3.4接口电路可以看出:ADDA、ADDB、ADDC3位地址输入线接地,即选用IN0通道,模拟信号通过IN0通道输入;时钟控制信号通过CLOCK端口输入,时钟频率选择为500kHz;A/D转换启动脉冲输入端START与单片机的P2.4口相连;数据输出允许信号输入端OE与单片机的P2.5口相连,通过单片机的P2.4与P2.5端口控

29、制ADC0809芯片。当转换完成后数据通过ADC0809的OUT1OUT8端口送入单片机的P0.0P0.7进行处理。3.2.5 ADC0809与PC机连接本设计需要单片机与PC机间实现实时通信,PC机内基本上都装有一个RS-232异步通信适配板,它的主要工作器件是可编程的UART芯片,从而可以使PC机有能力与其他具有标准RS-232串行通信接口的其他设备进行通信。STC89C52单片机本身具有一个全双工的串行口,但其串行口为TTL电平,需要外接一个TTL-RS-232电平转换器这样才能使单片机的串口与PC的RS-232串行口进行连接,这样便可以组成一个简单的串行通信接口。由于PC机的RS-23

30、2逻辑电平与单片机的TTL电平不兼容,为了实现单片机与PC机的通信,必须进行电平转换,因此本设计采用由美国MAXIM公司生产的MAX232芯片,它是目前应用较为普遍的串行口电平转换器。PC机串口输出电压可高达12V,若直接与单片机相连会烧坏芯片,所以要借助于MAX232芯片来进行相应的电平转换。MAX232芯片用+5V电源供电,另外需要外接几个电容便可以完成从TTL电平到RS-232电平的转换,仅仅需要连接STC89C52单片机的RXD和TXD引脚便可以实现数据的传输 12。MAX232芯片与单片机和串口的电路连接图如图3-5所示:图3-5 MAX232接口电路在实际的焊接过程中一定要认真细心

31、,在看好引脚序号和硬件引脚必须一致,否则当硬件焊接好后在调试过程中会遇到许多意想不到的问题,不仅需要花很长时间去检查究竟是哪个地方出错了,如何修改,事倍功半,效果很不理想。在调试硬件时串口老是接收不到数据,在经过多次修改程序与硬件电路检查后终于发现是MAX232与串口的引脚错接到引脚8导致了以后许多不必要的工作量,既浪费时间又浪费精力,所以说认真细心的态度是工作中所必需的。3.3 传感器的选取本设计中关键之处在于信号的采集,信号采集可以分为压电式信号采集或光电式信号采集,由于光电信号采集相对误差较大,可控制度低且成本比较高。于是本设计采用压电式传感器采取信号。考虑到的压电式传感器有压电薄膜传感

32、器、压电陶瓷片、HK-2000系列的脉搏传感器、MB-4型脉搏波传感器和SC0073微型脉搏传感器。SC0073微型动态脉搏微压传感器的主要性能指标如下:压力范围: 1Kpa灵敏度: 0.2mv/pa非线性度: 1% F.S频率响应: 11000HZ标准工作电压: 3V (DC)扩充工作电压: 1.56V (DC)标准负载电阻: 10K扩充电阻: 5K20K外形尺寸: SC0073-A F12.7 X 7.6由以上性能指标可以看出SC0073微型动态脉搏微压传感器具有比较高的灵敏度,非线性比较好,频率响应范围很广,但如果人体脉搏每分钟心跳少于60下,则有可能检测不到脉搏信号,扩充工作电压可以与

33、单片机的工作电压相匹配,节省了另外独立的工作电源。外形尺寸小巧轻便,价格在60元左右。总体来说,除了测量脉搏范围有一点儿不足外。其他各方面的性能都值得考虑。HK-2000A集成化脉搏传感器性能指标如下:电源电压:312VDC压力量程:-50+300mmHg过载:100倍输出高电平:大于VCC-1.5V 输出低电平:小于0.2VHK-2000A集成化脉搏传感器采用高度集成化工艺将力敏元件PVDF压电膜、灵敏度温度补偿元件、感温元件、信号调理电路集成在传感器内。脉搏波动一次输出一正脉冲。该产品可用于脉率检测,主要用于运动、健身器材中的心率测试。其灵敏度高、抗干扰性能强、过载能力大、一致性好,性能稳

34、定可靠,使用寿命长。价格在100元左右。HK-2000B集成化脉搏传感器性能指标如下:电源电压:56VDC压力量程:-50+300mmHg灵敏度:2000uV/mmHg灵敏度温度系数:110-4/精度:0.5%重复性:0.5%迟滞:0.5%过载:100倍HK-2000B集成化脉搏传感器采用高度集成化工艺将力敏元件PVDF压电膜、灵敏度温度补偿元件、感温元件、信号调理电路电路集成在传感器内。主要应用于无创心血管测试,中医脉象诊断。其灵敏度高、抗干扰性能强、过载能力大、一致性好,性能稳定可靠,使用寿命长。价格在240元左右。HK-2000C集成化数字脉搏传感器在HK-2000B集成化脉搏传感器基础

35、上增加了程控放大电路、基线调整电路、A/D转换电路、串行通信电路,使用户使用更方便、快捷。性能指标同HK-2000B集成化脉搏传感器。价格在480元左右。MB-4型脉搏波传感器主要性能指标如下:1频率响应:0.135Hz2灵敏度:2mv/Pa ( 对于正常脉搏波信号,输出幅度可达34Vpp)3绝缘阻抗:1000M4输出阻抗:0 ; t- ) ;LED数码管采用动态扫描方式显示,相应的就需要动态扫描函数来控制,首先定义一个局部变量,通过局部变量的变化来控制LED数码管的位选控制端和段码显示控制,当这些设定好后,要想使亮着的数码管持续时间能够满足人的视觉暂留效果,便需要调用延时子函数使其延时时间满

36、足需求,本设计选用的延时时间为1.5ms。具体程序如下所示:Scan () /LED数码管扫描子函数 uchar k; /定义局部变量k for ( k=0; k3; k+ ) /通过k控制哪个数码管显示 Discan = scan_con k ; /位选控制位送P3口 DiSdata = dis_7 display k ; /字码段数据位送P1口 delay_us ( 150 ); /设定延时时间为1.5ms 4.3 AD转换模块的设计虽然ADC0809芯片是可以用来进行8路信号同时输入循环检测的,但本设计只采用单独通道进行信号转换,因为这个芯片应用普遍价格实惠,所以选用此芯片。代码设计中采

37、用定时传送方式,把ADDA、ADDB、ADDC三个地址输入线都接地,即选用IN0通道输入模拟信号,经ADC0809转换完成后将数字信号采用定时传送方式传入单片机进行数据处理。因为对于一种方式的A/D转换其来说,转换时间是已知的和固定的。例如ADC0809在时钟频率为500kHz时转换时间为128s,相当于12MHz的MCS-51单片机共128个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,当延迟时间到达时,转换可以确定已经完成了,接着就可进行数据传送。程序代码设计中首先令START为1,延时一段时间后将主次逼近寄存器复位,然后再令START为0,启动AD转换并延时,随后E

38、OC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换工作结束,并将转换结果存入锁存器,接着设置OE为1,打开输出三态门,并将转化的数字量输出到数据总线上传到P0口,P0口数据再送入单片机的数据缓存单元等待处理,之后设置OE为0,关闭输出三态门。具体AD转换子程序代码如下所示:void ad () unsigned int i , j ; /声明局部变量i,j START = 1 ; /使其逐次逼近寄存器复位 For ( i=0 ; i 5 ; i+ ) ; /延时等待复位完成 START = 0 ; /启动AD转换,并使EOC信号为低电平 For ( i = 0

39、 ; i 1000 ; i+ ) /进行AD转换 ; /延时等待 OE = 1 ; OE = 1 ; OE = 1 ; /读取数据 ad_data = P0 ; /将P0口收到的数据存放起来 OE = 0 ; 通过上述AD转换子程序,输入到单片机的模拟信号将会被转变成相应的数字信号,让后就可以通过串口发送程序将数字信号发送到上位机上进行实时显示。4.4 串口发送程序设计串行口由串行口控制寄存器SCON和特殊功能寄存器PCON来控制。串行口控制寄存器SCON控制着串行口四种工作方式的选择、多机通信控制位、串行接受允许位、发送的第九位数据、接收的第九位数据、发送与接收的中断标志位,特殊功能寄存器P

40、CON的D7位SMOD为波特率选择位。在使用串行口之前首先要对其进行初始化编程即设定串口的工作方式、启动发送或接受数据、波特率。首先通过定时/计数器的方式控制寄存器TMOD选择定时器1,工作方式选择方式2,8位自动重装。串行工作方式通过串行口控制寄存器SCON选择工作方式1,为8位异步通信方式,波特率的选择控制由特殊功能寄存器PCON和定时/计数器1来共同控制,选择数据传输的波特率为9600bit/s。之后启动定时/计数器1。具体的串行口初始化子程序如下所示:void init_serial ( void ) TMOD | = 0x20 ; /定时器1, 方式 2, 8位自动重装 SCON |

41、 = 0x40 ; /串行工作方式1, 8位异步通信方式 PCON | = 0x00 ; /SMOD=1,表示数据传输率加倍 TH1 = 0xfd ; TL1 = 0xfd ; /数据传输率:9600 fosc=11.0592MHz TR1 = 1 ; /启动定时器1 当串行口初始化完成后,便可以把从ADC0809芯片中送到单片机的数字信号通过串口向上位机发送了,这就在软件上需要串行口发送子程序,串行口的发送子程序如下所示:void send_char ( unsigned char x ) SBUF = x ; /将x送入数据缓存区 while ( TI = 0 ) ; /启动发送过程 TI

42、 = 0 ; /由软件将TI置0上述串行口发送子程序中,TI为发送中断标志位,在TI=0时,当CPU执行一条向SBUF写数据的指令时,就启动发送过程。经过一个机器周期,写入发送数据寄存器的数据由TXD的引脚输出,发送时钟由定时/计数器T1送来的溢出信号经过16分频后得到。在发送时钟的作用下,先通过TXD端送出一个低电平的起始位,然后是低位在前高位在后的8位数据,之后是一个高电平停止位。此程序设计工作在串行工作方式1,在停止位开始发送时由硬件置位的同时TI置位,标志着上一个数据发送完毕,这时CPU可以通过串行口发送下一个数据了,在CPU响应中断后,TI不能自动清零,必须由软件置0。4.5 上位机程序及界面设计当信号从单片机通过串口经MAX232电平转换后送入PC机进行信号处理时,这就需要上位机接收程序及界面的设计,考虑到VB语言可视化编程、事件驱动的编程机制的优点,本设计采用VB语言进行上位机程序及界面的设计。经常使用的串行通信方式有两种,一种是 RS-232 串行通信,另一种是 RS-485 串行通信。 每台计算机上都配有数个USB 接口和两个RS-232 串行通信端口,通常有 COM1 与 COM2 两个端口。最为简单的与计算机连接的通信接口就是 RS-232 串行通信端口。 4.5.1 上位机程序的设计如果需要通过VB设计平台与RS-232相结合,则必须会用到MS

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!