单片机课程设计语言报数计数器.docx

上传人:b****4 文档编号:24352797 上传时间:2023-05-26 格式:DOCX 页数:20 大小:333.08KB
下载 相关 举报
单片机课程设计语言报数计数器.docx_第1页
第1页 / 共20页
单片机课程设计语言报数计数器.docx_第2页
第2页 / 共20页
单片机课程设计语言报数计数器.docx_第3页
第3页 / 共20页
单片机课程设计语言报数计数器.docx_第4页
第4页 / 共20页
单片机课程设计语言报数计数器.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

单片机课程设计语言报数计数器.docx

《单片机课程设计语言报数计数器.docx》由会员分享,可在线阅读,更多相关《单片机课程设计语言报数计数器.docx(20页珍藏版)》请在冰豆网上搜索。

单片机课程设计语言报数计数器.docx

单片机课程设计语言报数计数器

 

《单片机应用课程设计》

课程设计报告

 

系别:

信息科学与技术系

专业班级:

通信工程0702班

学生姓名:

指导教师:

 

(课程设计时间:

20年月日——20年月日)

目录

1.课程设计目的2

2.课程设计题目描述和要求2

3.课程设计报告内容2

3.1课题分析2

3.2选择课题3

3.3根据课题发放硬件3

3.4硬件制作4

3.5硬件调试6

3.6软件功能模块设计6

3.7软件调试8

4.总结14

5.参考文献15

 

1.课程设计目的

(1)明确学习目的,端正学习态度,提高对课程设计重要性的认识,以积极认真的态度参加课程设计工作,按要求完成规定的设计任务。

(2)培养正确的设计思想,严谨的工作作风,提高对所学知识应用和分析能力、解决问题的能力,提倡独立思考、刻苦钻研和创新的精神。

2.课程设计题目描述和要求

课题三:

语言报数计数器

制作要求:

用80C51/52单片机和语音芯片ISD1420构成的编程控制的语言报数计数器小系统。

3.课程设计报告内容

3.1课题分析

课题三:

语言报数计数器

1)一:

制作要求:

用80C51/52单片机和语音芯片ISD1420构成的编程控制的语言报数计数器小系统。

2)二:

硬件结构:

电路见硬件电路图

3)三:

软件思路:

流程图及软件清单。

4)四:

语音报数系统

单片机语音报数系统,是一种专用系统,软硬件资源都得到充分利用。

此系统按硬件、软件系统分述如下:

(一)硬件系统

单片机报数系统是由三块电路组成的。

它们是:

1.单片机系统

语音报数系统是在单片机控制下,对产品实行自动报数的一种应用方式,因此无须键盘和显示装置。

片内收RAM足以够用,也无须外接RAM芯片。

所以此语音报数系统所使用的单片机系统属于单片机最小系统类型。

它所使用的芯片是:

CPU为89C51/52从芯片种类特征上看,单片机系统内有4-8KFLISH程序存储器,足够存放下监控程序。

电路中还包含复位电路和时钟电路。

2.语音系统

语音系统采用的语音电路板,构成单片机控制下的语音系统。

从硬件电路图中看到,809C51的P1.0—P1.78根口线与语音芯片的AO~A7地址线相连,控制录放的起始地址,实施分段建库等功能。

P3.5口线控制录放。

P3.4口线与红外接收电路的输出端相连,用于处理产品探测系统的输出信号,实施计数功能。

3.产品探测系统

单片机语音报数系统电路图如附录三中收发二极管对完成检测产品脉冲信号,由反向器非门将信号送入89C51-P3.4计数口T0。

(二)软件系统25476

软件是根据硬件特点和要求进行编写的。

软件系统分录音系统和放音系统。

这两个系统编程依据都和语音ISD1420芯片的性能有直接的关系。

第一,该语音芯片录入时间只有20秒,在这20秒的时间里,不可能将所有的十进制数,由小到大全部录进去。

解决的办法建立语音库,也就是说,只要录进“0、1、2、3、4、5、6、7、8、9、拾。

百、千、万、亿、零”这些语音信号,然后再将这些语音相互组合,就可以报出任意大小数字。

第二,一个语音信号录多长时间,时间太短听不清楚(音乐除外),时间太长,造成浪费,根据实验,以0.5秒录一个语音适中,这样20秒可录40个不同的音,这对于一个报数系统富富有余。

第三,若以0.5秒录一个语音信号,每一个语音地址应怎样计算,这和语音芯片本身性能有关。

关于地址计算,参看语音管脚介绍部分。

第四,放音时按什么顺序才能正确放音?

通过实验,必须先提供语音的地址然后再提供放音电平,再给出放音时间,放音结束后,撤掉放音电平,并置相反状态,做好下一次放音准备。

本录音系统具有录、试听、满意与否的控制功能,每个语音与其对应地址自动生成。

3.2选择课题

选择课题三:

语言报数计数器

3.3根据课题发放硬件

1)单片机系统

语音报数系统是在单片机控制下,对产品实行自动报数的一种应用方式,因此无须键盘和显示装置。

片内收RAM足以够用,也无须外接RAM芯片。

所以此语音报数系统所使用的单片机系统属于单片机最小系统类型。

它所使用的芯片是:

CPU为89C51/52从芯片种类特征上看,单片机系统内有4-8KFLISH程序存储器,足够存放下监控程序。

电路中还包含复位电路和时钟电路。

2)语音系统

语音系统采用的语音电路板,构成单片机控制下的语音系统。

从图中看到,89C51的P1.0—P1.78根口线与语音芯片的AO~A7地址线相连,控制录放的起始地址,实施分段建库等功能。

P3.5口线控制录放。

P3.4口线与红外接收电路的输出端相连,用于处理产品探测系统的输出信号,实施计数功能。

3)产品探测系统

单片机语音报数系统电路图中收发二极管对完成检测产品脉冲信号,由反向器非门将信号送入89C51-P3.4计数口T0。

3.4硬件制作

课程三硬件电路图

89C51——单片机,8031内核,4K可反复擦写的程序存储器,32条I/O口,5V工作

ISD1420——语音芯片,音质优异的模拟存储技术,可反复录放,20秒钟,可分160段,有手动录放接口,5V供电

NE5532——运算放大器。

ISD1420是平衡输出方式,而常用音量调节、功放电路都是基于非平衡方式,因此用运放作平衡—非平衡转换。

LM386——功率放大器,0.5W驱动

24C01(选配件)——I2C总线串行存储器。

驻极体话筒(MIC)、话筒放大器、音量电位器、发光管等部件。

1)性能参数

外接电源电压:

5V(稳压)

外接喇叭:

4—16欧姆,0.5W

工作电流:

25~30mA(录音),50~80mA(放音)

静态电流:

1mA

2)开发板已有功能:

A.录音

按住“REC”键不放,指示灯亮即可对着板上话筒讲话录音,松键时录音停止并形成一段。

B.放音

按一下“PE”键将一段录音全部播放出来,一段结束后自动停止放音。

按住“PL”键即放音,松键即停止。

3)地址

ISD1420的地址线有8位,全部接到了89C51的P1口,在未接单片机时全部通过‘短路插’对地短路,即A0~A7全部为低电平。

如接入了单片机,P1口的短路插应全部去掉。

3.5硬件调试

3.6软件功能模块设计

录音程序流程图如下图所示

放音程序流程图如下所示

对录、放程序作如下说明:

录音程序:

执行录音程序,只有按下WRI键,才能录音,时间半秒钟,录完后,试听(按下RD键),不满意,再次按下WRI键,在原地址上重新录音,在试听后,觉得满意,按一下RD键,再按WRI键,才能对下一个地址进行录音。

放音程序:

00C0H-00D3H地址范围内单元中的内容为语音地址,语音与地址对应如下

语音地址对应表

语音

1

2

3

4

5

6

7

8

9

亿

地址

0

03H

06H

09H

0CH

0FH

13H

16H

19H

1CH

1FH

23H

26H

29H

2CH

3.7软件调试

程序及分析:

/*========语音报数系统=============*/

/*功能:

本程序实现的功能是产品报数

系统报数范围在0--999之间*/

/*=================================*/

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitji_shu=P3^4;

sbitPLAYL=P3^5;

voidBegain();

voidPlay(uinta);

voidji_shu_red();

voiddelay(uinti);

voidzu_he();

uintflag=00,flag1=0,flag2=0,flag3=0,flag4=0;

ucharInsert[]={0x29,0x2E,0x32,0x37,0x41};

//谢谢,欢迎,再见,开始计数,音乐

ucharData[]={0x00,0x03,0x06,0x09,0x0C,0x0F,0x12,0x15,0x18,0x1B,0x1E,0x21,0x23,0x25};

//0,1,2,3,4,5,6,7,8,9,拾,百,千,万

/*=============主程序==================*/

main()

{

Begain();

while

(1)

{

ji_shu_red();

zu_he();

}

}

/*=====================================*/

/*--------初始化----------*/

voidBegain()

{

P1=0X00;

PLAYL=1;//音乐

P1=Insert[4];

delay(10000);

PLAYL=0;

delay(20000);

PLAYL=1;

delay(600);

PLAYL=1;//语音播报“欢迎”

P1=Insert[1];

delay(100);

PLAYL=0;

delay(1200);

PLAYL=1;

delay(600);

P1=Insert[3];//语音播报“开始计数”

delay(200);

PLAYL=0;

delay(2400);

PLAYL=1;

delay(600);

}

 

/*---------红外计数--------------*/

voidji_shu_red()

{

/*下面两句为计数核心部分*/

while(ji_shu==1);//没有被遮断时,等待。

while(ji_shu==0);//被遮断时,等待遮断物拿开

/*=====================*/

flag++;

flag1=flag;

flag2=flag1%10;//分离个位

flag3=flag1/10%10;//分离十位

flag4=flag1/100%10;//分离百位

}

 

/*-----------组合播报---------*/

voidzu_he()

{

if(flag<1000)//计数最大值不超过1000

{

if(flag4==0&&flag3==0)//当百位十位都为0时

Play(flag);//直接播个位

elseif(flag4==0&&flag3!

=0)//当百位为0,十位不为0时,

{//先播十位数字,再播十位,最后播个位。

if(flag3!

=1)

{

Play(flag3);//播十位数字

if(flag2!

=0)//个位若不为0

{

Play(10);//播“十位”

Play(flag2);//播个位数字

}

else

{

Play(10);

}

}

else

{

Play(10);

Play(flag2);

}

}

elseif(flag4!

=0)//百位不为0,,最后播个位。

{

Play(flag4);//先播百位数字

if(flag3!

=0)//十位数字不为0

{

Play(11);//播“百位”

Play(flag3);//播十位数字

Play(10);//播"十位"

Play(flag2);//播个位

}

else

{

Play(11);//播“百位”

Play(0);//播“零”

Play(flag2);//播个位数字

}

}

}

elseflag=0;//计数达最大值时清零

}

 

/*-----语音播报部分-----*/

voidPlay(uinta)

{

PLAYL=1;

P1=Data[a];

delay(100);

PLAYL=0;

delay(500);

PLAYL=1;

}

 

/*---------延时--------*/

voiddelay(uinti)

{

ucharj;

for(;i>0;i--)

{

for(j=1000;j>0;j--)

;

}

}

 

4.总结

通过这次课程设计,我学到了很多,这次设计加强了我们动手、思考和解决问题的能力。

在整个设计过程中,我们通过这个课题对AT89C51/52单片机和语音芯片ISD1420有了更深刻的认识。

更加深刻了解了这两种芯片构成的由编程控制的语言报数计数器小系统的工作原理。

由于课本上的知识面广,平时课间的学习并不能很好的理解和运用各个元件的功能,在这次课程设计过程中,我们了解了几种元件的功能,并且对于其在电路中的使用有了更多的认识。

经过一个星期的课程设计,其中的过程曲折可谓一语难尽。

在此期间,从开始时满腹盛激情到最后汗水背后的复杂心情,我很想说,设计确实很辛苦,但感觉课程设计过程很充实,任何事情都是苦中有乐的,在理论学习中,很少有机会能有实践的机会,当我看到自己辛辛苦苦所做的成果时,我的心情很激动。

大学理论课程的学习对于我们来说很重要,但只有理论知识是远远不够的,毛泽东说过“没有实践就没有发言权”,没有实践的理论是空洞的理论,我决心将今后所学的理论知识与实践相结合起来,这样才能更好的提高自己的实际动手能力。

在这次课程设计的过程中遇到了许多问题,可谓步履维艰,这毕竟第一次做的,难免会遇到过各种各样的问题,同时也在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

在此,感谢于老师的细心指导,也同样谢谢其他同学的无私帮助!

 

5.参考文献

一、89c1051/2051简述

1、AT89C1051/2051只有20只引脚,压缩了I/O端口与存储器容量,其余配置与功能不减,可方便地应用于家电产品及小型仪器仪表,是性能价格比极优的单片机。

AT89C1051/2051引脚图

AT89C1051/2051结构框图

2、AT89C2051内有两个闪烁存储器程序加密位,可以被编程或不被编程器件内有一闪烁存储器地址计数器,计数器在RST上升沿复位为000H,在XTAL1引脚上加高电平脉冲则自动加l。

宜采用以下步骤对AT89C2051编程:

加上电源后,RST及P3.2加高电平;P3.3~P3.5,P3.7加上写人数据代码模式的逻辑电平;在P1.0~P1.7上加上地址000H的数据代码;RST引脚电平升高到12V;P3.2加人一低电平脉冲,则一字节数据被编程写人。

以此类推,直到最后一个字节编程完毕。

编程完毕后,应使XTAL1降到低电平,RST也降至低电平,然后悬浮所有相关I/O引脚,关掉电源。

AT89C2051有三个特征字可读出,以识别该器件。

这种读特征字操作与读000H,00lH,002H地址单元内容操作相同,只是有关信号的逻辑电平有所不同。

二、ISD1420单片20秒高保真语音录放IC

ISD1420为美国ISD公司出品的优质单片语音录放电路,由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。

一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。

录音内容存入永久存储单元,提供零功率信息存储,这个独一无二的方法是借助于美国ISD公司的专利——直接模拟存储技术(DASTTM)实现的。

利用它,语音和音频信号被直接存储,以其原本的模拟形式进入EEPROM存储器。

直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现。

不仅语音质量优胜,而且断电语音保护。

1、特点:

◎使用方便的单片录放系统,外部元件最少

◎重现优质原声,没有常见的背景噪音

◎放音可由边沿或电平触发

◎无耗电信息存储,省掉备用电池

◎信息可保存100年,可反复录放10万次

◎无需专用编程或开发系统

◎较强的分段选址能力可处理多达160段信息

◎具有自动节电模式

◎录或放后立即进入维持状态,仅需0.5μA电流

◎单一5伏电源供电

2、电特性:

◎工作电压:

5V

◎静态电流:

典型值0.5μA,最大值2μA

◎工作电流:

典型值15mA,最大值30mA(16欧姆)

3、电路外形图引出端功能说明:

各管脚功能如下:

名称

管脚

功能

名称

管脚

功能

A0~A5

1~6

地址

AnaOut

21

模拟输出

A6、A7

9、10

地址(MSB)

AnaIn

20

模拟输入

VCCD

28

数字电路电源

AGC

19

自动增益控制

VCCA

16

模拟电路电源

Mic

17

麦克风输入

VSSD

12

数字地

MicRef

18

麦克风参考输入

VSSA

13

模拟地

24

放音,边沿触发

SP+、-

14、15

喇叭输出+、-

27

录音

XCLK

26

外接定时器(可选)

25

发光二极管接口

NC

11

空脚

23

放音,电平触发

4、操作模式:

地址输入有双重功能,根据地址中的A6,A7的电平状态决定A0~A7的功能。

如果A6,A7有一个是低电平,A0~A7输入全解释为地址位,作为起始地址用。

地址位仅作为输入端,在操作过程中不能输出内部地址信息。

根据

的下降沿信号,地址输入被锁定。

如果A6,A7同为高电平时,它们即为模式位。

使用操作模式有两点要注意:

(一)所有初始操作都是从0地址开始,0地址是1420存储空间的起始端,以后的操作可根据模式的不同,而从不同的地址开始工作。

当电路中录放音转换或进入省电状态时,地址计数器复位为0。

(二)当

变为低电平,同时A6,A7为高电平时,执行对应操作模式。

这种操作模式一直执行到下一个低电平控制输入信号出现为止,这一刻现行的地址/模式信号被取样并执行。

操作模式可以与微控制器一起使用,也可用硬件连线得到所需系统操作。

A0---信息检索(

only)

不知道每个信息的实际地址,A0可使操作者快速检索每条信息,A0每输入一个低脉冲,可使得内部地址计数器跳到下一个信息。

这种模式仅用于放音,通常与A4操作同时应用。

A1---删除

标志(

only)可使录入的分段信息成为连续的信息,用A1可删除掉每段中间信息后的

标志,仅在所有信息后留一个

标志。

当这个操作模式完成时,录入的所有信息就作为一个连续的信息放出。

地址

功能

典型应用

兼容地址

A0

信息检索

快速检索信息

A4

A1

删除

标志

在录放最后一段语音结束时给出

标志

A3,A4

A2,A5

未用

A3

循环放音

从0地址连续放音

A1

A4

连续寻址

可录放连续的多段信息

A0、A1

A3---循环重放信息(

only)可使存于存储空间始端的信息自动地连续重放。

一条信息可以完全占满存储空间,那么循环就可以从头至尾进行工作,并由始至终反复重放。

A4---连续寻址:

在正常操作中,当一个信息放出,遇到一个

标志时,地址计数器会复位,A4可防止地址计数器复位,使得信息连续不断地放出。

A2、A5---未用。

 

课程设计成绩:

项目

业务考核成绩(70%)

(百分制记分)

平时成绩(30%)

(百分制记分)

综合总成绩

(百分制记分)

注:

教师按学生实际成绩(平时成绩和业务考核成绩)登记并录入教务MIS系统,由系统自动转化为“优秀(90~100分)、良好(80~89分)、中等(70~79分)、及格(60~69分)和不及格(60分以下)”五等。

指导教师评语:

指导教师(签名):

20年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1