单片机课程设计

发布 2022-10-04 21:05:28 阅读 8793

基于51单片机的简易电子琴。

一、前言:我们生活在一个信息时代,各种电子产品层出不穷,作为一个电子信息专业的学生,了解这些电子产品的基本组成和设计原理是十分必要的,我们学习的是51单片机原理与应用,而课程设计正是对我们学习的理论的实践与巩固。本设计主要介绍的是基于51单片机的简易电子琴,设计的一个具有若干功能的简易电子琴,本设计使用的语言是汇编语言。

二、设计目的:

1)能够对电子电路、电子元器件等方面的知识有进一步的认识,独立对其进行测试与检查;

2)熟悉8051单片机的内部结构和功能,合理使用其内部寄存器,能够完成汇编语言编程设计工作;

3)为实现预期功能,能够对系统进行快速的调试,并能够对功能故障进行分析,急时修改相关软硬件;

4)对软件编程,排错调试,相关仪器设备的使用技能等方面得到较全面的锻炼和提高。

三、系统功能要求:

1.具有发出c大调为标准音123和1八个音的功能。

2. 设计完整的原理图电路,包括时钟电路、复位电路以及键盘接口电路等。

四、实验原理:

**产生原理及硬件设计由于一首**是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的**了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器t0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。本次设计中单片机晶振为12mhz,那么定时器的计数周期为1mhz,假如选择工作方式1,那t值便为t=65536-1000000/2/f相应的频率 ,那么根据不同的频率计算出应该赋给定时器的计数值:

采用查表程序进行查表时,可以为这个音符建立一个**,有助于单片机通过查表的方式来获得相应的数据:

tab1:db0fch,46h,0fch,0aeh,0fdh,0ah,0fdh,34h,0fdh,82h,0fdh,0c8h,0feh,06h,0fch,46h

tab2:db0feh,22h,0feh,5bh,0feh,84h,0feh,9ah,0feh,0c1h,0feh,0e4h,0ffh,03h, 0feh,22h

tab3:db0ffh,11h,0ffh,2bh,0ffh,46h,0ffh,4dh,0ffh,60h,0ffh,72h,0ffh,81h,0ffh,11h

系统整体安排如下:

1、按下k1键发出1的声音。

2、按下k2键发出2的声音。

3、按下k3键发出3的声音。

4、按下k4键发出4的声音。

5、按下k5键发出5的声音。

6、按下k6键发出6的声音。

7、按下k7键发出7的声音。

8、按下k8键发出1的声音。

9、单片机可采用at89c51、at89c52、at89s52、fosc=12mhz。

10、时钟电路,复位电路的设计。

8051单片机根据不同的琴键产生不同的乐曲音符,并经过信号放大,由喇叭放出。系统整体方案如图所示:

五:实验步骤:

1、硬件系统原理图如图:

2、频率、声音的实现和产生。

单片机的频率和声音输出的原理是,利用琴键控制定时器的开中断和闭中断,即实现发音和闭音。在此期间再通过对定时器的定时时间进行控制来产生不同频率的方波,驱动嗡宁器发出不同音阶的声音。把相应琴键对应的音符变换为定常数,作为数据**存放在存储器中。

由程序查表得到定时常数,用以控制定时器产生方波的频率。当下一个琴键按下时,再查下此琴键所对应音符的定时常数。依次进行下去,就可以演奏出自己所要的歌曲。

3、键盘的方案选择。

此系统琴键输入是通过独立式键盘来完成的。由于8051单片机的八位i/o口足以能实现控制各音阶的输出,并且独立式键盘的编程容易易懂,结构简单,实现起来方便,而且每个按键单独占有一根i/o接口线,每个i/o口的工作状态互不影响,所以采用独立式键盘。p1.

0~p1.7 口分别对应琴键1~7输入,如下图所示。

4、关于键盘的抖动问题的分析和解决。

当用手按下一个键时,如图所示,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况。这就是抖动。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。

很容易想到,抖动问题不解决就会引起对闭合键的识别。

用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,再读入键盘码。

延迟10ms的程序为:

mov r1, #100执行次数为1

d1: mov r2, #98执行次数为100

nop执行次数为100

d2: djnz r2, d2执行次数为100ⅹ98

djnz r1, d1执行次数为48

延迟时间与指令执行时间有密切的关系,在使用6mhz晶振时,一个机器周期为 0.5μs,执行一条mov指令时间为0.5μs, 执行一条djnz指令时间为1μs。

则实际延迟时间=1ⅹ0.5+100ⅹ0.5+100ⅹ0.5+100ⅹ98ⅹ1+98ⅹ1=99.985≈10ms。

5.放大电路分析。

此部分的放大电路简单容易实现。可以采用一个小功率pnp型硅管2n2905,利用“分压偏置式工作点稳定直流通路”,达到了对静态工作点的稳定。分压电阻分别选择1k和5.

5k。蜂鸣器一端接+5v电压,一端接晶体管的发射极。由p2.

7输出预定的方波,加到晶体管进行放大,再输出到嗡宁器,很好的实现了频率、声音的转换。

6.时钟电路和复位电路的论证和分析:

此系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。

mcs-51内部有一个用于构成振荡器的高增益反相放大器。引脚xtal1和xtal2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。

外接晶体谐振器以及电容cx1和cx2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响**器频率的高低、**器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12 mhz,电容应尽可能的选择陶瓷电容,电容值约为22μf。

复位电路的论证和分析:

ms-51的复位是由外部的复位电路来实现的。片内复位电路是复位引脚rst通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的s5p2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路,如图所示。

当时钟频率选用12mhz时,c取22μf,r2约为100ω,r1约为10kω。

六、系统软件设计。

1、系统程序流程如图所示:

2、程序清单:

org 0000h

ljmp mai

org 000bh

ljmp tim

mai: mov p1,#0ffh

clr tr0关闭上一次定时,进入下一次按键判断。

mov tmod, #01h

mov ie, #82h

mov a, p2.7

mov 30h, a保存键盘状态值

lcall d10ms延迟10ms消除抖动。

mov a , p2.7再读键盘状态。

cjne a, 30h, mai ;两次结果不同,是抖动引起,转mai

main: mov r7,#00h判断哪个键按下。

jnb p1.0,key

mov r7,#02h

jnb p1.1,key

mov r7,#04h

jnb p1.2,key

mov r7,#06h

jnb p1.3,key

mov r7,#08h

jnb p1.4,key

mov r7,#0ah

jnb p1.5,key

mov r7,#0ch

jnb p1.6,key

mov r7,#0eh

jnb p1.7,key

ajmp main

key:jnb p2.0,ltune判断低音、中音、高音哪个键按下。

jnb p2.1,mtune

jnb p2.2,htune

ltune:mov dptr,#tab1 ;低音,查找表tab1赋给dptr,跳至con

ajmp con

mtune:mov dptr,#tab2 ;中音,查找表tab2赋给dptr,跳至con

ajmp con

htune:mov dptr,#tab3 ;高音,查找表tab3赋给dptr,跳至con

ajmp con

con: setb p2.7

mov r2,#0ffh

con1: mov a,r7

movc a,@a+dptr

mov tmod,#01h

mov th0,a

clr ainc a

movc a,@a+dptr

mov tl0,a

setb tr0

aga1: jbc tf0,shi

sjmp aga1

shi: cpl p2.7

djnz r2,con1

sjmp main

tim: mov th0, r1重装定时器初值。

mov tl0, r0

cpl p2.7

reti

单片机课程设计

可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...

单片机课程设计

目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...

单片机课程设计

1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...