单片机原理与应用说明书
题 目: 系 部: 专 业: 班 级: 学生姓名: 学 号: 指导教师:
年 月 日
目录
一 引言 ...................................................................................... 2 二 系统设计要求 ...................................................................... 4 2.1 设计要求 ......................................................................... 4
2.2系统组成原理框图 .......................................................... 4 三 系统硬件电路组成 .............................................................. 5 3.1 硬件设计思路 ................................................................. 5 3.2 硬件电路组成 ................................................................. 5 3.2.1 计数开关电路 .................... 错误!未定义书签。 3.2.2 8279(或8255A)芯片电路 ............................... 5 3.2.3 4位LED显示器电路 .......................................... 5 四 心率检测仪程序设计 .......................................................... 7 4.1 课题设计思路 ............................................................... 7 4.2 实验原理图 ................................................................... 7 4.3 主程序设计 ................................................................... 7 4.4 中断服务程序设计 ..................................................... 12 五 总结与体会 ........................................................................ 14 六 参考文献 ............................................................................ 16
引言
心血管疾病是当今发达国家死亡率占第一位的重要疾病,在我国也是死率最高
的一类疾病,世界卫生组织已将其列为2l世纪危害人类健康的头号杀手[1]。随着人们生活水平的提高,工作方式以及膳食结构的变化,源于心脏与循环系统的不
2
健康而导致的心血管疾病已逐渐成为威胁人类健康的主要疾病。心血管疾病是一种常见病、多发病,而且有极高的死亡率。据统计,1990年全球大约有1400万人死于心血管疾病,预计到2020年,死于心血管疾病的患者将达到2500万人[2]。目前我国城市人口中每5个成年人中就有1个人不同程度的患有心血管面的疾病。中国每年有100万人死于脑卒中,并且有更多的人致残。特别是在近,中国、日本和新西兰研究人员发现高血压是东方人脑卒中的主要原因[3]。近来,心血管疾病的发病率逐年提高,患者的年龄却逐年降低,心血管疾病对人类身体健康产生的威胁也越来越大。人们希望通过早期采取一些积极的防治手段,使自己拥有健康。同时,中国已经进入了老龄化社会,越来越多的老年人受到慢性疾病的困扰,如高血压、冠心病、慢性支气管炎等。老年慢性疾病通常是终身性疾病,疼痛和昂贵的医疗费用不仅严重影响病人的生活质量.而且占用了大量医疗卫生资源,带来不堪重负的社会经济负担。要避免和减少高血压、心脏病这类心血管疾病给人类健康带来的严重危害,有效的早期预防、早期诊断和早期治疗方法和设备,以及快速的发病后的救治手段都是非常重要的,这些也正是目前广大医学界专家正在共同努力研究的重点,改进对心血管疾病的预防及治疗手段已经成为现代医学界个大难题。
目前,现代的医学电子仪器已不仅仅是单纯的医学电子测量仪器硬件系统,而是基于电子技术、计算机技术、数字信号处理技术的生理量检测和分析系统。以往专门测量心率值的仪器较少,能提供心率变异指标的仪器更是寥寥无几。人们为了知道自己的运动或劳动强度是否超负荷,尤其是老年人或运动员等,他们都得赶到医院而不能实时测量和预知。而心电仪的出现,使心电图机进入家庭变成了可能,但基于心电工作站的模式,使个别地区的患者因医院分析诊断系统的不健全,而变得不适用。因此,一种性能优良,带有自动监测、报警等功能,适合在家庭和社区条件下使用,同时适用于有隐性疾患的亚健康人群及各种作业环境下的劳动者,在其心率变异时,能及时发出警示的安全监护器,而又符合我国人均收入水平不高这一国情的心率监测系统的研制显得尤其重要。基于这一目的,我设计的课题就是便携式人体心率监测系统的设计。
3
2系统设计要求
2.1 设计要求
1)采用单片机为核心器件,构成简易心率检测仪。
2)设病人手指中指端的脉跳经过压力传感器检测后已变换成脉冲信号,该脉冲信号经单片机内的定时器∕计数器计数后,用四位数码管显示病人每分钟脉跳数(最高位恒为0),以实现对病人心率进行连续检测。
3)设置一个开关(开机时接低电平),当该开关接高电平,经过1分钟后,数码管开始现实病人每分钟脉跳数,以后每隔1分钟数据更新一次。当开关再置低电平时,心率检测仪则停止工作(数码管显示全零)。
2.2系统组成原理框图
系统组成如图1所示,本设计以单片机为主控信号,外辅少量硬件电路,完成数
据处理、记忆、显示、通信等功能。
时钟电路 计数开关电路 复位电路 传感器与信号处理电路 单 片 机 系 统 (8279) 显示电路 4
3 系统硬件电路组成
3.1 硬件设计思路
根据设计要求 ,硬件采用实验室的单片机实验系统,设计思路如下:
1)通过按按钮,模拟产生脉跳信号。为克服按钮的抖动,脉冲经消抖电路输入单片机。
2)脉冲信号计数可采用定时器∕计数器,也可由并行口实现计数。若采用定时器∕计数器计数,则安排由定时器∕计数器0进行定时,由定时器∕计数器1进行计数。
3)选择8279(或8255A)作为LED显示器的译码驱动电路,实现每分钟脉跳显示。
4)设置一个计数开关,接P1.0引脚,开机时置低电平。当开关接高电平时,心率检测仪开始计数和显示,当开关由高电平变低电平时,心率检测仪停止工作。
3.2 硬件电路组成
3.2.1 8279(或8255A)芯片电路(如图3.2.1所示)
3.2.1
3.2.1 本图片为8279引脚图
[1]
8279采用单±5V电源供电,40脚封装。
DB0~DB7:双向数据总线,用来传送8279与CPU之间的数据和命令。
5
CLK:时钟输入线,用以产生内部定时的时钟脉冲。
RESET:复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序
时钟前置分频器被置为31,RESET信号为高电平有效。
3.2.2 4位LED显示器电路(如图3.2.2所示)
LED数码管(LED Segment Displays)是由多个发光二极管封在在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等....,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。右图什阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。LED数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下页将介绍常用LED数码管内部引脚图片
图3.2.2这是一个7段两位带小数点10引脚的LED数码管
6
4 心率检测仪程序设计
4.1 课题设计思路
根据课题要求,要计量每分钟的脉跳数(由按动按钮模拟),最简单的方法是单片机内部两个定时器/计数器,其中定时器/计数器0用来产生一分钟的定时,定时器/计数器1用来记外部脉冲数。按此构思,程序由主程序和中断服务程序两大部分组成。
4.2 实验原理图
压力传感器 8279芯片 开关电路 单片机 LED灯显示数据
4.3 主程序设计
主程序有两部分组成,前半段实现初始化,包括8279芯片初始化、定时器∕计数器初始化、显示缓冲区初始化、设置堆栈指针以及开中断等。主程序后半段构成循环,有两个功能:一是按课题要求判断开关是否接高电平,如接高电平,则计数;如接低电平,则停止计数。二是显示,有调用显示子程序完成。 1)主程序框图如下
7
开始 8279芯片初始化 定时器∕计数器初始化 显示缓冲区清零 设置堆栈指针 开中断 显示(全零) 判断开关是否接高电平? 启动CTC0、CTC1 显示(脉跳数) 判断开关是否恢复低电平? 关闭CTC0、CTC1,显示缓冲区清零
2)参考程序如下:
ORG 0000H LJMP MAIN ORG 000BH LJMP CTCO ORG 0030H
MAIN: LCALL P8279 ;8279初始化
LCALL PCTC ;定时器∕计数器初始化
8
LCALL PRAM ;RAM区初始化 MOV SP,#2FH
SETB EA ;允许中断 SETB ETO LOOP0: LCALL DISP
JNB P1.0,LOOP ;判断开关是否接低电平,如是,则等待
LOOP: 转NEXT
NEXT: ∕计数器
P8279:
SETB SETB LCALL JNB SJMP CLR CLR MOV MOV SJMP PUSH PUSH PUSH MOV MOV MOVX MOV TRO TR1 DISP
P1.0,NEXT LOOP TRO TR1
60H,#00H 61H,#00H LOOP0
DPH DPL ACC
DPTR,#0FF82H
A,#00H @DPTR,A
A,#2FH 9
;如为高电平,则开始定时及计数 ;判开关是否恢复低电平,如是,;否则,继续工作
开关恢复为低电平,则关闭定时器;显示清零 ;8279初始化子程序 ;保护现场 ;置8279工作方式(8个字符显示,
左入口;
;编码扫描键盘,双键锁定) ;置键盘扫描速率
; MOVX @DPTR,A
MOV A,#0C1H ;清除LED显示 MOVX @DPTR,A
POP ACC ;恢复现场 POP DPL POP DPH PCTC: 方式1;
方式1
PRAM: DISP: DIS1:
RET
MOV MOV MOV MOV MOV MOV MOV RET
MOV MOV RET
MOV MOV MOV MOV ANL MOV LCALL INC TH0,#4CH TL0,#01H TH1,#00H TL1,#00H
TMOD,#51H 7EH,#04H 7FH,#0B0H 60H,#00H 60H,#00H R0,#61H R4,#00H R2,#02H A,@R0 A,#0FH R5,A DISLED R4
10
0定时50ms ;定时器∕计数器0定时,工作;定时器∕计数器1计数,工作;04B0H=1200 50ms×1200=60s ;显示缓冲区清零 ;显示子程序 ;定时器∕计数器 MOV A,#R0 ANL A,#0F0H SWAP A MOV R5,A LCALL DISLED DEC R0 DISLED: LEDSEG:
INC R4 DJNZ R2,DIS1 RET
;显示字符子程序 PUSH DPH ;保护现场 PUSH DPL PUSH ACC
MOV A,#80H ;置显示起始地址 ADD A,R4 ;加位置偏移量 MOV DPTR,#0FF82H
MOVX @DPTR,A ;设置显示位置
MOV DPTR,#LEDSEG ;置显示常数表起始位置MOV A,R5
MOVC A,@A+DPTR ;查表 MOV DPTR,#0FF80H
MOVX @DPTR,A ;显示数据 POP ACC POP DPL POP DPH RET
DB 3FH, 06H, 5BH, 4FH, 66H; ‘0,1,2,3,4’ DB 6DH, 7DH, 07H, 7FH, 6FH; ‘5,6,7,8,9’ DB 77H, 7CH, 39H, 5EH, 79H, 71H; ‘A,B,C,D,E,F'
11
4.4 中断服务程序设计
1)中断服务程序功能:
a)实现一分钟定时,初始化中设定时器∕计数器0用作定时,定时时间为50ms,同时用内存单元7EH、7FH配合做计数器,设7EH、7FH单元的初始值为04B0H(相当于十进制数1200),每进入一次中断,将7EH、7FH单元内容减1,减为0时为一分钟(50ms×1200=60s)。
b)满一分钟后,读定时器∕计数器1中TL0的值(每分钟脉跳数一般不会超过255跳),即为每分钟脉跳数。初始化时将定时器∕计数器1设置为计数工作方式。 c)将TL0计得的二进制数转换成十进制数,并将之送至显示缓冲区,其中百位数置60H单元,十位数和个位数61H单元,以使显示子程序(在主程序中)实现每分钟脉跳数显示。其中单字节二进制数转换成十进制数的设计思路较为简单,只要将该二进制数先除以100(64H),后再将余数除以10(0AH),即可依次得十进制数的百位、十位和个位。
2)中断服务程序框图
7EH、7FH单元构成的计数器内容减1 CTC0重置初值 判是否减为 N 0? Y
12
7EH、7FH单元内容重置04B0H(1200) 读TL0内容 数据转换,并将十进制数送显示缓冲区 TL0清零 返主程序 3)每分钟刷新一次显示数据心率检测仪的具体程序如下:
CTCO: PUSH DPH PUSH DPL PUSH ACC MOV TH0,#4CH MOV TL0,#01H CTCO1: 过255次
CTCO2: CHAN:
DEC MOV CJNE DEC MOV ORL JNZ MOV MOV MOV LCALL MOV MOV POP POP POP RETI
MOV DIV MOV MOV XCH 7FH A,7FH
A,#0FFH,CTCO1 7EH A,7EH A,7FH CTCO2 7EH,#04H 7FH,#0B0H A,TL1
CHAN TH1,#00H TL1,#00H ACC DPL DPH B,#64H AB 60H,A A,#0AH A, B
13
;可不用,因每分钟脉跳不会超TH1内容恒为0 ;调数据转换子程序 ; ;数据转换子程序 DIV AB SWAP A ADD A, B MOV 61H,A RET
五 总结与体会
通过此次课程设计,使我更加扎实的掌握了有关高频电子线路方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!
课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。
14
同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我掌握了常用元件的识别和测试;熟悉了常用仪器、仪表;了解了电路的连线方法;以及如何提高电路的性能等等,掌握了焊接的方法和技术,通过查询资料,也了解了收音机的构造及原理。
我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。
回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。
实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。
此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。
15
六 参考文献
[1] 李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,1998
[2] 李广弟.单片机基础[M].北京:北京航空航天大学出版社,1994 [3] 阎石.数字电子技术基础(第三版). 北京:高等教育出版社,1989 [4] 廖常初.现场总线概述[J].电工技术,1999
[5] 阎石。数字电子技术基础(第四版)[M].北京高等教育出版社,2002 [6] 何立名。单片机高级应用与设计[M].北京航天航空大学出版社,1999 [7]李泽君.基于心电与脉搏信息的心血管功能检测与监护系统的研究. 2004 [8]本王介. 红外技术与生物医学[J]. 中国医疗器械信息2001
[9]赵治栋,唐囱宏,赵知劲。基予Hilbert-Huang Transform的心音信号谱分析瑟[J]2005
[10]善文,秦树人,汤宝平.Hilbert-Huang变换的滤波特性及其应用[J]. 2004 [11] 程光 指动脉搏动波光电传感器的研制[J] 2001
[12 ] 彭秀华.Keil Cx51 V7.1单片机高级语言程序与uVision2应用实践[M] 2004 [13]林志琦.基于Proteus的单片机可视化软硬件仿真[M].北京:北京航空航
2006
16
因篇幅问题不能全部显示,请点此查看更多更全内容