单片机输出被拉低给DAC怎么输出数据

用51系列单片机实现语音输出;本文是一编介绍如何通过51系列单片机来实现语音输;原理在这样的,先在电脑中用COOLEDITPRO;1.硬件;我们先按图(1)用面包板焊接好所需的线图(我就是;R1R2R4R5R6――1k;R3―――2k;C1C2―――30P;C3―――100P;C4―――10uF;Y1―――12M;U1―――89C52;U2―――DAC080
用 51 系列单片机实现语音输出
本文是一编介绍如何通过 51 系列单片机来实现语音输出的文章,相信现在大家可以轻 松地在网上,各种书本上找到如何用单片机来实现音乐及各种报警声的输出。当我在撑握 了各音乐及报警声的输出技巧后,我就一直在想,是否可以用单片机实现语音的输出?且 要如何才能实现语音的输出?后来在我查找和学习了各方面的资料后,终于找到了一种可 以使单片机实用语音输出的方法,并且是一种很简单的方法,下面我就同大家分享我的成 果。
原理在这样的,先在电脑中用 COOL EDIT PRO 2.0 来记录我的语音,记录完成后再进行一定的编辑和处理,把一些多余的声音删去(因为在这里一秒的语音数据就要占去 8k 的 空间)。然后再通过这个软件把我所要的语音信号输出转换为取样率为 8k 的数据(为文本 格式),然后再编程使单片机每间隔 1/8k 秒输出一字节的数据。这样每一次输出的 8 位数 据通过 DAC0800 数模转换,转换成相应的电流信号,然后再通过运放 LM358 转换成电压 信号来驱动扬声器来发出语音信号。下面就一步一步详细教大家如何完成这些工作。
我们先按图(1)用面包板焊接好所需的线图(我就是用面包板做的),有条件的朋友 可以自已做热转印板或请 PCB 厂家加工。只要大家的元零焊接正确且参数正确,硬件部份 是没问题的。元零的参数如下:
R1 R2 R4 R5 R6――1k
R3―――2k
C1 C2―――30P
C3―――100P
C4―――10uF
Y1―――12M
U1―――89C52
U2―――DAC0800
U3―――LM358
写入到单片机中的程式如下面所示。每个指令我做了注释,相信大家应都可在看得明的了。
******************************
dac_out equ p2
定义 p2 口为 DAC 的数据输出端口;
*****************************
程式从 100 开始
dptr,#dac0800_取 DAC 输出数据的首址到 dptr 中
清累加器 A
取 A+dptr 所指位置的数据到累加器 A 中
把刚才取出的数据送到 DAC 输出口 p2
call delay_125us
延时 125us,也即是 1/8k
dptr 指针加一
a,#255d,out_识别到了数据的结尾,不是则继续。
送完所有的语音数据后,程式运行到此
delay_125us:
延时 125us 的子程式
dac0800_table:
DAC 数据的首址
;***************************星号之间是处理好的数据
。。。。。。。。。。
。。。。。。。。。。
。。。。。。。。。。
;***************************
此 255 是数据结束标志
大家要注意的是,在程式中 db
114 之间的数据(为十进制)是我从 cool edit pro 2.0 中转出来的语音数据,而 db 255 这一行是我自已加入去的数据结束示志位,而不是数据。因为单片机的空间有限,所以我的程式的取样率定的是 8K(我觉用 8K 的取样率 语音质量也不差了),比较小(但一秒钟也有 8000 行数据),所以程式每输出一行数据要延时 125US(1/8K),如果延时时间不对,语音会变调,大家到时可以试试,很爽的。
另如果在软件 COOL EDIT PRO 2.0 中的数据取样率有所变动,在单片机的程式中的延时时间也要相映变动。取样率越大数据所占的空间就会越大,这里就是为什么我选用 AT89C52 的原因了,52 有8K 的程式空间,而一秒钟的数据也是 8K,当我取不到 一秒钟的数据时再加上几十个字节的程式空间,就刚可以放入到 52 中去了。大家可能 觉一秒钟的语音太少了,不够爽。那怎么办?有两个为法,一是选用空间更大的单片 机,另一办法是扩展外部的数据空间,外接一个 EEPROM
这样就行了。扩展多大你就看着办吧,呵呵!是不是。
3.语音数据的处理
在 PC 机中可以进行语音数据处理的工具软件实用太多了,但我试了各种软件,还是觉得 COOL EDIT PRO 2.0(大家可以在网上下载这个软件,我用的就是汉化版的) 这个工具软件用得比较顺手,所以下面我就按这个软件来价绍如何进语音数据的处理。图(2)就是这个软件的界面,不错吧!
(1)打开此软件后,点击软件左上角的“文件”菜单选择“新建“命令就可进到图(3) 所示的选项界面。
(2)进入图(3)的选项界面后,按图中所示的选项进行设定就可以了。点击“确定”按 钮后就完成了对将要采样的语音信号的格式定义,如图(4)所示就是确认后的界面。这样 下一步就可以开始记录我们需要的语音信号了。
(3)在开始录音之前,大家要做的工作就是先在电脑上插上一个话筒(大家可以在电脑市场买到,如果有条件也可以自已做一个,很简单的,找来一个驻极体话筒,焊上两根线,其中与话筒的外壳相连的是地,另一为信号输出端,再在线的另一端焊上一个立体声插头就可以了),接着确认你的话筒是否能正常工作。
(4)完成输入设备话筒的准备工作后,大家就可以开始录音了。点击图(5)中红色的录 音按钮就可以开始录音,这时你就可以对着话筒说话。这样此软件就会记录下你的语音信息了,再次点击红色的按钮你就完成了语音输入的工作,数据如图(6)所示。
接下来就你 需要对刚才录下的语音信息进行编辑处理。
(5)你需要将图(6)中的语音信号的头尾处没用的数据删掉,删掉后的数据如图(7)所示。
大家可能会觉删掉头尾的数据后怎么两图会相差那么远,其实你删除头尾的数据后软件会自动拉长,所以就会变成这样了。同时大家在处理数据时也要相应地注意一下左下角的时 间值如图(8)所示(图(8)所示的时间为 0.9 秒,数据所占空间为 7K 左右),以保证在一 秒以内,因为现在选用的是有 8K 内存空间的 89C52,所以数据加程式不能大于 8K(用 8000 的采样率,一秒就占用 8K 的空间),如果大家用更大空间的单片机,记录的数据就可以相 应更大一些。大家就自已计算了。
(6)完成数据的处理工作后,就可以输出此数据了。点击左上角的“文件”菜单选择“保存为”的命令,就会出现图(9)所示的对话框,大家按图所示那样将刚才处理好的数据保存为文本格式(*.TXT)就完成了本步骤的工作。完成后的数据如图(10)所示。不知大家 是否有注意到图中的数据都没有大于 255 的(当然啦 8 位的取样采一定不会大于 255 的)。
三亿文库包含各类专业文献、高等教育、各类资格考试、幼儿教育、小学教育、专业论文、生活休闲娱乐、用51系列单片机实现语音输出_图文59等内容。 
 51单片机-基于红外检测的语音体温计的设计_电子/电路_工程科技_专业资料。毕业...(利用它的高速脉冲输出功能可实现 11~16 位 PWM)――可用来再实现 8 路 D...  基于51单片机控制的语音报时万年历_电子/电路_工程科技_专业资料。单片机课实验 日 于 山东大学(威海)基于51 单片机控制的语音报时万年历 ---20/11/...  信号输出功 能, 可与国内各种型号的煤矿善传统呆板的录播式语音播报器,实现真正...(论文) 结论本次使用 51 系列单片机实现了家用温湿度测量播报系统的设计过程, ...  高速行驶的汽车与路面突然出现障碍物为 摘要】 摘要 基点进行研究与开发, 因此在本次中主要采用以 AT89C52 单片机为核 心、以小车为载体来实现汽车智能语音避障...  51单片机语音电梯控制系统_信息与通信_工程科技_专业资料。单片机系统基于...本设计介绍了用 AT89S52 单片机实现的基于 GSM 短信模块的家庭防盗报警系统。 ...  51单片机混合编程图文教程_信息与通信_工程科技_专业资料。51单片机C语言中嵌入汇编...才可以实现混合编程,在 Keil 的安装目录下 搜索一个文件,名叫 C51S.LIB 找到...  基于51单片机的语音导盲系统的设计_信息与通信_工程科技_专业资料。基于 51 单片机的语音导盲系统的设计 摘要:本文介绍了一款基于 51 单片机为核心的语音导盲系统的设...  第一节 总体方案系统以 51 系列单片机为核心控制器...语音输出电路一、语音输出电路 ISD4003 语音芯片与...语音芯片和单片机通信 SPI 串行口实现的,单片机对 ...  通过对数字时钟的硬件电路以及对单片机的软件控制,使得设计的电子时 钟实现整点报时、快速校时等功能。因而基于 51 单片机的数字语音电子时钟具有硬 件结构简单,所...扫二维码下载作业帮
2亿+学生的选择
下载作业帮安装包
扫二维码下载作业帮
2亿+学生的选择
单片机驱动温度传感器并通过DA转换器输出模拟温度信号,现在温度单片机,DA转换器没有任何数据输出温度传感器是DS18B20、单片机的型号是AT89C51、D/A转换器的型号是DAC0832现在的情况是从温度传感器中依次取得低位温度数据和高位温度数据,因为DA转换器是8位的,所以我将低位的温度数据右移4位,高位数据左移4位(低位温度数据的低4位是小数位,可以舍去.高位温度数据的高4位为符号位,也可以舍去)最后将两组移位后的数据安位或,组成一组8位的数据,这样就可以输出到8位DA转换器中进行转换了现在温度传感器的温度读取之后,用#define DAC0832 XBYTE [0x7FFF]使P0口对DAC0832输出数据,P2.7应该为底电平,与CS和XFER’连接,因为P2口定义为0x7F .但是目前的问题是P2口都为高点平,P0口没有数据输出,示波器上也没有任何数值.P3.6口与DAC0832的WR1’和WR2’相连,P3.6应为低电平,但是却是高点平,我不知道怎么设置.代码文件和PROTUSE仿真程序我放到网盘里了,这时网盘连接:/s/1dDkne2d/s/1i3FTbbn
猫九尾S0x1J
扫二维码下载作业帮
2亿+学生的选择
P0口为什么是灰的呢?P0口应该接上拉电阻才行,你的P0口完全没反应,当然不能转换了.
我试过,上拉之后也没用
额。。。我的程序可以仿真出来。。。用了一个滑动变阻来模拟变化量,LCD上也有相应的变化
你吧我的那个仿真下载下来试一下就知道了,真的不行
怎么下载啊,这是我 的仿真,没用DAC0832,其他程序用了,也可以,你先确定你的硬件有没有问题。看你的图P0口没有电平转换啊,最大问题可能出哪了,吧外接电路都接好,上拉电阻也接好,阻值选择正确。
恩,确实是我的程序有问题,我觉得程序的问题是温度值根本没有取出来,你能让我看一下你温度传感器那块的程序和 怎么定义 P0口的程序么,我觉得还是你这个答案比较靠谱,如果成功了分就给你!
连图带程序,有什么问题可以Q我,
为您推荐:
扫描下载二维码21ic官方微信-->
后使用快捷导航没有帐号?
请完成以下验证码
查看: 4704|回复: 8
单片机DAC是否分电流型和电压型输出
&&未结帖(1)
主题帖子积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
主题帖子积分
专家等级:结帖率:64%
主题帖子积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
本帖最后由 logokfu 于
21:23 编辑
现在的单片机自带DAC模块的,这个DAC是电压型输出还是电流型输出呢。
经过我测试发现有的单片机管脚需要串一个电阻接地,这样可以在电阻的上端测得DAC波形。我认为这个是电流型输出的。
还有的单片机直接管脚浮空就可以测得DAC输出,我认为是电压型输出的。比如STM32单片机就是这个情况。
主题帖子积分
资深工程师, 积分 15674, 距离下一级还需 4326 积分
资深工程师, 积分 15674, 距离下一级还需 4326 积分
主题帖子积分
专家等级:结帖率:96%
主题帖子积分
资深工程师, 积分 15674, 距离下一级还需 4326 积分
资深工程师, 积分 15674, 距离下一级还需 4326 积分
单片机的好像都是电压型输出,
醒来才发现,一切都是一场梦
主题帖子积分
高级技术员, 积分 791, 距离下一级还需 209 积分
高级技术员, 积分 791, 距离下一级还需 209 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级技术员, 积分 791, 距离下一级还需 209 积分
高级技术员, 积分 791, 距离下一级还需 209 积分
主题帖子积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
主题帖子积分
专家等级:结帖率:64%
主题帖子积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
whq 发表于
可否列出具体的品牌甚至型号,我用过两款带DAC的单片机,发现是不同的。
主题帖子积分
高级技术员, 积分 791, 距离下一级还需 209 积分
高级技术员, 积分 791, 距离下一级还需 209 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级技术员, 积分 791, 距离下一级还需 209 积分
高级技术员, 积分 791, 距离下一级还需 209 积分
logokfu 发表于
可否列出具体的品牌甚至型号,我用过两款带DAC的单片机,发现是不同的。 ...
新华龙的单片机
主题帖子积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
主题帖子积分
专家等级:结帖率:64%
主题帖子积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
whq 发表于
新华龙的单片机
新华龙是什么了类型的
主题帖子积分
助理工程师, 积分 1182, 距离下一级还需 818 积分
助理工程师, 积分 1182, 距离下一级还需 818 积分
主题帖子积分
专家等级:结帖率:83%
主题帖子积分
助理工程师, 积分 1182, 距离下一级还需 818 积分
助理工程师, 积分 1182, 距离下一级还需 818 积分
本帖最后由 zwp0822 于
12:11 编辑
logokfu 发表于
新华龙是什么了类型的
Silicon 在国内的代理
1.01的365次方=37.8
0.99的365次方=0.03
主题帖子积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
主题帖子积分
专家等级:结帖率:64%
主题帖子积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
技术达人, 积分 8548, 距离下一级还需 1452 积分
zwp0822 发表于
Silicon 在国内的代理
我是说新华龙的DAC是属于什么类型输出的
主题帖子积分
资深技术员, 积分 318, 距离下一级还需 182 积分
资深技术员, 积分 318, 距离下一级还需 182 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
资深技术员, 积分 318, 距离下一级还需 182 积分
资深技术员, 积分 318, 距离下一级还需 182 积分
logokfu 发表于
我是说新华龙的DAC是属于什么类型输出的
精英会员奖章
等级类勋章
奔腾之江水
发帖类勋章
时间类勋章
技术奇才奖章
人才类勋章
技术领袖奖章
人才类勋章
坚毅之洋流
发帖类勋章
核心会员奖章
等级类勋章
时间类勋章
甘甜之泉水
发帖类勋章
技术新星奖章
人才类勋章
欢快之小溪
发帖类勋章
时间类勋章
社区建设奖章
等级类勋章
时间类勋章
热门推荐 /1&>&DAC0832与单片机的连接图
DAC0832与单片机的连接图
上传大小:1.19MB
DAC0832芯片及其与单片机接口,DAC0832是使用非常普遍的8位D/A转换器,由于其片内有输入数据寄存器,故可以直接与单片机接口。DAC0832以电流形式输出,当需要转换为电压输出时,可外接运算放大器。属于该系列的芯片还有DAC0830、DAC0831,它们可以相互代换
综合评分:4.2(37位用户评分)
所需积分/C币:
下载个数:185
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有7条
值得参考,亲测可用
非常实用的连接图,参考用下很不错
很实用,值得借鉴
很实在,谢谢分享
嗯,还是很不错的。
很好用。。很实在。。。。谢谢分享
还不错,值得参考
审核通过送C币
常用视频转换IC资料
创建者:tel
Moubus学习例程
创建者:tox33
Altium Designer Release
创建者:chengdong1314
上传者其他资源上传者专辑
TLC27L2中文 技术资料
DAC0832与单片机的教程和程序
开发技术热门标签
VIP会员动态
下载频道积分规则调整V1710.18
CSDN下载频道积分调整公告V1710.17
开通VIP,海量IT资源任性下载
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&VIP年卡&4000万程序员的必选
为了良好体验,不建议使用迅雷下载
DAC0832与单片机的连接图
会员到期时间:
剩余下载个数:
剩余C币:200
剩余积分:6726
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
(仅够下载10个资源)
全站1200个资源免积分下载
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
全站1200个资源免积分下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
全站1200个资源免积分下载
为了良好体验,不建议使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
DAC0832与单片机的连接图

我要回帖

更多关于 单片机i o口输出电流 的文章

 

随机推荐