资源描述:
《单片机课程设计--多波形发生器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、单片机课程设计题目:多波形发生器系别:电子工程学院专业:07通信1班姓名:李劲锋学号:200741302133指导老师:胡必武东莞理工学院2010年7月1日题D多波形发生器一、基本功能:1、可产生多种波形,如正弦波、三角波、锯齿波、方波、梯形波等;2、各种波形可通过按键选择;二、扩展功能:1、可调节信号的频率、占空比等参数;2、其他自行增加的功能。参考示例一、原理说明:D/A转换器的功能主要是将输入的数字量转换成模拟量输出,在语音合成等方面得到了广泛的应用。本实验中采用的转换器为DAC0832,该芯片为电流输出型8位D/A转换器,输入设有两级缓冲锁存器,因此可同时输出多路模拟
2、量。本实验中采用单级缓冲连接方式,用0832和按键功能来产生不同的波形。Vref引脚的电压极性和大小决定了输出电压的极性与幅度,超想-3000TB综合实验仪上的DA0832的第8引脚(Vref)的电压已接为-5V,所以输出电压值的幅度为0-5V,波形的峰值也就固定了。用按不同的键,输出不同的波形,按键“1”代表输出正弦波、按键“2”代表输出三角波、按键“3”代表输出锯齿波、按键“4”代表输出方波、按键“5”代表输出梯形波。二、硬件设计:三、软件设计:四、参考程序:OUTBITequ0e101h;位控制口CLK164equ0e102h;段控制口(接164时钟位)DAT164eq
3、u0e102h;段控制口(接164数据位)INequ0e103h;键盘读入口org0000hljmpStartDelay:;延时子程序movr7,#0DelayLoop:djnzr7,DelayLoopdjnzr6,DelayLoopretTestKey:movdptr,#OUTBITmova,#0movx@dptr,a;输出线置为0movdptr,#INmovxa,@dptr;读入键状态cplaanla,#0fh;高四位不用retKeyTable:;数字键码定义db00h,01h,04h,07hdb0fh,02h,05h,08hdb0eh,03h,06h,09hdb0dh,
4、0ch,0bh,0ahdb10H,10H,10H,10H,10Hdb10H,10H,10H,10H,10HGetKey:movdptr,#OUTBITmovP2,dphmovr0,#Low(IN)movr1,#00100000bmovr2,#6KLoop:mova,r1;找出键所在列cplamovx@dptr,acplarramovr1,a;下一列movxa,@r0cplaanla,#0fhjnzGoon1;该列有键入djnzr2,KLoopmovr2,#0ffh;没有键按下,返回0ffhsjmpExitGoon1:movr1,a;键值=列X4+行mova,r2decarla
5、rlamovr2,a;r2=(r2-1)*4mova,r1;r1中为读入的行值movr1,#4LoopC:rrca;移位找出所在行jcExitincr2;r2=r2+行值djnzr1,LoopCExit:mova,r2;取出键码movdptr,#KeyTablemovca,@a+dptrmovr2,aWaitRelease:movdptr,#OUTBIT;等键释放clramovx@dptr,amovr6,#10callDelaycallTestKeyjnzWaitReleasemova,r2retStart:movsp,#40hmovdptr,#0e100hmova,#03h
6、movx@dptr,aMLoop:lcallWarecallTestKey;有键入?jzMLoop;无键入,继续显示callGetKey;读入键码anla,#1fh;显示键码MOVR4,AljmpMLoopnopWare:Ware:cjneR4,#01h,JsanjiaocjneR4,#01h,Jsin2ljmpsinljmpsinJsanjiao:cjneR4,#02h,JjuchiJsin2:cjneR4,#06h,Jsanjiaoljmpsanjiaoljmpsin2Jjuchi:cjneR4,#03h,JfangJsanjiao:cjneR4,#02h,Jsanjia
7、o2ljmpjuchiljmpsanjiaoJfang:cjneR4,#04h,JtixingJsanjiao2:cjneR4,#07h,Jjuchiljmpfangljmpsanjiao2Jtixing:cjneR4,#05h,defaltJjuchi:cjneR4,#03h,Jjuchi2ljmptixingljmpjuchidefalt:Jjuchi2:cjneR4,#08h,Jfangretljmpjuchi2Jfang:cjneR4,#04h,Jfang2ljmpfangJfang2:cjne