智能仪器实验.docx
- 文档编号:6487297
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:35
- 大小:338.46KB
智能仪器实验.docx
《智能仪器实验.docx》由会员分享,可在线阅读,更多相关《智能仪器实验.docx(35页珍藏版)》请在冰豆网上搜索。
智能仪器实验
实验一智能仪器人机接口实验
1.1P1口输出实验
一.实验目的
通过实验了解P1口作为输入输出方式使用时,CPU对P1口操作方式。
二.实验设备
仿真器1台,5V小电源1台,实验电路板1块,数字式万用表1块。
三.实验原理
P1口为8位准双向口,每一位可独立定义为输入输出。
CPU对P1口的操作可以是字节操作,也可以是位操作。
试验中P1口接8个发光二极管,编写程序,通过P1口控制LED状态,熟悉CPU对P1口操作命令。
四.实验内容
实验线路如图1.11.1所示,电路中发光二极管状态代表输出口的状态,编制程序,使8个LED每隔2个右移循环点亮。
五.实验参考程序
汇编程序:
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVSP,#60H
MOVA,#24H;送隔2个亮控制字
SETBC
L0:
MOVP1,A;送P1口
图1.11.1P1口输出实验
ACALLDL;延时
RRCA;右移
AJMP;循环点亮
DL:
MOVR7,#0A3HMOVR6,#0FFH
DL2:
DJNZR6,DL2
DJNZR7,DL1
RET
1.2P1口输入输出实验
一.实验目的
通过实验了解开关量输入、输出控制的接口技术及编程方法。
图1.11.2P1口输入输出电路图
二.实验设备
仿真器1台,5V小电源1台,实验电路板1块,数字式万用表1块。
三.实验内容
实验线路如图1.11.2所示,74LS377的输入端1D~8D接在80C51的P0口,其输出线1Q~8Q接8个发光二极管,
作为锁存控制信号接在74LS377的时钟端。
通过P1口开关向单片机输入数据,任意组合开关的输入状态,得到不同的输出状态。
见表1-11-1。
四.实验程序流程及参考程序
实验流程如图1.11.3所示。
图1.11.3P1输入输出程序流程图
表1-11-1输入输出开关状态汇编程序
组次
(N)
输入
输出
开关状态
控制字
LED状态
控制字
1
AA
55
81
7E
2
55
AA
7E
81
3
0F
F0
3C
C3
4
F0
0F
C3
3C
5
7F
80
10
EF
6
F7
08
11
EE
7
BB
44
55
AA
8
44
BB
AA
55
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
NOP
ZH:
MOVR2,#08H;置组数
MOVR1,#00H
MOVA,#0FFH;片选377初始化
MOVDPTR,#7FFFH
MOVX@DPTR,A
MOVA,#0FFH
MOVP1,A
MOVA,P1;状态送A寄存器
JZEND;A=00H,结束
CJNEA,#0FFH,MH;A=FFH等待
SJMPZH
END:
SJMP﹩
MH:
MOV60H,A;P1口状态送60H
TA:
MOVDPTR,#1000H;指向表址
LP:
MOVA,R1
MOVCA,@A+DPTR;查表取数
CJNEA,60H,LP1;不等,转移
AJMPLP2
LP3:
MOVA,R1
MOVCA,@A+DPTR;查输出表
MOVDPTR,#7FFFH
MOVX@DPTR,A
AJMPZH
LP1:
INCR1;重查组真值表
INCR1
DJNZR2,LP
AJMPZH
LP2:
INCR1
AJMPLP3
ORG1000H
DB55H,7EH,0AAH,81H;控制字/输出表值
DB0F0H,0C3H,OFH,3CH
DB80H,0EFH,08H,0EEH
DB44H,0AAH,0BBH,55H
五.思考题
从P1口读入数据时应注意什么?
1.3P1口音乐输出实验
一.实验目的
通过实验掌握音乐报警电路硬件电路设计及软件编程方法。
二.实验设备
仿真器1台,5V电源1台,面包板1块,MC1413芯片1块,PC机喇叭一个
三.实验原理
图1.11.4P1口音乐输出实验线路
实验线路见图1.11.4,通过定时器的定时,产生一定频率的波形信号(电压信号),P1.0输出,驱动外接喇叭,便可发出某一频率的音调。
若将乐曲的音调连续发出,使其按节拍变化,即可演奏一首乐曲。
常见音调及其频率对应如表1-11-2所示。
表1-11-2音节与频率对应关系
音符
1
2
3
4
5
6
7
频率/HZ
523
587
859
698
784
880
987
音符
1
2
3
4
5
6
7
频率/HZ
1046
1174
1318
1396
1567
1760
1975
定时器初值计算方法(以音符“1”为例):
f=523Hz,T=1/f。
通过定时器溢出后对P1.0取反产生方波,固定时器溢出时间位1/2f。
由定时器计数一次的时间为12/
,则计数次数:
n=(1/2f)/(12/
)=
/24f
若采用16位定时方式,
=6MHz,定时初值为X=
-n=
-
/24f=FF22H。
用同一方法求出其它音符所对应的频率计数初值,将其制表在程序中,通过查表装入要求的初值即可。
取节拍长度为0.5s,由定时器1产生,最大定时常数为2µs*
(6MHz晶振)约130ms,取定时为125ms,定时常数为0CDCH,通过定时中断N次,产生N*125ms定时,满足1/4拍,1/2拍,1拍等不同节拍的定时要求。
将乐谱转换成代码,应包含乐曲长度、音符、音长等信息。
设计时可按如下方法进行:
(1)将音符字节装入8位字节高4位,节拍代码装入低4位,,组成一个字节,以此类推,将整段乐曲转换成一定长度的代码数据表。
(2)在程序执行时顺序查此表,取出音符代表,查频率表,置入T/C口,取出节拍代码,供T/C1定时使用,启动后,即可发音。
四.实验内容
按电路图连接好器件之间连线并按以下乐曲编制曲谱程序:
|1231|1231|345—|345—|565432|565432|151—|151—|
五.实验参考程序
汇编程序:
ORG0000H
RESET:
AJMPMAIN
ORG000BH
AJIMPIT0P;定时器0中断入口,转服务程序
ORG001BH
AJMPIT1P;定时器1中断入口,转服务程序
ORG0100H
MAIN:
MOVSP,#70H
CLRP1.0
MOVIP,#08H;定时器1中断优先
MOVR1,#22H;乐曲长度送R1
MOVR2,#10H
MOVR3,#00H;查乐曲表偏移量初值送R3
ACALLPTOM2
CLRTR0
CLRTR1
CLRP1.0
HERE:
AJMPHERE
PTOM2:
MOVTMOD,#11H;定时器均为定时方式1
MOVDPTR,#1100H;乐曲首址
MOVA,R3
MOVCA,@A+DPTR;取音符及音长信号
ANLA,#0FH;音长信号送R0
MOVR0,A
MOVA,R3
MOVCA,@A+DPTR
SWAPA
ANLA,#0FH;音符信号送R7
RLA
MOVR7,A
MOVDPTR,#1000H;音频表首址
MOVA,R7
MOVCA,@A+DPTR;由音符信号取相应音频值低位
MOVTL0,A;送TL0
MOVA,R7
DECA
MOVCA,@A+DPTR;再取相应音频值最高位
MOVTH0,A;送TH0
MOVTH1,#0CH;定时器1定时125ms初值
MOVTL1,#0DCH
SETBEA;开相关中断
SETBET1
SETBET0
SETBTR1
SETBTR0
HERE1:
CJNER0,#0H,HERE1;发音定时未到,等待
DJNZR1,LOOP1;乐曲未结束,转
RET
LOOP:
INCR3;偏移量加1,重查
MOVDPTR,#1100H
MOVA,R3
MOVCA,@A+DPTR
ANLA,#0FH
MOVR0,A
MOVA,R3
MOVCA,@A+DPTR
ANLA,#0FH
RLA
MOVR7,A
SJMPHERE1
定时器0中断服务程序
IT0P:
CPLP1.0;P1.0取反
MOVDPTR,#1000H;重装音频初值
MOVA,R7
MOVCA,@A+DPTR
MOVTL0,A
MOVA,R7
DECA
MOVCA,@A+DPTR
MOVTH0,A
RETI
定时器1中断服务程序
IT1P:
MOVTH1,#0CH;重装定时初值
MOVTL1,#0DCH
DECR0;音频减1
RET1
ORG1000H
DB0FFH,10H,0FFH,2BH,0FFH,42H,0FFH,4CH;1234567
DB0FFH,60H,0FFH,71H,0FFH,81H,
DB0FEH,22H,0FEH,56H,0FEH,85H,0FEH,9AH;1234567
DB0FEH,0C1H,OFEH,0E3H,OFEH,03H
ORG1100H
DB14H,24H,34H,14H,14H,24H,34H,14H,34H
DB44H,58H,34H,44H,58H,52H,62H,52H,42H
DB34H,24H,52H,62H,52H,42H,34H,24H,14H
DB54H,18H,14H,54H,18H
实验二定时器/计数器实验
一.实验目的
了解MCS-51单片机中定时器/计数器的基本构造、工作原理和工作方式,掌握工作在定时器和计数器两种方式下的编程方法。
二.实验设备
仿真器1台,+5V电源1台,数字万用表1台,实验电路板1块。
三.实验原理
80C51内部有T0、T1两个定时器/计数器,TL0、TH0和TL1、TH1分别对应两个定时器/计数器的低8位和高8位,与定时器/计数器有关的SFR还有TMOD和TCON。
TCON中TR0、TR1是T0、T1对应的开始运行控制位,TF0、TF1是溢出标志,剩下4位是两个外部终端INT0、INT1对应的方式控制位IT0、IT1和中断请求标志IE0、IE1。
TMOD中,每个定时器/计数器对应GATE、C/T、M1、M04位,GATE是选通门控位,它决定T0、T1的开始运行是否要受外部中断输入引脚电平的控制;C/T是定时器/计数器选择位,在定时器工作方式时,计数输入信号来自内部时钟,每个机器周期计数寄存器加1;在计数器工作方式时,计数输入信号来自T0、T1管脚,输入信号每次从1到0跳变,计数寄存器加1,要注意的是输入信号的最高频率不得大于机器振荡频率的1/24。
M1、M0是模式控制位,决定了T0、T1的四种工作模式,对于每种模式的具体说明请阅读有关的参考手册。
图1.12.1计数器实验电路
这里以T0工作方式1,即16位定时计数方式为例简要说明定时器/计数器的工作过程,根据需要设置TMOD及TL0、TH0的数值,开启定时或计数,定时或计数溢出时自动置溢出标志,并请求中断。
四.实验内容
1.定时器实验:
在使用6MHz晶振的条件下,用定时器0产生100ms定时,由P1.0输出周期为200ms的方波信号,并通过示波器观察P1.0的输出波形。
2.计数器实验:
实验电路如图1.12.1所示,手动外部输入脉冲,计数器记到一定值时,由P1.0输出信号,使蜂鸣器发声。
五.实验参考程序
1.定时器实验
汇编程序:
ORG000H
LJMPMAIN
ORG0100H
MAIN:
MOVTMOD,#01H
MOVTL0,#0b0H
MOVTH0,#3dH
SETBTR0
LP:
JBCTF0,LP1
SJMPLP
LP1:
MOVTL0,#0b0H
MOVTH0,#3dH
CPLP1.0
AJMPLP
2.计数器实验
汇编程序:
ORG000H
LJMPMAIN
ORG0100H
MAIN:
SETBP1.0
MOVTMOD,#06H;T0计数方式
MOVTH0,#0FFH;计数4次进位
MOVTL0,#0FBH
SETBTR0
LP1:
JBCTF0,LP2
SJMPLP1
LP2:
CLRP1.0
HERE1:
SJMPHERE1
实验三中断实验
一.实验目的
了解MCS-51单片机的中断组成、中断原理、中断处理过程、外部中断的中断方式,掌握中断功能的编程方法。
二.实验设备
+5V电源,仿真器1台,电路板1块,示波器1台。
三.实验原理
本节只简要介绍80C51的中断功能,有关原理的内容,在此不作说明。
80C51的中断系统中有5个中断源:
外部中断INT0、定时器/计数器T0、外部中断INT1、定时器/计数器T1和串口UART中断,它们对应不同的中断矢量。
IE是中断允许寄存器,其中EX0、ET0、EX1、ET1、ES分别是上述5个中断的允许控制位,EA位是中断总允许位,每个中断只有在相应中断允许且总中断也允许的情况下才能得到中断响应。
80C51的5个中断都可以设为高、低2个优先级,IP是中断优先级寄存器,其中的PX0、PT0、PX1、PT1、PS位分别对应5个中断的优先级设置,置“1”时设定为高级中断,为“0”时是低级中断。
在有中断嵌套要求时,低优先级中断可被高优先级中断所中断。
当同一级的中断同时到来时,先响应中断矢量排在前面的中断。
四.实验内容
1.定时器中断实验
实验电路如图1.13.1所示,编程设定6s定时(使用的晶振为6MHz),定时中断到来时,通过P1.0口发出信号,按规律点亮发光二极管。
图1.13.1中断实验线路
2.外部中断实验
实验电路如图1.13.1所示,通过P1.0口点亮发光二极管,手动外部输入中断后熄灭发光二极管。
3.多中断综合实验
晶振选用6MHz,初始P1.0为高,外部中断INT0触发后,P1.0变低并启动计数器0,计数10次后启动定时器1,控制定时由P1.0输出周期为200ms的方波信号,接收两次外部中断后关方波发生器,P1.0置低,实验结束。
五.实验参考程序
1.定时器中断实验
汇编程序:
ORG0000H
AJMPMAIN
ORG000BH
SJMPET0P
MAIN:
SETBP1.0
MOVTMOD,#01H;计数器0工作在方式1
MOVTH0,#0CH
MOVTL0,#0DCH;设置125ms定时
MOVR3,#30H
SETBEA;中断总允许
SETBET0;定时器中断允许
SETBTR0;启动定时器0
STP:
CJNER3,#00H,STP;定时等待
CLRP1.0
HERE:
SJMPHERE
ET0P:
MOVTH0,#0CH
MOVTL0,#0DCH
DECR3
RETI
2.外部中断实验
汇编程序:
ORG0000H
AJMPMAIN
ORG0003H
SJMPEXP0
ORG0100H
MAIN:
CLRP1.0
SETBP3.2;外部中断0口置高
SETBIT0;后沿负跳有效
SETBEX0;允许外部中断
SETBEA;中断总允许
HERE:
SJMPHERE
EXP0:
SETBP1.0
RETI
3.多中断综合实验
汇编程序:
ORG0000H
AJMPMAIN
ORG0003H
AJMPET0P
ORG000BH
AJMPIT0P
ORG001BH
AJMPIT1P
ORG0100H
MAIN:
MOVSP,#70H
SETBP1.0
MOVTCON,#01H;INT0位下降沿触发
MOVTMOD,#27H;计数器0在方式3下计数
MOVIE,#8BH;开所有中断
MOVR3,#00H
STP0:
CJNER3,#01H,STP0;等待INT0中断
CLRP1.0;开灯P10
MOVTL0,#0FFFH;计数器0置初值
MOVTH0,#06H
MOVR4,#00H
SETBTR0;开计数器0
STP1:
CJNER4,#0AH,STP1;是否计数到10次
CLRTR0;关计数器0
SETBTR1;开定时器1,输出200ms方波
STP4:
MOVR7,#0C8H
STP2:
CJNER7,#00H,STP2
CPLP1.0;取反
CJNER3,#03H,STP4;无2次INT0中断,循环
CLRTR1;2次INT0中断,关T1,P10
CLRP1.0
CLREA
SJMP$
ET0P:
INCR3
RETI
IT0P:
MOVTL0,#0FFH
INCR4
RETI
IT1P:
MOVTH0,#06H
DECR7
RETI
实验四串行通讯实验
一.实验目的
了解MCS-51单片机串行口(UART)的结构、PC及串行通讯的基本要求、串行通讯的原理和数据交换过程,掌握单片机与单片机间以及单片机与PC机间进行串行通讯的编程方法。
二.实验设备
PC机2台,仿真器2台,+5V电源,电路板2块,示波器1台。
三.实验原理
80C51的串行接口是全双工的,它能做通用异步接收器/发送器(UART)用,也能做同步移位寄存器用。
在做UART使用时,相关的寄存器要有SBUF、SCON,还要设定PCON中的SMOD位。
SBUF是数据发送缓冲器和接收缓冲器,逻辑上用同一个地址,物理上是分开的。
SCON是串行口控制寄存器,其中,SM0和SM1位是工作方式选择位,决定四种工作方式,方式0对应的是移位寄存器输入输出方式,方式1对应8位的UART,方式2和方式3对应9位的UART,还支持主从方式的多级通讯;SM2位允许方式2和方式3的多级通讯;REN是串行接收控制位;TB8、RB8是方式2和方式3的第9位数据;TI、RI是发送中断和接收中断的标志位。
在串行通讯方式1和方式3中,通讯的波特率是可设的,满足下式:
波特率=
(定时器/计数器1的溢出率)
式中SMOD是PCON中的一位。
图1.14.1异步串行通讯数据格式
四种串行通讯的具体内容请阅读有关的参考手册,在此只简要介绍方式1。
在方式1状态下,串口为8位异步通讯接口,一帧数据为10位:
一个起始位(0),8位数据(低位在先)和1位停止位
(1),波特率可变,按前所述公式设计,通讯数据格式如图1.14.1所示。
发送时,一条以SUBF为目的的寄存器的指令可以启动发送,发送结束后,申请中断。
只有RI=0时接收才能保证数据不丢失。
PC机的串行通讯口是借助通用异步接收发送器8250(或16C550等)实现的,在TURBOC等环境下,都提供了相应的函数或软件接口,使用时只要调用这些软件即可。
在本实验中应注意的是,串行通信的方式和波特率应与单片机的有关设置一致。
另外,PC机的串行通讯口是标准的RS232电平,而80C51使用的是CMOS电平,二者在连接时应有必要的电平转换,在本实验中,电平转换采用MAX232芯片。
另外,在距离较远的应用场合,可采用调制解调器。
四.实验内容
为计算方便,本节实验中均使用11.0592MHz的晶振。
1.单片机之间串行通讯实验
将甲乙两台仿真器串行口的发送端与对方接收端连接,即甲机的TXD与乙机的RXD相连,甲机的RXD与乙机的TXD相连,并实现双机共地。
假设甲机为发送机,乙机为接收机,甲机的一组数据通过串行通讯到乙机,乙机接收数据,并将这组数据存入乙机内部一段连续的空间内,并传回给甲机,甲机也存内RAM的一段空间内。
2.单片机与PC机之间串行通讯
图1.14.2电平转换电路
图1.14.2是单片机串行口电平转换电路,通过此电路使串行接口具有RS232电平,并与PC机的串行口连接。
用户通过PC机键盘输入一串数字(小于255,且数字间以空格隔开),PC机收到结束符(255)后,将数字存入数组,等待发送触发命令(空格键)。
每按一下空格键触发一位数据传输,每位数据传输过程为:
PC机通过串口将数字传给单片机,单片机收到后回传这个数字,并存入自己内部一段连续的空间中,PC机接到回传数据后显示出来,直接传输完结束符(255),实验结束。
五.参考程序
1.单片机之间串行通讯实验
图1.14.3和图1.14.4分别给出了单片机与单片机通讯中发送端和接收端对应的软件流程。
图1.14.3单片机-单片机通讯发送端程序流程图1.14.4单片机-单片机通接收端流程
发送端汇编程序:
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVTMOD,#20H
MOVTH1,#0F4H
MOVTL1,#0F4H
MOVSCON,#50H
MOVPCON,#00H
SETBTR1
CLRT1
SEND:
MOVR3,#00H
MOVR0,#30H
SE1:
MOVA,R3
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVSBUF,A
SE5:
JBCTI,SE2
SJMPSE5
SE2:
JBCRI,SE3
SJMPSE2
SE3:
MOVA,SBUF
MOV@R0A
INCR0
INCR3
DJNZR1,SE1
HERE:
SJMPHERE
TABLE:
DB10H,11H,12H,13H,14H,15H,16H,17H
DB18H,19H,1AH,1BH,1CH,1DH,1EH,1FH
接收端汇编程序:
ORG0000H
LJMPMAIN
ORG0100H
MAIN:
MOVTMOD,#20H
MOVTH1,#0F4H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 仪器 实验