单片机的信号发生器设计 .docx
《单片机的信号发生器设计 .docx》由会员分享,可在线阅读,更多相关《单片机的信号发生器设计 .docx(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、单片机课程设计报告题 目基于单片机的信号发生器设计1、系统设计经过考虑,我们确定方案如下:利用AT89s52单片机采用程序设计方法产 生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转 换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的 类型选择、频率变化,最终输出显示其各自的类型以及数值。L 1、设计要求1)、利用单片机采用软件设计方法产生三种波形2)、三种波形可通过键盘选择3)、波形频率可调4)、需显示波形的种类及其频率1. 2方案设计与论证1.2.1信号发生电路方案论证方案一:通过单片机控制D/A,输出三种波形。此方案输出的波形不够稳定,
2、抗干扰能力弱,不易调节。但此方案电路简单、成本低。方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器 搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积 分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形 产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形。但此方案成 本高,程序复杂度高。考虑到配合本学期所学的知识,选择方案一。 uchar code sinl28 = 128, 134, 140, 147, 153, 159, 165, 171, 177, 18
3、2, 188,193, 199, 204, 209, 213, 218, 222, 226, 230, 234, 237,240, 243,245, 248,250, 251, 253,254, 254, 255,255,255, 254,254, 253,251, 250, 248,245, 243,240,237,234, 230,226, 222,218, 213, 209,204, 199,193,188,182, 177,171, 165,159, 153, 147,140, 134,128,122,116, 109, 103, 97, 91, 85, 79, 74, 68, 63,
4、 57, 52, 47, 43,38, 34, 30, 26, 22, 19, 16, 13, 11, 8, 6, 5, 3, 2, 2, 1, 1, 1,2, 2, 3, 5, 6, 8, 11, 13, 16, 19, 22, 26, 30, 34, 38, 43, 47, 52, 57, 63, 68, 74, 79, 85, 91, 97, 103, 109, 116, 122, 128);uchar code sinl00 = 128, 136, 144, 152, 160, 167, 175, 182, 189, 196, 203,209, 215, 221, 226, 231,
5、235, 239, 243, 246, 249, 251,253, 254, 255,255, 255,254, 253, 251,249,246, 243,239, 235, 231,226, 221,215, 209, 203,196,189, 182,175, 167, 160,152, 144,136, 128, 120,112,104, 96, 89,81, 74, 67, 60,53, 47, 41, 35, 30, 25, 21, 17,13, 10, 7,5,3, 2, 1, 1, 1, 2, 3, 5, 7, 10, 13, 17, 21, 25, 30, 35, 41, 4
6、7, 53,60, 67, 74, 81, 89, 96, 104, 112, 120, 128);uchar code sin33 = 128, 153, 177, 199, 218, 234, 245, 253, 255, 253, 245,234, 218, 199, 177, 153, 128, 103, 79, 57, 38, 22, 11, 3,1,3, 11,22,38, 57, 79, 103, 128;ucharcodesinl7 = 128, 177, 218, 245, 255, 245, 218, 177, 128, 79, 38, 11, 1, 11, 38, 79,
7、 128);/方波低频数据ucharcodejuxing256 = 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,255, 255,
8、255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
9、 255, 255,255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,0, 0, 0,0, 0, 0,0,0,0,0, 0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0, 0,0,0,0, 0, 0,0,0,0,0, 0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0, 0, 0,0,0,0,0, 0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0, 0,0,0,0, 0, 0,0,0,0,0, 0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,
10、 0,0,0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);/方波高频数据uchar code juxingl28 = 255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 25
11、5, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12、0, 0, 0;uchar code juxingl00 = 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,0, 0, 0, 0, 0, 0, 0, 0
13、, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;uchar code juxing32 = 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;ucharcodejuxingl6 = 255, 2
14、55, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0;三角波数据/uchar code sanjiao256256=;/uchar code sanjiaol28128=;uchar code sanjiaol00 = 128, 133, 138, 143, 148, 153, 158, 164, 169, 174, 179,184, 189, 194, 199, 204, 209, 214, 219, 225, 230, 235,240, 245, 250,255,250, 245,240, 235, 230,225, 219
15、,214, 209, 204,199,194, 189,184, 179, 174,169, 164,158, 153, 148,143,138, 133,128, 127, 122,117, 112,107, 102, 97, 91, 86, 81, 76, 71, 66, 61, 56, 51, 46, 41,36, 30, 25, 20, 15, 10, 5, 0, 5, 10, 15, 20, 25, 30, 36, 41,46, 51, 56, 61, 66, 71, 76, 81, 86, 91, 97, 102, 107, 112,117, 122, 127, 128;uchar
16、 code sanjiao32 = 128, 144, 160, 176, 192, 207, 223, 239, 255, 239,223, 207, 191, 176, 160, 144, 128, 112, 96, 80, 64,49, 33, 17,1, 17, 33, 49, 65, 80, 96, 112, 128;uchar code sanjiao29 = 128, 146, 164, 182, 200, 218, 236, 255, 236, 218,200, 182, 164, 146, 128, 110, 92, 74, 56, 37, 18, 0, 19,37, 55,
17、 73,91,110,128;uchar code sanjiao17 = 128, 153, 178, 204, 229, 255, 229,204, 178, 153, 128, 102, 78, 52, 26,0, 26, 52, 78, 102, 128;延时程序void delayl ()int a, b;for (a=l;a0;a一)for(b=122;b0;b);void intO() interrupt 0 采用TO中断 改变频率TRO=O;EXO=O;delaylO;延时,判断S2是否真的键被按下if(sl=O) 若真的被按下,为消除按键抖动影响P+; if (p=6)p=o
18、;输出波形的每一点设定延时时间长短,以便选择频率switch(p) case 1 : pinglv=10;displaylKHz ();break; case 2 :pinglv=100;displaylOOHz ();break; case 3 :pinglv=1000;displaylOHz ();break;case 4:pinglv=10000;displaylHz (); break; case 5 : pinglv=l;displaylOKHz();break;default :pinglv=l;break;)delayl ();while(Isl);)while (!si);EX
19、O=1;TRO=1;void inti () interrupt 2采用T1中断改变波形TRO=O;EX0;delayl ();if (s2=0) bxxz+;if (bxxz-3)bxxz=0;switch(bxxz)(case 0 :默认为正弦波a=l;displayzhengxianO ; 在液晶的第一行显示正弦波break;case 1 :a=2;displayfangbo ();break;case 2 :a=3;displaysanjiaoO ;break;)delayl ();while (!s2);while (!s2);EX1=1;TRO=1;)void timerO()in
20、terrupt 1 if(pinglv!=l & pinglv!=10)(if (a-1)选择方波在液晶的第一行显示方波三角波在液晶的第一行显示三角波延时,判断键按S1是否真的被按下若真的被按下,为消除按键抖动影响等待按键松开定时器0中断服务程序默认为正弦波;频率最高P2=sinl00k;k+;if (k=100)k=0;if (a=2)方波P2=juxingl00k;k+;if (k=100)k=0;)if (a=3)P2=sanjiaol00k;k+;if (k=100)k=0;if (pinglv=100)THO=(65536-92)/256;TLO= (65536-92)%256;if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机的信号发生器设计 单片机 信号发生器 设计
限制150内