分享
分销 收藏 举报 申诉 / 30
播放页_导航下方通栏广告

类型单片机优秀课程设计波形发生器.doc

  • 上传人:天****
  • 文档编号:2864293
  • 上传时间:2024-06-07
  • 格式:DOC
  • 页数:30
  • 大小:1.11MB
  • 下载积分:12 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    单片机 优秀 课程设计 波形 发生器
    资源描述:
    单片机课程设计汇报 烟台大学 题 目 波形发生器 专 业 机械设计制造及其自动化 班 级 机101—4 学生姓名 同组人员 学 号 指导老师:姜风国 机电汽车工程学院 6 月 6 日 目录 一、设计目标 1 二、设计关键内容和要求 1 1.1基础内容和要求 1 三、整体设计思绪 1 3.1设计思绪 1 3.2元件选型 2 3.3功效原理图 2 四、方案论证 2 五、硬件电路设计 3 5.1 电路连线图 3 5.2关键芯片介绍 4 六、软件设计 7 6.1正弦波产生过程 7 6.2锯齿波产生过程 7 6.3三角波产生过程 7 6.4经过开关实现波形切换和调频 7 七、调试和仿真 7 6.1正弦波仿真结果 7 6.2锯齿波仿真结果 8 6.3三角波仿真结果 8 八、总结 9 九、参考文件 9 附录 10 附录一:硬件图 10 附录二:步骤图 11 附录三:程序清单 12 波形发生器 一、设计目标 (1)利用所学单片机机理论知识进行软硬件整体设计,锻炼学生理论联络实际、提升我们综合应用能力。 (2)我们这次课程设计是以单片机为基础,设计并开发能输出多个波形(正弦波、三角波、锯齿波等)且频率、幅度可变波形发生器。 (3)掌握各个接口芯片(如0832等)功效特征及接口方法,并能利用其实现一个简单单片机应用系统功效器件。 (4)在平时学习中,我们所学知识大全部是书本上,在机房练习大家也全部是分散对各个章节内容进行练习。所以,缺乏一个系统设计锻炼。在课程所学结束以后,这么课程设计十分有利于学生知识系统总结到一起。 (5)经过这多个波形进行组合形成了一个波形发生器,使得我对系统整个框架设计有了一个很好锻炼。这不仅有利于大家找到自己感爱好题目,更能够锻炼大家单片机知识应用。 二、设计关键内容和要求 1.1基础内容和要求 (1)设计一款能够产生3种波形波形发生器; (2)设计波形选择按钮; (3)LED或LCD显示波形代号; (4)其它功效(创新部分)。 (5)波形频率调整; (6)波形幅值调整; 三、整体设计思绪 3.1设计思绪 1、课设需要各个波形基础输出。如输出正弦波、锯齿波、三角波。 这些波形实现具体步骤: (1)正弦波:经过手动方法计算出输出各点电压值,然后在编写程序时以数组方法给出。当需要时,只要根据次序进行输出即可。这种方法比在软件中计算速度快且曲线形状修改灵活。在本设计中将一个周期(360度)分为256个点,则每两个点之间间隔为1.4度,然后计算出每个点电压对应数字量,形成数组。只要反复输出这组数据到DAC0832,就能够在系统输出端得到想要正弦波。 (2)锯齿波:也使用查表法。将三角波一个周期(360度)分为256个点,相邻点等差,生成数组。反复输出前128个数据到DAC0832,就能够在系统输出端得到想要锯齿波。 (3)三角波:将(3)中数组256个数据全部输出到DAC0832,循环,就能够在系统输出端得到想要三角波。 2、经过P1口和轻触开关S1-S4相连接来切换波形输出(如按S1键输出正弦波,按S2键产生方波,按S3键产生锯齿波,按S4键产生三角波)。用P0口控制数码管静态显示波形代号。用P2口向DAC0832发送数据,经DAC0832转换后,再把信号放大,最终接到示波器上显示。 3.2元件选型 单片机AT89C51系统,DAC0832一片,PC机一台,运算放大器。 3.3功效原理图 运 放 AT89C51 DAC0832 P0 按键 P1 LCD 1602 P2 P3 四、方案论证 任务要求实现波发生器产生正弦波、锯齿波、三角波,因为正弦波存在,采取单片机直接运算是不合理,故采取按时将存放数字量送出方法实现;为简化编程,锯齿波和三角波也采取按时送数字量方法实现。 将一个周期分为256份,幅值0至255,取数据后分别存入数组。 利用定时器中止函数实现数据按时送出,改变定时器初值设置即可改变频率。 送出数据由指针循环指向对应数组值,改变指针地址,指向不一样数组首地址即可改变波形。 幅值改变由DAC参考电压和反馈电阻改变。 采取AT89C51单片机和DAC0832芯片,直接连接键盘和显示。该种方案关键对AT89C51单片机各个I/O口充足利用。 P3口是连接键盘, P2口接显示电路,P0口连接DAC0832输出波形。这么总体来说,能对单片机各个接口全部利用上,而不在多用其它芯片,从而减小了系统成本。也对根据系统便携式低频信号发生器要求所完成。占用空间小,使用芯片少,低功耗。 五、硬件电路设计 5.1 电路连线图 经过P1.0-P1.5口和轻触开关相连接来切换波形输出(如按S1键输出锯齿波,按S2键产生三角波,按S3键产生正弦波),P1.4、P1.5接波形频率调整开关,图所表示。用P0口控制数码管静态显示波形代号,图所表示。用P0口向DAC0832发送数据,经DAC0832转换后,再把信号放大,最终接到示波器上显示图所表示。 图1 总电路图 5.2关键芯片介绍 (1)51单片机内部结构 基础组成部分: 1 一个8位CPU 2 128B或256B单元内数据存放器(RAM) 3 4KB或8KB片内程序存放器(ROM或EPROM) 4 4个8位并行I/O接口P0~P3。 5 两个定时/计数器。 6 5个中止源中止管理控制系统。 7 一个全双工串行I/O口UART(通用异步接收、发送器) 8 一个片内振荡器和时钟产生电路。 图7 51单片机引脚 管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存放器,它能够被定义为数据/地址第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必需被拉高。 P1口:P1口是一个内部提供上拉电阻8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是因为内部上拉缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并所以作为输入时,P2口管脚被外部拉低,将输出电流。这是因为内部上拉缘故。P2口当用于外部程序存放器或16位地址外部数据存放器进行存取时,P2口输出地址高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存放器进行读写时,P2口输出其特殊功效寄存器内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,因为外部下拉为低电平,P3口将输出电流(ILL)这是因为上拉缘故。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期高电平时间。 ALE/PROG:当访问外部存放器时,地址锁存许可输出电平用于锁存地址地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变频率周期输出正脉冲信号,此频率为振荡器频率1/6。所以它可用作对外部输出脉冲或用于定时目标。然而要注意是:每当用作外部数据存放器时,将跳过一个ALE脉冲。如想严禁ALE输出可在SFR8EH地址上置0。此时, ALE只有在实施MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。假如微处理器在外部实施状态ALE严禁,置位无效。   /PSEN:外部程序存放器选通信号。在由外部程序存放器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存放器时,这两次有效/PSEN信号将不出现。   /EA/VPP:当/EA保持低电平时,则在此期间外部程序存放器(0000H-FFFFH),不管是否有内部程序存放器。注意加密方法1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存放器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器输入及内部时钟工作电路输入。 XTAL2:来自反向振荡器输出。 (2)DAC0832芯片 DAC0832是采样频率为八位D/A转换芯片,集成电路内有两级输入寄存器。DAC0832输出是电流,通常要求输出是电压,所以还必需经过一个外接运算放大器转换成电压。 DAC0832芯片含有双缓冲、单缓冲和直通三种输入方法,方便适于多种电路需要(如要求多路D/A异步输入、同时转换等)。所以这个芯片应用很广泛,相关 DAC0832引脚功效以下: D0~D7:数字信号输入端。 ILE:输入寄存器许可,高电平有效。 CS:片选信号,低电平有效。 WR1:写信号1,低电平有效。 XFER:传送控制信号,低电平有效。 WR2:写信号2,低电平有效。 IOUT1、IOUT2:DAC电流输出端。 RfB:是集成在片内外接运放反馈电阻。 VREF:基准电压(-10~10V)。 VCC:是源电压(+5~+15V)。 GND:地。 图8 DAC0832芯片图 (3)1602液晶显示器引脚功效以下:    第1脚:VSS为电源地    第2脚:VDD接5V电源正极   第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时能够经过一个10K电位器调整对比度)。   第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。    第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。    第6脚:E(或EN)端为使能(enable)端。    第7~14脚:D0~D7为8位双向数据端。    第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。 (4)DAC0832说明:DAC0832选择直通方法,所以CS,XFER,WR1和WR2接地;D0—D7是数据量数据输入线,接收P0口输出数据;VREF接基准电压,其中串接一个滑动电阻器,经过改变阻值,从而改变电压,达成改变幅值目标;芯片内已经有反馈电阻,所以RFB接到运算放大器输出端;GND接地;VCC接工作电源;IOUT1和IOUT2输出电流接运算放大器。 (5)按键工作说明:采取独立式按键输入处理,软件查询方法,也就是说,先逐位查询每根I\0口线输入为低电平,则可确定该I\0口线所对应按键已按下,再转向该按键功效处理程序。 六、软件设计 6.1正弦波产生过程 经过手动方法计算出输出各点电压值,形成数组sin_tab[256],反复次序输出这组数据到DAC0832,就在系统输出端得到正弦波。 6.2锯齿波产生过程 将一个周期(360度)分为128个点,递增,生成数组saw_tab[256],反复次序输出这组数据到DAC0832,就在系统输出端得到锯齿波。 6.3三角波产生过程 将三角波一个周期(360度)分为256个点,相邻点等差,前128个点递增,后128个点递减,生成数组tri_tab[256],反复次序输出这组数据到DAC0832,就在系统输出端得到三角波。 6.4经过开关实现波形切换和调频 轻触开关S1-S4切换波形输出(S1键输出正弦波,按S2键产生方波,按S3键产生锯齿波,按S4键产生三角波),S5、S6调整方波占空比,S7、S8调整波形频率。 七、调试和仿真 6.1正弦波仿真结果 使用有源低通滤波器,输出波形变得更平滑了,但会出现畸变。这是符合实际情况。以下图分析。 图11 调频前波形 图12 调频后波形 6.2锯齿波仿真结果 图13 调频前波形 图14 调频后波形 6.3三角波仿真结果 图15调频前波形 图16调频前波形 八、总结 此次设计中利用AT89C51和DAC0832和放大器完成电路设计,用开关来控制多种波形转换和波形频率,用单片机输出后,经过数模转换器生成波形,最终能够经过示波器观察。 在这次软件设计中,程序设计采取是C语言。C语言简练高效,是最贴近硬件高级编程语言,经过多年发展,现在已成熟为专业水平高级语言。所以,在大型程序设计中,多采取C语言进行程序编译。而且,现在单片机产品推出时纷纷配套了C语言编译器,应用广泛。 因为真正意义上程序设计还不多,所以还不是很得心应手,所以在设计中碰到部分问题和部分难点。比如:在程序设计中怎样实现程序结构最优化,以达成较高质量。这是以后设计中要注意问题。 经过这次课程设计,我深入了解了波形发生器原理,在实际动手操作过程中,使我接触了很多我以前没接触过元件,而且重新温习了刚学很快C语言,使我学得了很多知识,使我获益匪浅。 这次课程设计,使我动手能力得到了很大提升,更使我们知道理论知识关键性,没有理论指导一切实际行动全部是盲目标,且实际操作是我们得到理论知识得到验证,更能增加对理论知识了解。 九、参考文件 [1] 汪贵平,李登峰,龚贤武,雷旭 《新编单片机原理及应用》 机械工业出版社,1月第三次印刷。 [2] 赵文博,刘文涛《单片机语言C51程序设计》人民邮电出版社,10月北京第一次印刷。 [3] 附录 附录一:硬件图 main函数 中止函数 附录二:步骤图 附录三:程序清单 /********************** main.c 文件 *************************/ /**** 含有 *************/ /**** 定时器初始化函数 *************/ /****** main函数 *************/ /****** 定时器1中止函数 *************/ /*****************************************************************/ #include "head.H" //包含函数、变量申明 #include "lcd.c" //lcd1602液晶显示器函数 #include "fun.c" // 包含键盘扫描、延时等功效函数 /*********************初始化函数*******************/ void ini(){ table=tri_tab; //给初值 THHL=65535; // TH1=THHL/256; //定时器1高八位赋值 TL1=THHL%256; // 定时器1第八位赋值 TMOD=0x10; //定时器1模式设置 方法1,十六位不自动重装 EA=1; // 开总中止 ET1=1; //开定时器1中止 TR1=1; //开启定时器1 } /***********主函数*************************/ main() { lcdini(); //lcd初始化程序 writdatas(0x80,lcdtable); //调用显示字符串函数显示选项 writdatas(0x80+0x41,select); ini();//初始化程序 while(1) { keyplay(); //键盘扫描函数 } } /************T1中止函数*************************/ void time() interrupt 3 { TR1=0; TH1=THHL/256; TL1=THHL%256; DataOut=*(table+n); n++;//加一,满255自动溢出 TR1=1; } /********************** fun.c 文件 *************************/ /****** 含有 *************/ /****** 延时函数 *************/ /****** 键盘扫描函数 *************/ /****** 键盘功效函数 *************/ /*****************************************************************/ /**************延时函数 *****************/ void delays(uint8 x){ uint8 i; for(;x>0;x--) for(i=110;i>0;i--); } /****************** 键盘扫描函数 ********************/ void keyplay(){ uint8 temp;//定义一个变量 Key=0xff; //赋初值 temp=Key; //key值给予temp if(temp!=0xff){ //判定temp中值是否等于Oxff delays(2); //推迟2ms temp=Key; //key中值给予temp if(temp!=0xff){ //判定temp中值是否等于Oxff while(Key!=0xff);//程序等候释放。 switch(temp){ //选择按键 case 0xfe: KeySaw(); //按键1锯齿波 break; case 0xfd: KeyTri(); //按键2三角波 break; case 0xfb: KeySin(); //按键3正弦波 break; case 0xf7: KeyPinUp(); //频率增加 break; case 0xef: KeyPinDow(); //频率降低 break; default: break; } } } } /*********************键盘功效函数****************************/ void KeySaw(){ lcdclear(); writdatas(0x80,str_saw); table=saw_tab; } void KeyTri(){ table=tri_tab; lcdclear(); writdatas(0x80,str_tri); } void KeySin(){ table=sin_tab; lcdclear(); writdatas(0x80,str_sin); } void KeyPinUp(){ if(THHL<=65525){ THHL=THHL+LEV; // P2_0=~P2_0; } else{ THHL=65530; } } void KeyPinDow(){ if(THHL>=500){ THHL=THHL-LEV; // P2_0=~P2_0; } else{ THHL=500; } } /********************** lcd.c 文件 *************************/ /****** 含有 *************/ /****** 写命令函数 *************/ /****** 写数据函数 *************/ /****** 写字符串 *************/ /****** 初始化 *************/ /*****************************************************************/ //#include "reg51.h" //#include "fun.c" //#include "head.H" #define LCDATA P2 //p2口 sbit rs= P3^5;// sbit rw= P3^6; sbit lcde=P3^4; uint8 code lcdtable[]="start,saw-k1";//定义字符串 uint8 code select[]="tri-k2,sin-k3";//定义字符串 uint8 code str_sin[]="sine"; //正弦波 uint8 code str_tri[]="triangular"; //三角波 uint8 code str_saw[]="sawtooth"; //锯齿波 /**************写命令函数*********************/ void writcom(uint8 com){ rs=0;//选择写命令模式 LCDATA=com;//将要写命令字送到数据总线上 lcde=1;//使能端给一高脉冲,因为初始化函数中已经将lcden置为0 delays(1);//稍作延时 lcde=0;//将使能端置0以完成高脉冲 } void writdat(uint8 dat) { //while(lcdzt()); rs=1;//选择写数据模式 //delays(5); LCDATA=dat;//将要写数据传到数据总线上 //delays(1); lcde=1;//使能端给一高脉冲,因为初始化函数中已经将lcden置为0 delays(5); lcde=0;//将使能端置0以完成高脉冲 // rw=1; //delays(5); } void lcdini(){ rw=0; // 低电平为写模式 lcde=0; //使能端置低 writcom(0x38); //显示模式设置 delays(1); //延时1秒 writcom(0x0c); //设置开显示,不显示光标 delays(1); //延时1秒 writcom(0x06); //写一个字符后地址指针加1 delays(1); //延时1秒 writcom(0x01); //显示清0,数据指针清0 delays(1); //延时1秒 } //lcd清屏 void lcdclear(){ rw=0; lcde=0; writcom(0x01); delays(1); } /************************字符串函数******************************/ void writdatas(uint8 posi,uint8 *ldate) { writcom(posi); //调用写命令函数定义位置 while(*ldate!='\0'){ //依次送字符 writdat(*ldate++); } } /****************lcd**************/ /************************测试主函数************************ void main(){ lcdini(); writdatas(0x80,lcdtabl); writdatas(0x80+0x40,lcdtabl); while(1); } ***********************************************************/ /********************** head.h 文件 *************************/ /****** 含有 *************/ /****** 引脚定义 ***************/ /****** 全局变量申明、定义 ***************/ /****** 部分函数申明 *************/ /****** 波形数组 *************/ /*****************************************************************/ #include "REGX51.H" #define DataOut P0 //P0口为Da数据 #define Key P1 //P1口为键盘 #define LCDATA P2 //p2口为lcd数据口 #define LEV 40 //频率调整幅度 typedef unsigned char uint8; typedef unsigned int uint16; sbit rs= P3^5; // lcd命令\数据 sbit rw= P3^6; // lcd读\写 sbit lcde=P3^4; //lcd使能 uint8 code *table; uint8 n; //uint16 chthhl; uint16 THHL; uint8 code* table; uint8 code sin_tab[256]; uint8 code tri_tab[256]; uint8 code saw_tab[256]; /***************************************/ //部分函数申明 void keyplay(); void delays(uint8); void ini(); void KeySaw(); void KeyTri(); void KeySin(); void KeyPinUp(); void KeyPinDow(); void writdatas(uint8 posi,uint8 *ldate); /*******************三角波数组***********************/ uint8 code tri_tab[256]= {0,2,4,6,8,10,12,14,16,18, 20,22,24,26,28,30,32,34,36,38, 40,42,44,46,48,50,52,54,56,58, 60,62,64,66,68,70,72,74,76,78, 80,82,84,86,88,90,92,94,96,98, 100,102,104,106,108,110,112,114,116,118, 120,122,124,126,128,130,132,134,136,138, 140,142,144,146,148,150,152,154,156,158, 160,162,164,166,168,170,172,174,176,178, 180,182,184,186,188,190,192,194,196,198, 200,202,204,206,208,210,212,214,216,218, 220,222,224,226,228,230,232,234,236,238, 240,242,244,246,248,250,252,254,254,252, 250,248,246,244,242,240,238,236, 234,232,230,228,226,224,222,220,218,216, 214,212,210,208,206,204,202,200,198,196, 194,192,190,188,186,184,182,180,178,176, 174,172,170,168,166,164,162,160,158,156, 154,152,150,148,146,144,142,140,138,136, 134,132,130,128,126,124,122,120,118,116, 114,112,110,108,106,104,102,100,98,96, 94,92,90,88,86,84,82,80,78,76, 74,72,70,68,66,64,62,60,58,56, 54,52,50,48,46,44,42,40,38,36, 34,32,30,28,26,24,22,20,18,16, 14,12,10,8,6,4,2,0,}; /*************锯齿波数组*************************/ uint8 code saw_tab[256]={0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, 50,51,52,53,54,55,56,57,58,59, 60,61,62,63,64,65,66,67,68,69, 70,71,72,73,74,75,76,77,78,79, 80,81,82,83,84,85,86,87,88,89, 90,91,92,93,94,95,96,97,98,99, 100,101,102,103,104,105,106,107,108,109, 110,111,112,113,114,115,116,117,118,119, 120,121,122,123,124,125,126,127,128,129, 130,131,132,133,134,135,136,137,138,139, 140,141,142,143,144,145,146,147,148,149, 150,151,152,153,154,155,156,157,158,159, 160,161,162,163,164,165,166,167,168,169, 170,171,172,173,174,175,176,177,178,179, 180,181,182,183,184,185,186,187,188,189, 190,191,192,193,194,195,196,197,198,199, 200,201,202,203,204,205,206,207,208,209, 210,211,212,213,214,215,216,217,218,219, 220,221,222,223,224,225,226,227,228,229, 230,231,232,233,234,235,236,237,238,239, 240,241,242,243,244,245,246,247,248,249, 250,251,252,253,254,255,}; /**************正弦波数组*****************************/ uint8 code sin_tab[256]={128,131,134,137,140,143,146,149,152,156, 159,162,165,168,171,174,176,179,182,185, 188,191,193,196,199,201,204,206,209,211, 213,216,218,220,222,224,226,228,230,232, 234,235,237,239,240,242,243,244,245,247, 248,249,250,251,251,252,253,253,254,254, 254,255,255,255,255,255,255,255,254,254, 254,253,252,252,251,250,249,248,247,246, 245,244,242,241,240,238,236,235,233,231, 229,227,225,223,221,219,217,215,212,210, 208,205,203,200,197,195,192,189,187,184, 181,178,175,172,169,166,163,160,157,154, 151,148,145,142,139,136,132,129,126,123, 120,117,114,110,107,104,101,98,95,92
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:单片机优秀课程设计波形发生器.doc
    链接地址:https://www.zixin.com.cn/doc/2864293.html
    页脚通栏广告

    Copyright ©2010-2025   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork