微机接口项目之止血带的设计全解Word格式.docx
- 文档编号:6859721
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:38
- 大小:631.13KB
微机接口项目之止血带的设计全解Word格式.docx
《微机接口项目之止血带的设计全解Word格式.docx》由会员分享,可在线阅读,更多相关《微机接口项目之止血带的设计全解Word格式.docx(38页珍藏版)》请在冰点文库上搜索。
当输入电压有负值时,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:
MOVAL,00000101B;
按C键,1时气阀接通,放气,1时气泵不转
OUTDX,AL
CALLZHUANHUAN3
JMPSTART2
-------------------输入定值--------------
START31PROCNEAR
START310:
MOVDX,PA_8255
MOVAL,04H;
0时气阀关闭,1时气泵不工作
CALLINIT8279
MOVKEYCOUNT,0;
keycount为一个变量,不知道时干嘛的
START311:
CALLSCAN_KEY
JNCSTART311
CMPAL,0C1H;
只能输入一,二两个值
JESTART3111
CMPAL,0C2H
JMPSTART311
START3111:
XCHGAL,KEYCOUNT
INCAL
START321:
MOVCUN1,AL
CALLKEY_NUM
LEABX,LED_TAB
XLAT
CALLWRITE_DATA
MOVAL,CUN1
ANDAL,0FH
START312:
JNCSTART312
只能输入零---九,十个值
JNBSTART312
START3121:
INCAL
CMPAL,4
JNZSTART322
MOVKEYCOUNT,0
CALLINIT8279_1
JMPSTART310
START322:
MOVCUN2,AL
XLAT
MOVAL,CUN2
MOVCUN2,AL
START313:
JNCSTART313
CMPAL,0CAH;
只能输入0---9,十个值
JNBSTART313
START3131:
INCAL
CMPAL,4
JNZSTART323
START323:
MOVCUN3,AL
LEABX,LED_TAB
MOVAL,CUN3
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:
JNCSTART332
CMPAL,0CAH
JZSTART300
CMPAL,0CBH
CMPAL,0CCH
JMPSTART332
START300:
RET
START31ENDP
TESTTPROCNEAR
TESTT0:
MOVDX,COM_8255
MOVAL,00000001B
CALLSCAN_KEY
CMPAL,0CAH;
要在三个键中进行选择,不是则退回
JZTESTT2
CMPAL,0CBH
CMPAL,0CCH
TESTT1:
CALLAD08091
MOVAL,STR1
CMPAL,Dingzhi2
JBA1
CMPAL,DINGZHI3
JAA2
MOVAL,04H
OUTDX,AL
MOVAL,STR1
CALLDISPLAY_DATA2
CALLMAIBOLCD
JMPTESTT0
A1:
CALLCHONG
MOVDX,COM_8255
MOVAL,00001100B
OUTDX,AL
JMPTESTT0
A2:
MOVAL,05H
MOVDX,COM_8255
JMPTESTT0
TESTT2:
RET
TESTTENDP
CHONGPROCNEAR;
充气子程序
MOVDX,PA_8255
MOVAL,00H;
0时气阀关闭,0时气泵工作
OUTDX,AL
CHONGENDP
FANGPROCNEAR;
放气子程序
MOVDX,PA_8255
MOVAL,05H;
1时气阀打开,1时气泵不工作
RET
FANGENDP
BAOPROCNEAR;
保压子程序
MOVDX,PA_8255
AL=00000100B,气泵不工作,气阀关闭
BAOENDP
INIT8255PROCNEAR;
8255初始化,设置8255所有端口工作方式为0,方向输出
MOVDX,COM_8255
MOVAL,80H
INIT8255ENDP
INIT8279PROCNEAR;
8279初始化
MOVDX,CMD_8279
MOVAL,34H
MOVAL,10H
MOVAL,0A0H
CALLINIT8279_1
INIT8279ENDP
INIT8279_1PROCNEAR
CALLCLEAR;
清显示
MOVAL,90H;
从第一个数码管开始移位显示
INIT8279_1ENDP
CLEARPROCNEAR
MOVDX,CMD_8279
MOVAL,0DEH;
清除命令
WAIT1:
INAL,DX
TESTAL,80H
JNZWAIT1;
显示RAM清除完毕吗?
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
STC;
有键
SCAN_KEY1:
NO_KEY:
CLC;
无键按下,清CY
JMPSCAN_KEY1
SCAN_KEYENDP
W_LPROCNEAR
MOVAL,00000000B
RET
W_LENDP
W_HPROCNEAR;
MOVDX,COM_8255;
dx指向8255的控制端口
MOVAL,00000001B;
1时气阀打开,0时气泵充气
W_HENDP
INIT2_8255PROCNEAR;
为蜂鸣器发声做准备
MOVAL,80H
RET
INIT2_8255ENDP
ZHUANHUAN3PROCNEAR;
压力采样显示子程序
ZHUANHUAN31:
CMPAL,0CAH
JZZHUANHUA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 项目 止血带 设计