实验7定时器设计.docxVIP

  • 1
  • 0
  • 约2.39千字
  • 约 4页
  • 2024-07-13 发布于上海
  • 举报

PAGE

PAGE3

实验七电子音响

一、实验内容:

利用定时器产生不同频率的方法,组成乐谱由单片机进行信息处理,经过放大利用8031P1.7口输出音乐

原理图:

音响的SIN引脚只要有不同频率的脉冲产生,即可发出不同的声音。问题也就归结在如何在P1.7引脚上产生不同频率的脉冲:如图

大家观察这两个脉冲图,周期不一样,也就是说,P1.0引脚取反的时间不一样。而这个时间可以用定时器进行控制。即通过改变定时器的初值定时不同的时间。

把P1.0用插针连至SIN插孔上。喇叭插头线插到DVCC系统J5插座。二、预备知识

使用定时器T0工作在定时器方式1,16位定时,改变计数值TH0及TL0,定时不同的时间,在P1.0引脚上输出以产生不同的频率的脉冲。

表结构给出:分析

TAB:DB0FEH,25H,04H,0FEH,25H,02HDB0FEH,25H,02H,0FDH,80H,04HDB0FEH,84H,02H,0FEH,84H,02HDB0FEH,84H,04H,0FEH,25H,04HDB0FEH,25H,02H,0FEH,84H,02HDB0FEH,0C0H,04H,0FEH,84H,02HDB0FEH,98H,02H,0FEH,84H,02HDB0FEH,57H,08H,00H,00H,04HDB0FFH,0FFH

每个表里面,产生一种声音用三个字节,每三个字节为一组,其中高字节是定时器的高8位,第二字节是定时器的低八位,第三字节控制延时时间。

所以首先确定定时器:

MOVTMOD,#01H;定时器方式1SETB EA ;开中断

SETB ET0

取出表中的第一个、第二个值赋给TH0、TL0MOV DPTR,#TAB

CLR A

MOVC A,@A+DPTR

MOV R1,A ;用R1暂存INC DPTR

CLR A

MOVC A,@A+DPTR

MOV R0,A ;用R0暂存

还要注意:当表中的数值前两个数是0FF的时候,表示结束,要从头开始重新循环ANLA,R1

CJNEA,#0FFH,START

启动定时器:MOV TH0,R1

MOV TL0,R0

SETB TR0

定时时间太短,频率太高了,听不出来,我们加个延时控制每种频率的声音响多长时间。延时程序给出:

DELAY:

MOV

R2,A

DL1:

MOV

R7,#81H

DL2:

MOV

R6,#0FFH

DL3:

DJNZ

R6,DL3

DJNZ

R7,DL2

DJNZ

R2,DL1

RET

要使用这个延时程序,前提是给A赋初值,而这个A的初值就是从表中取出的第三个数。

INC DPTR

CLR A

MOVC A,@A+DPTRLCALLDELAY

中断服务程序:

;完成两件事情,第一:要给P1.0取反,第二,定时器初值重装ZHONGDUAN: MOV TH0,R1

MOV TL0,R0

CPL P1.0RETI

程序流程:

定时器初始化:方式

定时器初始化:方式1定时

循环取出表中每一组的第一、

二个数,分别送给R1R0

给TH0、TL赋初值R1、R0

判断R1和R0的数

是不是0FF

延时:取出表中第三个字节,

调用延时程序

总程序:

ORG 0000HSJMPMAIN

ORG000BH

LJMP ZHONGDUAN

//**********1**************//MAIN: MOVTMOD,#01H

MOVIE,#82H

//**********2**************//MOVDPTR,#TAB

LOOP: CLRA

MOVCA,@A+DPTRMOVR1,A

INCDPTRCLRA

MOVCA,@A+DPTRMOVR0,A

ANLA,R1

CJNEA,#0FFH,STARTSJMPMAIN

//**********2**************//

START:MOVTH0,R1

MOVTL0,R0SETBTR0

//**********3**************//NEXT1: CLRA

INCDPTR

MOVCA,@A+DPTR

//**********3**************//

LOOP1: ACALLDELAYINCDPTR

AJMPLOOP

;R入口参数在A中,调用的方法:MOVX先给a赋值

DJNZR7,DL2DJNZR2,DL1RET

ZHONGDUAN: MOV TH0,R1

MOV TL0,R0

CPL P1.0RETI

;表中,每三个数是一组,第一个数是定时时

文档评论(0)

1亿VIP精品文档

相关文档