微机接口项目之止血带的设计全解.docx

上传人:b****8 文档编号:10891073 上传时间:2023-02-23 格式:DOCX 页数:38 大小:631.13KB
下载 相关 举报
微机接口项目之止血带的设计全解.docx_第1页
第1页 / 共38页
微机接口项目之止血带的设计全解.docx_第2页
第2页 / 共38页
微机接口项目之止血带的设计全解.docx_第3页
第3页 / 共38页
微机接口项目之止血带的设计全解.docx_第4页
第4页 / 共38页
微机接口项目之止血带的设计全解.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

微机接口项目之止血带的设计全解.docx

《微机接口项目之止血带的设计全解.docx》由会员分享,可在线阅读,更多相关《微机接口项目之止血带的设计全解.docx(38页珍藏版)》请在冰豆网上搜索。

微机接口项目之止血带的设计全解.docx

微机接口项目之止血带的设计全解

 

止血带测控设计

 

姓名:

课程名称:

接口项目

指导教师:

刘宝华

 

2010年11月

摘要

针对电子止血带这一新型医疗器械的出现,认真分析其操作过程和止血原理,然后利用现有实验条件模拟电控充气式止血带工作原理。

具体实验内容包括实验器材准备、元器件的选择,电路原理图的绘制(利用Protel绘制原理图和PCB图),模拟电路运行论证,电路焊接,软件编程及调试,最终给出相关数据图表,总结实验现象,得出实验结论。

前言

随着医疗水平的高速发展和突发事故的不断增多,止血带的应用也愈发广泛。

作为急救手段,止血带作用于较大的血管上,使得出血即刻停止,在手术中使用,可以将术中失血减少到最低限度,从而减少输血量,节省了止血时间,可使麻醉和手术时间缩短,此外在肢体恶性肿瘤手术时,在肢体的适当部位利用止血带还可以防止肿瘤细胞扩散。

止血带更以作为战场上四肢出血的第一道就救治手段成为了战斗部队的标准装备。

目前正在使用的止血带的种类很多,有一次性止血带,包括点连式一次性止血、一次性连抽式止血带,橡皮止血带,充气止血带,包括手动式充气止血带和电动式充气止血带。

我们设计的就是简易的电控充气式止血带。

工作原理及电路设计

首先将气囊绑于大臂(假设出血处),打开开关,设定压力值开始充气,达到压力值时保持不变,LCD显示当前脉搏,数码管显示当前压力值,当压力过大或过低时蜂鸣器报警,复位(止血成功)后气囊放气,止血完成。

电路原理图见附录一。

工作原理:

1、电源:

电源电路将220V电压分别转换为+12V、-12V、+5V供整个系统的工作电压;

2、启动气泵:

微处理器控制微型气泵向袖带充气,微型电磁气阀关闭使整个气路处于封闭状态;

3、信号采集:

压力传感器与袖带相通,压力传感器将袖带中的气体压力转换为电信号,电信号经放大器放大后输入到AD0809转化器转化为数字信号在试验仪的数码管上显示出来,一但达到设定压力值后气泵关闭;

4、压力继电器起监测所充气体的临界值;

5、释放压力:

使用结束后,微处理器控制气阀打开,释放气路的气体。

实验器材及主要元器件:

1、可编程并行I/O接口芯片8255

8255管脚

8255内部组成框图

8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。

其各口功能可由软件选择,使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

  8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。

同时必须具有与外设连接的接口A、B、C口。

由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:

与CPU连接部分、与外设连接部分、控制部分。

2、集成块CD4051

CD4051引脚功能

CD4051是单8通道数字控制模拟电子开关,有三个二进制控制输入端A、B、C和INH输入,具有低导通阻抗和很低的截止漏电流。

幅值为4.5~20V的数字信号可控制峰值至20V的模拟信号。

例如,若VDD=+5V,VSS=0,VEE=-13.5V,则0~5V的数字信号可控制-13.5~4.5V的模拟信号。

这些开关电路在整个VDD-VSS和VDD-VEE电源范围内具有极低的静态功耗,与控制信号的逻辑状态无关。

当INH输入端=“1”时,所有的通道截止。

三位二进制信号选通8通道中的一通道,可连接该输入端至输出。

其中VEE可以接负电压,也可以接地。

当输入电压有负值时,VEE必须接负电压,其他时候可以接地。

 

CD4051引脚功能说明

引脚号

符号

功能

124512131415

IN/OUT

输入/输出端

91011

ABC

地址端

3

OUT/IN

公共输出/输入端

6

INH

禁止端

7

VEE

负电压端

8

Vss

数字信号接地端

16

VDD

电源+

3、恒流源3CR3

恒流源3CR3封装图

恒流源3CR3是低温度系数、高电流稳定的精密恒流器件,输出电流0.5~100mA,起始电压小于2V。

外观引脚及外接电阻如图,引脚标号由金属壳标记处顺时针读取,输出电流I=1.234V/R。

4、集成块LM336

LM336封装图

LM336-2.5集成电路是精密的2.5V并联稳压二极管。

这些单片基准如低温度系数2.5V齐纳二极管那样工作,动态阻抗为0.2Ω。

电路上提供的第三个端子能方便地对基准电压和温度系数进行微调。

该系列器件适用于作数字电压表、电源或运放电路的精密2.5V电压基准(Vz)。

2.5V电压基准使它能方便地从5V逻辑电源得到稳定的基准。

因为该系列是并联稳压器,所以它们可用作正或负电压基准。

5、集成块ULN2003

ULN2003封装图及内部逻辑

ULN2003是高耐压、大电流复合晶体管阵列,由七个硅NPN复合晶体管组成。

ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。

6、运放LM725

LM725应用

LM725是高精度单运算放大器,具有调零端。

7、运放LF353

LF353内部逻辑图

LF353的总体电路设计还是比较简洁的,此类拓扑在目前的功率运算放大器设计中是主流:

输入放大级是由两只P沟道JFET组成的共源极差分电路,并且用镜像恒流源做负载来提高增益;在输入差分放大级和主电压放大级之间是一个由射极跟随器构成的电流放大级,用来提高主电压放大级的输入阻抗和共源极差分电路的负载增益;主电压放大级是一个简单的单级共射极放大电路,为了保证放大器的稳定性,在主电压放大级的输出端到输入差分放大级的输出端加入了一个电容补偿网络,跟补偿电容并联的二极管保证单级共射极放大电路构成的主电压放大级不进入饱和状态工作;输出电流放大级是NPN和PNP构成的互补射极跟随器,两个100Ω的电阻用来稳定输出电流放大级的静态电流,200Ω的电阻用来限制输出短路电流。

8、微型气泵

9、微型电磁气阀

10、压力传感器MPX53GP

硬件线路连接图:

由8086作为主控微处理器,其程序框图如下:

开始

输入设定值

充气

报警

N

判断是否达到设定值

Y

数码管显示当前

压力值

放气

结束

实现功能:

1、能够随时控制气泵、气阀的工作状态;

2、能通过键盘输入数据并在数码管上显示出来;

3、将袖带压力在数码管上显示出来;

4、监测整个气路的压力变化,如果在气压低于一定状态是能够报警;

5、检测整个气路的压力变化,如果在出现漏气或压力升高能够报警。

程序源代码见附录二。

调试及结论

初次调试由于设备故障,数码管显示错误而失败;更换实验台,检查线路正确后再次调试,达到了预期目标,袖带充气正确,设定值正确,保压稳定,正常显示当前压力值。

经过两周的接口技术项目实验过程,加深了我们对微机原理及接口技术这门理论的理解和运用,虽然时间很短,没能让我们真正做到自主设计电路板和编程,但通过操作过程、实验现象以及结果,为我们将来的课程设计和毕业设计奠定了一定的基础。

在项目进行过程中,我组四人确定了各自的任务和目标,努力做到每个人都能在项目中得到锻炼和学习,相互交流、促进发展。

在动手实践的过程中也遇到了各种问题,有设备的问题也有我们自己的失误,但这并不影响我们组的进展速度,由于时间所限,我们能做到的已经尽力展现,并保证在以后的任务中做到最好。

参考文献

[1]邵时.微机接口技术(第二版).北京.清华大学出版社,2008.1:

63-92

[2]杨立.微机原理与接口技术.天津.天津大学出版社,2010.1

[3]柯妙娟.手术中采用止血带的方法及注意事项[J].中国健康月刊(学术版),2011,3

附录一

附录二

;按下三个键:

A输入值;B充气,直到与输入值相等;C个放气

.MODELTINY

WR_COM_AD_LEQU0D004H;写左半屏指令地址CS3

WR_COM_AD_REQU0D000H;写右半屏指令地址

WR_DATA_AD_LEQU0D006H;写左半屏数据地址

WR_DATA_AD_REQU0D002H;写右半屏数据地址

RD_BUSY_ADEQU0D001H;查忙地址

RD_DATA_ADEQU0D003H;读数据地址

XEQU0B8H;起始显示行基址

YEQU040H;起始显示列基址

FirstLineEQU0C0H;起始显示行

COM_8255EQU0E003H;CS2

PA_8255EQU0E000H

PC_8255EQU0E002H

CMD_8279EQU0BF01H;CS5

DATA_8279EQU0BF00H

ADDR_08091EQU0F000H;CS1

ADDR_08092EQU0F003H

Con_8253EQU0D003H

T0_8253EQU0D000H

IO8259_0EQU0C000H

IO8259_1EQU0C001H

EXTRNDisplay8:

NEAR

.STACK100

.DATA

BUFFERDB8DUP(?

LastADDB0

DingzhiDB0

Dingzhi1DB0

Dingzhi2DB0;存放保值下限

DINGZHI3DB0;存放保值上限

DingFlagDB0

JINGFLAGDB0

CHONGFLAGDB0;冲气时按A,B,C键,去执行相应程序

BaozhiDB0

STR1DB0;存放压力值

STR2DB0;存放脉搏值

STR3DB0;存放上一次脉搏值

LDB0;左半屏计数器

RDB0;右半屏计数器

R2DB0;计数行数,判断是否满8行

R3DB0;存放行值

R4DB0;存放列值

BDB0;存放余数AH,用于查找在哪一行显示点

KEYCOUNTDB?

LED_TABDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

LCDDB80H,40H,20H,10H,08H,04H,02H,01H

CUNDB0

CUN1DB8DUP(?

CUN2DB8DUP(?

CUN3DB8DUP(?

CUN11DB8DUP(?

CUN22DB8DUP(?

CUN33DB8DUP(?

.CODE

START:

MOVAX,@DATA

MOVDS,AX

NOP

CALLDISPLAY_DATA;表示电路正常

LEASI,BUFFER

CALLDisplay8

CALLINIT8255;初始化8255,所有端口方式0,方向输出

CALLW_H;尝试充气,端口PC0置位,气阀打开

MOVDX,PA_8255;气阀关,气泵不工作

MOVAL,04H;气阀0关,气泵1时不工作

OUTDX,AL;进行初始化

START1:

CALLSCAN_KEY

JNCSTART1;无键返回

START2:

CMPAL,0CAH;要在三个键中进行选择,不是则继续检测

JZSTART3;如果AL值为0CAH时,就代表A键按下,跳到START3等待输入值

CMPAL,0CBH;如果AL值等于0CBH时,就代表B键按下,跳到START4充气

JZSTART4

CMPAL,0CCH;如果AL值等于0CCH时,就代表C键按下,跳到START6放气

JZSTART6

JMPSTART1

START3:

MOVDX,PA_8255

MOVAL,00000100B;按A键,0时气阀关闭,1时气泵不工作

OUTDX,AL

CALLSTART31;输入所要达到的值

JMPSTART2;便于修改输入值

START4:

CALLW_H;按B键,1气阀打开,0气泵工作

START41:

CALLSCAN_KEY;设置好8255使气泵充气后,如果有键按下,返回检测

JCSTART2;通过判断是否是C键按下

CALLCHONG

MOVCX,50;循环50次,取平均值

MOVBX,0;记录AD转换值的50次累加值

START42:

CALLAD08091;ADC将电压模拟量装换成数字量并赋予STR1

XORAH,AH

ADDBX,AX;将AD转换完毕的STR1值累加到BX中

LOOPSTART42

MOVAX,50

XCHGAX,BX

DIVBL;除以50,求得平均值,商数在AL中

MOVSTR1,AL

CALLDisplay_Data1

ZHUANHUAN221:

MOVAL,STR1

CMPAL,Dingzhi

JBSTART41;压力低的话充气

MOVDX,PA_8255

MOVAL,04H

OUTDX,AL

CALLTESTT

JMPSTART2

START6:

MOVDX,PA_8255

MOVAL,00000101B;按C键,1时气阀接通,放气,1时气泵不转

OUTDX,AL

CALLZHUANHUAN3

JMPSTART2

;-------------------输入定值--------------

START31PROCNEAR

START310:

MOVDX,PA_8255

MOVAL,04H;0时气阀关闭,1时气泵不工作

OUTDX,AL

CALLINIT8279

MOVKEYCOUNT,0;keycount为一个变量,不知道时干嘛的

START311:

CALLSCAN_KEY

JNCSTART311

CMPAL,0C1H;只能输入一,二两个值

JESTART3111

CMPAL,0C2H

JESTART3111

JMPSTART311

START3111:

XCHGAL,KEYCOUNT

INCAL

START321:

XCHGAL,KEYCOUNT

MOVCUN1,AL

CALLKEY_NUM

LEABX,LED_TAB

XLAT

CALLWRITE_DATA

MOVAL,CUN1

ANDAL,0FH

MOVCUN1,AL

START312:

CALLSCAN_KEY

JNCSTART312

CMPAL,0CAH;只能输入零---九,十个值

JNBSTART312

START3121:

XCHGAL,KEYCOUNT

INCAL

CMPAL,4

JNZSTART322

MOVKEYCOUNT,0

CALLINIT8279_1

JMPSTART310

START322:

XCHGAL,KEYCOUNT

MOVCUN2,AL

CALLKEY_NUM

LEABX,LED_TAB

XLAT

CALLWRITE_DATA

MOVAL,CUN2

ANDAL,0FH

MOVCUN2,AL

START313:

CALLSCAN_KEY

JNCSTART313

CMPAL,0CAH;只能输入0---9,十个值

JNBSTART313

START3131:

XCHGAL,KEYCOUNT

INCAL

CMPAL,4

JNZSTART323

MOVKEYCOUNT,0

CALLINIT8279_1

JMPSTART310

START323:

XCHGAL,KEYCOUNT

MOVCUN3,AL

CALLKEY_NUM

LEABX,LED_TAB

XLAT

CALLWRITE_DATA

MOVAL,CUN3

ANDAL,0FH

MOVCUN3,AL

START331:

MOVAL,0AH;由十进制转换成mmhg

MULCUN1

ADDAL,CUN2

XCHGCUN,AL

MOVAL,0AH

MULCUN

ADDAL,CUN3

MOVBL,2

DIVBL

MOVDingzhi,AL;将转化的十六进制存入Dingzhi

SUBAL,5

MOVDingzhi2,AL

ADDAL,20

MOVDINGZHI3,AL

START332:

CALLSCAN_KEY

JNCSTART332

CMPAL,0CAH

JZSTART300

CMPAL,0CBH

JZSTART300

CMPAL,0CCH

JZSTART300

JMPSTART332

START300:

RET

START31ENDP

TESTTPROCNEAR

TESTT0:

MOVDX,COM_8255

MOVAL,00000001B

OUTDX,AL

CALLSCAN_KEY

CMPAL,0CAH;要在三个键中进行选择,不是则退回

JZTESTT2

CMPAL,0CBH

JZTESTT2

CMPAL,0CCH

JZTESTT2

TESTT1:

CALLAD08091

MOVAL,STR1

CMPAL,Dingzhi2

JBA1

CMPAL,DINGZHI3

JAA2

MOVDX,PA_8255

MOVAL,04H

OUTDX,AL

MOVAL,STR1

CALLDISPLAY_DATA2

CALLMAIBOLCD

JMPTESTT0

A1:

CALLCHONG

MOVDX,COM_8255

MOVAL,00001100B

OUTDX,AL

JMPTESTT0

A2:

MOVDX,PA_8255

MOVAL,05H

OUTDX,AL

MOVDX,COM_8255

MOVAL,00001100B

OUTDX,AL

JMPTESTT0

TESTT2:

RET

TESTTENDP

CHONGPROCNEAR;充气子程序

MOVDX,PA_8255

MOVAL,00H;0时气阀关闭,0时气泵工作

OUTDX,AL

RET

CHONGENDP

FANGPROCNEAR;放气子程序

MOVDX,PA_8255

MOVAL,05H;1时气阀打开,1时气泵不工作

OUTDX,AL

RET

FANGENDP

BAOPROCNEAR;保压子程序

MOVDX,PA_8255

MOVAL,04H;AL=00000100B,气泵不工作,气阀关闭

OUTDX,AL

RET

BAOENDP

 

INIT8255PROCNEAR;8255初始化,设置8255所有端口工作方式为0,方向输出

MOVDX,COM_8255

MOVAL,80H

OUTDX,AL

RET

INIT8255ENDP

INIT8279PROCNEAR;8279初始化

MOVDX,CMD_8279

MOVAL,34H

OUTDX,AL

MOVAL,10H

OUTDX,AL

MOVAL,0A0H

OUTDX,AL

CALLINIT8279_1

RET

INIT8279ENDP

INIT8279_1PROCNEAR

CALLCLEAR;清显示

MOVAL,90H;从第一个数码管开始移位显示

OUTDX,AL

RET

INIT8279_1ENDP

CLEARPROCNEAR

MOVDX,CMD_8279

MOVAL,0DEH;清除命令

OUTDX,AL

WAIT1:

INAL,DX

TESTAL,80H

JNZWAIT1;显示RAM清除完毕吗?

RET

CLEARENDP

SCAN_KEYPROCNEAR

MOVDX,CMD_8279;0BF01H

INAL,DX;读状态

READ_FIFO:

ANDAL,7;00000111

JZNO_KEY;是否有键按下

READ:

MOVAL,40H;01000000

OUTDX,AL;读FIFORAM

MOVDX,DATA_8279

INAL,DX

STC;有键

SCAN_KEY1:

RET

NO_KEY:

CLC;无键按下,清CY

JMPSCAN_KEY1

SCAN_KEYENDP

W_LPROCNEAR

MOVDX,COM_8255

MOVAL,00000000B

OUTDX,AL

RET

W_LENDP

W_HPROCNEAR;

MOVDX,COM_8255;dx指向8255的控制端口

MOVAL,00000001B;1时气阀打开,0时气泵充气

OUTDX,AL

RET

W_HENDP

 

INIT2_8255PROCNEAR;为蜂鸣器发声做准备

MOVDX,COM_8255

MOVAL,80H

OUTDX,AL

RET

INIT2_8255ENDP

 

ZHUANHUAN3PROCNEAR;压力采样显示子程序

ZHUANHUAN31:

CALLSCAN_KEY

CMPAL,0CAH

JZZHUANHUA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1