南邮基于8255的8LED显示语音播放机设计.doc

上传人:龙*** 文档编号:1023832 上传时间:2018-11-19 格式:DOC 页数:12 大小:860KB
下载 相关 举报
南邮基于8255的8LED显示语音播放机设计.doc_第1页
第1页 / 共12页
南邮基于8255的8LED显示语音播放机设计.doc_第2页
第2页 / 共12页
南邮基于8255的8LED显示语音播放机设计.doc_第3页
第3页 / 共12页
南邮基于8255的8LED显示语音播放机设计.doc_第4页
第4页 / 共12页
南邮基于8255的8LED显示语音播放机设计.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、设计名称:基于 8255 的 8显示语音播放机设计一、设计要求实验中需要的信源,可以通过处理一段 WAV 文件,将其变为一段数据表进行实验。基本要求:1 将处理过的数据通过单片机进行存储(信号固化) 。2 用 D/A 转换器回放存储的信号。3 通过模拟示波器显示回放的波形。4 在数码管或 LCD 上显示回放波形的参数(最大/最小幅值,波形播放时间) 。发挥部分:1 在实验允许的条件下,采用更灵活的存放方法。2 多段信源管理和播放。动态显示格式:自定二、设计原理声音文件已经放在程序里面,一开始运行,首先将程序里面的声音数据转存储到 SRAM 里,也就是 6264 里,显示的话,可以显示出播放时间

2、,和数据的最大值和最小值,最大值和最小值是自动进行切换的,1 秒为间隔,从 SRAM 读取数据,进行 DA 转换就可以看出波形了。三、设计过程流程图如下:开始显示分钟显示 10ms显示秒钟显示“:”显示“:”结束显示流程图开始系统初始化键盘扫描显示时间储存数据读取数据A/D 转换Flag1 = = 1YNFlag2 = = 1D/A 转换YN开始初始化有键按下?Key1 按下?Flag1=1YKEY1 按下?延时消抖Flag2=1开始 D/A结束NNNYY开始 A/D时间清零时间清零系统主流程图 键盘流程图对应的 C 语言程序如下:/*基于 8255 的 8LED 显示语音播放机设计程序*/#

3、include#include/*宏定义*/#define uint unsigned int#define uchar unsigned char/*芯片端口地址定义*/#define COM8255 XBYTE0X7FFF /8255 的命令口#define PA8255 XBYTE0X1FFF /8255 的 PA#define PB8255 XBYTE0X3FFF /8255 的 PB#define PC8255 XBYTE0X5FFF /8255 的 PC#define DAC0832 XBYTE0XEFFF /DAC0832 口uchar dis_buf=0xc0,0x40,0xc

4、0,0xff,0xc0,0x40,0xc0,0xc0; /数码管显示缓存,格式为 MM-NN-SSuchar code du_code=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90, ; /8 段共阳极数码管显示码值 uchar code bit_code=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/数码管显示的位值 /*系统引脚定义*/sbit key1=P30; /key1sbit key2=P31; /key2sbit CON=P33; /74HC573 的锁存端/*定义系统变量*/uchar n

5、um=0,second=0; /定义时间变量bit flag1=0,flag2=0; /定义状态标志位uchar count;uchar max=0,min=0; /定义幅值的最大值和最小值uint m_x=0xe000;uchar code music=0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66, 0x18,0x03,0x17,0x02, 0x15,0x02, 0x16,0x01, 0x15,0x02, 0x10,0x02,0x15,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x02,0x17,0x03,

6、 0x18,0x03, 0x19,0x02, 0x15,0x02, 0x18,0x66,0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x00,0x17,0x01, 0x19,0x02, 0x1B,0x02, 0x1B,0x70, 0x1A,0x03,0x1A,0x01, 0x19,0x02, 0x19,0x03, 0x1A,0x03, 0x1B,0x02,0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x18,0x66, 0x18,0x03,0x19,0x02, 0x1A,0x02, 0x19,0x0C, 0x18,0x

7、0D, 0x17,0x03,0x16,0x01, 0x11,0x02, 0x11,0x03, 0x10,0x03, 0x0F,0x0C,0x10,0x02, 0x15,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66,0x19,0x03, 0x1A,0x01, 0x1B,0x02, 0x1B,0x03, 0x1B,0x03,0x1B,0x0C, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x1F,0x01,0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01, 0x10,0x02,0x10,0x03, 0x10,

8、0x03, 0x1A,0x0C, 0x18,0x0D, 0x17,0x03,0x16,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x70,0x18,0x03, 0x17,0x02, 0x15,0x03, 0x15,0x03, 0x16,0x66,0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x02,0x10,0x01, 0x11,0x01, 0x11,0x66, 0x10,0x03, 0x0F,0x0C,0x1A,0x02, 0x19,0x02, 0x16,0x03, 0x16,0x03, 0x

9、18,0x66,0x18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03, 0x19,0x00,0x00,0x00; /两只蝴蝶 /*延时子程序*/void delayms(uchar x) /ms 延时函数uchar y;for(;x0;x-)for(y=110;y0;y-) ;/*键盘扫描程序*/void keyscan()if(key1=0) /判断 key1 是否被按下delayms(20); /延时消抖if(key1=0) /判断 key2 是否被按下if(flag1=1)if(m_xmax)max=temp; /提取幅值最大值if(tempmin)min

10、=temp; /提取幅值最小值keyscan();trans_data();/*定时器 0 中断程序*/void timer0() interrupt 1TH0=(65536-10000)/256;TL0=(65536-10000)%256; /给定时器 0 装初值,定义时间精度为 0.01snum+; /计数器加 1if(num=100) /判断 1s 时间是否到num=0; /计数器清零second+; /秒加 1if(second%2)flag2=1;elseflag2=0;if(second=60) /判断 1 分钟是否到second=0; /秒清零void timer1() interrupt 3TH1=(65536-500)/256;TL1=(65536-500)%256; /给 T1 装初值CON=1;PB8255=bit_codecount; /显示位值PA8255=dis_bufcount; /显示码值CON=0;count+; /计数器加 1if(count=8) /判断计数器的值是否超过范围count=0;四、设计草图各部分电路图:整体电路图:五、设计结果Proteus7.4 中运行结果:示波器的显示:开始后显示的最小值:开始后显示的最大值:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 文艺体娱

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。