基于单片机的脉冲理疗仪设计Word文件下载.docx
《基于单片机的脉冲理疗仪设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的脉冲理疗仪设计Word文件下载.docx(30页珍藏版)》请在冰豆网上搜索。
2.1方案论证
方案1
本系统采用STC12C5A60S2作为中央处理单元控制脉冲发生电路产生脉冲实现理疗,通过LED数码管时间显示,并通过蜂鸣器实现计时报警。
示意框图2-1如下:
图2-1单片机控制原理框图
方案2
本系统采用FPGA作为中央处理单元控制脉冲发生电路产生脉冲实现理疗,通过LED数码管时间显示,并通过蜂鸣器实现即使报警。
示意图2-2如下:
图2-2FPGA控制原理框图
方案比较:
以上两个方案都可以实现脉冲理疗仪的功能要求。
其中方案一软硬件结合,硬件成本低,软件容易实现,优化型相对比较好,操作简单,容易实现,且满足设计要求。
方案二使用的是软硬件结合,硬件成本高且设计繁琐,软件起点底,操作难,软硬结合不易实现且难修改,且相关设计要求不能达到。
所以选择方案一实现功能。
2.2系统各模块功能简述
1.电源模块
本设计需要+5V电压,由稳压器变压而来。
工作时,只需要插上插头。
2.显示模块
设计中选用LED数码管作为显示器,显示理疗的时间和输出信号的强度。
3.按键模块
本设计需要五个键,一个为复位键,四个为设置时间的时,分,信号的强度和确认键。
4.报警模块
当理疗时间到达预先设定好的时间时,蜂鸣器就会响,表面理疗时间已到。
第3章系统硬件设计
3.1单片机控制模块的设计
本设计采用的单片机为STC12C5A60S2。
STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,具有高速、低功耗、超强抗干扰的功能,是新一代8051单片机,指令代码完全兼容传统的8051,但是速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合[4]。
STC12C5A60S2的引脚图如图3-1所示:
图3-1STC12C5A60S2的引脚图
STC12C5A60S2的各引脚功能如表3-2所示:
表3-2STC12C5A60S2引脚功能表
管脚名称
管脚功能
P0.0—P0.7(39—32)
P0口是一个漏极开路型准双向I/O口。
在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。
在EPROM编程时,它接收指令字节,而在验证程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1.0—P1.7(1-8)
P1口是带内部上拉电阻的8位双向I/O口。
在EPROM编程和程序验证时,它接收低8位地址。
P2.0—P2.7(21-28)
P2口是一个带内部上拉电阻的8位双向I/O口。
在访问外部存储器时,它送出高8位地址。
在对EFROM编程和程序验证期间,它接收高8位地址。
P3.0—P3.7(10-17)
P3口是一个带内部上拉电阻的8位双向I/O口。
VCC(40)
电源端,接5V电源
GND(20)
接地引脚
RST(9)
复位信号输入引脚端口
XTAL2,XTAL1(18-19)
晶体振荡器的接入引脚。
3.2单片机最小系统
单片机最小系统包括:
单片机、晶振电路、复位电路。
单片机最小系统为整个电路提供了时钟信号和复位电路。
下图3-2是STC12C5A60S2单片机的最小系统电路图。
图3-2单片机最小系统
3.2.1单片机复位模块设计
电阻R6与电容C3组成复位电路。
复位原理,单片机高电平复位,上电瞬间,电容两段极性不能突变[5],所以单片机9脚瞬间高电平复位,很快电容C3充满电后,单片机9脚被拉低,处于工作状态,只要重新上电,单片机就会复位一次。
下图3-3为单片机复位电路设计。
图3-3单片机复位电路
3.2.2单片机晶振模块设计
单片机的时钟信号通常用两种电路形式得到:
内部振荡和外部振荡方式。
本次设计采用外部振荡器[6]。
将12MHZ的晶振连接到引脚XTAL1和XTAL2,电容C2,C4采用22pF,可以用来稳定振荡器的频率,两个电容为负载电容,两个电容的作用是容易起振和减小频率的温漂。
晶振模块为系统提供基本的时钟信号。
频率较大时,会产生很小的误差,故延时时间还要加上指令时间才能获得较大的频率波形。
时钟电路的设计框图如图3-4所示:
图3-4单片机晶振模块设计
3.3电源电路设计
5V供电是采用LM7805供电的,输入12V直流电,输出5V直流电,供单片机工作使用。
这部分电路比较简单,外接12V直流电源,可用电源供电,插上电源后,经过LM7805稳压管,输出电压VCC,再通过220uF电容滤波。
如图3-5所示:
图3-5电源电路
3.4按键电路设计
常用的键盘电路一般为矩阵式,但在这次设计中,为了方便程序的简单化,我们采用了一般的键盘接口,键盘输出信号[7]。
单片机的P3口(P3.0-P3.7)P3口是一个带内部上拉电阻的8位双向I/O口,功能由程序定义,系统共有四个按键,P3.4为设置功能,P3.5为确认键,P3.6为减小键,P3.7为增大键。
键盘模块设计框图如图3-6所示:
图3-6按键电路
3.5显示电路设计
下图3-7为显示电路。
图3-7显示模块
数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同,并且相应的0~9的显示代码也正好相反。
本系统数码管选择共阳极接法。
P2.1,P2.2,P2.3,P2.4控制数码管的千,百,十个位,当相应的端口为低电平,驱动晶体管导通,驱动晶体管的数字控制提供了高电平,这时只要P0口送出数字的显示代码,数码管就能正常显示数字。
因为要显示三位不同的数字,所以必须用动态扫描的方法来实现,就是先个位显示1毫秒,十位再显示1毫秒,循环,所以只要扫描时间小于1/50秒,因为人眼的视觉效果的残留量,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到两位不同的数字稳定显示。
通过一个220欧姆的电阻直接给数码管的8个段位供电,P2.1和P2.2、P2.3、P2.4端口控制数码管的千位、百位、十位和个位的供电。
单片机的P0口输出的数据相当于将数码管不要显示的数字段对地短路,这样数码管就会显示需要的数字。
3.6报警模块
下图3-8为报警电路模块。
图3-8报警电路
当预先设定时间结束时,则启动声光报警电路。
报警电路中光报警采用发光二极管,声报警采用蜂鸣器来设计,采用一个引脚控制。
其中,蜂鸣器电路中,当输出高电平时,三极管截至,当输出低电平时,三极管导通,蜂鸣器产生报警声。
对于发光二极管,必须采用限流电阻,否则会使二极管电流过大而烧坏。
当单片机P3.3置低时,即可实现声光报警。
3.7升压电路
下图3-9为升压模块电路。
从P13端输入信号,经过R6,C1进行整流滤波,再送入升压变压器,经过变压器后将升压降压,再输出脉冲信号。
图3-9升压电路
3.8系统硬件设计
3.8.1系统硬件图
通过前面的单片机复位电路、晶振模块、电源模块、显示模块、报警模块、升压模块、按键模块组成了系统硬件图。
详情见附录三。
3.8.2系统硬件分析
当系统通电后,电压接+12V到LM7805稳压管,输出+5V电压,通过C5滤波,二极管D4为保护电路,通入单片机,然后单片机最小系统开始工作,首先单片机晶振电路工作,12MHZ的晶振连接到引脚XTAL1和XTAL2,电容C2和C4分别并到两端,两个电容的作用是容易起振和减小频率的温漂,晶振模块为系统提供基本的时钟信号。
电阻R6与电容C3组成复位电路,按键SW5按下,输入高电平,复位电路工作。
显示电路通过7个220欧姆和一个330欧姆的电阻直接给数码管供电,P2.1和P2.2、P2.3、P2.4端口控制数码管的千位、百位、十位和个位的供电,三极管Q1,Q2,Q3,Q6,为驱动放大的作用。
蜂鸣器电路中,当输出高电平时,三极管截至,当输出低电平时,三极管导通,蜂鸣器产生报警声。
按键电路共有四个按键,由单片机的P3.4、P3.5、P3.6、P3.7接入这四个按键,SW1为设置按键,SW2为确认按键,SW3为减小按键,SW4为增大按键。
第4章系统软件设计
4.1系统软件设计原则
系统软件是一种不需要用户干预的程序集合,也控制和协调计算机和外部设备,主要功能是调度,监控,维护计算机系统,负责管理计算机系统中各种独立的硬件才能协调工作。
所以,可以说软件系统是连接需求分析、硬件系统以及使得系统实现的桥梁,对软件的设计应首先了解软件设计的设计原则:
1.可靠性:
软件可靠性是指软件,可以避免失败的测试运行期间发生的能力,和失败的事件之后,逃生能力和故障排除。
2.可修改性:
合理的要求,设计了软件,它具有良好的结构,完整的文档的科学方法,完备系统的性能。
3.易于调整,程序简便。
4.可测试性:
可测试性就是设计一个适当的数据集合,用来测试所建立的系统,并保证系统得到全面的检验。
5.标准化原则:
在结构上实现开放,基于业界开放式标准,符合国家和信息产业部的规范。
4.2主程序设计流程图
总流程图如下图4-1所示,从程序开始,进入显示,然后系统初始化,看按键是否按下,假如按键按下,则进入相关参数的设置,如不按下按键,则返回初始化,进入数据参数之后,下一步进入定时中断和显示端口,最后脉冲输出,如想重新设置,则返回系统初始化。
图4-1主程序流程图
4.3显示电路流程图
显示程序的过程为:
显示开始时,先进行LCD的初始化,判断是否显示汉字或ACSII码或图形,若不显示,则返回,若显示的是汉字或ACSII码,相应的功能设置,和发送的地址和数据,然后决定是否显示完毕,完成显示的回报,没有出现继续发送地址,若显示的是图形,则先进行相应功能的设置,再送行地址和列地址,然后送数据,最后判断是否显示完,显示完则返回,没有显示完则继续送行地址和列地址。
其流程图如图4-2所示。
图4-2显示模块流程图
4.4键扫流程图设计
键扫程序的过程为:
开始时,先判断是否有键闭合,无键闭合时,返回继续判断,有键闭合时,先去抖动,然后确定是否按下任意键,如果没有键被按下,返回继续确定关键是封闭的,如果有键按下,则判断键号,然后释放,若释放按键完毕,则返回,若没有释放按键,则返回继续释放。
其流程图如图4-3所示。
图4-3按键电路流程图
第5章系统调试与数据分析
5.1软硬件电路制作与调试
1.单片机控制电路的制作和调试
第一步是要焊接单片机的晶振电路和复位电路,做完了以后,首先不上电,用万用表检查是否有短接、断接和搭错线路等问题,使用数字万用表检查过后发现没有错焊、漏焊或虚焊。
之后就上电检测,检测的方法是看数码管上面有无显示,发现能够显示,则表示这部分没有问题了,紧接着进行下一步的硬件焊接工作。
2.按键系统的制作和调试
第二步是从单片机选择四个端口焊接好四个按键,对角线进行焊接,一端接P2^0-P2^3端口,另一端连接接地。
单片机的四个按键都有自己的功能。
焊好后上电,通过数码管显示看按键是否正确,是否灵敏。
发现数码管可以正确的按键功能,但是稍显迟钝,但经检查后并没有发现错误。
3.报警电路模块的制作和调试
焊接报警电路时上电试验后发现蜂鸣器不工作,用万用表检查后发现三极管已坏,蜂鸣器不工作,重新焊接了一个三极管成功驱动了蜂鸣器的工作。
4.输出信号的检查
用万用表和示波器检测输出信号口,测的数据与要求的基本能符合。
5.2软硬件功能分析
经过反复的调试与修改,基本实现了预定的功能,当通电后,数码管能正常显示时间,可以正常调节幅度,并达到预设报警时间时,自动报警。
结论
本次毕业设计是对我们大学四年所学知识的一个检验,在本次设计中,我发现了自己的不足,并通过自己思考,找资料和问指导教师,弥补了自己的缺陷。
也学到了自己在书本上所学不到的知识,并理解了以前在书本上所不理解的知识,自己动手才能把以前的知识和陌生的知识理解贯彻,实践出真理。
虽说理疗仪在生活中并不少见,但这次自己制作,让我深刻理解了它的原理。
在写论文时,自己时常不知道怎么进行下一步的编写和一些器件理解,通过在图书馆查资料和问同学老师,这些问题也迎刃而解。
最后要感谢我的同学们,感谢他们在毕业设计的过程中给我的帮助。
没有他们的帮助,我也不可能很好地完成本次设计任务。
同时感谢从我进入大学以来,学校所有在学习和生活方面对我关心的老师。
参考文献
[1]张毅刚,彭喜源.MCS—51单片机应用设计[M].哈尔滨:
哈尔滨工业大学出版,1997.
[2]王煜东.传感器应用电路400例[M].北京:
中国电力出版社,2008.
[3]邹振春等.MCS-51系列单片机原理及应用接口技术(第二版)[M].北京:
机械工业出版社,2006.
[4]林恒,刘惠兰,杨德伟.微光机电(MOEMS)陀螺的技术及发展[J].中国惯性技术,2005,13(12):
85-88.
[5]邹振春等.MCS-51系列单片机原理及应用接口技术(第二版)[M].北京:
[6]陆为民,卢宁.生理学[M].上海:
复旦大学出版社,2005.
[7]谢永林,王溶泉.理疗机械学[M].北京:
人民军医出版社,1999.
[8]张鑫.单片机原理及应用[M].北京:
电子工业出版社,2005.
[9]楼然苗,李光飞.单片机课程设计指导[M].北京:
北京航空航天大学出版社,2007.
[10]赵负图.数字逻辑集成电路手册[M].北京:
化学工业出版社,2005.
[11]全新实用电路集萃丛书委员会.医疗保健应用电路集萃[M].北京:
机械工业出版社,2005.
[12]马全喜.电子元器件与电子实习[M].北京:
机械工业出版社,2007.
[13]万敏.VHDL语言100例详解[M].
北京:
清华大学出版社,1999.
[14]GothelfA,,MirLM,GehlJ.Electrochemotherapy:
resultsofcancertreatmentusingenhanceddeliveryofbleomycinbyelectroporation.[M]CancerTreatmentReviews.2003
[15]MatsushimaY,TakahashiE,HagiwaraK,etal.Clinicalandexperimentalstudiesofanti-tumoreffectsofelectrochemicaltherapyaloneorincombinationwithchemotherapy.[M]EuropeanJournalofSurgerySupplement.1994
致谢
在不注意的日子里,我们已经度过了大学的四年生活,在这四年里,我们有过快乐,也有过悲伤,这些都成为我们最珍贵的回忆,在这四年的生活中,我遇到了一些困难,但这些困难不能挡住我前进的脚步,因为我有我的同学、老师,正是因为他们的无私帮助,我才战胜了困难,所以我要特别的感谢他们,没有他们,我的四年时光就不会这么顺心的过下来,感谢你们。
历时两个月的时间里,终于完成了毕业设计,在论文的写作中也遇到了许多困难,但在同学和老师的帮助下度过了,在此要特别感谢我的指导老师黄老师,感谢他的细心教导和不厌其烦的帮助我进行论文的修改。
最后再次感谢黄老师和各位同学的帮助,让我能够完成这篇论文。
毕业论文的结束意味着我们即将走向社会的大门,远离大学的校门,所以毕业论文的结束不是我们的终点,我们还需走的更远。
谨以此感谢,路还长,唯勤勉前行。
附录一元件清单
名称
规格
个数
瓷片电容
0.1uF/50V
3
0.1uF/250V
2
电解电容
4.7uf/16V
1
1000uf/25V
220uf/16V
10uF
30p
0.1uf/16V
100PF/50V
2200PF/50V
二极管
1N4148
稳压二极管
3V
1N4007
BYV26C
Diode1N4148
DC插座
PWR2.5
USB接口
OUTPUT
下载程序排阵
Header4
IRF730
6N80C
IRF3415
三端稳压器
7805
电阻
3k
1k
100k
10K
4
0.1
390K
排阻
10k
按键
SW_P8
16
变压器
单片机
STC5A60S2
IRF2104
IRF2103
数码管
UC3842B
UC3845
运放
LM258
晶振
12MHz
附录二主程序
#defineucharunsignedchar
#defineuintunsignedint
#include"
STC12C5A.h"
#definefangzheng1//仿真使能
#include<
intrins.h>
PWM.C"
#definePWM_MAX70
ucharLED_D;
//动态移位缓冲
#defineLED_WEIP2
#defineLED_DUANP0
#defineK1P34
#defineK2P35
#defineK3P36
#defineK4P37
#defineBELLP33
unsignedintsecond_jishu;
unsignedcharsecond;
unsignedintmaohao;
//冒号标志
unsignedcharnew_flg;
//一秒标志
unsignedcharlight=8;
//亮度控制
unsignedintI_DATA=0;
//电流
unsignedintAD_DATE1=1234;
unsignedintAD_DATE2=4578;
unsignedintTIME=10;
unsignedintTIME_RUN=10;
unsignedcharSET_MODE;
unsignedcharQD=3;
//强度
unsignedcharSTART;
unsignedcharCH_JISHU;
//通道计数
floatfloat_I;
unionperdata
{
unsignedcharEEP_DATE[3];
unsignedintINT1;
}UN1;
#defineeep_plUN1.INT1
#defineV_MAXUN1.EEP_DATE[2]
#defineeep_saveUN1.EEP_DATE
ucharNum_Buffer[8