当前位置:文档之家› 课程设计(论文)基于单片机音乐倒数定时器的设计

课程设计(论文)基于单片机音乐倒数定时器的设计

课程设计(论文)基于单片机音乐倒数定时器的设计
课程设计(论文)基于单片机音乐倒数定时器的设计

目录

一、设计要求 (1)

二、设计目的 (1)

三、设计的具体实现 (2)

1系统概述 (2)

2单元电路设计 (3)

3软件程设计和调试 (7)

四、结论和展望 (24)

五、心得体会及建议 (25)

六、附录 (26)

七、参考文献 (27)

基于单片机音乐倒数定时器的设计

报告

一、设计要求

利用单片机结合LCD显示器设计一个倒数计时器,可以放在家中使用,例如煮方便面、煮开水或小睡片刻等,做一小段时间计时。当倒数计时为0时,则发出一段音乐,通知倒数终了,该做重要的事情了。

具体要求:

①文字型LCD(16*2)显示目前倒数的时间;显示格式为“TIME 分分:秒秒”;具有4个按键操作来设置现在想要倒数的时间;一旦按键后则开始倒数计时,当计时为零则发出一阵音乐声响,②程序执行后工作指示灯LED闪动,表示程序开始执行,七段显示器显示“0500”,按下操作键K1~K4动作如下:操作键K1,可调整倒数时间1min~60min;操作键K2,设置倒数计时时间为5min,显示“0500”;操作键K3,设置倒数计时时间为10min,显示“1000”;操作键K4,设置倒数计时时间为20min,显示“2000”,③RESET 后按下K1显示如下:

UP DOWN OK

TIME 04:59 倒数时间

操作键K2:增加倒数计时1min;操作键K3,减少倒数计时1min,操作键K4:设置完成。④一旦按键后则开始倒数计时,当计时为

0时则发出一段音乐,同时继电器启动

二、设计目的

1、通过该设计能提高学生分析解决问题的能力。

2、了解模拟电路及数字电路的相关知识。

3、学习单片机定时器时间计时处理、按键扫描、LCD显示及音乐旋律演奏的设计方法。

三、设计的具体实现

1.系统概述

1.1 总体方案论证

要实现音乐倒数定时器可以用两种方案实现。

方案一:利用PROG-110可编程控制器

PROG-110 可编程器,是一种用《数字简码》控制的产品,它的特点是:自带一套用于输入数码的按键和显示程序的数码管,只要我们现场输入一列2位数码,编制的程序即能完成,即编,即用。每一种《数字简码》控制器,它都自带一套系统软件,每一套系统软件都有一套相对应的指令表,配套的指令表表明,只要输入什么样的数,程序将去做什么事,输入一列数,它就会按次序去完成你要求它做的所有的事。

但是首先PROG-110模块总共只有6个I/O端口,这就必须扩展模块端口,用两部以上模块串联,但花钱要多;其次是程序过长,PROG-110模块的E2PROM存储器24C01只可输入128步程序;第三是受PROG-110模块跳转指令步数的限制。

方案二:利用单片机、LCD显示器和压电喇叭

单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。它在硬件结构、指令系统、I/O 端口、功率消耗及可靠性等方面均有其独特之处,其最显著的特点之一就是具有非常有效的控制功能。而LCD显示器具有体积小、重量轻、工作电压低、功耗极低、显示内容丰富、稳定可靠、成本低、控制驱动方便、接口简单易用、模块化结构紧凑等特点。

综上所述,按照设计要求我选择第二种方案,即利用单片机和LCD显示器来实现定时倒数,通过压电喇叭来发出音乐。

1.2 单片机选择方案

采用8051单片机

8051单片机内部包含一个8位CPU、一个片内振荡器及时钟电路、ROM程序存储器、RAM数据存储器、两个16位定时器/计数器、可分别寻址64KB的程序存储器空间和64KB的数据存储器空间、32条可编程的I/O口线(4个8位并行I/O端口)、一个可编程全双工串行口、具有5个中断源和2个优先级的中断结构。可以有效实现本次设计中要求的各项功能。

具体的设计流程可见图1:

2.单元电路设计

2.1控制电路

图1 设计流程图

2.单元电路设计

2.1控制电路

倒数计数器的控制电路可以见附图,其中主要分为以下几部

⑴单片机8051

8051 基本资料如下:

图2 8051引脚图

8051主要使用引脚功能说明如下:

●8051的引脚40接+5V电源,引脚20接电源地线。

●传统8051工作时钟的最高为12MHz。

●EA引脚低电平动作用来存取外部程序ROM控制。

●EA接地,由外部程序ROM来执行程序。

●EA接高电平,由内部ROM来执行程序。

●开机时必须加入芯片重置信号。(RESET)

●RESET信号高电平动作,高电平时产生芯片重置。

●RESET信号低电平时,由程序ROM地址0开始执行程序。

在本次设计中采用的8051外接电路如图3所示:

P3.5

图3 8051外接电路图

8051系列的单片机的时钟方式分为内部方式和外部方式。内

部方式就是在单片机的引脚18、19外接晶振,就够成了自激振荡

器在单片机内部产生时钟脉冲信号。外部时钟方式是把外部已经

有的时钟信号引入到单片机内部。时钟电路在计算机系统中起着

非常重要的作用,是保证系统正常工作的基础。在一个单片机应

用系统中,时钟有两方面的含义:一是指为保障系统正常工作的

基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大

小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,

即定时时间。

用一个12MHz晶振和两个30Pf瓷片电容组成,为单片机提供

标准时钟,其中两个瓷片电容可以增加电路的稳定性,可以抗噪

声增加稳定性,不容易死机。

在8051中之所以采用高性能的振荡电路,因为:

1.单片机电子钟的计时脉冲基准是由外部晶振的频率经过12分频后提供,采用内部的定时/计数器来实现计时功能。所以,外接晶振频率精确度直接影响电子钟计时的准确性。

2.单片机电子钟利用内部定时/计数器溢出产生中断(12M晶

振一般为50ms)再乘以相应的倍率来实现秒、分、时的转换。大

家都知道从定时/计数器产生中断请求到响应中断需要3-8个机

器周期,定时中断子程序中的数据入栈和重装定时/计数器的初值

还需要占用数个机器周期,还有从中断入口转到中断子程序也要

占用一定的机器周期。

工作指示灯LED,送出低电平时,LED点亮,高电平时则使

LED 熄灭。即

● 程序执行中有情况产生时,LED 闪动一下。

● 用于状态区分,如状态1闪动一下,状态2闪动两下。 ● 程序执行中遇到特殊错误时,持续闪动。 ⑵LCD 显示器

SDEC LCD 16*2

图4 LCD 芯片接线图

本次设计使用的倒数计时LCD 控制,使用的是16字*2行设计。图4中为4位控制电路,以8051 P0的6调输出控制线来实现控制,P0还有提升电阻以增强其驱动能力,控制信号如下:R/W=0,LCD 执行写入的动作,RS 寄存器选择控制线。EN 启用控制线。VO 亮度调整控制引脚。D0~D7

双向的数据总线。必须在有亮度照明的地方,才能看见时间,若使用LCD ,选择有背光显示的模块,则在夜晚或黑暗的场合也可以使用,有背光显示的LCD 模块在引脚上,与无背光显示的模块兼容,指示价格较贵,一般显示的背光颜色为黄光,与手机的背光颜色相似。

⑶按键控制

按键控制室控制程序执行时数据的输入或是特殊功能的设置及操作,使用8051端口2的4条输入口,由程序来控制,平时输入端为高电平,当有按键按下则相对位会呈现低电平,进过轮流扫描判断输入端是否为低电平,便可知道按下的是哪一个按钮。

⑷压电喇叭

图5 压电喇叭接线图

8051端口3的第4位是压电喇叭的驱动位,持续送出工作脉冲可以推动喇叭发出哔的声响,当工作频率越高时,声音越清脆,工作频率低时,声音则较低沉。

⑸继电器

继电器接点说明如下:

NC:常闭点。以COM为共同点,NC与COM在平时是呈导通。

COM:共同点。输出控制接点的共同接点。

NO:常开点。NO与COM平时呈开路的状态,当继电器动作时,NO与COM导通,NC与COM则呈开路状态。

⑹电源输入

J1为+5V电源输入,当电源加入时电源指示灯LED将亮起,用哪个以指示电源供给正常,定时器在倒数时间到后压电喇叭会发出音乐旋律,并启动继电器使其状态为ON,控制继电器的ON/OFF状态,可以直接控制家电开关。

2.2控制程序

本课程设计中,可以学习利用单片机定时器设计时间计时处理,其时分秒控制,定时器0计时中断程序每个5ms中断一次当做一个计数,每中断一次则计数加1,当计数200次时,表示1s 到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h 到了,若计数到了则将相关变量清除为0。单片机定时器负责定时的技术,不会因为案件处理而中断时间描述的增加,时,分,秒数据是存在变量内并写入LCD而显示相关时间的。

在主控程序循环中主要工作为扫描是否有按键,若有按键则做相应的功能处理,同时也检查所倒数的时间是否为0,若为0表示倒数的时间终了,应该执行想对应的工作了,图为主程序控制工作流程。时间计时处理程序时等过了1s 后,则更新时间数据,将最新剩余倒数的分秒的时间数据转换为数字数据,并显示在LCD上。程序中如何判断是否已过了1s?可以设一旧秒数变量,当新旧秒数变量不一样时,则表示已过了1s,要做相关程序处理了。倒数计时闹铃的动作利用时间计时处理来做秒数倒数,当所设置的时间为0,压电喇叭则不断发出音乐声,LED持续闪动,启动继电器,有继电器可以控制家电开启或关闭。

音乐声的产生也是有定时器来产生固定频率的方波信号推动压电喇叭,发出旋律。而定时器原先已利用设计时间计时处理了,怎么能在设计来做音乐旋律的控制?在此设计定义一个音乐演奏标志,若音乐演奏标志为0则执行中断程序中计时程序的部分程序,若音乐演奏标志为1则执行音乐发生控制程序。因此只要适

当的运用程序设计技巧,计时中断程序中可以做许多种不同的工作,而这些工作是需要特定一段时间久必须要被触发而被执行的程序。

倒数计数器控制程序文件名为DSDS.ASM。注意:在程序中128行有以下的指令:

SINCLUDE (DSDS1.ASM);加载程序一起来汇编及编译

表示在主程序DSDS.ASM中还会自动加载另一程序DSDS1.ASM 程序一起进来汇编及编译,只是为了方便程序编译用,一些测试正确的程序代码可以分别存档好方便管理,此外整个程序源代码长度也不至于太长,不方便编辑。DSDS1.ASM主要的程序代码功能为以定时器演奏歌曲旋律的控制。

3.软件程设计和调试

3.1延时时间的计算

若我们想设计程序执行100ms时间延时,程序可以设计如下DELAY: MOV R6, #50

D1:MOV R7,#100

DJNZ R7,$

DJNZ R6,D1

DJNZ R5,DELAY

RET

如果震荡频率为12MHz则执行时间按为

T=1+50*(1+100*2)+2+2+2us

=10.057ms

如果执行10次此子程序,则延时时间约为100ms

3.2工作方式设计

本次设计中采用的定时器模式0来设计,在此方式中T0、T0可以进行13位的计时,其值保存在两个8位的定时寄存器中。

对于其中任一定时器,工作时钟可以由内部或是外部来提供,由C/T位来决定做定时器还是计数器。定时器的时钟为系统工作时钟除以12.此次试验中采用12MHz石英震荡器则产生1us的计数时间脉冲宽度。本次实验的定时器计时时间为5ms,因此定时器0需计数5000次,其定时器初值的加载可以计算如下:TL0=(8191-5000).MOD.32

TH0=(8191-5000)/32

执行后的结果为,产生的脉冲宽度为

T=5ms

3.3有定时器产生各种频率的声音

我们可以设定发音的频率来改变声音产生音乐,计时时间长短也是按照发音的频率而定的。由频率值推得定时器计数初值由下关系式得到:

T=1/f(us) ;方波宽度

Co=(int)t/2 ;定时器所得计数的次数

Lo=(8191-co)%32 ;计数初值低字节

Hi=(8191-co)/32 ;计数初值高字节

软件的编译和调试使用的是KEIL软件,文件格式是ASM。

3.4子程序说明

DSDS.ASM 主要控制子程序说明如下:

INIT:初始化控制变量。

INIT_TIMER:初始化定时器接口,使用定时器0的模式0计时。T0_INT:定时器0计时中断程序每隔5ms中断一次,或是做音乐演奏控制。

SHOW_DIG:在LCD的第一行显示数字。

SHOW_DIG2: 在LCD的第二行显示数字。

SET_LCD:对LCD做初始化工作。

CLR_LINE1:清除LCD的第一行显示字符。

CLR_LINE2:清除LCD的第二行显示字符。

LCD_PRINT:在LCD的第一或第二行显示字符。

WCOM:以4位控制方式将命令写至LCD。

WDATA:以4位控制方式将数据写入LCD。

LCDP1:在LCD的第一行显示字符。

LCDP2: 在LCD的第二行显示字符。

CONV1:将分秒的倒数数据转换为数字数据系那是在LCD第二行。DOWN_TIME:检查是否计时终了。

SET_TIME:设置所要倒数的时间。

BZ:压电喇叭发出哔一声。

TIME_OUT:计时终止启动音乐演奏。

DSDS1.ASM主要控制子程序说明如下:

MUSIC:以定时器0计时中断程序做音乐演奏控制。

PLAY:演奏单音控制。

PLAY_SONG:测试演奏音乐。

SOUND_ON:启动定时器0开始计时,是喇叭发声。

SOUND_OFF:停止定时器0计时动作,喇叭静音。

LOAD_VALUE:一查表法由音阶计数值来载入定时器计数初值。

3.5具体程序解释

下面是对本次程序的说明解释,定义使用软件,文件名称,每个键的作用。

;---------------------------------------------------

; DSDS.ASM 8051 COUNT DOWN TIMER WITH LCD+MUSIC

;---------------------------------------------------

; K1: SET MIN 0--60 K2:UP K3:DOWN K4:OK

; K2: 5 MIN K3:10 MIN K4:20 MIN

;----------------------------------------------

; 5 ms

; MOV TL0,#(8191-5000).MOD.32

; MOV TH0,#(8191-5000)/32

以下是开始对各个变量的具体定义,加载字节,确定时间常数,时间变量的存放,倒数的分钟秒钟的存放地址,各变量的含义。

LOA EQU 24

HIA EQU 99

CO EQU 200 ;5ms中断计数时间常数,计数200次表示1s MUB EQU 20H.0

HOUR EQU 30H

MIN EQU 31H

SEC EQU 32H

DEDA EQU 33H ; 5 mS计数值

SEC0 EQU 34H ;存放旧的秒数

X EQU 35H ;LCD 显示的地址

MM EQU 36H ;倒数时间分钟数

SS EQU 37H ;倒数时间秒钟数

LO EQU 38H

HI EQU 39H

TC EQU 3AH

以下是对四个按键的定义

K1 EQU P2.4

K2 EQU P2.5

K3 EQU P2.6

K4 EQU P2.7

以下是对LCD、继电器、喇叭、灯的定义

RS EQU P0.0

EN EQU P0.1

RY1 EQU P3.5

RY2 EQU P3.6

SPK EQU P3.4

WLED EQU P3.7

程序开始,代码由地址0开始执行,使用的是定时器0中断ORG 0H

JMP START

ORG 0BH ;T0中断

JMP T0_INT

START:SETB MUB ;测试音乐演奏

; CALL MUSIC

CLR EN ;LCD 的状态设为OFF

CLR RY1

CLR RY2

CLR MUB ;清除音乐演奏标志

CALL LED_BL

CALL SET_LCD

CALL BZ

CALL INIT

CALL INIT_TIMER

CALL MENU

LOOP:CALL DOWN_TIME

JB K1,L1 ;对按键进行检测

JNB K1,$

; 按键1按下:

; MOV MM,#3

; MOV SS,#1

MOV DPTR,#MADJ

MOV A,#1

CALL LCD_PRINT

CALL SET_TIME

MOV DPTR,#MMENU

MOV A,#1

CALL LCD_PRINT

JMP LOOP

L1: JB K2,L2

JNB K2,$

;按键2按下:

CALL BZ

MOV MM,#5

MOV SS,#1

CALL LED_BL

JMP LOOP

L2: JB K3,L3

JNB K3,$

;按键3按下:

CALL BZ

CALL BZ

MOV MM,#10

MOV SS,#1

CALL LED_BL

JMP LOOP

L3: JB K4,L4

JNB K4,$

; 按键4按下:

CALL BZ

CALL BZ

CALL BZ

MOV MM,#20

MOV SS,#1

CALL LED_BL

JMP LOOP

L4:JMP LOOP ;继续循环执行

$INCLUDE (DSDS1.ASM)

以下是在显示器上显示的时间消息:

;-------------------------------------------- LMESS1: DB "LCD LINE 1 .....",0

LMESS2: DB "TIME ",0

TITLE: DB "DSDS.ASM 8051 DOWN COUNT WITH LCD+MUSIC" ;--------------------------------------------

以下是初始化控制变量

INIT:MOV DEDA,#0 ;将所有时间计时清为0 MOV SEC0,#0

MOV SEC,#0

MOV MIN,#0

MOV HOUR,#0

;定义倒数时间:

MOV MM,#5

MOV SS,#1

RET

以下是初始化定时器接口,使用定时器0模式0计时

INIT_TIMER:

MOV TMOD,#00000000B

MOV IE, #10000010B

MOV TL0,#LOA

MOV TH0,#HIA

SETB TR0

RET

T0_INT:JNB MUB,W0 ;T0计时中断程序每5ms中断一次,

音乐演奏标志为0时则执行计时程序MOV TL0,LO ;对音乐的加载

MOV TH0,HI

CPL SPK

RETI

W0:PUSH ACC ;对时间计数的初始化

MOV TL0,#LOA

MOV TH0,#HIA

INC DEDA

;判断是否为1S

MOV A,DEDA

CJNE A,#CO,W1

MOV DEDA, #0

CPL WLED

INC SEC

MOV A,SEC

CJNE A,#60,W1

; 判断是否1分到了

INC MIN

MOV SEC,#0

MOV A, MIN

CJNE A,#60,W1

;判断是否1小时到了

INC HOUR

MOV MIN,#0

MOV A, HOUR

CJNE A,#24,W1

MOV SEC,#0 ;清除时间变量为0

MOV MIN,#0

MOV HOUR,#0

W1: POP ACC ;将累加器有堆栈取出RETI

以下是使LCD第一行显示

; A:DIG X: LCD X POS

; SHOW ON LCD LINE1

SHOW_DIG:MOV B,#10

DIV AB

ADD A,#30H

PUSH B

MOV B,X

CALL LCDP1

POP B

MOV A,B

ADD A,#30H

INC X

MOV B,X

CALL LCDP1

RET

以下是使LCD第二行显示

; A:DIG X: LCD X POS

; SHOW ON LCD LINE2

SHOW_DIG2: MOV B,#10

DIV AB

ADD A,#30H

PUSH B

MOV B,X

CALL LCDP2

POP B

MOV A,B

ADD A,#30H

INC X

MOV B,X

CALL LCDP2

RET

以下是LCD的控制程序设计:

SET_LCD:CLR EN ;启动失效 CALL INIT_LCD ;初始化LCD MOV R5,#10

CALL DELAY

MOV DPTR,#LMESS1

MOV A,#1 ;显示在第一行

CALL LCD_PRINT

MOV DPTR,#LMESS2

MOV A,#2 ;显示在第二行

CALL LCD_PRINT

RET

LCD控制指令初始化:

INIT_LCD1:

MOV A,#28H

CALL WCOM

MOV A,#0CH

CALL WCOM

MOV A,#0EH

CALL WCOM

MOV A,#01H

CALL WCOM

RET

清除LCD的第一行字符:

CLR_LINE1:

MOV A,#80H

CALL WCOM

MOV R0,#24

CLR1: MOV A,#' '

CALL WDATA

DJNZ R0,CLR1

RET

在LCD的第一行或第二行显示字符:

LCD_PRINT:

CJNE A,#1,LINE2 ;判断是否为第一行LINE1: MOV A,#80H

CALL WCOM

CALL CLR_LINE

MOV A,#80H

CALL WCOM

JMP FILL

LINE2: MOV A,#0C0H

CALL WCOM

CALL CLR_LINE

MOV A,#0C0H

CALL WCOM

FILL: ;填入字符

CLR A

MOVC A,@A+DPTR

CJNE A,#0,LC1

RET

LC1: ;写入数据

CALL WDATA

INC DPTR

JMP FILL

RET

CLR_LINE: ;清除该行的LCD字符MOV R0,#24

CL1: MOV A,#' '

CALL WDATA

DJNZ R0,CL1

RET

DE: MOV R7, #5 ;短暂延时

DJNZ R7,$

RET

EN1: ;短脉冲产生启用信号SETB EN

CALL DE

CLR EN

CALL DE

RET

INIT_LCD: ;4位I/O控制LCD接口初始化MOV P0, #30H

CALL EN1

MOV P0, #30H

CALL EN1

MOV P0, #30H

CALL EN1

MOV P0, #20H

CALL EN1

CALL INIT_LCD1

RET

WCOM: ;以4位控制方式将命令写入LCD ; 高4位数据的写入

MOV P0, A

CLR RS ;设置写入命令

CALL EN1

RLC A

RLC A

RLC A

RLC A

; 低4位数据的写入

MOV P0, A

CLR RS CALL EN1

RET

WDATA: ;以4位控制方式将数据写入LCD ; 高4位数据的写入

MOV P0, A

SETB RS ;设置写入数据

CALL EN1

RLC A

RLC A

RLC A

RLC A

; 高4位数据的写入

MOV P0, A

SETB RS

CALL EN1

RET

在LCD的第一行写入字符

LCDP1: PUSH ACC

MOV A,B

ADD A,#80H

CALL WCOM

POP ACC

CALL WDATA

RET

在LCD的第二行写入字符

LCDP2: PUSH ACC

MOV A,B

ADD A,#0C0H

CALL WCOM

POP ACC

CALL WDATA

RET

延迟子程序:总延迟时间为R5*10ms

DELAY:

MOV R6,#50

D1: MOV R7,#100

DJNZ R7,$

DJNZ R6,D1

DJNZ R5,DELAY

RET

LED_BL: ;工作指示灯闪烁MOV R4,#4

LE1: CPL WLED

MOV R5,#5

CALL DELAY

DJNZ R4, LE1

RET

以下是LCD显示的关于菜单和按键的消息MMENU: DB "SET 5 10 20 MIN",0

MADJ: DB " UP DOWN OK",0

MENU:

MOV DPTR,#MMENU

MOV A,#1

CALL LCD_PRINT

RET

在LCD上显示倒数的时间在第二行:

CONV1:

MOV A,MM ;倒数的分钟数显示

MOV X,#5

CALL SHOW_DIG2

INC X

MOV A,#':' ;显示’:’符号

MOV B,X

CALL LCDP2

MOV A,SS ;倒数的秒数显示

INC X

CALL SHOW_DIG2

RET

以下为倒数的终止程序1:

TIME_OUT1:

SETB RY1 ;继电器ON

I1: CALL LED_BL

CALL BZ

JMP I1

RET

过了1S后则更新倒数时间并检查是否倒数终止:

DOWN_TIME:

MOV A,SEC ;加载现在时间

MOV B,SEC0 ;加载旧时间

CJNE A,B,DO1 ;是否过了1S

RET

DO1:

MOV SEC0,SEC ;记录旧秒数

DEC SS

MOV A,SS

CJNE A,#0,D2 ;判断秒数和分钟数是否为0 MOV A,MM

单片机课程设计 秒表计时器(DOC)

课程设计名称:单片机原理及接口技术 题目:基于单片机的秒表计时器设计 学期:2014-2015学年第一学期 专业:电气技术 班级: 姓名: 学号: 指导教师:

辽宁工程技术大学 课程设计成绩评定表

课程设计任务书 一、设计题目 秒表计时器 二、设计任务 本课题以单片机为核心,设计和制作一个秒表计时器。 三、设计计划 课程设计一周 第1天:查找资料,方案论证。 第2天:各部分方案设计。 第3天:各部分方案设计。 第4天:撰写设计说明书。 第5天:校订修改,上交说明书。 四、设计要求 1、绘制软件流程图并利用汇编语言编写软件程序; 2、绘制系统硬件原理图; 3、形成设计报告。 指导教师: 教研室主任: 2014年5月26 日

本设计利用89C51单片机设计秒表计时器,通过LED显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒到来时,就让秒计数单元加一,通过控制使单片机秒表计时,暂停,归零。设计任务包括控制系统硬件设计和应用程序设计。 关键词:51单片机;74HC573;LED数码管

综述 (1) 1 程序方案 (2) 1.1方案论证 (2) 1.2总体方案 (2) 2部分设计 (3) 2.1 89C51单片机 (3) 2.2晶体振荡电路 (4) 2.3硬件复位电路 (5) 2.4显示电路 (6) 2.5整体电路图 (7) 3程序设计 (8) 3.1程序流程框图 (8) 3.2显示程序流程图 (9) 3.3汇编源程序 (10) 4调试说明 (13) 4.1概述 (13) 4.2电路原理图 (13) 心得体会 (15) 参考文献 (16)

单片机课程设计(论文)电子音乐盒的单片机设计

单片机课程设计论文 题目 FSY电子音乐盒的单片机设计 学院通信与电子工程学院 专业班级电子083 学生姓名 指导教师王发智 2011年12月11日

摘要 为了实现单片机控制音乐播放,此次毕业设计做出了尝试,即电子音乐盒的设计。本设计采用了蜂鸣器发声来实现歌曲的播放,能保持基本音调不变,流畅播放出歌曲。现选用AT89S51单片机。 主要设计模块包括数码管显示部分,功能键盘部分,蜂鸣器发声部分,彩灯部分。数码管采用共阳极数码管,通过单片机P1口控制,实现歌曲序号的显示;功能键盘采用按键开关,通过单片机P3口控制,实现歌曲播放顺序的调换和暂停播放功能;蜂鸣器由单片机的P2口控制,实现歌曲播放;彩灯是由普通发光二极管代替,能实现单色长亮和闪烁效果。 主要工作过程是通过按下功能键实现上一首和下一首及暂停播放,同时有数码管显示当前播放歌曲的序号,蜂鸣器播放出音乐,当播放最后一首夜曲时还伴有彩灯闪烁。 此次设计要利用单片机及KeilC51编程软件编程和PROTEUS单片机仿真软件和电子电工等方面知识,用KeilC51编程软件编程,用PROTEUS单片机仿真软件仿真。最后制作实物,将程序下载到单片机中,利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 关键词:AT89S51单片机方波音调

Abstract In order to achieve single-chip control music playback,The design made an attempt to,That the design of electronic music box,This design uses a buzzer sound to achieve the song playing, can maintain the same basic tone, smooth playback of songs. AT89S51 microcontroller is used. Major design modules include digital display part, function keyboard parts, some of the buzzer sound, lights parts. Using common anode LED digital tube, through the P1 port control chip to realize the song number display; function keyboard with key switch, controlled by microcontroller port P3, playing songs in order to achieve the exchange and pause functions; buzzer by the microcontroller P2 port control, to achieve the song playing; lights are replaced by the ordinary light-emitting diodes, to achieve long light and color flashing effect. Main work process is achieved by pressing the function key and the next one on the head, and a pause, while a digital display serial number of the currently playing song, buzzer playing the music, when played with the last one Nocturne Shihai lights To take advantage of the chip design and software programming and programming KeilC51 PROTEUS microcontroller simulation software such as electrical and electronics knowledge, with KeilC51 programming software programming, microcontroller simulation software with the PROTEUS simulation. Finally, the physical production, the program to the microcontroller, the use of I / O ports have a certain frequency square wave to drive the buzzer, to issue a different tone to play music. Keywords:AT89S51 microcontroller square wave tone

AT89C51单片机设计的音乐倒数计数器

塔里木大学《单片机原理与外围电路》课程论文基于单片机设计的音乐倒数计数器 姓名:古再丽努尔·阿卜来提 学号: 5021212125 班级:通信工程16-1

摘要:单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。 单片机由CPU、一定容量的RAM和ROM构成,定时、计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习、应用,从而达到学习、设计、开发软、硬的能力。 本设计利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器。用4个按键操作来设置当前想要倒计数的时间。做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。应用Proteus的ISIS软件和Keil uVision3来实现该计数器的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。 该多功能计数器可以应用于一般的生活和工作中,也可以通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。 关键词:AT89C51,计数器,键盘控制,LCD显示,protues,Keil 。

目录 1绪论 (4) 1.1课题背景及研究意义 (4) 1.2国内外现状 (4) 1.3课题的设计目的 (4) 1.4课题的主要工作 (4) 2系统概述 (5) 2.1方案论证 (5) 2.2系统设计原理 (5) 3系统硬件设计 (5) 3.1主控电路设计 (5) 3.2LCD液晶显示器接口电路设计 (6) 4系统软件设计 (6) 4.1主程序设计 (6) 4.2硬件调试 (8) 4.3仿真结果 (16) 结论 (16) 参考文献 (17) 系统整体电路.......................................................................................... 错误!未定义书签。全部程序清单. (8) - III -

推荐-单片机课程设计多功能定时器 精品 精品

单片机课程设计 多功能定时器 一、设计目的: 1、在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具 有综合功能的小系统目标板的设计与编程应用; 2、能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识, 在软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高; 3、使学生增进对单片机的感性认识,加深对单片机理论方面的理解。使学生掌 握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通信等; 4、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后 设计和实现单片机应用系统打下良好基础。 二、设计功能说明 数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,本设计可实现如下功能: 1、使用实时时钟芯片写入及读取时间 2、用LCD显示,可显示年、月、日、时、分、秒、星期、农历日期、节日 3、选择蜂鸣器电路,实现两个闹钟设置和事件提示功能 4、实现时钟校正功能,12小时/24小时切换功能 5、显示当前时间为上午时间或下午时间 6、整点报时功能 按键功能如下: 1、对显示时间的设置 按键0:进入设置模式,实现秒(S)、分(M)、时(H)、年(Y)、月(m)、日(D)、星期(W)设置的切换,并在LCD右下角显示所设置的项目,当各项目设置完毕后,再按下按键0则返回主界面正常显示时间; 按键1:每按一次按键1,对所设置的时间加1,当设置的时间超过它的最大值时,该项自动为0,例如:当设置秒为59时,秒自动清零; 按键2:每按一次按键:2,对所设置的时间减1,当设置的时间小于0时,该项自动为它的最大值; 按键3:设置完成后的确认键并可按此键中途退出设置,时间按用户设置值正常计时;

音乐盒课程设计报告

音乐盒课程设计报告 XXXXXXXXXXXXX 一、项目概述: 随着社会的发展进步,许多人性化的电子产品被用在人们的日常生活中,而单片机被广泛运用到人们长期接触的事物上,比如银行交易窗口的滚动字幕,还有各种彩灯的控制,手机、计算机、机器人等各行各业中。基于AT89C52单片机的数字音乐盒就是这类产品,它不仅给人们带来了快乐,而且提高了人们的生活质量。 二、项目要求: 基于AT89C52单片机的数字音乐盒的设计要求如下: (1)用AT89C2单片机的I/O端口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 (2)共有10首乐曲,每首乐曲都有相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲的控制键。 (3)LCD液晶显示歌曲的序号、播放时间、开机时显示英文欢迎提示字符。 三、知识要点: (一)、AT89C2芯片资料: 1)功能说明: 1、兼容MCS51指令系统。 2、8k可反复擦写(大于1000次)Flash ROM。 3、2KB的E2PROM程序存储器,可擦写10万次 4、32个双向I/O口。 5、256x8bit内部RAM。 5、3个16位可编程定时/计数器中断。 6、时钟频率12MHz。 7、1个可编程UART串行通道。 8、2个外部中断源,共9个中断源,6个中断矢量。 9、2个读写中断口线,3级加密位。 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 2)引脚说明:

AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/VPd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~ P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为 N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 本项目使用到的单片机引脚说明: 1)20、40号引脚分别接地和+5V电源。 2)18、29号引脚分别接振荡器反相放大器的输出端和振荡器反相放大器的及内部时钟发生器的输入端。 3)9号引脚接RST复位电路。 3)单片机使能信号接31号引脚,接+5V。 4)17号引脚(P3.7)接蜂鸣器电路通过定时器控制P3.7引脚上方波的占空比可以实现驱动蜂鸣器,发出不同的音调的功能。 5)P1端口控制4×4矩阵键盘,其中P1.0~P1.3 进行列扫描,P1.4~P1.7进行行扫描。6)P0端口用于接液晶显示器的数据位,由于P0端口驱动能力小,需外接电源和上拉电阻,此项目中接1K的排阻。 (二)、LCD1602资料: 1)、LCD1602介绍: 1602液晶显示器也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。 LCD1602是指显示的内容为16X2,即可以显示2行,每行16个字符液晶模块(显示字符和数字)。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。 2)1602引脚说明:

单片机课程设计定时器控制4只LED滚动闪烁系统解析

目录

1设计目的 1.1设计目的 1、通过单片机课程设计,熟练掌握单片机C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。 2、通过定时器控制两个LED显示器显示10秒秒表系统的设计,掌握定时/计数器和LED显示器的使用方法,同时掌握简单程序的编写,最终提高我们的逻辑抽象能力。 1.2设计内容和要求 内容:设计一个能够控制两个LED显示器显示10秒秒表的模拟系统。 要求:利用单片机的定时器定时,控制LED显示器显示。 1.3 设计思路 1.先熟悉实验原理,了解4只LED滚动闪烁系统灯的工作过程,组成滚动闪烁系统需要的组件。 2.了解各个硬件的工作原理, 3.绘制电路原理图,编写程序,并进行仿真,基本实现LED滚动闪烁系统灯的功能。

2设计原理分析 2.1十秒秒表的系统设计 通过编写程序,实现对发光二极管的控制,来4只LED 滚动闪烁灯的管理。每延时一段时间,灯的显示情况都会按LED 灯的显示规律进行状态转换。采用单片机内部的I/O 口上的P0口中的4个引脚即可来控制4个LED 灯。 2.2十秒秒表的功能要求 本设计能模拟基本的LED 滚动闪烁系统,是用中断的方式定时控制LED 定的闪烁及滚动。 2.2.1计时显示 定时/计数器工作方式寄存器,定时器采用T0定时器0工作于模式2 位数:8位计数范围:0-255 具有自动加载功能 2.2.2中断设置 每累计若干次定时器中断才执行一次闪烁。 2.3定时器控制4只LED 滚动闪烁制系统的基本构成及原理 单片机设LED 灯闪烁系统,可用单片机直接控制信号灯的状态变化可以广泛的应用到商业和工业的流程控制测电路当中。 图2.1 系统的总体框图 据此,本设计系统以单片机为控制核心,连接成最小系统。系统的总体框图如上所示。因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。当定时器1被用作波特率发生器时,波特率工作于方式1和方式3是由定时器1 的溢出率和SMOD 的值(PCON.7------双倍速波特率)决定:

数字音乐盒课程设计

基于单片机多功能数字音乐盒 《单片机原理及应用》课程设计任务书 一、目的意义 《单片机原理及应用》是高校工程专业的一门专业基础课,该门课程具有很强的实践性。通过课程的学习,使学生掌握基本概念、基本理论和基本技能,为今后从事相应的生产设计和科研工作打下一定的基础。因此,除课程的理论教学和实验教学外,课程设计也是一个必要和重要的实践教学环节。通过课程设计,进一步培养学生理论联系实际的能力,学会正确地分析工程实际问题,善于查阅参考文献,准确地选择相应的数据、参数,具备全面地解决实际问题的素质,同时课程设计也为今后的毕业设计打下基础。 二、设计时间、地点、班级 时间:第16、17周(二周) 地点:三教433 、426 班级:09电气99人 三、设计内容 (二十)基于单片机的多功能数字音乐盒的设计 1、功能描述 用A T89S52单片机的I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 共有4乐曲,每首乐曲都由相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲控制键。 按键输入电路的设计 复位电路的设计;时钟电路的设计 显示电路及驱动电路的设计;扫描模式的选择设计 系统主程序及子程序的设计;元件及元件参数的选择

前言:本设计是以AT89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演 奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。 1、 设计原理及相关说明 设计原理:通过按键给单片机的P2口输入低电平,进而利用程序来判断是否执行某一播放功能。而利用单片机的定时器0中断来控制播放乐曲。 2.1芯片AT89C51的介绍 AT89C51是一种带4K 字节闪存可编程可擦除只读存储器(FPEROM )的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图2.1 图3.2 AT89C51

音乐提示定时器(1)

目录 第1章课程设计的要求、目的 (1) 1.1课程设计的要求 (1) 1.2课程设计的目的 (1) 第2章总体设计方案 (3) 2.1 总体方案的选择 (3) 2.2总体方案的说明 (3) 第3章系统方框图与工作原理 (5) 3.1系统设计框图 (5) 3.2 基本工作原理 (5) 第4章各单元硬件设计及说明 (7) 4.1单片机的选择 (7) 4.2复位电路的设计 (7) 4.3晶振电路的设计 (8) 4.4动态显示电路 (9) 4.5音乐播放电路 (9) 第5章器件说明 (10) 5.1 单片机 (10) 5.2 LED显示器 (11) 第6章软件设计与说明 (12) 6.1 定时显示子程序 (12) 6.2 系统软件设计方案的确定 (13) 6.3 音乐定时常数的确定 (13) 第7章调试步骤、结果、使用说明 (15) 第8章设计总结 (16) 附录A:程序清单 (20)

第1章课程设计的要求、目的 1.1 课程设计的要求 (1)设计要符合项目的工作原理,连线要正确,端了要不得有标号。选择合理的元件,电阻,电容等器件的参数要正确标明。原理图要完整,CPU,外围器件,扩器接口,输入/输出装置要一应俱全。 (2)音乐提示定时器要求通过设计4个按键设置现在想要倒数的时间:K1--可调整倒数时间为1-60分钟,能够实现时间可调;K2—设置倒数计时时间为5分钟,显示为“0500”;K3—设置倒数计时时间为10分钟,显示为“1000”;K4—设置倒数计时时间为20分钟,显示为“2000”;一旦按键后则开始倒计时,当计时为0则演奏一曲音乐,而且可循环播放,可随时人为停止;内定倒数计时时间为5分钟,显示为0500。 (3)设计合理的晶振电路,要求系统晶振频率为11.0592MHz,时间设计要求准确、可靠,要求时间随时可调,计时随时可中断。复位电路可靠、合理,可以实现对音乐播放、时间设定、调整时间的控制,满足方便、简捷的要求。要求系统能够发出准确的音乐,流畅、无杂音,可循环播放。数码显示要稳定,无闪烁,准确,与现实时间同步。 (4)写说明书。包括原理图设计说明,程序设计说明并画出工作原理图,程序流程图并给出程序清单。 1.2 课程设计的目的 课程设计的目的有: (1)加深对基础知识的理解,进一步熟悉和掌握单片机的结构及工作原理。 (2)掌握单片机的接口技术及相关外围芯片的外特性,控制方法。明确原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序。

单片机的课程设计_30秒定时器

目录 一、篮球计时器作用 (1) 二、设计的具体实现 (1) 1.系统概述 (1) 1.1总体设计思路及方案 (1) 1.2流程图 (3) 1.3计数原理 (3) 1.4定时器工作方式 (4) 2.单元电路设计 (6) 2.1 8051单片机 (6) 2.2两个基本电路 (8) 2.3八段数码管的驱动方式.......................错误!未定义书签。 3.软件程序设计 (9)

单片机的定时器设计 一、篮球计时器的作用 在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就视为犯规。本课程设计的“篮球竞赛24秒定时器”,可用于篮球比赛中对球员持球时间作24秒时间限制。一旦球员的持球时间超过了24秒,它自动报警,从而判定此球员犯规。 二、设计的具体实现 1.系统概述 1.1总体设计思路及方案 图1.1.1 总设计图

流程图:

最小系统,就是最简单的输出/输入构成,并且能实现最基本的运行条件,如应有供电、时钟附属电路等。单片机的最小系统包括晶振电路复位电路和电源,这时最小系统基本组成当然还可以添加矩阵键盘数码管等。 此实验的原理是,利用单片机的最小系统,通过锁存器74HC573控制数码管,来实现30秒定时器的功能。 图1.1.2最小系统 1.2计数原理 80C51单片机部设有两个16位的可编程定时器/计数器。在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。 1.2.1定时器/计数器的结构 16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过部总线和控制逻辑电路

单片机音乐盒课程设计

姓名:蔡晓锋 学号:20114654 学院:计算机与信息工程学院 专业班级:自动化3班 论文题目:基于单片机的音乐盒设计任课老师:赵伟志

【摘要】本设计是一个基于STC 12c5608ad系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来切换歌曲,一个个用来切换8路LED的变化花样,本音乐盒共有两首歌曲播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 【关键字】音乐盒;STC 12c5608ad单片机; KEIL; PROTEUS; 课程设计目的 应用单片机,利用它的原理组成一个音乐播放器。本课程设计是主干实践课。课程的任务在于提高学生综合运用所学知识理论、分析解决问题的能力。 课程设计任务 ?以单片机为核心部件组成一个音乐播放器; ?利用单片机的定时器产生乐谱的各种频率方波,由蜂鸣器发出声音 设计原理 音调的确定: 不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音,所以

叫“音调”,即Tone。把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个“半音”。两个音之间的距离有两个“半音”,就叫“全音”。在钢琴等键盘乐器上,C–D、D–E、F–G、G–A、A–B两音之间隔着一个黑键,他们之间的距离就是全音;E–F、B–C两音之间没有黑键相隔,它们之间的距离就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们的左上角加上﹟号或者b 号的叫变化音。﹟叫升记号,表示把音在原来的基础上升高半音,b叫降记音,表示在原来的基础上降低半音。例如高音DO的频率(1046Hz)刚好是中音DO的频率(523Hz)的一倍,中音DO的频率(523Hz)刚好是低音DO频率(266 Hz)的一倍;同样的,高音RE的频率(1175Hz)刚好是中音RE的频率(587Hz)的一倍,中音RE的频率(587Hz)刚好是低音RE频率(294 Hz)的一倍。 1)要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O 脚上得到此频率的脉冲。 2)利用发单片的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。 此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为 00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。 3)例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。 计数脉冲值与频率的关系公式如下: N=Fi2Fr N:计算值;Fi:内部计时一次为1us,故其频率为1MHz; 其计数值的求法如下: T=65536-N=65536-Fi2Fr 例如:设K=65536,F=1000000=Fi=1MHz,球低音DO(261Hz)。中音DO(523Hz)。高音的DO(1046Hz)的计算值 T=65536-N=65536-Fi2Fr=65536-10000002Fr=65536-500000/Fr 低音DO的T=65536-500000/262=63627

《单片机原理及应用》课程设计 音乐 定时器

《单片机原理及应用》课程设计 音乐定时器 姓名 院系信息学院 班级电气1082 学号2008116312 指导教师张瑛 时间2011年 5 月 30日

摘要 目录 摘要 I 1设计要求 (1) 2设计思路 (1) 3简易流程图 (1) 4源程序 (2) 4.1定时器部分 (2) 4.2音乐输出部分 (4) 5电路图 (7) 摘要 本设计为基于at89c51芯片设计的音乐定时器,定时器通过键盘输入定时时间,开始计时后等待到达预订时间,即输出两分钟的音乐。设计采用了4位数码管显示时间定时,扫描键盘负责输入、控制,两片89c51同时工作,一个负责定时、输入、显示、控制,另一个专门负责输出音乐。 关键词:定时器;音乐;51单片机

广东海洋大学《电子线路CAD》课程设计 音乐定时器 电气1082,200811631214,黄磊 指导教师:张瑛 1设计要求 设计要求:定时时间可任意设置(小于60分钟),设定值通过键盘输入,定时时间到发出音乐.音乐响2分钟,自动结束,中间也可以手动控制. 2设计思路 通过数码管的动态显示,显示定时器的定时。定时的时间由扫描键盘输入,并启动以及暂停定时,音乐通过另一片89C51实现音乐发声器。设计通过掌握汇编语言的编程方法. 运用89C51单片机定时器产生固定频率的方波信号,推动喇叭发出旋律。 实现功能: 定时启动音乐演奏。 定时时间由用户通过键盘输入。 可以中途停止音乐演奏。 3简易流程图

鸣谢4源程序 4.1定时器部分 ORG 0000H LJMP MAIN ORG 0003H LJMP BREAK0 MAIN: SETB IT0 ;设置中断 SETB EX0 MOV TMOD,#01H;设置定时器0方式1 MOV TH0,#0D8H ;初D8F0定时10ms MOV TL0,#0F0H CLR A MOV R0,#0H MOV R1,#0H MOV R4,#0H MOV R5,#0H CALL KEY MOV R0,A MOV A,#0E0H ;输出显示十位 MOV P2,A MOV A,R0 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A CALL KEY MOV R1,A ;输入个位 SETB EA ;设置中断允许 WAIT: CALL SHOW ;等待开始 JMP W AIT BEGIN: SETB EA ;设置中断允许JP0: CALL SHOW DEC R5 CJNE R5,#0FFH,JP0 DEC R4 MOV R5,#9H CJNE R4,#0FFH,JP0 DEC R1 MOV R4,#5H CJNE R1,#0FFH,JP0 DEC R0 MOV R1,#9H CJNE R0,#0FFH,JP0 JMP BEEP SHOW: MOV R3,#25H LOOP: MOV R2,#0D0H ;设置分输出个位 MOV P2,R2 MOV A,R1 ;取分个位数值 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A ;输出 CALL DY12 MOV R2,#0E0H ;设置输出分十位 MOV P2,R2 MOV A,R0 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A CALL DY12 MOV R2,#70H ;设置输出秒个位 MOV P2,R2 MOV A,R5 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A CALL DY12 MOV R2,#0B0H ;设置输出秒十位 MOV P2,R2 MOV A,R4 MOV DPTR,#TAB

单片机课程设计音乐闹钟定时器

目录: 0、任务书 (2) 1、系统总体设计方案规划与选定 (2) 2、硬件设计 (5) 3、软件设计 (6) 4、调试 (8) 5、新增功能及实现方法 (8) 6、小结与体会 (9) 7、参考文献 (9) 8、附录 (10)

0.任务书 基于51单片机设计一个电子数字钟,显示时、分、秒,且具有闹钟功能。用8255接口实现4*8键盘及8位LED显示。 32个键:0~9共10个键,调时(设置当前时间)键;设定闹钟(定时)键;走时键;光标左右移动各一个键。 要求键复位后,应该最后面的LED上显示H(待命状态)。 1. 系统总体设计方案规划与选定 1.1主控制芯片选择 方案一:采用ARM微处理,做主控芯片,计算速度快,缺点;成本高,控制较复杂,不容易焊接。 方案二:采用80C51单片机做主控制器,由单片机来完成采集和信号处理等底层的核心计算,做主控芯片,成本低,易控制,易实现。 经过以上两个方案比较,在此题方案二明显优于方案一,故采用80C51单片机做主控制器。 1.2定时模块选择 方案一:采用时钟芯片DS1302。 DS1302 可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录,且较单片机计时简单节约硬件资源,但存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。 方案二:采用单片机内部的定时系统,外接晶振进行分频脉冲计数。

此系统采用12MHz晶振。 由于方案二使用简单,比方案一更适用该系统设计,所以选择方案二。 1.3 LED显示及计时模块选择 方案一:74LS192计数器——74LS47七点显示译码器 74LS192芯片是一块可预置数可逆计数芯片,功能强大。将74LS192芯片CPU引脚接高电平可实现减法计数,以倒计时显示。可通过74LS47与LED共阳极数字显示器配合使用。 方案二:使用移位寄存器74HC595与译码器相连 74HC595具有8位移位寄存器和一个存储器,使用时可直接与数字显示器相连。 方案三:使用8255扩展LED显示计时模块 8255是一个可编程并行接口芯片,有一个控制口和三个8位数据口,外设通过数据口与单片机进行数据通信,各数据口的工作方式和数据传送方向是通过用户对控制口写控制字控制的。我们用到了A与B口分别进行对数码显示管的片选和段选,且B口同时作为键盘扫描模块的输入口,与数码显示模块分时复用。故采用方案三 1.4蜂鸣器的选择 方案一:电磁式蜂鸣器 电磁式蜂鸣器主要是利用通电导体会产生磁场的特性,用一个固定的永久磁铁与通电导体产生磁力推动固定在线圈上的鼓膜。电磁式由于音色好,所以多用于语音、音乐等设备。对于不同提示音且考虑实际,此种较好。 方案二: 压电式蜂鸣器

音乐盒毕业设计论文

毕业设计论文 设计课题:___________________ 设计者1:___________________ 设计者2:___________________ 设计者3:___________________ 指导教师:___________________ 答辩时间:___________________

摘要 本设计是以单片机技术应用为主线,主控芯片采用AT89S51芯片,采用汇编语言设计程序。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本课程设计的音乐盒式以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,能弹奏do、re、mi、fa、so、la、si七个音,可以当作一个小小电子琴,由弹奏者弹奏想要的歌曲,给弹奏者提供无限音乐乐趣,还可以播放7首歌,曲目可自由选择。本程设计的音乐盒功能多,使用方便,并具有一定的商业价值,可以生产为小朋友的智力开发玩具,也可生产为年轻人和老年人生活中的不可缺少的音乐盒。

1、 系统总体设计方案及硬件设计 1.1系统总体设计方案 利用单片机于外接独立式按键,通过按键可随意选择播放曲目,按键按下一次,歌曲播放一遍。通过切换键,可切换音乐盒功能与电子琴功能。电子琴是利用各音节的频率与延时时间的结合,不同频率的脉冲经扬声器驱动电路放大后,就会发出7不同音调,达到电子琴固有的基本功能。通过接有一个LM386功率放大器的扬声器播放声音。系统总体设计图如图1。 图1系统总体设计图 1.2硬件设计 硬件功能模块划分:单片机最小系统电路模块、按键电路模以及功放电路模块。 (1)最小系统电路模块 最小系统图包括单片机、复位电路、晶振电路以及电源电路。如图 2

带有LCD显示的音乐倒数计时器

信息工程学院 课程设计报告书题目: 带有LCD显示的音乐倒数计时器 专业:计算机科学与技术 日

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制系统日新月益更新。单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本次课程设计的项目是带有LED显示的音乐倒数计时器。主体使用89C52,通过几个开关进行控制,其中开关K1用于切换时间设置状态和时钟运行状态;开关K2用于切换修改时间数值;开关K3用于使相应数值加1调节;开关K4用于减1调节;开关K5用于设定倒计时时间,并且设定好后到时间通过实验箱音频放出一段乐曲作为闹铃。 选做增加项目:还可增加秒表功能(精确到0.01s)或年月日设定功能 关键词:单片机课程项目计时器 89C52

摘要 ..................................................................................................................................... I 1前言 (1) 1.1课题开发背景 (1) 1.2课题研究的目的和意义 (1) 1.3课题的主要研究工作 (1) 2 系统硬件设计及说明 (3) 2.1系统组成及总体框图 (3) 2.2部分硬件方案论述 (3) 2.3硬件电路图 (4) 2.4元件清单 (4) 2.4.1 AT89C52 (4) 2.4.2 LCD1602 (5) 2.4.3按键控制单元 (6) 2.4.4 SPEAKER (7) 3系统软件设计 (8) 3.1系统总体功能流程图 (8) 3.2使用单片机实现音乐节拍 (10) 3.3使用单片机产生音频脉冲 (11) 3.4使用定时器实现定时功能 (12) 3.5程序描述 (12) 4总结与展望 (15) 参考文献 (16)

课程设计-单片机定时器的设计

摘要 单片机是一种集成在电路芯片,是采用超大范畴集成电路技能把具有数据处理本事的中心处理器CPU 随机存储器RAM、只读存储器ROM、多种I/O 口和间断系统、定时器/计时器等成果(大要还包括表现驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完竣的计较机系统。单片机具有特点具有良好的性能价格比;低电压、低功耗;集成度高、体积小、可靠性高;控制成果强等优点。 计算机暂时中止正在执行的主程序,转去执行中断服务程序,并在中断服务程序执行完了之后能自动回到原主程序处继续执行,这个过程叫做“中断”。中断需要解决两个主要问题:一是如何从主程序转到中断服务程序;二是如何从中断服务程序返回主程序。 关键词:单片机,中断,延时

目录 1.设计目的 (1) 2.设计任务的内容和要求 (1) 3.设计原理 (1) 4.程序说明 (3) 5.心得体会 (6)

定时器试验 1.设计目的 (1)熟练运用汇编语言编程,并且掌握键盘查表来运行相应的功能 (2)熟悉启东硬件仿真系统,熟练应用该系统调试软件 (3)熟悉单片机应用系统的组成,并能运用程序控制外部流水灯 2.设计任务的内容和要求 (1)初始化定时器,使之采用定时器0,方式2,定时100us时间 (2)通过设置中断,产生总时间为1秒 (3)1秒时间到,控制发光二极管点亮 3.设计原理 在实际的控制系统中常要求有外部实时时钟,以实现定时或延时控制;还要求有外部计数器,以实现对外界事件进行计数。 MCS-51单片机由两个可编程定时/计数器(以下简称T/C)。T0,T1 T/C的核心是1个加1计数器,它的输入脉冲有两个来源:一个是外部脉冲源,另一个是系统机器周期(时钟振荡器经12分频以后的脉冲信号)。T0,T1是2 个16位寄存器。加1到满溢出产生中断 T0(TH0,TL0);8CH,8AH地址不连续 T1(TH1,TL1);8DH,8BH 都具有定时或者计数功能。 图一 图一有2个模拟的位开关,前者决定了T/C的工作状态:当开关处于上方时为定时状态,处于下方时为计数状态。工作状态的选择由特殊功能寄存器TMOD的C/T位来决定。C/T=0表示定时,C/T=1表示计数。 当T/C处于定时方式时,加1计数器在每个机器周期加1,因此,也可以把它看作在累计机器周期。由于一个机器周期包含12个振荡周期,所以它的计数速率是振荡频率的1/12。 如果主频12M,机器周期为1us,每1us定时寄存器完成1次加1操作。一旦振荡周期确定,机

单片机音乐盒课程设计报告

机电高等专科学校课程设计报告书 课程名称:单片机 课题名称:电子音乐盒 专业:自动控制系 班级:计控111 学号:111413144 姓名:思璐

2013 年01月01日

目录 1.设计目的…………………………………………..错误!未定义书签。 2.设计要求和设计指标错误!未定义书签。 3.设计容错误!未定义书签。 3.1硬件部分错误!未定义书签。 3.1.1 …错误!未定义书签。 3.2 软件部分错误!未定义书签。 4.本设计改进建议错误!未定义书签。 5.总结(感想和心得等)错误!未定义书签。 6.主要参考文献错误!未定义书签。 附录错误!未定义书签。

1.设计目的 通过学习单片机课程,对单片机的硬件设计,软件设计掌握有了不少了解,学习了protel 99 SE 和keil软件,锻炼了自己的编程能力,对单片机硬件和软件的设计都有了进一步的认识和提高。为以后的学习也打下了很好的基础。 2.设计要求和设计指标 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(存 两首乐曲)。 (2) 可通过功能键选择乐曲,播放不同音乐。 (3)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 (4)利用8051的部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 (5):起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr 低音D0的T=65536-500000/262=63627 中音D0的T=65536-500000/523=64580 低音D0的T=65536-500000/1047=65059

相关主题
文本预览
相关文档 最新文档