4位单片机

毕业到现在,一直从事单片机以及佑华的语音IC已经快7年了,还未换过工作呢!一直想写点什么,一是有点忙,二是经验不够,三是文采不好吧,直至今日,才敢将此文灌于网上,拍之以砖,见笑了!谓之七年之痒.
64,32,16,8位的MCU,大家都见多用多了,但4位的CPU,想必是少见少用了吧,
在此,只是从开发者的角度去讨论语音IC的开发情况等,我想应该还是有人对这有感兴趣的,价钱及IC的优劣势不作讨论。
//------------------------------------------------------------------------------------------------------------------------------------
铺述:
佑华最经典的语音IC应该是AM4E系列的IC了,4位的MCU+DAC , 1通道语音,双通道melody, 外接一个振荡电阻,便可实现系统的最小化。
(下面所说的都是以此系列IC为例说明)
//------------------------------------------------------------------------------------------------------------------------------------
IC硬件:
刚工作不久时,一位长者告诉我,任何单片机,从4位到32位的,不论哪个牌子的,我们只需要知道三样东西,便可以进行开发了,一是指令,二是寄存器,三是IO。而我根据工作经验总结后,只需要两样就可以了,一是寄存器,二是I O,因为现在基本上都有对应的C编译器,所以,指令这块,是可以省了的!况且,用汇编是件痛苦又无耐的事(佑华本身也有8位的单片机,工作上有时也是需要汇编来开发的,因为它没C。),这些说法,通俗地说,就像武功的内功和外功一样。呵呵!
指令介绍:它有汇编语言,但比较少用。也有它自家开发的语言,类似C 语言的语言,我们一般把它叫做EzCode, 意思是Esay Code,
也就是容易编写代码的意思吧,95%都是可以使用EzCode来开发。
比如有一首歌abc.wav,16KHz采样的,则程序播放它是:playv(abc,16k),声音就出来了,
两寄存器相加r0=r1+r2,
读PRA口r0=PRA
写0xf到PRB口PRB=0xf
判断变量r0==5 ? TureA:FailB
TureA: r0=4,playv(abc, 16k)
FailB: r0=3,playv(edf, 16k)
寄存器介绍:特殊寄存器都是封包起来的了,基本上不需要操作特殊寄存
器,普通拿来用的内存寄存器RAM,本来是有100多RAM的,
但系统要用40多个,留给用户一般至少都有50个或以上.
IO介绍:有4~24个IO,递增为4,随母体不同而不同,需要选定是输入还是输出。4E系列没有AD,
ROM:ROM一般很大,因为它需要和语音内容一起编译并烧录入去IC,比如烧录一个84秒的语音IC,差不多需要半分钟。
//------------------------------------------------------------------------------------------------------------------------------------
IC实物:
IC有以下几种封装:
FLASH DB:见下图,此IC可重复烧写,因为它后面带有一个FLASH芯片,我一般是用这种IC来烧录程序进行测试的
(原文件名:flash DB.jpg)
引用图片
OTP DB:一次性烧录,这种封装方便接线,只需要接上电源,按键,喇叭就可以出声音了。一般是出样DEMO给客户的。
(原文件名:otp db.jpg)
引用图片
OTP DIP:一次性烧录,像普通的SKDIP-28封装或者DIP18那样的封装,需要将所有的VDD,GND连起来,等。
(原文件名:otp dip.jpg)
引用图片
OTP SOP:一次性烧录,贴片,同上。
(原文件名:otp sop.jpg)
引用图片
IC烧录器:
编写好的程序,经过编译后,生成二进制烧录文件,用下面两种烧录器分别烧录FLASH DB 和OTP
FLASH WRTER:
(原文件名:flashwriter.jpg)
引用图片
OTP WRITER:
(原文件名:otp writer.jpg)
引用图片
/
/------------------------------------------------------------------------------------------------------------------------------------  EzCode开发环境:
在业界来说,佑华Ezcode确实是易于上手和开发它自家产品的IDE,它的方便和强大功能比较难以用三言两语来表示,只说下重点的吧!
1,它的开发环境语言类似于C语言,很方便,.
2,按键扫描程序已经内置于Ezcode中,不需要自己写扫描程序,只需写按键功能,这有点像VC++编写的上位机应该程序. 只需定义某个按键Labe
l, 再编
写按键功能就OK了!即使用8位机,有时写这些按键程序都挺麻烦的,比如A可以打B,B不能打断A,C可以重触发,D需要按住则播放,松手则停,B可以单片机程序烧录
关C和D,别说写了!听起来就有点头晕吧!
3,一个前景两个背景,感觉就像可以支持三个任务在跑一样,这IDE将4位的MCU发挥到了极致。
4,Ezcode已经内置IR红外线代码,I2C等子程序接口以方便调用
先简单试范个功能程序
已知:现有A,B两键,声音为一首歌,名为song,
要求:A键功能为ON/OFF,也即按一下唱,再按一下停。
B键功能为EUI,也叫声控,触发一次唱完,唱完后才能再次触发。
输出脚PRB3为3Hz闪,PRB2~PRB0为顺闪。
解:
1,新建项目,选对应母体(秒数和IO),设置输入输出引脚,Include音源“s ong”
2,添加输入输出Lable (x表示为空)

本文发布于:2024-09-21 21:59:32,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/353731.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:需要   程序   开发   语音
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议