单片机实验二

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

仲恺农业工程学院实验报告纸

信科院(院、系)计算机科学与技专业计机班组课

实验三外部中断实验

一、实验目的

掌握 8051单片机外部中断的使用方法。

二、实验内容

实验电路如下图所示。通过用手动逐个向 8051 单片机的 0 INT 输入单脉冲,申请中断。每中断一

次,依次使 8051 单片机向 P1口输出 55H、AAH、55H……。

三、参考程序流程图

四、实验程序

ORG 0000H

AJMP MAIN ;跳转到主程序

ORG 0003H ;外部中断 0(INT0)的入口地址

MOV P1, A ;将A 中的数据送到P1 口显示

CPL A ;对A 中的数据取反

RETI ;中断返回

ORG 0020H ;主程序地址

MAIN: SETB EA ;CPU 开中断

SETB IT0 ;设置中断触发方式为边沿触发

SETB EX0 ;外部中断0 开中断

MOV A, #55H ;A 中预置数据55H

SJMP $ ;等待中断信号

实验结果:

实验一开始时,由初始值55H,转换为二进制数了0101 0101,意味着一开始只有L1.0、L1.2、L1.4、L1.6四盏灯亮,当你按一下单脉冲按钮时,刚不亮的四盏灯L1.1、L1.3、L1.5、L1.7亮,L1.0、L1.2、L1.4、L1.6四盏灯灭了,这是由于刚按下的单脉冲触发了中断信号,由程序可以看出中断使得P1口的数据取反。

用C语言的程序

#include

void int0_srv() interrupt 0{

p1=~p1;

}

void main(){

p1=0x55;

EA=1;

IT0=1;

EX0=1;

while(1);

}

实验四定时器实验

一、实验目的

1.掌握8051 单片机内部定时器的使用方法, 学习电子音响--喇叭的应用电路及编程。

二、实验内容及实验原理

⒈音阶由不同频率的方波产生,音阶与频率的关系如表3-8-1 所示。

⒉方波的频率由定时器控制定时器控制产生,定时器计数溢出后产生中断,将P1.2 取反

即可。每个音阶对应的定时器初值,可按下法计算。

晶振为6MHz 时,由于音阶1 的频率是262Hz,设定时器的初值为X,则

1 / (262*2) = ((65536-X)*12) / (6*106)

可得X=64582D=0FC46H

3、实验内容:连续发出1、2、3、

4、

5、

6、

7、i、i、7、6、5、4、3、2、1 的音乐。

三、参考程序流程图

五、参考程序DSQ-1.ASM 中断方式

ORG 0000H

LJMP MAIN

ORG 1BH

JMP T1INT ;定时器1 中断入口地址

ORG 0100H

MAIN: MOV SP,#60H

ANL TMOD,#0FH ;定时器1 置为方式1

ORL TMOD,#10H

ORL IE,#88H ;允许定时器1 中断

MAIN1: MOV DPTR,#TONE ;置TONE 表首地址MOV A,#00H ;TONE 表偏移量

LOOP: MOVC A,@A+DPTR ;读TONE 表中的TH1 值JZ MAIN1 ;为0 则转MAIN1,进入下一周期MOV TH1,A ;TONE 表中的高字节送TH1 和R5 MOV R5,A

INC DPTR ;从TONE 表中读出TL1 的值

MOV A,#00H

MOVC A,@A+DPTR

MOV R6,A

SETB TR1 ;启动定时器1

INC DPTR

MOV A,#00H

MOVC A,@A+DPTR ;从TONE 表中取出音的时间

MOV R2,A

LOOP1: MOV R3,#80H ;延时

LOOP2: MOV R4,#0FFH

DJNZ R4,$

DJNZ R3,LOOP2

DJNZ R2,LOOP1

INC DPTR ;TONE 表地址加1,指向下一个音调

MOV A,#00H

JMP LOOP

T1INT: CPL P1.2 ;取反得到一定频率的方波,使喇叭

;发出一定音高的音调

CLR TR1 ;停止定时器1 计数

MOV TH1,R5 ;重置定时器1 时间常数

MOV TL1,R6

SETB TR1 ;恢复定时器1 计数

RETI

TONE: DB 0FCH,46H,04H,0FCH,0AEH,04H ;音调表

DB 0FDH,0BH,04H,0FDH,34H,04H

DB 0FDH,83H,04H,0FDH,0C8H,04H

DB 0FEH,06H,04H,0FEH,22H,04H

DB 0FEH,22H,04H,0FEH,06H,04H

DB 0FDH,0C8H,04H,0FDH,83H,04H

DB 0FDH,34H,04H,0FDH,0BH,04H

DB 0FCH,0AEH,04H,0FCH,46H,0CH

DB 00H,00H,00H

END

实验结果

连续发出1、2、3、4、5、6、7、i、i、7、6、5、4、3、2、1 的音乐。

思考题:

(1)试说明51系列单片机定时器的使用方法。

答:定时/计数器有两种T0和T1,当C/T=0是当作定时器使用,接下来要选取工作方式,定时器T0有四种工作方式,但T2只有T0的前3种工作方式,然后要分别为由高8位和低8位的两个特殊功能寄存器THX和TLX赋初值,然后要开总中断即EA=1,再开中断允许位(是ET0=1还是ET1=1)最后要启动定时器

相关文档
最新文档