下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 函数信号发生器的设计(12864实现动态波形显示)

函数信号发生器的设计(12864实现动态波形显示).doc

函数信号发生器的设计(12864实现动态波形显示&#4…

桃之妖妖围脖女郎
2018-05-01 0人阅读 举报 0 0 暂无简介

简介:本文档为《函数信号发生器的设计(12864实现动态波形显示)doc》,可适用于综合领域

函数信号发生器的设计(实现动态波形显示)课程设计(论文)任务书电气与电子工程学院系自动化专业班级一、课程设计(论文)题目简易信号发生器的设计二、课程设计(论文)工作自年月日起至年月日止。三、课程设计(论文)的内容要求:课程设计不仅仅要求学生完成所规定的题目要求同时还要培养学生良好的科学态度和严谨的设计习惯。课程设计报告要求内容如下:()设计思想和设计说明()硬件原理框图()硬件原理图与软件配合介绍()程序存储器和数据存储器的单元分配()程序流程图()系统功能描述()设计调试过程总结()附录里面包括:芯片资料、源程序清单和符合制图规范的硬件原理图的图纸。设计要求内容:用,,实现正弦信号三角波信号方波信号的输出并且在,,,上显示出当前波形。要求输出信号的频率和幅度可调。设计内容:()满足设计要求内容。()扩展锯齿波波形输出。()汉字显示当前波形形状与当前频率的大小学生签名年月日课程设计(论文)评审意见()题目复杂程度:复杂()、较复杂()、一般()、简单()()总体方案的选择是否正确:正确()、较正确()、欠正确()、不正确()()系统能否满足任务要求:满足()、较满足()、欠满足()、不满足()()元器件选择是否合理:合理()、较合理()、欠合理()、不太合理()()学习实践态度:好()、较好()、一般()、不太好()()独立工作能力:强()、较强()、一般()、较差()()回答问题是否正确:正确()、较正确()、基本正确()、大多不正确()()图表是否符合标准:符合()、较符合()、基本符合()、大多不符合()()撰写是否规范整洁:规范整洁()、较规范()、欠规范()、不太规范()总评成绩:优()、良()、中()、及格()、不及格()评阅人职称副教授年月日目录一、课程设计及要求及目的二、设计思想及设计说明函数发生器模块LCD液晶显示模块三、硬件设计四、程序设计流程五、系统模块化设计、函数信号发生器的设计、DAC的介绍、发生器的功能设计、函数发生器的外围电路组成、液晶显示模块AMPIREX液晶显示屏的原理介绍波形汉字显示程序设计、中断系统的使用六、程序字节分配七、功能描述与设计调试总结、功能描述、设计调试总结八设计总结九、参考文献附录:程序代码附录:设计图纸一、课程设计及要求及目的通过课程设计环节加深对单片机原理及应用技术的理解提高理论结合实践的能力提高单片机系统设计和开发的能力初步学习一个完整的单片机系统的研发过程并培养严谨细致的科研态度。熟悉掌握常用的单片机设计软件以及一些网上个人研发的实用小软件。例如单片机最常用keil和protues软件以及个人研发的单片机小精灵、汉字取模软件、串口助手等。要求设计一个单片机应用系统利用keil和proteus软件完成系统软硬件的设计及模拟调试在有条件的情况下完成对事物的操作。本文设计了一种以STCC为核心的简易信号产生电路该电路使用DAC数模转换器件对单片机输出的数字量进行转换使用数组定义的方式完成不同波形的输出并通过外部中断实现对输出波形形状和波形频率等的控制该设计以LCD液晶显示屏对波形的类别、形状、频率等信息以中文或图形的方式输出显示。实验结果表明该系统设计具有体积小性能稳定反应速度快可以迅速简便的实现多种波形输出的优点。二、设计思想及设计说明该设计主要由信号发生器的设计和LCD液晶显示两部分组成其中信号发生器的设计为本设计的重点内容但设计过程较为简单。LCD液晶显示为本设计的辅助模块使的使用者对该信号发生器更容易操作是本设计过程中耗时最多的阶段可以说是本设计的难点。函数发生器模块该模块使用DA转换芯片DAC对单片机输出的位二进制的数字量进行数字到模拟信号的转化由于DAC为电流型输出所以在输出端口使用一级运放LM实现将电流输出转为电压输出之后使用二级运放实现对输出信号的放大使输出波形的幅值可调在设计的端口使用RC低通滤波器对输出波形进行滤波使所得到的波形更加平滑。在软件设计方面为了与LCD显示屏联合使用该设计没有使用正弦、方波、三角波、锯齿波的波形函数作为输出数字量而是使用个单元的数组定义每一个波形由此也可以更加方便的增加其他波形的输出。LCD液晶显示模块该模块使用protues中提供的AMPIREX液晶显示屏该显示屏无中英文字库所以设计过程中需要对自己需要的字符和汉字进行取模本设计将该显示屏分为两部分整屏幕的前四分之一用于显示“函数”“正弦”“方波”“三角”“锯齿”“频率”和峰峰值等信息。后面的部分用于显示输出波形的形状。该模块的关键点在于AMPIREX这款液晶显示屏的控制方法、矩阵排列方式以及与市场上常见的LCD的区别于共性和区别。共性点在于控制、读写等指令的相同以及该端口的强大的锁存功能。区别主要在于该将整个屏幕分为两块分别使用外部控制信号CS与CS选择开通。三、硬件设计该设计的硬件连接图如图一所示箭头线上为管脚的连接方式。具体的连接方式见附录:简易信号发生器的设计图纸。P口P控制口DAC两级运放LMP口P控制口LCD单片机晶振与复位PP按键图一系统硬件连接简图四、程序设计流程该程序的设计流程图如图二所示系统首先将输出波形定义为正弦波输出且频率定义为HZ并将该信息在LCD液晶显示频上显示出来之后进入主函数并不断调用正弦波的数组使之按照正弦波规律变化经过外部DA转化实现正弦波输出。与此同时外部中断随时可以打破主循环通过外部中断将其他波形定义为当前输出波形每按一次波形变化一次循环往复并在该中断服务程序中改变LCD显示波形、频率等信息。而在外部中断中只改变波形频率只需要刷新频率显示部分即可。整个程序设计代码在附录中:程序代码主函数main()液晶显示屏初始化DAC初始化液晶显示正弦波外部中断初始化外部中断改变输出外部中断改变波形主循环输出波形波形频率刷新液晶显示频率改变液晶显示波形图二程序流程图五、系统模块化设计、函数信号发生器的设计、DAC的介绍DAC是分辨率的DA转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点在单片机应用系统中得到广泛的应用。DA转换器由位输入锁存器、位DAC寄存器、位DA转换电路及转换控制电路构成。其内部结构如图三所示图三DAC的结构图该芯片有三种工作方式分别为但缓冲、双缓冲和直通方式。在该控制系统中使用其直通方式。接线方式为将数据口与单片机P口相连、XREF、WR、WR、CS控制端口全部接地ILE接高电平。在这种接线方式下只要数据端口接收到数据立刻就能转化为模拟信号输出使得系统的实时性好响应速度快。、发生器的功能设计C是整个波形发生器的核心部分通过程序的编写和执行产生各种各样的信号并从按键接收改变数据进行各种功能波形的转换。当数字信号电路到达转换电路将其转换成模拟信号也就是所需要的输出波形。波形的输出通过波形数据表完成该波形数据表是将信号一个周期等间距地分离成个点储存在单片机得ROM内。这些数据可以通过MATLAB软件生成例如正弦表MATLAB生成的程序如下:x=:*pi:*piy=round(sin(x)*)()该函数信号发生部分的主要程序段如下所示P=*(whichbxkk)whichbx选择哪一种波形显示,为这种波形数据的首地址kkif(kk==)kk=while(delaytime)delaytime通过调节delaytime的大小可以调节输出频率的大小经过实际运行测得当delaytime为时运行一次的时间为则频率为hz这是该函数信号发生器的最大输出频率。、函数发生器的外围电路组成该部分使用一级运放实现对输出电流转为输出电压并使用二级运放经过滑动变阻器放大输出电压使得电压可调最后通过低通滤波器RC网络进行滤波实现波形的输出。选择二级运放的前置电阻为K滑动变阻器的最大阻值为K则最大可以将输出的峰值电压V变为V。电压的调节范围是(~V)。该模块的电路图如图所示。图四函数发生器的外围电路组成、液晶显示模块AMPIREX液晶显示屏的原理介绍该AMPIRE*液晶显示频不自带中英文字库是一种图形点阵液晶显示器它主要由行主要由行驱动器列驱动器及×全点阵液晶显示器组成。可完成图形显示也可以显示×个(×点阵)汉字。其管脚定义表一所示表一AMPIREX的管脚定义管脚名称LEVER管脚功能描述VSS电源地VDDV电源电压V液晶显示器驱动电压DI=“H”表示DBDB为显示数据DI(RS)HLDI=“L”表示DBDB为显示指令数据RW=“H”E=“H”数据被读到DBDBRWHLRW=“L”E=“HL”数据被写到IR或DRRW=“L”E信号下降沿锁存DBDBEHLRW=“H”E=“H”DDRAM数据读到DBDBDB~DBHL数据线CSHLH:选择芯片(右半屏)信号CSHLH:选择芯片(左半屏)信号RETHL复位信号,低电平复位VOUTVLCD驱动负电压LEDLED背光板电源LEDLED背光板电源在使用LCD前先必须了解以下功能器件才能进行编程。内部功能器件及相关功能如下:指令寄存器(IR)IR是用于寄存指令码与数据寄存器数据相对应。当DI=时在E信号下降沿的作用下指令码写入IR。(数据寄存器(DR)DR是用于寄存数据的与指令寄存器寄存指令相对应。当DI=时在下降沿作用下图形显示数据写入DR或在E信号高电平作用下由DR读到DBDB数据总线。DR和DDRAM之间的数据传输是模块内部自动执行的。(忙标志:BFBF标志提供内部工作情况。BF=表示模块在内部操作此时模块不接受外部指令和数据。BF=时模块为准备状态随时可接受外部指令和数据。利用STATUSREAD指令可以将BF读到DB总线从检验模块之工作状态。(XY地址计数器XY地址计数器是一个位计数器。高位是X地址计数器低位为Y地址计数器XY地址计数器实际上是作为DDRAM的地址指针X地址计数器为DDRAM的页指针Y地址计数器为DDRAM的Y地址指针。X地址计数器是没有记数功能的只能用指令设置。Y地址计数器具有循环记数功能各显示数据写入后Y地址自动加Y地址指针从到。(显示数据RAM(DDRAM)DDRAM是存储图形显示数据的。数据为表示显示选择数据为表示显示非选择。(Z地址计数器Z地址计数器是一个位计数器此计数器具备循环记数功能它是用于显示行扫描同步。当一行扫描完成此地址计数器自动加指向下一行扫描数据RST复位后Z地址计数器为。Z地址计数器可以用指令DISPLAYSTARTLINE预置。因此显示屏幕的起始行就由此指令控制即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共行屏幕可以循环滚动显示行。LCD的指令系统有以下两种第一类是基本指令包括组、第二类为扩充指令。指令系统如下表所示:表二:(RE=)基本指令指令指令码功能RSRWDDDDDDDD清除显示将DDRAM填满"H",并且设定DDRAM的地址计数器(AC)到"H"地址归位设定DDRAM的地址计数器(AC)到"H",并且将游标移到开头原点X位置这个指令不改变DDRAM的内容显示状态开关D=:整体显示ONC=:游标ONB=:游标位置反白允许DCB进入点设定指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位IDS游标或显示移位设定游标的移动与显示的移位控制位这个指令不改变DDRAM的内SCRLXX控制容功能设定DL=:位数据RE=:扩充指令操作RE=:基本指令操作DLXREXX设定CGRAM设定CGRAM地址ACACACAC地址ACAC设定DDRAM设定DDRAM地址(显示位址)ACACACAC地址第一行:H,H第二行:H,HACAC读取忙标志和地读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数BFACACACAC址器(AC)的值ACACAC写数据到RAM数据将数据DD写入到内部的RAM(DDRAMCGRAMIRAMGRAM)读出RAM的值数据从内部RAM读取数据DD(DDRAMCGRAMIRAMGRAM)波形汉字显示程序设计该模块的电路原理图如图五所示其中控制端口为P口相连。图五显示模块电路图显示程序部分的组成包括基础部分、辅助部分和显示部分组成。用该部程序模块组成如图六所示显示程序显示程序控制部分程序辅助部分程序显示部分程序控制部分程序辅助部分程序显示部分程序汉查汉查初半选显初半选显清清画显写写画显显写写显画字看画字看始屏择示始屏择示屏坐示屏指数坐示示指数示波显忙波显忙化幕行峰化幕行峰函频函标频标令据函令据函形示不形示不函选和峰函选和峰数率数轴率轴数数程忙程忙数择列值数择列值序序图六显示模块的程序组成查看忙不忙是当lcd处于内部运行状态的时候此时忙不忙标志位为的时候不接受外界写入的数据和命令因此在读命令和数据之前必须先检测lcd忙不忙然后进行命令控制与数据输入。辅助部分的程序是对整个屏幕的显示进行选择清除等操作为显示程序提供输入入口。AMPIRE*共计有页可以理解为大行每大行有小行有个半屏每个半屏有到第列总计有列。即整个显示屏为*个LED组成在该设计中屏幕的占用情况如图七所示。图七的屏幕占用情况汉字的显示包括显示“函数”、“正弦”、“三角”、“方波”、“锯齿”“频率”。英文的显示有“HZ”、“Vp”以及数字的显示(显示频率以及峰峰值)。由于该LCD自带无字库因此需要对要显示的部分进行取模。按照的数据读取是每一页的第一行为低端口第八行为高输出口且每次数据读取之后自动对列数加一因此取模方式为从左到右、从上到下。设计中使用晓奇工作室制作的液晶汉字模提取软件。波形的显示程序显示的波形为个周期的波形。由于定义的波形数组共计个数正好占据整个屏幕的,共计列每一个数对应列即每一列都有一个数据。由于该屏幕有行而模拟量最大为因此每行代表个大小通过这种方式就可以使整个屏幕显示出连续正常的波形。坐标轴包括X、Y轴的绘制该部分只要在理解显示原理的基础上就可以很轻松的画出来。、中断系统的使用该设计使用外部中断来切换当前显示波形使用外部中断来切换输出频率。巧妙的使用指针工具使得最初方案的代码消减了一大半。中断服务程序在切换完成波形和频率的转换之后分别对屏幕清屏处理再次显示(波形切换)、刷新处理(频率改变)。六、程序字节分配单片机中片内数据存储器共计有个字节该设计中使用个字节的数据存储器空间。共有程序存储器KB=个字节该设计使用的程序存储器空间为b,故满足。无片外数据存储器的使用。七、功能描述与设计调试总结、功能描述该系统使用ATC为主控单元通过其控制DAC进行数模转换完成方波正弦波锯齿波和三角波的输出。其中锯齿波是扩展功能。通过液晶显示屏对波形和频率和峰峰值进行显示以便于使用者的友好使用。并通过中断进行波形输出与频率的转化。波形的峰峰值是通过外部电路设计的波形汉字显示是扩展功能。技术参数。电压调节范围是~V当滑动变阻器滑动时理论值输出电压的峰峰值为V虚拟示波器显示为V当滑动变阻器滑动时理论值输出电压的峰峰值为V虚拟示波器显示为V。故技术参数符合设计要求。该信号发生器的输出波形频率最大为hz频率可调其设定频率变化参数为表三所示。表三调频取值单位(Hz)单位(Hz)单位(Hz)单位(Hz)单位(HZ)、设计调试总结该设计过程中存在第一个障碍是波形的输出在峰值的地方出现急速下降波形显示不合理在protues中的虚拟示波器显示波形如八所示。八调试过程中的系统波形经过检查发现错误的根源在于一级运放输出口没有经过电阻直接接在了二级运放的输出端。经过调整之后的数码管显示波形如图九所示。可见此时的波形已经达到了理想的输出效果。九调整后的输出波形设计过程中的第二个问题是液晶显示问题发现市场上普遍使用的与protues中所用的的显示原理不太相同尤其在分屏显示与显示寄存器的地址分布上。而读写控制时序大致相同。后来参考网上的protues中lcd的图形显示程序并对照说明书对该部分有了认识尤其是在页地址与行地址列地址的问题上理解了lcd原理之后对写起来后面的显示程序部分就如鱼得水的原来以为还要两三天才能解决结果熬了会夜就写完了。LCD显示情况如图十所示图十波形显示由后两张图可以看出波形在变化时有不连续的地方这也符合发生器本身的特点因此未进行连线处理。由此可知该设计满足设计要求性能可靠。八设计总结九、参考文献徐春辉单片微机原理及应用M北京:电子工业出版社,周润景,张丽娜基于protues的电路及单片机系列设计与仿真M北京:北京航空航天大学出版社,张毅刚,彭元喜,姜守达等MCS单片机应用设计M哈尔滨:哈尔滨工业大学出版社附录:程序代码#include<regh>#include<mathh>#include<intrinsh>#defineucharunsignedchar#defineuintunsignedint#definelcdcoladdx#definepageaddxbsbitbxadjust=P^函数发生器定义sbitpladjust=P^中断输入接口ucharbxxz=,pl=,delaytime=,kk,pp为函数发生模块提供中间变量uchar*whichbx,*whichbx选择哪一种波形uintplnum*************LCD引脚定义*************sbitLCDRS=P^寄存器选择输入sbitLCDRW=P^液晶读写控制sbitLCDEN=P^液晶使能控制sbitLCDRST=P^液晶复位端口sbitLCDCS=P^右半屏控制sbitLCDCS=P^左半屏控制ucharcodepinglv={x,xC,x,xFF,x,xC,xA,xF,x,xA,xD,x,x,xFB,x,x,x,x,xA,x,x,x,xB,xE,x,x,x,x,xA,x,x,x,x,x,x,xF,x,xF,x,xF,x,x,xF,x,x,xCF,x,x,x,x,x,x,x,x,x,xFF,x,x,xB,x,x,xD,x,x}ucharcodehanshu={x,xF,x,x,x,x,x,xF,x,xA,x,x,x,xF,x,x,x,x,x,x,xFF,x,x,x,xD,x,x,x,xF,x,x,x,x,xFF,x,x,x,x,x,xF,x,x,x,xC,x,xFF,x,x,x,x,xE,x,x,x,xE,x,x,x,x,x,x,xC,x,x}ucharcodezx={x,x,x,xC,x,x,x,xFE,x,x,x,xC,x,x,x,x,x,xE,x,x,xE,x,x,x,x,xA,x,x,x,xC,x,x,x,x,x,xF,x,x,x,xF,x,x,x,x,x,x,x,x,x,x,x,x,xE,x,x,x,x,x,x,x,x,x,x,x}ucharcodejc={x,x,xE,x,x,x,x,xFE,x,x,xF,x,x,xDF,x,x,x,x,x,xE,x,x,x,xF,x,x,x,x,x,x,x,x,x,x,xF,x,x,x,x,x,xFC,x,x,x,x,xFE,x,x,x,x,xFF,x,x,x,x,x,x,x,x,x,xFF,x,x,x,}ucharcodefb={x,x,x,x,x,xF,x,x,x,x,x,xD,x,x,x,x,x,x,x,xC,x,xF,x,x,x,xFF,x,x,xA,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xF,x,x,x,x,x,x,xFE,x,x,xF,x,x,x,x,x,x,x,xC,x,x,}ucharcodesj={x,x,x,x,x,x,x,x,x,x,x,xC,x,x,x,x,x,x,x,xF,x,x,x,xF,xA,x,x,x,xF,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xF,x,x,x,xF,x,x,x,x,xF,x,x,x,}ucharcodetable={xE,x,x,x,xE,x,x,xF,x,x,x,x,x,x,x,x,x,x,xD,x,x,x,x,xF,x,x,x,x,x,x,xC,xA,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xE,xF,x,x,x,xF,Hx,x,x,x,x,ZxF,x,x,x,xF,VxF,x,x,x,x,Px,x,x,x,x,:x,x,x,x,x,}ucharcodesinx={以下为波形代码,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}ucharcodejuchi={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}ucharcodefangbo={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}ucharcodesanjiao={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}voidlcddelay(uintt){unsignedinti,jfor(i=i<ti)for(j=j<j)}voidbxdelay()延时ms{inta,bfor(a=a>a)for(b=b>b)}voidlcdbusy(){uchardat,DATALCDRW=LCDRS=do{DATA=xLCDEN=lcddelay()dat=DATALCDEN=dat=xdat}while(!(dat==x))}voidlcdwcmd(ucharcmd)cmd命令字节{lcdbusy()等待不忙LCDRS=LCDRW=P=cmd把命令写入lcddelay()LCDEN=lcddelay()LCDEN=}voidlcdwdat(uchardat)写数据到LCD{lcdbusy()LCDRS=LCDRW=P=datlcddelay()LCDEN=lcddelay()LCDEN=}voidlcdinit()LCD的初始化{lcddelay()LCDCS=LCDCS=lcddelay()lcdwcmd(xe)lcdwcmd(xb)页地址lcdwcmd(xc)行地址lcdwcmd(xf)lcdwcmd(x)列地址}voidclrscreen()清屏操作{ucharj,kLCDCS=LCDCS=lcdwcmd(xb)lcdwcmd(x)for(k=k<k){lcdwcmd(pageaddk)for(j=j<j){lcdwcmd(lcdcoladdj)lcdwdat(x)}}}voidselect(ucharx)选择左半屏还是右半屏{switch(x){case:LCDCS=LCDCS=break左屏case:LCDCS=LCDCS=break右屏default:LCDCS=LCDCS=}}voidsetpos(ucharrow,ucharcol)选择行列{lcdwcmd(xbrow)lcdwcmd(xcol)}voiddisp(ucharcode*hz)显示汉字上半区两个{ucharnfor(n=n<n)lcdwdat(*(hzn))}voiddisp(ucharcode*hz)显示汉字下半区{ucharmfor(m=m<m)lcdwdat(*(hzm))}voiddisppl(uintdat)显示频率{ucharmm,zselect()setpos(,)mm=datmm=*mmfor(z=mmz<mmz)lcdwdat(tablez)mm=(dat)mm=*mmfor(z=mmz<mmz)lcdwdat(tablez)mm=datmm=*mmfor(z=mmz<mmz)lcdwdat(tablez)for(z=z<z)lcdwdat(tablez)}voidclcpl()清除频率显示{ucharmmselect()setpos(,)for(mm=mm<mm){lcdwdat(x)}}voiddispvpp(floatdat)显示峰峰值{ucharmm,z,mmmselect()setpos(,)for(mm=mm<mm){lcdwdat(tablemm)}mmm=dat*mm=mmmmm=*mmfor(z=mmz<mmz)lcdwdat(tablez)for(z=z<z)lcdwdat(tablez)mm=mmmmm=*mmfor(z=mmz<mmz)lcdwdat(tablez)}voiddispxy()显示坐标轴{uchary,xselect()for(y=y<y){setpos(y,)lcdwdat(xff)}setpos(,)for(x=x<x){lcdwdat(x)}select()setpos(,)for(x=x<x){lcdwdat(x)}}voiddispwave(uchar*wave)显示波形{ucharxzpage,xzuintxzbitselect()for(xz=xz<xz){xzpage=(wavexz)xzbit=(wavexz)xzbit=pow(,xzbit)setpos(xzpage,xz)lcdwdat(xzbit)}select()for(xz=xz<xz){xzpage=(wavexz)xzbit=(wavexz)xzbit=pow(,xzbit)setpos(xzpage,xz)lcdwdat(xzbit)}}voiddispchina()显示中文提示符{uchari=lcdinit()clrscreen()select()setpos(,)disp(hanshu)setpos(,)disp(hanshu)setpos(,)disp(pinglv)setpos(,)disp(pinglv)}voiddisphslx(uchar*dat)显示函数类型:三角方波锯齿波正弦{select()setpos(,)disp(dat)setpos(,)disp(dat)}voidbxinit()函数发生模块的初始化{EA=IT=下降沿触发EX=IT=EX=}voidmain(){lcdinit()clrscreen()whichbx=sinxdispchina()disphslx(zx)disppl()dispvpp()dispxy()dispwave(whichbx)bxinit()while(){delaytime=plpl=时mhz下为hz的波形。循环一次的时间为msP=*(whichbxkk)kkif(kk==)kk=while(delaytime)delaytime}}voidint()interrupt波形选择中断服务程序{EX=bxdelay()bxxzif(bxxz==)bxxz=switch(bxxz){case:whichbx=sinxwhichbx=zxbreakcase:whichbx=sanjiaowhichbx=sjbreakcase:whichbx=fangbowhichbx=fbbreakcase:whichbx=juchiwhichbx=jcbreak}bxdelay()clrscreen()dispchina()disppl(pl)dispvpp()disphslx(whichbx)dispxy()dispwave(whichbx)while(!bxadjust)EX=}voidint()interrupt频率选择{EX=bxdelay()ppif(pp==)pp=switch(pp){case:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakcase:pl=breakdefault:pl=break}bxdelay()plnum=((*pl)*)clcpl()disppl(plnum)while(!pladjust)EX=}

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/38

函数信号发生器的设计&#40;12864实现动态波形显示&#41;

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利