看看这个,单片机用的是ADUC848,AD转换输出正弦波,和PWM原理类似。
2、源程序清单
DACCONEQU0xfD;定义模数转换控制器
DACHEQU0xfc;定义模数转换数据寄存器高8位
DACLEQU0xfb;定义模数转换数据寄存器低8位
ORG0000H
LJMPMAIN
ORG0200H
MAIN:MOVDACCON,#0fH;DACoperation
CLRA;
MOVDACH,A;模数转换高八位清零
PRG3:MOVR0,#09H;正弦波
MOVR4,#40H
LP11:MOVA,R0
MOVCA,@A+PC
MOVDACL,A;2
ACALLDELAY;2
INCR0;1
DJNZR4,LP11;2
SJMPPRG3;2
DATA0:
DB80H,8CH,98H,0A5H,0B0H,0BCH,0C7H,0D1H,0DAH,0E2H,0EAH
DB0F0H,0F6H,0FAH,0FDH,0FFH,0FFH,0FDH,0FAH,0F6H,0F0H
DB0EAH,0E2H,0DAH,0D1H,0C7H,0BCH,0B0H,0A5H,98H,8CH
DB80H,7FH,73H,67H,5AH,4FH,43H,38H,2EH,25H,1DH,15H
DB0FH,09H,05H,02H,00H,00H,02H,05H,09H,0FH,15H
DB1DH,25H,2EH,38H,43H,4FH,5AH,67H,73H,7FH
RET
DELAY:MOVR6,#10H
MOVR7,#0A1H
DELAYLOOP:;延时程序
DJNZR6,DELAYLOOP
DJNZR7,DELAYLOOP
RET
四、实验板插针配置:
无需插针配置,注意DAC是从CONDACOUT1端子输出,可用示波器观察DAC输出波形。若产生失真情况,请检查开发板DA输出端LM358运算放大器的放大倍数,适当更改所查函数表的范围。
五、思考题
1、改变程序,使能添加输出锯齿波;
2、改变程序,使输出添加三角波;
3、改变程序,使输出添加方波;
4、改变程序,并制作一个简单的函数发生器
㈡ c++编程用什么软件好
c++编程用以下几个软件好:
1、Ccache:Ccache是为了减轻一些编译负担,它是一个缓存,可以保存编译代码以便重用。不支持编译器的某些命令行命令,当Ccache无法知晓下一步该做什么时,它将返回原始编译器。
2、TCC:“T”代表“小”,“CC”代表“C编译器”。简单的C应用程序在一分钟之内就可以编译并运行,足够快以致可以使用C应用程序作为脚本。
3、Cpi:一个超级C++编译器,允许适度的C++程序像脚本一样执行。
4、Kcgi:对于习惯在Web应用程序中使用C编程语言,并对速度有所要求的程序员,可以考虑使用kcgi库。它提供了一组用于接收HTTP请求,解析,返回标头和正文以及获取和设置Cookie的原语。
5、Pycparser:Python的解释器是用C编写的,可以接受C扩展。为此,一些项目可以弥合两者之间的差距,Pycparser就是其中之一,但不能运行C本身。相反,它提供了C语言解析器的纯Python实现。感兴趣的话点击此处,免费学习一下
想了解更多有关c++的相关信息,推荐咨询达内教育。达内教育已从事19年IT技术培训,累计培养100万学员,并且独创TTS8.0教学系统,1v1督学,跟踪式学习,有疑问随时沟通。该机构26大课程体系紧跟企业需求,企业级项目,课程穿插大厂真实项目讲解,对标企业人才标准,制定专业学习计划,囊括主流热点技术,助力学员更好的学习。