A. 我在做毕业设计 需要将单片机采集来的语音数据压缩 想用ADPCM 但是单片机采集的是12位ADC
关键不是ADC的位数,12位已不错了,人家过去有8位的声卡,用单片机采集音频的弱点在采集速度,采集频率能否达到44.1KHZ,这么高的频率,每秒产生的数据量是很大的,内存肯定不够用,要保存在SD卡或FLASH上,也要花费时间,32位ARM也很吃力,因此不宜直接采用单片机进行音频采集,需用专用录音或播放芯片才行,如原子钟的单片机开发板采用WM8978实现录放音功能的
B. 单片机msc-51中编程实现两个一字节压缩型BCD码的减法
编程实现两个一字节压缩型BCD码的减法,
设被减数地址在R0中,减数地址在R1中,差仍存于被减数地址单元中。
注意是单片机中啊。
------------------
一字节压缩的 BCD 码相减。
如:22-55 =-33。
注意:-33 的 BCD 补码是 67H。
MCS-51 汇编语言程序如下:
MOVR2,#22H;被减数
MOVR3,#55H;减数
CLRC
MOVA,R2
SUBB A,R3;先减一次团并明,取得正负号
MOVF0,C;暂时保存
;---------下面正式相减
MOVA,#9AH
SUBB A,R3;求减数的 BCD 补码=45H
ADDA,R2;加上被减数 22H,得 67H
DA A ;十进塌告制调整,还是 67H
MOVR4,A;保存差
MOVC,F0;用 Cy 当做“蔽搜符号标志位”
--------------
如果运算数据,是:55-22 = 33,
执行本程序,将有:C = 0,R4 = 33。
C. 用单片机实现声音信号的MP3格式压缩
51单片机压缩mp3,性能到不到,32b位的也要跑几十兆,才能压缩。
我指的是实时压缩。
如果采样率是8k,效果很差。16k采样才可以。
D. 请问用单片机能对摄像头实时采集的视频信号进行信号压缩吗
可以的啊,好一点的单片机可以实现这样的功能,飞思卡尔的就可以了,用CCD摄像头采集图像,然后得出一个数组,然后再发送出去,飞思卡尔的单片机的话你可以了解一下关于飞思卡尔智能车比赛摄像头组的一些东西,他那个也是用摄像头采集数据的
E. 请教,单片机RAM不够用该如何解决
1、程序优化:
①、将固定的代码数组等,存到ROM。(51单片机用 code表示存到 ROM)
②、压缩多余缓冲区,如数组长度根据需求来定。不要直接a[100]一棍子打死。
③、合理分配变量数据类型,如计数值在0-100内的数,就没必要用 uint 了,使用 uchar 就够了。只要两个状态的标志位,用 bit 就行了,不要直接 uchar。
④、可以用逻辑运算的,就不要采用算术运算。如 a/8,可以写成 a>>3,当然 a不是浮点型数据才行。而a*2则是 a<<1;而a%4,可以写成 a&0x03;
……
……
……
2、扩大RAM
①、买个同系列高RAM区间的单片机。
②、买个同系列高RAM区间的单片机。
③、买个同系列高RAM区间的单片机。