《单片机课程设计》设计报告设计课题:正弦波信号发生器专业班级:电子信息工程121班学生姓名:万环指导教师:蔡岗设计时间:2015.07.10赣南师范学院科技学院数学与信息科学系正弦波信号发生器一、设计任务与要求系统上电产生f=100Hz,Vpp=5V的正弦波。频率可通过按键在f=100Hz到f=10Hz之前切换。二、方案设计与论证1设计方案本次课设的任务是基于AT89C51单片机的数字式简易低频信号发生器的设计,要求实现用程序产生正弦波,并可以通过键控在10—100Hz之间切换。而且需在Proteus电子设计平台上对设计方案进行仿真。采用了AT89C51单片机作为控制核心,外围采用数字模拟转换电路(DAC0832)来实现模数转换,从而输出正确的波形,设计中还连接了按键电路来实现键控改变频率。89C51是整个波形发生器的核心部分,通过程序的编写和执行,并从键盘接收数据产生100HZ-10HZ正弦波信号。当数字信号电路到达转换电路,将其转换成模拟信号也就是所需要的输出波形。波形ROM表是将信号一个周期等间距地分离成256个点,储存在单片机得RON内。具体ROM表是通过MATLAB生成的,例如正弦表,MATLAB生成的程序如下:x=0:2*pi/64:2*pi;y=round(sin(x)*127)+1282原理框图单片机数模转换电路放大电路低通滤波按键电路电源波形ROM表波形输出图1系统原理框图三、电路设计1电路设计图2系统电路图2.主要性能参数计算第一级运算放大器的作用是将DAC0832输出的电流信号转化为电压信号V1,第二级运算放大器的作用是将V1通过反向放大电路-(R2/R1)倍。第二个运算放大器的输出端连了一个低通滤波器。如果不加低通滤波器,也能够生成波形,但是产生的信号中毛刺很多,加一个低通滤波器不仅起到的滤波的作用,还起到了平滑的作用。低通滤波器的截止频率F=1/(2*pi*R3*C6),这里选择R3为1K欧姆电阻,C6为104电容。波形ROM表是将信号一个周期等间距地分离成64个点,储存在单片机得RON内。具体ROM表是通过MATLAB生成的,例如正弦表,MATLAB生成的程序如下:x=2*pi/256;y=round(sin(x)*255)+256该电路用11.0592MHz晶振,由于频率较大时,正弦波中每一点延时时间为几μ秒,故延时时间还要加上指令时间即可得到指定频率的波形。3.程序流程图图3.程序流程图4.系统仿真图4.软件仿真图四、电路制作及调试1实物图通过以上步骤,制作出实物图。如图所示:`图5.实物图正面图6.实物图反面2.电路调试测试图7.电路测试波形3元件清单器件型号数量单价合计电阻1K、10k,20k1个1个、2个0.05元0.2元电容0.1u10u2个、1个0.1元0.3元晶振12M1个0.2元0.2元运放LM3241个1元1元DA芯片DAC08321个5元5元单片机STC89C521个3.2元3.3元合计1210元五参考文献[1]潘永雄.沙河.电子线路CAD实用教程(第四版)[M].西安电子科技大学出版社,2012.[2]高吉祥.电子技术基础实验与课程设计(第二版)[M].电子工业出版社,2005.[3]王港元.电子设计制作基础[M].江西科学技术出版社,2011.[4]彭介华.电子技术课程设计指导[M].高等教育出版社,2009[5]阎石.数字电子技术基础[M].北京:高等教育出版社,2001年[6]王贺明编.电工电子技术实验与设计[M],北京:兵器工业出版社,1998年附录:#includereg51.h#includeintrins.hsbitwr=P3^6;//P3.6为DAC0832输入寄存器的写信号WR1,低电平有效sbitcs=P3^0;//P3.0为DAC0832片选信号CS,低电平有效unsignedchark,t;sbitkey=P3^1;voidkeyscan();//正弦波数据unsignedcharcodeTable[]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80};voidDelay(intTime_ms);voidmain(){unsignedchari;k=4;cs=0;//DAC0832片选信号,低电平有效while(1){wr=1;P0=Table[t];wr=0;keyscan();Delay(k);t++;if(t==256)t=0;}}voidDelay(intTime_μ){inti;for(i=0;iTime_μ;i++){_nop_();{}}}voidkeyscan(){if(key==0)k=k+10;if(k==54)k=4;}赣南师范学院科技学院2014-2015学年第二学期期末考试《单片机课程设计》成绩评定表专业:电子信息工程班级:121班学号:1220085118姓名:万环课题名称设计任务与要求(1)系统上电产生f=100Hz,Vpp=5V的正弦波。(2)频率可通过按键在f=100Hz到f=10Hz之前切换评分标准基本功能(50)焊接制作(10)程序设计(10)扩展功能(20)个人发挥(10)总分(100)指导老师时间:年月日