




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第一章单片机设计目的和意义11.1设计目的11.2设计意义1第二章设计思路22.1硬件设计及芯片介绍22.1.1设计任务22.1.2AT89S5222.1.2MAX23232.1.3CYT78L0542.2程序设计4第三章单片机的系统框图及其原理介绍53.1单片机系统框图53.2单片机系统模块介绍53.2.1AT89S52时钟电路及复位电路53.2.2电源电路63.2.3串行通信电路73.3硬件焊接与测试73.3.1元件清单与硬件73.3.2焊接注意事项8第四章单片机应用程序及调试94.1Keil C软件介绍94.2跑马灯程序94.2.1I/O口控制跑马灯程序94.2.2按键控制跑马灯程序104.2.3按键控制(中断优先级)跑马灯程序104.3程序调试遇到的问题11第五章基于单片机的波形发生器设计125.1波形发生器的原理介绍及电路图125.1.1原理介绍125.1.2波形发生器电路图125.2芯片介绍125.2.1DAC0832125.3硬件焊接135.3.1元件清单135.3.2硬件连接时遇到的问题及焊接实图145.4波形发生器程序设计155.4.1设计框图155.4.2波形发生器程序155.5示波器波形175.6设计过程遇到的问题18第六章实习总结19第一章单片机设计目的和意义1.1设计目的在理论学习的基础上,通过完成一个涉及51单片机多种资源应用并且具有综合功能的最小系统目标板。目标板的设计和编程应用。1.2设计意义将理论知识与实际应用结合起来,从实际出发分析问题,研究问题和解决问题,将单片机的知识系统化,而且能够对电子电路,电子元器件,印制电路板等方面的知识进一步加深认识。同时在软件编程,排错调试,焊接技术,相关仪器的使用技能等方面得到较全面的锻炼和提高。为今后能够独立进行某些单片机应用系统的开发设计打下坚实的基础。19第二章设计思路2.1硬件设计及芯片介绍2.1.1设计任务此次实习旨在利用AT89S52单片机的内部定时器,中断,串口,FLASH ROM等内部资源扩展4个按键,8位LED字符型显示模块,ISP在线调试模块,可与PC机通讯的RS-232串行接口设备等外设,实现并焊接制作一个具有多种I/O接口的综合功能电路的最小系统板。2.1.2AT89S52AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CUP停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。下图为AT89S52芯片。图1 AT89S52 芯片图P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。P1口:P1口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4个TTL 逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。P1口引脚第二功能: 表1 P1口第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2 口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL 逻辑电平。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。P3口端口引脚第二功能:表2 P3口第二功能引脚号第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)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)。图2 MAX232芯片2.1.3CYT78L05CYT78L05是一颗二端稳压电源调整器。78L05是一种固定电压(5V)三端集成稳压器,其适用于很多应用场合。1 .VIN(输入);2 GND(电源地);3 VOUT(输出)。图3 78L05芯片2.2程序设计单片机当中的程序应该是高质量的,精简的程序。在程序设计时应该考虑单片机的运算速率以及容量的大小。高质量的程序应该满足以下几个条件:程序设计模块化具有好的可重用性和可移植性。程序代码干净整洁,具有良好的可维护性。程序语句简明易懂。代码设计简明扼要,提高程序的运行效率以及程序所占用的空间。用一定的注释说明程序,让程序更易懂,有利于程序的维护。在此次实习过程中,某些程序使用了汇编语言编写,而有些程序选择了C语言来编写。在学习单片机的时侯一直是用汇编语言编写的,现在突然用C语言来编写程序,觉的不是很熟练。特别是用C语言来控制那些寄存器以及地址时觉得心有余而力不足。还有对于子程序的使用不是很熟练。C语言编写中断优先级程序时,无法实现优先级别的控制,当中断返回是无法返回原来的状态。希望这个问题在此次实习过程中解决。对于汇编语言程序的编写也存在着很多的问题。在用查表程序的时候,对于PC和DPTR的使用以及中断程序的调用还是有一点小小的问题。而且用汇编语言编写程序很麻烦,往往用C语言写的一个小小的程序,用汇编语言要写很久。但是汇编语言有它的优点,它能更好的控制寄存器及内存地址。希望在这次程序的编写与调试过程中能更好的理解语言的魅力。第三章单片机的系统框图及其原理介绍3.1单片机系统框图图4 单片机系统框图3.2单片机系统模块介绍3.2.1AT89S52时钟电路及复位电路AT89S52内部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端引脚为XTAL。这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器。电路中的电容C1和C2的典型值通常选择30pF,在这次实习中选用22fF的电容。该电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。为了提高温度稳定性,应采用温度稳定性能好的电容。图5为内部时钟电路。复位是单片机的初始化操作,只需给AT89S52的复位引脚RST加上大于2个机器周期的高电平就可使单片机复位。当单片机的程序进入了死机状态时进行复位,复位后PC等寄存器都会被初始化。下表为复位时片内各寄存器的状态。本次使用按键手动电平复位是RST端经过电阻与电源Vcc接通来实现。具体如下图所示。图5 时钟与复位电路3.2.2电源电路图6 电源电路图3.2.3串行通信电路图7 串行通信电路3.3硬件焊接与测试3.3.1元件清单与硬件表3 元件清单元件规格数量电容1(c11 c7)0.1u(104)2电容2(c1c5)1uF(电解)5电容3(c8 c9)22pF2电容4(c6)22uF(电解)1电容5(c10 c12)33u/25V(电解)2电阻1(R1R10)1k10电阻2(R11)2001电位器103(3296)240针接插器40PIN116针接插器16PIN1MAX232MAX2321单片机AT89S521三端集成稳压器78L05D1晶振11.0592CRYSTAL1按键SWPB5发光二极管(红)8发光二极管(绿)1JUMPERJUMPER210针JTAG口CON101串口PC针+母18脚开关SW DIP81稳压电源插座1稳压电源扩展插座(白)2.54 2芯座1单排针16针1双排针10*2针1图8 焊接单片机板3.3.2焊接注意事项在焊接前要清理烙铁头,以及给海绵吸水。助焊剂(松香)也可以适当的使用,在使用是保持好室内的通风即可。焊接电路板的过程中,先焊接矮的电子元件,再焊接高的电子元件。在焊接芯片插座过程中,先不把芯片插在插座上,以免烫坏芯片。对于有正负极之分的元件,如电容、LED等要注意正负极的方向是否正确。在焊接元件的过程中,可以一点一点的焊接,这样可以防止芯片的温度过高而损坏某些元件。对于容易变软的元件如JP1、JP2在焊接时要迅速的着锡,否则其上面的塑料会融化。此次实习的整个焊接过程还算顺利。由于对复位电路中的电阻阻值没有在意,把200的电阻和1k的电阻互换。最后导致单片机的复位功能不能好的实现。得知如此后又将其取下来换为正确的位置。还应该注意的是对于晶振的焊接要放在后面的部分来焊接,以免对其造成损坏。在焊接结束之后,还应该检查板上面是否有多余的焊锡。为了避免两个不同的引脚的链接应将多余的焊锡除掉,并且对每一块仔细检查尽量防止不该连接的引脚的连通。焊接并不是一件很容易的事情,有些部件并不是一个人可以焊接,还是需要同学的帮助才能完成。团队的力量是无可限量的,我们可以把很多复杂的事情分块完成。在整个的焊接过程中得到了李老师和郑老师细心的讲解,避免了很多错误。这次对整个焊接技巧的理解更进了一层。第四章单片机应用程序及调试4.1Keil C软件介绍Keil uVision3是目前使用广泛的单片机开发软件,它集成了源程序编辑和程序调试于一体,支持汇编、C、PL/M语言。在这次程序设计过程中使用这个软件来编写程序。4.2跑马灯程序4.2.1I/O口控制跑马灯程序这个程序通过对AT89S52 P1口的控制来让LED灯实现跑马灯的功能。程序开始给P1口赋值tab1数组中的值,数值中低电平代表的口所连接的LED灯发光。每次显示数组中的值后延时再进行下一个值的显示。#includevoid delay(unsigned int i);unsigned char tab1=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;void main(void)unsigned char n;while(1)for(n=0;n0;i-)for(j=0;j333;j+);4.2.2按键控制跑马灯程序这个程序通过按键K1、K3、K4、K5来控制P1口来显示四组跑马灯的显示。程序开始检测是否有按键按下,如果没有继续等待按键。当有按键按下是,根据按键按下时对应数组的值来显示LED灯。当显示结束之后检测按键,然后再显示对应的LED跑马灯。#includesbit P32=P32;sbit P33=P33;sbit P34=P34;sbit P35=P35;void delay(unsigned int i);unsigned char tab1=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;unsigned char tab2=0x00,0xff,0x00,0xaa,0x55,0x00,0xaa,0x55,0xff;unsigned char tab3=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xff,0x00,0xff;unsigned char tab4=0x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0x00,0xff,0x00,0xff;void main(void)unsigned char n;while(1) if(P32=0x0) for(n=0;n36;n+) P1=tab1n;delay(300);if(P33=0x0)for(n=0;n8;n+) P1=tab2n;delay(300); if(P34=0x0) for(n=0;n18;n+) P1=tab3n;delay(300); if(P35=0x0) for(n=0;n0;i-)for(j=0;j333;j+);4.2.3按键控制(中断优先级)跑马灯程序这个程序实现的是按键控制的中断程序K3控制的中断为高优先级,K1控制的中断为低优先级。程序开始显示规定的跑马灯程序,当按键K1按下时,显示对应的跑马灯程序。如果在此次显示过程中,高优先级的K3按下,则这个中断被高级的中断所中断,执行K3控制所对应的LED跑马灯。当K3对应的跑马灯结束之后返回K1控制的跑马灯程序当中执行。当K1对应中断的跑马灯结束之后返回主程序当中。#includevoid delay(unsigned int i);void main(void)IE=0x85; TCON=0x05; PX1=1;while(1)P1=0x00;delay(500);P1=0xff;delay(500);int0s() interrupt 0 using 1 unsigned char i; for(i=0;i6;i+) P1=0x55;delay(500);P1=0xaa;delay(800);int1s() interrupt 2 using 2 unsigned char i; for(i=0;i0;i-)for(j=0;j333;j+);4.3程序调试遇到的问题在编写跑马灯程序时遇到了一些问题。经过查资料最后终于得到的解决。在编写程序的过程中,对I/O口的控制以及对按键查询以及中断方式的按键控制LED灯进一步理解了。在用汇编语言编写按键查询程序时能够完成查询并显示所要显示的跑马灯。当用C语言写程序时无法完成像汇编那样的效果。具体原因也在查找中。在用到中断优先级控制LED灯时,遇到的问题是,无法完成优先控制之后返回到原来的程序。并且中断完成后也无法继续原来的程序。经过查资料,最后终于找到原因。因为单片机默认的寄存器组是0组。当用C语言写中断优先程序时必须把不同优先级的中断程序放在不同的寄存器组当中。这样就顺利的完成了中断优先级的控制。在单片机应用程序的调试过程中仿真软件的使用对于程序的调试效率起到了很大的作用。其中Proteus软件和KeilC软件。一般的单片机系统都可以通过Proteus软件来搭接硬件。单片机应用程序可以通过KeilC软件来编写。每当编写了程序之后可以通过仿真来验证自己的编写思路是否正确。通过不断的编程与调试,发现自己已经对单片机以及仿真软件产生了很浓厚的兴趣。我也将继续保持这个兴趣,继续努力下去。第五章基于单片机的波形发生器设计5.1波形发生器的原理介绍及电路图5.1.1原理介绍波形发生器的设计是利用D/A转换原理,将被测数字量转换成模拟量,并用模拟方式显示出低频信号源,如方波、三角波、正弦波等等。通常数字电压表都采用大规模的D/A转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。其中D/A转换器将输入的数字量转换成模拟量,逻辑控制电路产生控制信号,按规定的时序将D/A转换器中各组模拟开关接通或断开,保证D/A转换正常进行。本系统以单片机AT89S52为系统的控制核心,结合D/A转换芯片ADC0832设计一个简易波形发生器。5.1.2波形发生器电路图图9 波形发生器电路图5.2芯片介绍5.2.1DAC08320832采用双缓冲接口方式,其传送控制端接地,输入所存允许断ILE与+5V电源相连,利用一个地址码进行二次输出操作,完成数据的传送和激动转换,第一次操作室P2.6为高电平,将P0口数据线上的数据锁存于DAC0832的输入寄存器中。第二次操作是写控制信号由效,传送控制端为低电平,将输入寄存器中的内容锁存入0832的DAC寄存器中,D/A转换器便开始对锁存于DAC寄存器的8位数据进行转换,约经过1/2时钟周期后,在输出端(IOUT2、IOUT1)建立稳定的电流输出。运放的作用是将0832输出的模拟电流信号转换为电压波形。DAC0832为一个8位D/A转换器,单电源供电,在+5+15V范围内均可正常工作。基准电压的范围为10V,电流建立时间为1s,CMOS工艺,低功耗20mW。DAC0832的外部引脚及功能介绍图如下:图10 DAC0832引脚图DI0DI7:数据输入线,TLL电平。 ILE:数据锁存允许控制信号输入线,高电平有效。 CS:片选信号输入线,低电平有效。WR1:为输入寄存器的写选通信号。XFER:数据传送控制信号输入线,低电平有效。 WR2:为DAC寄存器写选通输入线。 Iout1:电流输出线。当输入全为1时Iout1最大。 Iout2: 电流输出线。其值与Iout1之和为一常数。 Rfb:反馈信号输入线,芯片内部有反馈电阻。 Vcc:电源输入线(+5v+15v) 。Vref:基准电压输入线(-10v+10v)。 AGND:模拟地,摸拟信号和基准电源的参考地。DGND:数字地,两种地线在基准电源处共地比较好。5.3硬件焊接5.3.1元件清单表4 波形发生器元件清单元件规格数量制板1ua7412ua741的对应插座2DAC08321DAC0832的对应插座1电阻315k2电阻47.5k1排针13针1焊线若干5.3.2硬件连接时遇到的问题及焊接实图在焊接这个开发板的过程中遇到了诸多的问题。首先元器件的布局太紧密会对焊接时线的连接造成困难。然后对芯片插座、电阻、插针进行焊接。在焊接线路的时候对线路的的布局也值得一提。此次焊接时线的选择用比较紧密的方式来布线。在焊接线路时很容易漏焊某些引脚对应的焊线。在焊接ua741对应的15V电源和GND时都要把对应的焊接到一起,这样有利于电源的连接。值得一提的是波形发生电路的GND要和单片机的GND连接到一起。在连接示波器及电源是要保证电源正负的连接是正确的,否则会烧坏芯片造成没有必要的损失。图11 波发生器硬件实图5.4波形发生器程序设计5.4.1设计框图是等待按键否是否K3键三角波K4键方波K5键正弦波K1键锯齿波判断是否有按键按下开 始判断是否有按键按下产生波形继续产生波形图12 波形发生器框图5.4.2波形发生器程序这个程序的设计是用开关来控制显示四种不同的波形。程序开始检测按键是否按下。如果没有按键按下继续检测。当检测到按键时产生按键对应的波形。当产生波形的时候,不断的检测按键。当检测到按键时显示对应按键的波形。此次程序设计所使用的机器周期为1us,锯齿波的周期为256us,三角波的周期为512us,矩形波的周期为80us,正弦波的周期为256us。ORG 0000HAJMP STARTORG 0030HSTART: CLR P3.6JNB P3.2,MAINJNB P3.3,MAIN1JNB P3.4,MAIN2JNB P3.5,MAIN3SJMP STARTKEYCHECK: ;按键检测子程序JNB P3.2,MAINJNB P3.3,MAIN1JNB P3.4,MAIN2JNB P3.5,MAIN3RETMAIN:MOV R0,#7FH ;产生锯齿波 MOV A,#00HLOOP3:MOVX R0,A INC ALCALL KEYCHECK ;按键检测 SJMP LOOP3 LCALL DELAY LJMP START MAIN1: MOV DPTR,#7FFFH ;产生三角波 MOV A,#00H LOOP1:MOVX DPTR,A INC A NOP CJNE A,#0FFH,LOOP1LOOP2:DEC A MOVX DPTR,A CJNE A,#00H,LOOP2 INC A LCALL KEYCHECK ;按键检测 NOP AJMP LOOP1 LCALL KEYCHECK LCALL DELAY LJMP START MAIN2: MOV DPTR,#7FFFH ;产生矩形波LOOP4:MOV A,#00HMOVX DPTR,A LCALL DELAY LCALL KEYCHECK ;按键检测 MOV A,#0FEH MOVX DPTR,A LCALL DELAYLCALL KEYCHECK ;按键检测 LJMP LOOP4MAIN3: ;产生正弦波LOOP5:MOV A,R1 MOV DPTR,#SETTAB MOVC A,A+DPTRMOV DPTR,#07FFFHMOVX DPTR,ALCALL KEYCHECK ;按键检测 INC R1 SJMP LOOP5SETTAB:DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H DB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H DB 80H,83H,86H,89H,8DH,90H,93H,96H DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H DB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00HDELAY: ;延时子程序MOV R5,#1D1: MOV R6,#1D2: MOV R7,#5DJNZ R7,$DJZZ R6,D2DJNZ R5,D1RETEND5.5示波器波形下列为示波器显示的三角波、锯齿波、矩形波、正弦波的波形图。图13 三角波波形图14 锯形波波形图15 锯齿波波形图16 正弦波波形5.6设计过程遇到的问题设计波形发生器时参考了课本上经典的设计电路及DAC0832芯片及ua741集成运算放大器。在选择电阻的时候遇到了个问题,以前从来没有考虑过电阻的额定功率的大小。在这次设计中,我选择了0.25w的电阻来保证设计电路的可靠性。波形发生程序参考了课本的部分程序。最后,觉得用汇编语言来编写整个程序。在程序中循环对累加器写入值,然后发送到0832中,循环增大累加器中的值。等到值为0xff时归零继续。这样就产生了锯齿波的波形。三角波的波形是在累加器到达最高是在逐渐减小至零。矩形波的产生最为容易了。产生矩形波可以有很多种方式。一种是用定时/计数器的定时功能来实现,而另一种可以用时间延迟的方式来实现。本次程序设计,我选择了用延时的方法来实现矩形波的产生。正弦波的产生最为复杂了。正弦波的产生和三角波的产生过程相似。在每次累加器中的值是跳变的增加的,这样才能显示弧形的波形。在每次到达正弦值的波峰和波谷的时候都要对其进行延迟或者是让其产生0xff或者0x00值。否则在波形中会出现竖着的条线。在此次程序编写过程中对汇编语言又有更深的理解。特别是对于DPTR寄存器和累加器的使用,而且对寻址方式的理解又有了加深。 第六章实习总结通过学习单片机这门课程,我们了解到了单片机具有集成度高、处理功能强、可靠性高、系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购书阅读活动方案
- 函数考试题目及答案
- 锅炉工作考试题及答案
- 广东氩弧焊考试题及答案
- 农业养殖场建设合作协议
- 企业信息化电子网络开发协议
- 儿科科室考试题及答案
- 电子档考试题及答案
- 农业产业链合作与供应保障协议
- 标准化客户服务流程及服务质量监测工具
- 脑梗死恢复期护理查房范文讲课件
- 京东安全工程师笔试题库
- ISO 37001-2025 反贿赂管理体系要求及使用指南(中文版-雷泽佳译-2025)
- 生产件批准程序PPAP学员版
- 2022年03月北京肿瘤医院公开招聘笔试参考题库含答案解析
- NB/T 10728-2021煤矿膏体充填留巷开采技术规范
- 电阻应变式传感器及其应用传感器原理及其应用课件
- 项目代建大纲
- 中级职称专业技术人员考核登记表(最近三个年度)
- 部编版八年级语文上册定稿《一着惊海天》教案课堂实录(区级公开课)
- DL∕T 5597-2021 太阳能热发电工程经济评价导则
评论
0/150
提交评论