Ⅰ 用单片机做信号发生器,输出频率范围达到MHz,怎么解决
如果是用12T的单片机,用12M的晶振,那单片机的指令周期就是1uS,输出的最高频率需要两个周期(2uS),即0.5MHz。
如果采用两倍晶振(24M),最高频率可以达到1Mhz。但DAC0832的电流稳定时间是1uS。因此要达到MHz。用0832和51单片机不可能实现。
建议采更高速的单片机(1T)或CPLD来驱动,建议选用高速任意信号发生卡,可以达到4G。
Ⅱ 单片机C语言版信号发生器
单片机信号发生器,一般是通过控制单片机的IO的高低电平来实现的,具体为
1,可以通过先配置一个管脚为输出,然后给这个管脚写0,输出就为低电平,然后写1,这个管脚就输出为高电平。如果你的单片机是3.3v供电的话,那么高电平一般为3.3V,低电平一般为0v。
2,如果要产生一个方波的话,需要先输出1,然后延迟一段时间,然后再输出0,然后再延迟一段时间,然后输出1.... 要如此反复的话,可以用while(1), 然后在while(1)里面写入你的置高,延迟,置低的代码,具体伪代码可以为
配置对应输出管脚为输出; //因为管脚可以配置为输出和输入,所以需要先配置为输出
while(1)
{
对对应输出管脚置高;
sleep(半个周期的时间);
对对应输出管脚置低;
sleep(半个周期的时间);
}
3, 如果你牵涉到高级应用的话,比如要输出一个正弦波,那么需要外加信号产生芯片,比如DDS芯片。
4,如果还需要更加复杂的信号,任意波形的,可以用一个片内DA按照你的意思输出对应的电平,或者片外DA来输出。
Ⅲ 用51单片机制作信号发生器
1)在数码管或 LCD 上显示频率,应该是容易的事,因为要显示的频率是已知的,直接调用显示例程即可;
2)输出方波信号是比较简单的,就是定时输出高电平及低电平即可构成一个周期的方波信号;
因为信号周期已知,很方便计算得到延时值,因此,延时值可以通过调用延时例程获得,也可以通过定时器的中断运行来获得;
3)键盘状态判断,这个都有例程可复制修改来实现;
Ⅳ 怎样借助单片机做一个信号发生器,可以产生任意波形
这个需要da转换芯片,将要产生的波形数字化,存入数组中,由单片机按顺序依次送往da芯片进行转换,例如产生正弦波,频率50hz,可以用100个点来描述,每隔200us送1个数据,100个数据花20ms.数字化点越多,波形越完美,但也与你的da芯片精度有关,8位da只能输入256个数字量,很难得到很好的波形
Ⅳ 怎么用单片机做一个信号发生器
如果要求频率不是很高,可以采用PWM方式,优点是无需另外加DA,且输出分辨率可灵活调整。考虑到单片机的运算能力不强,你可以用EXCEL编制一个正弦信号在一个周期内的等间隔幅值表,比如说,将一个周期的正弦信号分为64个点,信号的峰值为1000,初始相位为0°,那么,这个表格的第一个点是0,第n点为1000*sin(2πn/64),用EXCEL将64个点的幅值计算完毕,按照需要的格式编制为编程语言能够接受的表格。利用单片机的一个定时器,定时器的溢出值设置为1000,溢出时,某个IO口输出低电平,再用一个寄存器存储输出点序号,序号为n时,根据输出点序号通过查表获取1000*sin(2πn/64)的数值,将定时器的计数值与1000*sin(2πn/64)比较,相等时,IO口输出高电平。不断循环执行上述程序,IO将输出占空比与正弦信号幅值成正比的方波信号,这就是常说的正弦调制PWM信号。设计一个增益可调的有源低通滤波器,PWM信号经过低通滤波器后,输出就是正弦波,调节低通滤波器的增益,即可改变正弦信号的幅值。当然,在设置PWM占空比时,将查表结果先乘以一个设定数值(一般是0~1的小数),也可以调节输出幅值。为了简化运算,可以是先乘以一个整数M,再除以N(N为128、256等2的幂的数值),M取值范围为0~N,因为这种除法可通过移位进行,程序简单,且运算速度快。
Ⅵ 单片机控制的信号发生器的原理
数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。89C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将89C51再配置键盘及其接口、显示器及其接口、数模转换及波形输出、指示灯及其接口等四部分,即可构成所需的波形发生器
Ⅶ 怎样用单片机做信号发生器
产生波可以用程序来实现...然后用DAC把数字变成模拟信号...最后加个放大器输出波型...频率就用中断去实现吧...
做个大概就差不多这样...不难的...但要精确要花大力气的...比如在DAC的位数上...还有单片机的选择上...呵呵!!!
祝你成功!!
Ⅷ 51单片机做信号发生器,怎样才能提高频率
罗辑混乱,定时器只定时0.1us,而向DAC传送数据要花时间远大于0.1us.
应该定时时间大于DAC(sin[i])的时间。
理论上可产生几百HZ的正弦波。
一次转换需12.5us,假设20US更新一次,把一个正弦波分成256份。
那么产生的正弦波频率可达195HZ。
Ⅸ 51单片机信号发生器原理
基于单片机的的信号发生器大概有两种形式,1、全部波形信号由单片机软件产生,再经由D/A转换输出;
2、单片机+专用信号发生系芯片,这种方式单片机仅扮演主控角色,信号由芯片硬件产生;
Ⅹ 51单片机简易信号发生器
神魔意思?我听不懂