智能仪器实验.docx

上传人:b****5 文档编号:6487297 上传时间:2023-01-06 格式:DOCX 页数:35 大小:338.46KB
下载 相关 举报
智能仪器实验.docx_第1页
第1页 / 共35页
智能仪器实验.docx_第2页
第2页 / 共35页
智能仪器实验.docx_第3页
第3页 / 共35页
智能仪器实验.docx_第4页
第4页 / 共35页
智能仪器实验.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

智能仪器实验.docx

《智能仪器实验.docx》由会员分享,可在线阅读,更多相关《智能仪器实验.docx(35页珍藏版)》请在冰豆网上搜索。

智能仪器实验.docx

智能仪器实验

实验一智能仪器人机接口实验

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

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

当前位置:首页 > 工程科技 > 能源化工

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

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