智能仪器原理及其应用总结.docx
- 文档编号:26798485
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:20
- 大小:483.34KB
智能仪器原理及其应用总结.docx
《智能仪器原理及其应用总结.docx》由会员分享,可在线阅读,更多相关《智能仪器原理及其应用总结.docx(20页珍藏版)》请在冰豆网上搜索。
智能仪器原理及其应用总结
1.A/D转换器模拟量的输入
①.ADC0809芯片及其接口(逐次比较A/D)
转换程序
a.查询方式
MOVDPTR,#0FEF8H;指出IN0通道地址
MOVA,#00H
MOVX@DPTR,A;启动IN0通道转换
MOVR2,#20H
DLY:
DJNZR2,DLY;延时,等待EOC变低
WAIT:
JBP3.3,WAIT;查询,等待EOC变高
MOVXA,@DPTR
MOV30H,A;结果存30H
b.延时等待方式
MOVDPTR,#0FEF8H
MOVA,#00H
MOVX@DPTR,A;启动IN0通道
MOVXR2,#48H
WAIT:
DJNZR2,WAIT;延时约140μs
MOVXA,@DPTR
MOV30H,A;转换结果存30H
c.中断方式(主程序)
MAIN:
SETBIT1;选边沿触发
SETBEX1;允许中断
SETBEA;打开中断
MOVDPTR,#0FEF8H
MOVA,#00H;启动A/D转换
MOVX@DPTR,A
……;执行其他任务
中断服务程序:
NTR1:
PUSHDPL;保护现场
PUSHDPH
PUSHA
MOVDPTR,#0FEF8H
MOVXA,@DPTR;读结果
MOV30H,A;结果存30H
MOVA,#00H
MOVX@DPTR,A;启动下次转
POPA;恢复现场
POPDPH
POPDPL
RETI;返回
②.AD5470芯片及其接口(延时比较A/D)
延时方式对应控制程序清单:
MOVR0,#1FH;启动
MOVX@R0,A
MOVR7,#10H;延时
DJNZR7,$
MOVR1,#7FH;读低四位
MOVXA,@R1
MOVR2,A;存低四位
MOVR1,#3FH;读高八位
MOVXA,@R1
MOVR3,A;存高四位
SJMP$
③.MC14433A/D芯片及其接口(双积分式A/D)
设要求外部中断为边沿触发方式,
主程序:
INIT:
SETBIT1;选择INT1边沿触发方式
MOVCIE,#10000100B;打开中断,INT1中断允许
……
中断服务程序:
SAP:
MOVA,P1
JNBACC.4,SAP;等待DS1选通信号
JBACC.0,SER;若超、欠量程,转SER
JBACC.2,SP1;若极性为正,转SP1
SETB77H;为负,2EH单元D7为1
AJMPSP2
SP1:
CLR77H;为正,2EH单元D7为0
SP2:
JBACC.3,SP3;查千位(1/2位)
SETB74H;千位数2EH单元D4为1
AJMPSP4
SP3:
CLR74H;千位数2EH单元D4为0
SP4:
MOVA,P1
JNBACC.5,SP4;等待DS2选通信号
MOVR0,#2EH;
XCHDA,@R0;百位数送2EH低4位
SP5:
MOVA,P1
JNBACC.6,SP5;等待DS3选通信号
SWAPA;高低4位交换
INCR0;指针指向2FH
MOV@R0,A;十位数2FH高4位
SP6:
MOVA,P1
JNBACC.7,SP6;等待DS4选通信号
XCHDA,@R0;个位数送2FH低4位
RETI;中断返回
SER:
SETB10H;置超、欠量程标志
RETI;中断返回
④.DMA控制的数据传输方式
2.模拟量的输出通道D/A转换器
①.DAC0832单缓冲接口电路
相应程序段:
MOVDPTR,#0FEFFH;给出0832的地址
MOVA,#DATA;欲输出的数据装入A
MOVX@DPTR,A;数据装入0832并启动D/A转换
②.12位D/A转换器DAC1208
主程序:
MOVDPTR,#0FDFFH
MOVA,DATA
MOVX@DPTR,A;输出高8位数据
DECDPH
MOVA,DATA+1
MOVX@DPTR,A;输出低4位数据
MOVDPTR,#7FFFH
MOVX@DPTR,A;12位数据同时送DAC寄存器
3.键盘与接口
①.独立式键盘及其接口程序
ORG0000H
AJMPMAIN;上电后转主程序
ORG0003H;外部中断0入口
AJMPKEYJMP;指向中断服务程序
ORG0100H
MAIN:
SETBIT0;选择边沿触发方式
SETBEX0;允许外部中断0
SETBEA;允许CPU中断
MOVDPTR,#EF00H;送8155命令口地址
MOVA,#02H
MOVX@DPTR,A;控制字写入
HERE:
AJMPHERE;模拟主程序
ORG0120H;中断服务程序
KEYJMP:
MOVR3,#08H;设循环次数
MOVDPTR,#0EF01H;送A口地址
MOVR4,#00H;计数器清零
MOVXA,@DPTR;读入按键状态
KEYAD1:
RRCA;状态字右移一位
JNCKEYAD2;C=0,转KEYAD2
INCR4;计数器加1
DJNZR3,KEYAD1
KEYRET:
RETI
KEYAD2:
MOVDPTR,#JMPTBL
MOVA,R4
RLA
JMP@A+DPTR;转相应功能处理
JMPTBL:
AJMPSB0;入口地址表
AJMPSB1
AJMPSB2
AJMPSB3
AJMPSB4
AJMPSB5
AJMPSB6
AJMPSB7
②.矩阵式键盘接口电路和程序
1.行扫描法
(1).判是否有键按下。
使端口C所有的行输出均为低电平,然后从端口A读入列值。
如果没有键按下,读入值应为FFH,如果有键按下,则不为FFH。
(2).若有键按下,则延时10ms,再判断是否确实有键按下。
(3).若确实有键按下,则求出按下键的键值。
其实现方法是对键盘进行逐行扫描。
即先令PC0为0,读入列值,若列值等于FFH,说明该行无键按下,再令PC1为0,对下一行进行扫描;若列值不等于FFH,说明该行有键按下,求出其键值。
求键值时要设置行值寄存器和列值寄存器。
每扫完一行,若无键按下,则行值寄存器加上08H;若有键按下,行值寄存器保持原值,转而求相应的列值。
求列值的方法是,将列值右移,每移位一次列值寄存器加1,直至移出位为低电平为止。
最后将行值和列值相加即得键值。
若需要十进制键值,可进行DAA修正。
(4).为保证按键每闭合一次CPU只做一次处理,程序需等闭合的键释放后再对其做处理
ORG0200H
KEYPR:
MOVDPTR,#0100H;8155初始化
MOVA,#0CH
MOVX@DPTR,A;控制字写入
MOVR3,#00H;列寄存器清零
MOVR4,#00H;行寄存器清零
ACALLKEXAM;检查有无键按下
JZKEND;无键按下返回
ACALLD10ms
ACALLKEXAM;再次检查有无键按下
JZKEND
MOVR2#0FEH;输出使X0为0
KEY1:
MOVDPTR,#0103H;送C口地址
MOVA,R2
MOVX@DPTR,A;扫描某一行
MOVDPTR,#0101H;送A口地址
MOVXA,@DPTR;读列值模型
CPLA
ANLA,#0FFH
JNZKEY2;有键按下,求列值
MOVA,R4;无键按下,行+8
ADDA,#08H
MOVR4,A
MOVA,R2;求下列为低电平模型
RLA
MOVR2,A
JBACC.4,KEY1;判是否已全扫描
AJMPKEND
KEY2:
CPLA;恢复列模型
KEY3:
INCR3
RRCA
JCKEY3
KEY4:
ACALLD10ms
ACALLKEXAM
JNZKEY4;等待键释放
MOVA,R4;计算键值
ADDA,R3
MOVBUFF,A;键值存入BUFF
KEDN:
RET
BUFF:
EQU30H
D10ms:
MOVR5,#14H;延时子程序
DL:
MOVR6,#0FFH
DL0:
DJNZR6,DL0
DJNZR5,DL
RET
KEXAM:
MOVDPTR,#0103H;检查是否有键按下子程序
MOVA,#00H
MOVX@DPTR,A
MOVDPTR,#0101H
MOVXA,@DPTR
CPLA
ANLA,#0FFH
RET
㈡线路反转法
③.键盘分析程序
㈠直接分析法
㈡.状态分析法
状态分析法可分为以下四步进行:
(1)用状态图准确表述按键操作序列的定义;
(2)由上述状态图导出的状态表。
状态表状态表是键盘分析程序的核心。
(3)固化状态表:
为了让微处理器能使用状态表,应将其转变成可供微处理器查询的形式。
(4)设计键盘分析程序的设计
4.LED显示及接口
①.7段LED显示器及接口
②.静态显示接口电路
ORG8000H
DISP:
MOVR1,30H;R1存小数点信息
MOVR0,#31H;R0指向显缓单元
MOVR2,#04H;R1指示循环次数
MOVDPTR,#4000H;显示地址送DPTR
LOOP:
MOVA,@R0;取数进行译码
PUSHDPH
PUSHDPL
MOVDPTR,#SEG
MOVCA,@A+DPTR;取对应段码
BIT3,R1;判小数点位
JNZL1
ANL7FH;小数点位处理
L1:
POPDPL
POPDPH
MOVX@DPTR,A;段码送显
INCR0;调整
INCDPTR;调整
MOVA,R1;R1左移一位
RLA
MOVR1,A
DJNZR2,LOOP;显示是否完成
RET
SEG:
DB0C0H,0F9H,0A4H;0,1,2
DB0B0H,99H,92H;3,4,5
DB82H,0F8H,80HH;6,7,8
DB90H,0FFH,0BFH;9,空,
③动态扫描显示接口电路
DIS:
MOVR0,#30H;R0指向显缓
MOVR2,#20H;R2存位选码
DIS1:
MOVA,@R0;取数进行译码
MOVDPTR,#SEG
MOVCA,@A+DPTR;取段码
MOVDPTR,#0FD01H
MOVX@DPTR,A;段码送A口
MOVA,R2
INCDPTR
MOVX@DPTR,A;位选码送B口
ACALLDIMS;延时3~5ms
MOVA,R2
JBACC.0,DIS2;是否显示完毕
INCR0;未完,取下位
MOVA,R2
RRA;下位位选码
MOVR2,A
AJMPDIS1
DIS2:
RET
DIMS:
MOVR3,#70H;延时子程序
DL1:
NOP
DJNZR3,DL1
RET
SEG:
DB3FH,06H,5BH,4FH;0,1,2,3
DB66H,6DH,7DH,07H;4,5,6,7
DB7FH,6FH,77H,7CH;8,9,A,B
DB39H,5EH,79H,71H;C,D,E,F
④.点阵式LED显示及接口
⒌HD7279A的键盘/LED显示器接口电路
⒍GP-IB接口设计①.8031与8291A
②8291于8292和8293连接
③.三线挂钩原理
(1)听者使NRFD呈高电平,表示已做好接收准备,总线上所有听者是“线或”连接至NRFD线上,因此只要有一个听者未做好准备,NRFD就呈低电平。
(2)讲者发现NRFD呈高电平后,就把数据放在DIO线上,并令DAV为低电平,表示DIO线上的数据已经稳定且有效。
(3)听者发现DAV线呈低电平,就令NRFD呈低电平,表示准备接收数据。
(4)在接收数据的过程中,NDAC线一直保持低电平,直至每个听者都接收完数据,才上升为高电平。
所有听者也是“线或”接到NDAC线上。
(5)当讲者检出NDAC为高,就令DAV为高,表示总线上的数据不再有效。
(6)听者检出DAV为高电平,就令NDAC再次变为低电平,以准备进行下一个循环过程。
④.五种具有相应管理能力的接口功能。
1.服务请求功能(SR)
2.并行点名功能(PP)
3.远控本控功能(R/L)
4.装置触发功能(DT)
5.装置清除功能(DC)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 仪器 原理 及其 应用 总结