单片机课程设计

发布 2022-10-04 23:25:28 阅读 6463

哈尔滨理工大学。

单片机原理及接**术。

课程设计报告。

设计题目:isd420语音模块实验。

专业。班级。

姓名。学号。

1、课程设计目的。

1、了解isd1420的性能;

2、了解单片机的接口逻辑;

3、掌握手动和mcu控制两种录音、放音的基本功能;

2、实验设备。

star系列试验仪一套、pc机一台。

三、实验内容。

1、isd1420语言模块(b1区):

1)20秒录放音长度,具有不掉电存储功能;

2)可分1—160段录放音片段。

2、具体操作。

1)手动控制方式,通过b1区按键rec和按键playe、playl放音。

2)mcu控制方式,通过g6区8个按键控制录、放音:1—4号键录音各五秒;然后通过5—8号键放音,放音内容顺序对应1—4号键的录音内容。

四、实验原理图。

五、isd1420语音模块程序框图。

延时250毫秒子程序:

6、实验步骤。

1、主线连线说明。

star es598pci

2、将jp13,jp14,jp15跳向“manual”,即手动录、放音。三个控制按键(在b1区左边)rec(录音)、playe(电平放音)和playl(边沿放音)控制录音和放音。

3、将jp13,jp14,jp15跳向“mcu”,单片机控制,运行演示程序,1—4号键录音,5—8号键放音。

七、演示程序。

isd1420语音模块实验说明。

实验目的: 1.掌握录音,放音的基本控制。

2.掌握分段录音,放音控制。

实验内容: 由mcu控制,通过g6区8个按键控制录、放音, 每个按键控制录放音各5秒。

录音按键: g6区1,2,3,4号键分别可录音5秒;录音时, b1区ds6发光管亮。

放音按键: g6区5,6,7,8号键分别可放音5秒,与放音。

内容与1,2,3,4号键相对应。

接线说明。按键: g6区,8个按键,顺序连接到p1口,例如p1.0

对应1号键。

isd1420: b1区-->a3区。

rec---p3.2(int0)

playe->p3.3(int1)

playl->p3.4(t0)

cp---cs1(0f000h)片选地址。

isd1420_ad1 equ 00h1号键录放音起始地址,每次录音5s

isd1420_ad2 equ 28h2号键录放音起始地址。

isd1420_ad3 equ 50h3号键录放音起始地址。

isd1420_ad4 equ 78h4号键录放音起始地址。

rec bit p3.2 ;录音接口。

playe bit p3.3 ;电平触发放音接口。

playl bit p3.4 ;边沿触发放音接口。

isdcomm xdata 0f000h ;录放音地址/操作模式输入地址,0f000h是接到cs1上的地址。

org 0ljmp start

org 100h

start:

lcall maininit ;主程序初始化。

main: lcall scankey扫描按键。

jnc main

main1: lcall keyrun按键处理。

jnb f0,main是否有新的键按下。

clr f0清按键标志

sjmp main1

jmp main循环进行实验内容介绍与isd1420功能测试。

主程序初始化

maininit: clr f0有键按下标志位,清0-无键按下。

mov p1,#0ffh

lcall isd_init ;isd1420初始化。

ret录放音子程序。

key1: mov a,#isd1420_ad1 ;录音首地址。

ljmp key_rec

key2: mov a,#isd1420_ad2

ljmp key_rec

key3: mov a,#isd1420_ad3

ljmp key_rec

key4: mov a,#isd1420_ad4

ljmp key_rec

key_rec: mov r7,#20录音时间长度,5s

lcall isd_rec调用录音子程序。

key_rec1: lcall delay_025s ;延时。

jb f0,key_rec2 ;检测按键是否有键按下。

djnz r7,key_rec1 ;录音时间,根据r7的值决定。

lcall isd_stop ;停止录音。

key_rec2: ret

放音子程序。

key5: mov a,#isd1420_ad1 ;放音首地址。

ljmp key_play

key6: mov a,#isd1420_ad2

ljmp key_play

key7: mov a,#isd1420_ad3

ljmp key_play

key8: mov a,#isd1420_ad4

ljmp key_play

key_play: mov r7,#

lcall isd_play ;调用录用子程序。

key_play1: lcall delay_025s ;用于进度显示的时间参照。

jb f0,key_play2 ;检测按键是否有键按下。

djnz r7,key_play1

key_play2: ret

keyrun: mov dptr,#keytab ;有键按下,跳到相应处理程序。

mov a,b

rl ajmp @a+dptr

keytab: sjmp key1 ;1--4号键,分别各录音5秒,isd1420可录音20秒。

sjmp key2

sjmp key3

sjmp key4

sjmp key55--8号键,对应分别放音各5秒。

sjmp key6

sjmp key7

sjmp key8

按键扫描。scankey: mov a,p1键扫描。

cjne a,#0ffh,scankey1

scankey4: clr c

retscankey1: acall scankey2

jnc scankey4

scankey3: mov b,a

acall delay20ms ;消抖动。

acall delay20ms

acall scankey2

jnc scankey4

cjne a,b,scankey3

scankey5: mov a,p1

cjne a,#0ffh,scankey5

setb c

retscankey2: clr a

jnb p1.0,scankey21

inc ajnb p1.1,scankey21

inc ajnb p1.2,scankey21

inc ajnb p1.3,scankey21

inc ajnb p1.4,scankey21

inc ajnb p1.5,scankey21

inc ajnb p1.6,scankey21

inc ajnb p1.7,scankey21

clr cret

scankey21: setb c

retdelay20ms: mov r6,#

delay1: mov r7,#

djnz r7,$

djnz r6,delay1

ret延时0.25s

delay_025s: push 05h

push 06h

push 07h

mov r5,#

dl1s_1: mov r6,#

dl1s_2: mov r7,#

djnz r7,$

djnz r6,dl1s_2

djnz r5,dl1s_1

acall scankey

jnc dl1s_3

setb f0f0有键按下标志,f0=1,有键按下

dl1s_3: pop 07h

pop 06h

pop 05h

ret录音子程序。

a--存放操作方式设置值,r7--录几秒。

isd_init: setb rec语音模块初始化,关闭录放音功能。

setb playe

setb playl

mov dptr,#isdcomm

clr amovx @dptr,a允许手动录放音,当a6,a7为高时,无法手动放音。

ret操作模式,a-操作模式设置值。

isd_mode: push acc

lcall isd_stop ;语音模块初始化,将rec,playe,playl置位,并设置操作模式。

mov dptr,#isdcomm ;设置操作模式:分段录音

pop acc

movx @dptr,a设置操作模式命令在a中。

clr playl给一个上升沿,锁存命令。

nopnop

nopsetb playl

ret录音。

isd_rec: mov dptr,#isdcomm ;设置录音起始地址。

movx @dptr,a

clr recrec变低,即开始录音。

ret放音子程序。

a--放哪段音。

isd_play: push acc

lcall isd_stop ;暂停之前的录放音操作。

pop acc

mov dptr,#isdcomm ;设置放音起始地址。

movx @dptr,a

clr playe开始放音,边沿放音模式。

nopsetb playe

ret停止录放音。

isd_stop: clr playl一个负脉冲停止放音。

nopsetb playl

lcall delay50ms

setb rec关闭所有操作指令。

setb playe

mov dptr,#isdcomm

clr amovx @dptr,a允许手动录放音,当a6,a7为高时,无法手动放音。

ret延时。

delay50ms: push 06h

push 07h

mov r6,#

delay50ms_1: mov r7,#

djnz r7,$

djnz r6,delay50ms_1

pop 07h

pop 06h

retend

八、实验结果。

jp13、jp14、jp15:设置操作模式,mcu:cpu控制方式;manual:手动(rec、playl、playe)控制方式。

rec:录音按键,低电平有效;

playe:电平放音按键,低电平有效,直到放音内容结束停止放音;

mcu控制方式,通过g6区8个按键控制录、放音:1—4号键录音各五秒;然后通过5—8号键放音,放音内容顺序对应1—4号键的录音内容。

单片机课程设计

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

单片机课程设计

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

单片机课程设计

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