




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-3"\u第一章单片机设计目的和意义 1设计目的 1设计意义 1第二章设计思路 2硬件设计及芯片介绍 2设计任务 22.1.2AT89S52 2 3 4程序设计 4第三章单片机的系统框图及其原理介绍 5单片机系统框图 5单片机系统模块介绍 5时钟电路及复位电路 5电源电路 6串行通信电路 7硬件焊接与测试 7元件清单与硬件 7焊接考前须知 8第四章单片机应用程序及调试 94.1KeilC软件介绍 9跑马灯程序 9口控制跑马灯程序 9按键控制跑马灯程序 10按键控制〔中断优先级〕跑马灯程序 10程序调试遇到的问题 11第五章基于单片机的波形发生器设计 12波形发生器的原理介绍及电路图 12原理介绍 12波形发生器电路图 12芯片介绍 125.2.1DAC0832 12硬件焊接 13元件清单 13硬件连接时遇到的问题及焊接实图 14波形发生器程序设计 15设计框图 15波形发生器程序 15示波器波形 17设计过程遇到的问题 18第六章实习总结 19第一章单片机设计目的和意义在理论学习的根底上,通过完成一个涉及51单片机多种资源应用并且具有综合功能的最小系统目标板。目标板的设计和编程应用。将理论知识与实际应用结合起来,从实际出发分析问题,研究问题和解决问题,将单片机的知识系统化,而且能够对电子电路,电子元器件,印制电路板等方面的知识进一步加深认识。同时在软件编程,排错调试,焊接技术,相关仪器的使用技能等方面得到较全面的锻炼和提高。为今后能够独立进展某些单片机应用系统的开发设计打下坚实的根底。第二章设计思路及芯片介绍设计任务此次实习旨在利用AT89S52单片机的内部定时器,中断,串口,FLASHROM等内部资源扩展4个按键,8位LED字符型显示模块,ISP在线调试模块,可与PC机通讯的RS-232串行接口设备等外设,实现并焊接制作一个具有多种I/O接口的综合功能电路的最小系统板。2.1.2AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断构造,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CUP停顿工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停顿,直到下一个中断或硬件复位为止。以下图为AT89S52芯片。图1AT89S52芯片图P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P0端口写“1”P1口引脚第二功能:表1P1口第二功能引脚号第二功能T2〔定时器/计数器T2的外部计数输入〕,时钟输出T2EX〔定时器/计数器T2的捕捉/重载触发信号和方向控制〕MOSI〔在系统编程用〕MISO〔在系统编程用〕SCK〔在系统编程用〕P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。P3口端口引脚第二功能:表2P3口第二功能引脚号第二功能RXD(串行输入口)TXD(串行输出口)INT0(外中断0)INT1(外中断1)T0(定时/计数器0)T1(定时/计数器1)WR(外部数据存储器写选通)RD(外部数据存储器读选通)RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE〔地址锁存允许〕输出脉冲用于锁存地址的低8位字节。PSEN:程序储存允许〔PSEN〕输出是外部程序存储器的读选通信号。EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器〔地址为0000H-FFFFH〕,EA端必须保持低电平〔接地〕。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。2.1.2MAX232第一局部是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供应RS-232串口电平的需要。第二局部是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚〔R1IN〕、12脚〔R1OUT〕、11脚〔T1IN〕、14脚〔T1OUT〕为第一数据通道8脚〔R2IN〕、9脚〔R2OUT〕、10脚〔T2IN〕、7脚〔T2OUT〕为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三局部是供电。15脚GND、16脚VCC〔+5v〕。图2MAX232芯片2.1.3CYT78L05CYT78L05是一颗二端稳压电源调整器。78L05是一种固定电压(5V)三端集成稳压器,其适用于很多应用场合。1.VIN(输入);2GND〔电源地);3VOUT(输出)。图378L05芯片2.2程序设计单片机当中的程序应该是高质量的,精简的程序。在程序设计时应该考虑单片机的运算速率以及容量的大小。高质量的程序应该满足以下几个条件:⑴程序设计模块化具有好的可重用性和可移植性。⑵程序代码干净整洁,具有良好的可维护性。⑶程序语句简明易懂。代码设计简明扼要,提高程序的运行效率以及程序所占用的空间。⑷用一定的注释说明程序,让程序更易懂,有利于程序的维护。在此次实习过程中,某些程序使用了汇编语言编写,而有些程序选择了C语言来编写。在学习单片机的时侯一直是用汇编语言编写的,现在突然用C语言来编写程序,觉的不是很熟练。特别是用C语言来控制那些存放器以及地址时觉得心有余而力缺乏。还有对于子程序的使用不是很熟练。C语言编写中断优先级程序时,无法实现优先级别的控制,当中断返回是无法返回原来的状态。希望这个问题在此次实习过程中解决。对于汇编语言程序的编写也存在着很多的问题。在用查表程序的时候,对于PC和DPTR的使用以及中断程序的调用还是有一点小小的问题。而且用汇编语言编写程序很麻烦,往往用C语言写的一个小小的程序,用汇编语言要写很久。但是汇编语言有它的优点,它能更好的控制存放器及内存地址。希望在这次程序的编写与调试过程中能更好的理解语言的魅力。第三章单片机的系统框图及其原理介绍3.1单片机系统框图图4单片机系统框图3.2单片机系统模块介绍3T89S52时钟电路及复位电路AT89S52内部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端引脚为XTAL。这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器。电路中的电容C1和C2的典型值通常选择30pF,在这次实习中选用22fF的电容。该电容的大小会影响振荡器频率的上下、振荡器的稳定性和起振的快速性。为了提高温度稳定性,应采用温度稳定性能好的电容。图5为内部时钟电路。复位是单片机的初始化操作,只需给AT89S52的复位引脚RST加上大于2个机器周期的高电平就可使单片机复位。当单片机的程序进入了死机状态时进展复位,复位后PC等存放器都会被初始化。下表为复位时片内各存放器的状态。本次使用按键手动电平复位是RST端经过电阻与电源Vcc接通来实现。具体如以下图所示。图5时钟与复位电路3电源电路图6电源电路图3.2.3串行通信电路图7串行通信电路元件清单与硬件表3元件清单元件规格数量电容1〔c11c7〕0.1u〔104〕2电容2〔c1—c5〕1uF〔电解〕5电容3〔c8c9〕22pF2电容4〔c6〕22uF(电解)1电容5〔c10c12〕33u/25V(电解)2电阻1〔R1—R10〕1k10电阻2〔R11〕2001电位器103〔3296〕240针接插器40PIN116针接插器16PIN1MAX232MAX2321单片机AT89S521三端集成稳压器78L05D1CRYSTAL1按键SW—PB5发光二极管〔红〕8发光二极管〔绿〕1JUMPERJUMPER210针JTAG口CON101串口—PC针+母18脚开关SWDIP—81稳压电源插座1稳压电源扩展插座〔白〕2.542芯座1单排针16针1双排针10*2针1图8焊接单片机板焊接考前须知在焊接前要清理烙铁头,以及给海绵吸水。助焊剂〔松香〕也可以适当的使用,在使用是保持好室内的通风即可。焊接电路板的过程中,先焊接矮的电子元件,再焊接高的电子元件。在焊接芯片插座过程中,先不把芯片插在插座上,以免烫坏芯片。对于有正负极之分的元件,如电容、LED等要注意正负极的方向是否正确。在焊接元件的过程中,可以一点一点的焊接,这样可以防止芯片的温度过高而损坏某些元件。对于容易变软的元件如JP1、JP2在焊接时要迅速的着锡,否则其上面的塑料会融化。此次实习的整个焊接过程还算顺利。由于对复位电路中的电阻阻值没有在意,把200Ω的电阻和1k的电阻互换。最后导致单片机的复位功能不能好的实现。得知如此后又将其取下来换为正确的位置。还应该注意的是对于晶振的焊接要放在后面的局部来焊接,以免对其造成损坏。在焊接完毕之后,还应该检查板上面是否有多余的焊锡。为了防止两个不同的引脚的链接应将多余的焊锡除掉,并且对每一块仔细检查尽量防止不该连接的引脚的连通。焊接并不是一件很容易的事情,有些部件并不是一个人可以焊接,还是需要同学的帮助才能完成。团队的力量是无可限量的,我们可以把很多复杂的事情分块完成。在整个的焊接过程中得到了李老师和郑教师细心的讲解,防止了很多错误。这次对整个焊接技巧第四章单片机应用程序及调试4.1KeilC软件介绍KeiluVision3是目前使用广泛的单片机开发软件,它集成了源程序编辑和程序调试于一体,支持汇编、C、PL/M语言。在这次程序设计过程中使用这个软件来编写程序。跑马灯程序I/O口控制跑马灯程序这个程序通过对AT89S52P1口的控制来让LED灯实现跑马灯的功能。程序开场给P1口赋值tab1数组中的值,数值中低电平代表的口所连接的LED灯发光。每次显示数组中的值后延时再进展下一个值的显示。#include<reg52.h>voiddelay(unsignedinti);unsignedchartab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xff,0x00,0xff,0x00,0xff,0x55,0xaa,0x55,0xaa,0xff,0x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0x00,0xff,0x00,0xff};voidmain(void){ unsignedcharn; while(1) { for(n=0;n<36;n++) {P1=tab1[n]; delay(300);voiddelay(unsignedinti){unsignedintj; for(;i>0;i--) for(j=0;j<333;j++)按键控制跑马灯程序这个程序通过按键K1、K3、K4、K5来控制P1口来显示四组跑马灯的显示。程序开场检测是否有按键按下,如果没有继续等待按键。当有按键按下是,根据按键按下时对应数组的值来显示LED灯。当显示完毕之后检测按键,然后再显示对应的LED跑马灯。#include<reg52.h>sbitP32=P3^2;sbitP33=P3^3;sbitP34=P3^4;sbitP35=P3^5;voiddelay(unsignedinti);unsignedchartab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xff,0x00,0xff,0x00,0xff,0x55,0xaa,0x55,0xaa,0xff,0x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0x00,0xff,0x00,0xff};unsignedchartab2[]={0x00,0xff,0x00,0xaa,0x55,0x00,0xaa,0x55,0xff};unsignedchartab3[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xff,0x00,0xff};unsignedchartab4[]={0x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0x00,0xff,0x00,0xff};voidmain(void){ unsignedcharn; while(1) if(P32==0x0) for(n=0;n<36;n++) {P1=tab1[n]; delay(300); if(P33==0x0) for(n=0;n<8;n++) {P1=tab2[n]; delay(300); if(P34==0x0) for(n=0;n<18;n++) {P1=tab3[n]; delay(300); if(P35==0x0) for(n=0;n<12;n++) {P1=tab4[n]; delay(300);voiddelay(unsignedinti){unsignedintj; for(;i>0;i--) for(j=0;j<333;j++)按键控制〔中断优先级〕跑马灯程序这个程序实现的是按键控制的中断程序K3控制的中断为高优先级,K1控制的中断为低优先级。程序开场显示规定的跑马灯程序,当按键K1按下时,显示对应的跑马灯程序。如果在此次显示过程中,高优先级的K3按下,则这个中断被高级的中断所中断,执行K3控制所对应的LED跑马灯。当K3对应的跑马灯完毕之后返回K1控制的跑马灯程序当中执行。当K1对应中断的跑马灯完毕之后返回主程序当中。#include<reg52.h>voiddelay(unsignedinti);voidmain(void){ IE=0x85;TCON=0x05;PX1=1; while(1) { P1=0x00; delay(500); P1=0xff; delay(500);int0s()interrupt0using1{ unsignedchari;for(i=0;i<6;i++) {P1=0x55; delay(500); P1=0xaa; delay(800);int1s()interrupt2using2{unsignedchari; for(i=0;i<4;i++) {P1=0x33; delay(500); P1=0xcc; delay(800);voiddelay(unsignedinti){unsignedintj; for(;i>0;i--) for(j=0;j<333;j++)在编写跑马灯程序时遇到了一些问题。经过查资料最后终于得到的解决。在编写程序的过程中,对I/O口的控制以及对按键查询以及中断方式的按键控制LED灯进一步理解了。在用汇编语言编写按键查询程序时能够完成查询并显示所要显示的跑马灯。当用C语言写程序时无法完成像汇编那样的效果。具体原因也在查找中。在用到中断优先级控制LED灯时,遇到的问题是,无法完成优先控制之后返回到原来的程序。并且中断完成后也无法继续原来的程序。经过查资料,最后终于找到原因。因为单片机默认的存放器组是0组。当用C语言写中断优先程序时必须把不同优先级的中断程序放在不同的存放器组当中。这样就顺利的完成了中断优先级的控制。在单片机应用程序的调试过程中仿真软件的使用对于程序的调试效率起到了很大的作用。其中Proteus软件和KeilC软件。一般的单片机系统都可以通过Proteus软件来搭接硬件。单片机应用程序可以通过KeilC软件来编写。每当编写了程序之后可以通过仿真来验证自己的编写思路是否正确。通过不断的编程与调试,发现自己已经对单片机以及仿真软件产生了很浓厚的兴趣。我也将继续保持这个兴趣,继续努力下去。第五章基于单片机的波形发生器设计及电路图原理介绍波形发生器的设计是利用D/A转换原理,将被测数字量转换成模拟量,并用模拟方式显示出低频信号源,如方波、三角波、正弦波等等。通常数字电压表都采用大规模的D/A转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。其中D/A转换器将输入的数字量转换成模拟量,逻辑控制电路产生控制信号,按规定的时序将D/A转换器中各组模拟开关接通或断开,保证D/A转换正常进展。本系统以单片机AT89S52为系统的控制核心,结合D/A转换芯片ADC0832设计一个简易波形发生器。5.1.2波形发生器电路图图9波形发生器电路图DAC08320832采用双缓冲接口方式,其传送控制端接地,输入所存允许断ILE与+5V电源相连,利用一个地址码进展二次输出操作,完成数据的传送和冲动转换,第一次操作室P2.6为高电平,将P0口数据线上的数据锁存于DAC0832的输入存放器中。第二次操作是写控制信号由效,传送控制端为低电平,将输入存放器中的内容锁存入0832的DAC存放器中,D/A转换器便开场对锁存于DAC存放器的8位数据进展转换,约经过1/2时钟周期后,在输出端〔IOUT2、IOUT1〕建立稳定的电流输出。运放的作用是将0832输出的模拟电流信号转换为电压波形。DAC0832为一个8位D/A转换器,单电源供电,在+5~+15V范围内均可正常工作。基准电压的范围为±10V,电流建立时间为1μs,CMOS工艺,低功耗20mW。DAC0832的外部引脚及功能介绍图如下:图10DAC0832引脚图DI0~DI7:数据输入线,TLL电平。ILE:数据锁存允许控制信号输入线,高电平有效。CS:片选信号输入线,低电平有效。WR1:为输入存放器的写选通信号。XFER:数据传送控制信号输入线,低电平有效。WR2:为DAC存放器写选通输入线。Iout1:电流输出线。当输入全为1时Iout1最大。Iout2:电流输出线。其值与Iout1之和为一常数。Rfb:反应信号输入线,芯片内部有反应电阻。Vcc:电源输入线(+5v~+15v)。Vref:基准电压输入线(-10v~+10v)。AGND:模拟地,摸拟信号和基准电源的参考地。DGND:数字地,两种地线在基准电源处共地比拟好。元件清单表4波形发生器元件清单元件规格数量制板1ua7412ua741的对应插座2DAC08321DAC0832的对应插座1电阻315k2电阻4k1排针13针1焊线假设干硬件连接时遇到的问题及焊接实图在焊接这个开发板的过程中遇到了诸多的问题。首先元器件的布局太严密会对焊接时线的连接造成困难。然后对芯片插座、电阻、插针进展焊接。在焊接线路的时候对线路的的布局也值得一提。此次焊接时线的选择用比拟严密的方式来布线。在焊接线路时很容易漏焊某些引脚对应的焊线。在焊接ua741对应的±15V电源和GND时都要把对应的焊接到一起,这样有利于电源的连接。值得一提的是波形发生电路的GND要和单片机的GND连接到一起。在连接示波器及电源是要保证电源正负的连接是正确的,否则会烧坏芯片造成没有必要的损失。图11波发生器硬件实图设计框图是是等待按键否是否K3键三角波K4键方波K5键正弦波K1键锯齿波判断是否有按键按下开始判断是否有按键按下产生波形继续产生波形图12波形发生器框图波形发生器程序这个程序的设计是用开关来控制显示四种不同的波形。程序开场检测按键是否按下。如果没有按键按下继续检测。当检测到按键时产生按键对应的波形。当产生波形的时候,不断的检测按键。当检测到按键时显示对应按键的波形。此次程序设计所使用的机器周期为1us,锯齿波的周期为256us,三角波的周期为512us,矩形波的周期为80us,正弦波的周期为256us。ORG0000HAJMPSTARTORG0030HSTART: JNBP3.2,MAIN JNBP3.3,MAIN1 JNBP3.4,MAIN2 JNBP3.5,MAIN3 SJMPSTARTKEYCHECK:;按键检测子程序 JNBP3.2,MAIN JNBP3.3,MAIN1 JNBP3.4,MAIN2 JNBP3.5,MAIN3 RETMAIN:MOVR0,#7FH ;产生锯齿波 MOVA,#00HLOOP3:MOVX@R0,A INCA LCALLKEYCHECK;按键检测 SJMPLOOP3 LCALLDELAY LJMPSTARTMAIN1:MOVDPTR,#7FFFH ;产生三角波MOVA,#00HLOOP1:MOVX@DPTR,AINCANOPCJNEA,#0FFH,LOOP1LOOP2:DECAMOVX@DPTR,ACJNEA,#00H,LOOP2INCA LCALLKEYCHECK;按键检测NOP AJMPLOOP1 LCALLKEYCHECK LCALLDELAY LJMPSTARTMAIN2:MOVDPTR,#7FFFH;产生矩形波LOOP4:MOVA,#00H MOVX@DPTR,A LCALLDELAY LCALLKEYCHECK;按键检测 MOVA,#0FEH MOVX@DPTR,A LCALLDELAY LCALLKEYCHECK;按键检测 LJMPLOOP4MAIN3: ;产生正弦波LOOP5: MOVA,R1 MOVDPTR,#SETTABMOVCA,@A+DPTR MOVDPTR,#07FFFH MOVX@DPTR,A LCALLKEYCHECK;按键检测INCR1SJMPLOOP5SETTAB: DB00H,00H,00H,00H,00H,00H,01H,02HDB02H,03H,04H,05H,06H,07H,08H,09HDB0AH,0BH,0DH,0EH,10H,11H,13H,15HDB16H,18H,1AH,1CH,1EH,20H,22H,25HDB27H,29H,2BH,2EH,30H,33H,35H,38HDB3AH,3DH,40H,43H,45H,48H,4CH,4EHDB51H,55H,57H,5AH,5DH,60H,63H,66HDB69H,6CH,6FH,72H,76H,79H,7CH,80HDB80H,83H,86H,89H,8DH,90H,93H,96HDB99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8HDB0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9HDB0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5HDB0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDHDB0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDHDB0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAHDB0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAHDB0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7HDB0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1HDB0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99HDB96H,93H,90H,8DH,89H,86H,83H,80HDB80H,7CH,79H,78H,72H,6FH,6CH,69HDB66H,63H,60H,5DH,5AH,57H,55H,51HDB4EH,4CH,48H,45H,43H,40H,3DH,3AHDB38H,35H,33H,30H,2EH,2BH,29H,27HDB25H,22H,20H,1EH,1CH,1AH,18H,16HDB15H,13H,11H,10H,0EH,0DH,0BH,0AHDB09H,08H,07H,06H,05H,04H,03H,02HDB02H,01H,00H,00H,00H,00H,00H,00HDELAY:;延时子程序MOVR5,#1D1:MOVR6,#1D2:MOVR7,#5DJNZR7,$DJZZR6,D2DJNZR5,D1RETEND以下为示波器显示的三角波、锯齿波、矩形波、正弦波的波形图。图13三角波波形图14锯形波波形图15锯齿波波形图16正弦波波形5.6设计过程遇到的问题设计波形发生器时参考了课本上经典的设计电路及DAC0832芯片及ua741集成运算放大器。在选择电阻的时候遇到了个问题,以前从来没有考虑过电阻的额定功率的大小。在这次设计中,我选择了0.25w的电阻来保证设计电路的可靠性。波形发生程序参考了课本的局部程序。最后,觉得用汇编语言来编写整个程序。在程序中循环对累加器写入值,然后发送到0832中,循环增大累加器中的值。等到值为0xff时归零继续。这样就产生了锯齿波的波形。三角波的波形是在累加器到达最高是在逐渐减小至零。矩形波的产生最为容易了。产生矩形波可以有很多种方式。一种是用定时/计数器的定时功能来实现,而另一种可以用时间延迟的方式来实现。本次程序设计,我选择了用延时的方法来实现矩形波的产生。正弦波的产生最为复杂了。正弦波的产生和三角波的产生过程相似。在每次累加器中的值是跳变的增加的,这样才能显示弧形的波形。在每次到达正弦值的波峰和波谷的时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CHES 63-2022活塞式调流调压阀技术导则
- T/CHES 103-2023地下水动态分析评价技术指南
- T/CHATA 018-2022基层医疗卫生机构结核感染预防与控制指南
- T/CGCC 59-2021肉皮冻
- T/CFPA 019-2023风管感烟火灾探测器系统设计、施工和验收规范
- T/CESA 1255-2023智慧博物馆评价方法
- T/CECS 10203-2022建筑材料湿物理性质测试方法
- T/CECS 10199-2022装饰保温与结构一体化微孔混凝土复合外墙板
- T/CECS 10193-2022联片饰面砖粘贴填缝材料
- T/CCSAS 045-2023安全仪表功能(SIF)安全完整性等级(SIL)验证导则
- 中国科学院大学《模式识别与机器学习》2021-2022学年第一学期期末试卷
- 外研版一起点四年级下册单词默写表
- 综合管廊应急救援预案
- 《教师书写技能》课程教学大纲
- 2024年广西中考化学真题【附答案】
- 期末(试题)-2023-2024学年英语六年级下册
- 2022年辽宁省高考数学试卷(新高考II)附答案解析
- 阿尔派车载IVA-W502E使用说明书
- GB/T 10069.3-2024旋转电机噪声测定方法及限值第3部分:噪声限值
- 2024架空平行集束绝缘导线低压配电线路设计与施工规程
- 中国高血压防治指南(2024年修订版)核心要点解读
评论
0/150
提交评论