ZKX's LAB

单片机波形发生器程序及仿真图 51单片机波形发生器实验报告

2021-03-06知识5

51单片机和LTC1456做一个波形发生器,频率上限?

51单片机的锯齿波形发生器编程的思想 很简单啊预设一个变量,以一定的步进值累加,到达最大值后清零。每次累加的结果依次传输只DAC,输出就是个锯齿波了。幅度就是变量的最大值决定的。频率则被步进值和累加频率所影响。比如说,用定时器定1ms累加一次,步进为1,变量初值为0最大值为255,那么255ms就是一个周期,频率约为4HZ(比较慢了)要是幅度可调频率不变,如幅度调为200,仍然要加255次,那么就只有步进200/255了,单片机办不到,显然只有改变累加间隔时间,改为255/200(ms)累加一次。其中的关系可以自己总结一下,以一个函数明确累加间隔、步进、幅度、频率的关系,修改相应的参数,就可以实现频率、幅度可调的锯齿波发生器了。当然,频率会受到单片机工作频率的限制。基本上51单片机做8位分辨率的波形,一般只能到1K的频率。再快,定时器中断就来不及了。

想用51单片机做一个波形发生器,频率幅度可调,最高频率500khz,用C语言编写。 http://www.eeskill.com/file/id/19068。追问 频率能达到500K吗?追答 这个就不知道了,你先看看,希望对你有用。追问追答 0 赞赏 财富值赞赏答主 已获得0次赞赏 2 10财富。

单片机波形发生器程序及仿真图 51单片机波形发生器实验报告

用51单片机制作简易的波形发生器时,想要控制正弦波和三角波的幅值求汇编语言程序 D_APORT EQU 8000H;0832 口地址ORG 0000HAJMP STARTORG 0040HSTART:MOV SP,#60HMOVA,#00HMOV DPTR,#4000H;锯齿波缓冲区首址NEXT:MOVX@DPTR,A填锯齿波数据INC DPTRINC AJZ NEXT1写完256个数据后退出AJMP NEXTNEXT1:MOV A,#00HMOVR0,#00HMOV DPTR,#4100H;三角波缓冲区首址NEXT2:MOVX@DPTR,A填三角波数据(上升部分)INC DPTRADD A,#02HINC R0CJNER0,#80H,NEXT2SUBB A,#02HCLR CNEXT3:MOVXDPTR,A;填三角波数据(下升部分)INC DPTRSUBB A,#02HINCR0CJNE R0,#00H,NEXT3;写完256个数据后退出SINWAVE-MOV R0,#10HMOV R1,#00HMOVDPTR,#STEP;步长的浮点ASCII起始地址READ:MOV A,R1MOVCA,@A+DPTRMOV@R0,AINC R1INC R0CJNER1,#0AH,READ;将程序区的数据移到内部RAM区MOV R0,#10H;十进制浮点数的首址MOVR1,#30H;三字节浮点数的首址(步长)LCALL%FDTB3带符号十进制数ASCII码浮点数转换成三字节浮点数MOV R2,#00HMOV R3,#80H电压的最大值MOV R0,#18H;三字节浮点数的首址(最大电压)LCALL%WTF31双字节无符号数转换成三字节浮点数MOV R3,#00H;STEP LENGTHMOVDPTR,#4200H;正弦波数据表首址CALCSIN:PUSH 3PUSH DPH。

急求程序:基于 51 单片机的波形发生器 课设水平,直接用51发生方波,三角和正弦波就行了,这种是很简单的,一下一堆源程序,仿真图,原理图都有。

如何用51单片机设计出一个任意波形信号发生器

#51单片机波形发生器实验报告#51单片机波形发生器

随机阅读

qrcode
访问手机版