单片机实验二

更新时间:2023-10-05 07:37:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

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

学号 姓名 实验日期 实验三 外部中断实验

一、实验目的

掌握 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 TL1,A ;TONE 表中的低字节值送TL1 和R6 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)最后要启动定时器

本文来源:https://www.bwwdw.com/article/vsrd.html

Top