1、微机接口项目之止血带的设计课件资料止血带测控设计姓名:课程名称:接口项目指导教师:刘宝华2010年11月摘要针对电子止血带这一新型医疗器械的出现,认真分析其操作过程和止血原理,然后利用现有实验条件模拟电控充气式止血带工作原理。具体实验内容包括实验器材准备、元器件的选择,电路原理图的绘制(利用Protel绘制原理图和PCB图),模拟电路运行论证,电路焊接,软件编程及调试,最终给出相关数据图表,总结实验现象,得出实验结论。前言随着医疗水平的高速发展和突发事故的不断增多,止血带的应用也愈发广泛。作为急救手段,止血带作用于较大的血管上,使得出血即刻停止,在手术中使用,可以将术中失血减少到最低限度,从而
2、减少输血量,节省了止血时间,可使麻醉和手术时间缩短,此外在肢体恶性肿瘤手术时,在肢体的适当部位利用止血带还可以防止肿瘤细胞扩散。止血带更以作为战场上四肢出血的第一道就救治手段成为了战斗部队的标准装备。目前正在使用的止血带的种类很多,有一次性止血带,包括点连式一次性止血、一次性连抽式止血带,橡皮止血带,充气止血带,包括手动式充气止血带和电动式充气止血带。我们设计的就是简易的电控充气式止血带。工作原理及电路设计首先将气囊绑于大臂(假设出血处),打开开关,设定压力值开始充气,达到压力值时保持不变,LCD显示当前脉搏,数码管显示当前压力值,当压力过大或过低时蜂鸣器报警,复位(止血成功)后气囊放气,止血
3、完成。电路原理图见附录一。工作原理:1、 电源:电源电路将220V电压分别转换为+12V、-12V、+5V供整个系统的工作电压;2、 启动气泵:微处理器控制微型气泵向袖带充气,微型电磁气阀关闭使整个气路处于封闭状态;3、 信号采集:压力传感器与袖带相通,压力传感器将袖带中的气体压力转换为电信号,电信号经放大器放大后输入到AD0809转化器转化为数字信号在试验仪的数码管上显示出来,一但达到设定压力值后气泵关闭;4、 压力继电器起监测所充气体的临界值;5、 释放压力:使用结束后,微处理器控制气阀打开,释放气路的气体。实验器材及主要元器件:1、 可编程并行I/O接口芯片8255 8255管脚8255
4、内部组成框图8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。2、 集成块CD4051CD4051引脚功能CD4051是单8通道数字控制模拟电子开关,
5、有三个二进制控制输入端A、B、C和INH输入,具有低导通阻抗和很低的截止漏电流。幅值为4.520V的数字信号可控制峰值至20V的模拟信号。例如,若VDD=+5V,VSS=0,VEE=-13.5V,则05V的数字信号可控制-13.54.5V的模拟信号。这些开关电路在整个VDD-VSS和VDD-VEE电源范围内具有极低的静态功耗,与控制信号的逻辑状态无关。当INH输入端=“1”时,所有的通道截止。三位二进制信号选通8通道中的一通道,可连接该输入端至输出。其中VEE可以接负电压,也可以接地。当输入电压有负值时,VEE必须接负电压,其他时候可以接地。CD4051引脚功能说明引脚号符号功能1 2 4 5
6、 12 13 14 15IN/OUT输入/输出端9 10 11A B C地址端3OUT/IN公共输出/输入端6INH禁止端7VEE负电压端8Vss数字信号接地端16VDD电源+3、 恒流源3CR3恒流源3CR3封装图恒流源3CR3是低温度系数、高电流稳定的精密恒流器件,输出电流0.5100mA,起始电压小于2V。外观引脚及外接电阻如图,引脚标号由金属壳标记处顺时针读取,输出电流I=1.234V/R。4、 集成块LM336LM336封装图LM336-2.5集成电路是精密的2.5V并联稳压二极管。这些单片基准如低温度系数2.5V齐纳二极管那样工作,动态阻抗为0.2。电路上提供的第三个端子能方便地对
7、基准电压和温度系数进行微调。该系列器件适用于作数字电压表、电源或运放电路的精密2.5V电压基准(Vz)。2.5V电压基准使它能方便地从5V逻辑电源得到稳定的基准。因为该系列是并联稳压器,所以它们可用作正或负电压基准。5、 集成块ULN2003ULN2003封装图及内部逻辑ULN2003 是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时
8、承受50V 的电压,输出还可以在高负载电流并行运行。6、 运放LM725LM725应用LM725是高精度单运算放大器,具有调零端。7、 运放LF353LF353内部逻辑图LF353的总体电路设计还是比较简洁的,此类拓扑在目前的功率运算放大器设计中是主流:输入放大级是由两只沟道组成的共源极差分电路,并且用镜像恒流源做负载来提高增益;在输入差分放大级和主电压放大级之间是一个由射极跟随器构成的电流放大级,用来提高主电压放大级的输入阻抗和共源极差分电路的负载增益;主电压放大级是一个简单的单级共射极放大电路,为了保证放大器的稳定性,在主电压放大级的输出端到输入差分放大级的输出端加入了一个电容补偿网络,跟
9、补偿电容并联的二极管保证单级共射极放大电路构成的主电压放大级不进入饱和状态工作;输出电流放大级是和构成的互补射极跟随器,两个的电阻用来稳定输出电流放大级的静态电流,的电阻用来限制输出短路电流。8、 微型气泵9、 微型电磁气阀10、压力传感器MPX53GP硬件线路连接图:由8086作为主控微处理器,其程序框图如下:开始输入设定值充气报警N判断是否达到设定值Y数码管显示当前压力值放气结束实现功能:1、 能够随时控制气泵、气阀的工作状态;2、 能通过键盘输入数据并在数码管上显示出来;3、 将袖带压力在数码管上显示出来;4、 监测整个气路的压力变化,如果在气压低于一定状态是能够报警;5、 检测整个气路
10、的压力变化,如果在出现漏气或压力升高能够报警。程序源代码见附录二。调试及结论初次调试由于设备故障,数码管显示错误而失败;更换实验台,检查线路正确后再次调试,达到了预期目标,袖带充气正确,设定值正确,保压稳定,正常显示当前压力值。经过两周的接口技术项目实验过程,加深了我们对微机原理及接口技术这门理论的理解和运用,虽然时间很短,没能让我们真正做到自主设计电路板和编程,但通过操作过程、实验现象以及结果,为我们将来的课程设计和毕业设计奠定了一定的基础。在项目进行过程中,我组四人确定了各自的任务和目标,努力做到每个人都能在项目中得到锻炼和学习,相互交流、促进发展。在动手实践的过程中也遇到了各种问题,有设
11、备的问题也有我们自己的失误,但这并不影响我们组的进展速度,由于时间所限,我们能做到的已经尽力展现,并保证在以后的任务中做到最好。参考文献1 邵时.微机接口技术(第二版).北京.清华大学出版社,2008.1:63-922 杨立.微机原理与接口技术.天津.天津大学出版社,2010.13 柯妙娟. 手术中采用止血带的方法及注意事项J. 中国健康月刊(学术版),2011,3附录一附录二; 按下三个键:A 输入值;B 充气,直到与输入值相等;C 个放气.MODEL TINYWR_COM_AD_L EQU 0D004H ;写左半屏指令地址 CS3WR_COM_AD_R EQU 0D000H ;写右半屏指令
12、地址WR_DATA_AD_L EQU 0D006H ;写左半屏数据地址WR_DATA_AD_R EQU 0D002H ;写右半屏数据地址RD_BUSY_AD EQU 0D001H ;查忙地址RD_DATA_AD EQU 0D003H ;读数据地址X EQU 0B8H ;起始显示行基址Y EQU 040H ;起始显示列基址FirstLine EQU 0C0H ;起始显示行COM_8255 EQU 0E003H ;CS2PA_8255 EQU 0E000HPC_8255 EQU 0E002HCMD_8279 EQU 0BF01H ;CS5DATA_8279 EQU 0BF00HADDR_08091
13、 EQU 0F000H ;CS1ADDR_08092 EQU 0F003HCon_8253 EQU 0D003H T0_8253 EQU 0D000HIO8259_0 EQU 0C000HIO8259_1 EQU 0C001HEXTRN Display8:NEAR.STACK 100.DATABUFFER DB 8 DUP(?)LastAD DB 0Dingzhi DB 0Dingzhi1 DB 0Dingzhi2 DB 0 ;存放保值下限DINGZHI3 DB 0 ;存放保值上限DingFlag DB 0JINGFLAG DB 0CHONGFLAG DB 0 ;冲气时按A,B,C键,去执行相
14、应程序Baozhi DB 0STR1 DB 0 ;存放压力值STR2 DB 0 ;存放脉搏值STR3 DB 0 ;存放上一次脉搏值L DB 0 ;左半屏计数器R DB 0 ;右半屏计数器R2 DB 0 ;计数行数,判断是否满8行R3 DB 0 ;存放行值R4 DB 0 ;存放列值B DB 0 ;存放余数AH,用于查找在哪一行显示点KEYCOUNT DB ?LED_TAB DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HLCD DB 80H,40H,20H,10H,08H,04H,02H,01HCUN DB 0CUN1 DB 8 DUP(?)CUN2
15、 DB 8 DUP(?)CUN3 DB 8 DUP(?)CUN11 DB 8 DUP(?)CUN22 DB 8 DUP(?)CUN33 DB 8 DUP(?).CODESTART: MOV AX,DATA MOV DS,AX NOP CALL DISPLAY_DATA ;表示电路正常 LEA SI,BUFFER CALL Display8 CALL INIT8255 ;初始化8255,所有端口方式0,方向输出 CALL W_H ; 尝试充气,端口PC0置位,气阀打开 MOV DX,PA_8255 ;气阀关,气泵不工作 MOV AL,04H ;气阀0关,气泵1时不工作 OUT DX,AL ;进行
16、初始化 START1: CALL SCAN_KEY JNC START1 ;无键返回START2: CMP AL,0CAH ;要在三个键中进行选择,不是则继续检测 JZ START3 ;如果AL值为0CAH时,就代表A键按下,跳到START3等待输入值 CMP AL,0CBH ;如果AL值等于0CBH时,就代表B键按下,跳到START4充气 JZ START4 CMP AL,0CCH ;如果AL值等于0CCH时,就代表C键按下,跳到START6放气 JZ START6 JMP START1START3: MOV DX,PA_8255 MOV AL,00000100B ;按A键,0时气阀关闭,1
17、时气泵不工作 OUT DX,AL CALL START31 ;输入所要达到的值 JMP START2 ;便于修改输入值START4: CALL W_H ;按B键,1气阀打开,0气泵工作 START41:CALL SCAN_KEY ;设置好8255使气泵充气后,如果有键按下,返回检测 JC START2 ;通过判断是否是C键按下 CALL CHONG MOV CX,50 ;循环50次,取平均值 MOV BX,0 ;记录AD转换值的50次累加值START42:CALL AD08091 ; ADC将电压模拟量装换成数字量并赋予STR1 XOR AH,AH ADD BX,AX ;将AD转换完毕的STR
18、1值累加到BX中 LOOP START42 MOV AX,50 XCHG AX,BX DIV BL ;除以50,求得平均值,商数在AL中 MOV STR1,AL CALL Display_Data1ZHUANHUAN221: MOV AL,STR1 CMP AL, Dingzhi JB START41 ;压力低的话充气 MOV DX,PA_8255 MOV AL,04H OUT DX,AL CALL TESTT JMP START2 START6: MOV DX,PA_8255 MOV AL,00000101B ;按C键,1时气阀接通,放气,1时气泵不转 OUT DX,AL CALL ZHUA
19、NHUAN3 JMP START2;-输入定值-START31 PROC NEAR START310: MOV DX,PA_8255 MOV AL,04H ;0时气阀关闭,1时气泵不工作 OUT DX,AL CALL INIT8279 MOV KEYCOUNT,0 ;keycount为一个变量,不知道时干嘛的START311: CALL SCAN_KEY JNC START311 CMP AL,0C1H ;只能输入一,二两个值 JE START3111 CMP AL,0C2H JE START3111 JMP START311START3111: XCHG AL,KEYCOUNT INC AL
20、 START321: XCHG AL,KEYCOUNT MOV CUN1,AL CALL KEY_NUM LEA BX,LED_TAB XLAT CALL WRITE_DATA MOV AL,CUN1 AND AL,0FH MOV CUN1,ALSTART312: CALL SCAN_KEY JNC START312 CMP AL,0CAH ;只能输入零-九,十个值 JNB START312 START3121: XCHG AL,KEYCOUNTINC AL CMP AL,4 JNZ START322 MOV KEYCOUNT,0 CALL INIT8279_1 JMP START310STA
21、RT322: XCHG AL,KEYCOUNT MOV CUN2,AL CALL KEY_NUM LEA BX,LED_TAB XLAT CALL WRITE_DATA MOV AL,CUN2 AND AL,0FH MOV CUN2,AL START313: CALL SCAN_KEY JNC START313 CMP AL,0CAH ;只能输入0-9,十个值 JNB START313START3131: XCHG AL,KEYCOUNT INC AL CMP AL,4 JNZ START323 MOV KEYCOUNT,0 CALL INIT8279_1 JMP START310START3
22、23: XCHG AL,KEYCOUNT MOV CUN3,AL CALL KEY_NUM LEA BX,LED_TAB XLAT CALL WRITE_DATA MOV AL,CUN3 AND AL,0FH MOV CUN3,AL START331: MOV AL,0AH ;由十进制转换成mmhg MUL CUN1 ADD AL,CUN2 XCHG CUN,AL MOV AL,0AH MUL CUN ADD AL,CUN3 MOV BL,2 DIV BL MOV Dingzhi,AL ; 将转化的十六进制存入Dingzhi SUB AL,5 MOV Dingzhi2,AL ADD AL,20
23、 MOV DINGZHI3,ALSTART332: CALL SCAN_KEY JNC START332 CMP AL,0CAH JZ START300 CMP AL,0CBH JZ START300 CMP AL,0CCH JZ START300 JMP START332START300: RETSTART31 ENDPTESTT PROC NEAR TESTT0: MOV DX,COM_8255 MOV AL,00000001B OUT DX,AL CALL SCAN_KEY CMP AL,0CAH ;要在三个键中进行选择,不是则退回 JZ TESTT2 CMP AL,0CBH JZ TE
24、STT2 CMP AL,0CCH JZ TESTT2 TESTT1: CALL AD08091 MOV AL,STR1 CMP AL,Dingzhi2 JB A1 CMP AL,DINGZHI3 JA A2 MOV DX,PA_8255 MOV AL,04H OUT DX,AL MOV AL,STR1 CALL DISPLAY_DATA2 CALL MAIBOLCD JMP TESTT0A1: CALL CHONG MOV DX,COM_8255 MOV AL,00001100B OUT DX,AL JMP TESTT0A2: MOV DX,PA_8255 MOV AL,05H OUT DX,
25、AL MOV DX,COM_8255 MOV AL,00001100B OUT DX,AL JMP TESTT0TESTT2: RETTESTT ENDPCHONG PROC NEAR ;充气子程序 MOV DX,PA_8255 MOV AL,00H ;0时气阀关闭,0时气泵工作 OUT DX,AL RETCHONG ENDPFANG PROC NEAR ;放气子程序 MOV DX,PA_8255 MOV AL,05H ;1时气阀打开,1时气泵不工作 OUT DX,ALRETFANG ENDPBAO PROC NEAR ;保压子程序 MOV DX,PA_8255 MOV AL,04H ;AL=
26、00000100B,气泵不工作,气阀关闭 OUT DX,ALRETBAO ENDPINIT8255 PROC NEAR ;8255初始化 ,设置8255所有端口工作方式为0,方向输出 MOV DX,COM_8255 MOV AL,80H OUT DX,AL RETINIT8255 ENDPINIT8279 PROC NEAR ;8279初始化 MOV DX,CMD_8279 MOV AL,34H OUT DX,AL MOV AL,10H OUT DX,AL MOV AL,0A0H OUT DX,AL CALL INIT8279_1 RETINIT8279 ENDPINIT8279_1 PROC
27、 NEAR CALL CLEAR ;清显示 MOV AL,90H ;从第一个数码管开始移位显示 OUT DX,AL RETINIT8279_1 ENDPCLEAR PROC NEAR MOV DX,CMD_8279 MOV AL,0DEH ; 清除命令 OUT DX,ALWAIT1: IN AL,DX TEST AL,80H JNZ WAIT1 ; 显示RAM清除完毕吗? RETCLEAR ENDPSCAN_KEY PROC NEAR MOV DX,CMD_8279 ; 0BF01H IN AL,DX ;读状态READ_FIFO: AND AL,7 ;00000111 JZ NO_KEY ;是
28、否有键按下READ: MOV AL,40H ;01000000 OUT DX,AL ;读FIFO RAM MOV DX,DATA_8279 IN AL,DX STC ;有键SCAN_KEY1: RETNO_KEY: CLC ;无键按下,清CY JMP SCAN_KEY1SCAN_KEY ENDPW_L PROC NEAR MOV DX,COM_8255 MOV AL,00000000B OUT DX,AL RET W_L ENDPW_H PROC NEAR ; MOV DX,COM_8255 ;dx指向8255的控制端口 MOV AL,00000001B ;1时气阀打开,0时气泵充气 OUT DX,AL RET W_H ENDP INIT2_8255 PROC NEAR ;为蜂鸣器发声做准备 MOV DX,COM_8255 MOV AL,80H OUT DX,AL RET INIT2_8255 ENDPZHUANHUAN3 PROC NEAR ;压力采样显示子程序ZHUANHUAN31: CALL SCAN_KEY CMP AL,0CAH JZ ZHUANH
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1