基于单片机的波形发生器毕业论文.doc

上传人:仙人指路1688 文档编号:3940094 上传时间:2023-03-28 格式:DOC 页数:23 大小:586KB
返回 下载 相关 举报
基于单片机的波形发生器毕业论文.doc_第1页
第1页 / 共23页
基于单片机的波形发生器毕业论文.doc_第2页
第2页 / 共23页
基于单片机的波形发生器毕业论文.doc_第3页
第3页 / 共23页
基于单片机的波形发生器毕业论文.doc_第4页
第4页 / 共23页
基于单片机的波形发生器毕业论文.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《基于单片机的波形发生器毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的波形发生器毕业论文.doc(23页珍藏版)》请在三一办公上搜索。

1、编号: 课程设计说明书(信息系统综合实训) 题 目: 基于单片机的波形发生器 院 (系): 信息与通信学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 2015 年 12 月 29 日摘 要波形发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振

2、荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。在21世纪的今天,信号发生器已经广泛地应用于雷达应用,通信系统的仿真与测试等国防、科研和工业领域。而随着社会的不断进步和科研的不断深入,对信号发生器的波形可编程性、波形的精度与稳定性等性能提出了更高的要求。基于DSP的信号发生器正是以其编程的高度灵活性,波形的高精度与高稳定性等特点而脱颖而出,具有极大的应用价值和广泛的应用前景。 本次课设主要是设计一个正弦波信号源发生器,通过信号源产生的正弦波作为基本信号可以产生其他的诸如方波,锯齿波等信号,本信号源主要器件由单

3、片机AT89C52,AD转换器AD9850,以及液晶显示屏LED1602,通过keil软件将程序写进单片机,当有按键按动,AT89C52单片机就将4*4按键扫描到的信号传送到AT89C52,在单片机程序控制下将信号输入到LCD液晶显示,同时送到AD9850,经AD9850转换成正弦信号,然后输出该正弦波。并将输出的正弦波的频率显示在LCD显示器上面。关键词:波形发生器;单片机;正弦波;AD9850;AT89C52目 录引 言11 目的与要求21.1 设计目的21.2 设计要求22 方案讨论与选择23 设计原理33.1 总设计框图33.2 AD9850工作框图33.3 AT89C52工作框图43

4、.4 具体工作原理44 系统的具体设计54.1 按键扫描部分54.2 正弦信号生成电路部分54.2.1 AD9805芯片工作原理54.2.2 AD9850与单片机的具体连接74.3 液晶显示部分85 波形发生器仿真结果106 结论11谢 辞12参考文献13附 录14附录1 原理图和PCB图14附录2 实物图15附录3 主要程序代码16引 言随着电子测量以及很多部门对各种信号发生器的广泛需要以及电子技术的快速发展,促使信号发生器性能提高,种类增多。尤其随着70年代微处理器的崭露头角,更促使信号发生器向着智能化、自动化方向发展。现在,微处理器运用在许多信号发生器上,因而这些信号发生器具备了自校、自

5、检、诊断自动故障和形成自动波形和修正等功能,能够和控制计算机以及其他的测量仪器方便的一起构成自动测试系统。当前信号发生器总的发展是向着低功耗、高频率精度、宽频率覆盖、多功能、智能化和自动化方向发展。在工程教育,科学研究及生产实践中,如教学实验、工业过程控制、材料试验、动态分析、生物医学、机械振动试验等领域,信号发生器常常会有用武之地。而在我们一些科学研究中,以及日常生活中,方波和正弦波、矩形波信号是常用的基本测试信号。比如在电视机、示波器等仪器中,为了利用荧光屏显示图像,让电子能够按照一定得规律运动,常用到方波产生器作为时基电路。信号发生器作为一种通用的电子设备,在科研、测控、通讯生产等领域都

6、得到了非常广泛的运用。但市面上能看到的信号发生器在带宽、波形种类、频率精度及程控方面 都已经不能够满足许多方面实际应用的各种要求。加之各类功能的半导体集成芯片的迅速发展,使我们研制一种宽频带、功耗低,能产生多种波形并具有程控等低频的信号发生器成为迫切的需求。本文主要介绍采用直接数字频率合成的正弦波信号源发生器的设计与功能实现,本单片机课设采用AT89C52为核心器件,采用AD9850转换器实现将数字信号转换为正弦波信号,并且在液晶显示板上面显示通过4*4的16位键盘写入的正弦波数字信号的频率,本次课设由于采用数字频率合成的方法,有着操作简单的特点。可通过运用直接数字频率合成的技术实现调节频率与

7、步进的功能,本课程通过将预先编写好的软件程序写入单片机,然后该单片机在程序的作用下就可以完成我们预先设入的功能。1 目的与要求1.1 设计目的本次课程设计的目的是使学生进一步深入理解单片机的结构、工作原理和应用技术,提高单片机控制系统设计、研发的能力;根据老师提供的课设题目,运用以前学到的单片机知识来设计一个正弦波信号源发生器,使其具备信号源的一些基本要求,完成正弦波的输出,本次课设不仅考察了学生对书本知识的理解,也进一步考察了学生的实际动手能力,培养学生一定的自学能力和独立分析问题、解决问题的能力,要求学生能通过独立思考、查阅工具书、参考文献,提出自己的设计方案,找出设计中遇到问题的解决途径

8、。1.2 设计要求要求一:可通过4*4键盘完成1-20Mhz频率的正弦波输出。要求二:要通过显示屏显示通过键盘设定的频率。要求三:可以实现频率1000HZ步进。2 方案讨论与选择根据题目的要求,有如下方案可供选择:方案一:直接模拟频率合成技术相干合成方法是用一个晶体参考频率源,然后经过分频、混频和倍频来得到各种频率信号,输出频率的稳定度和精度与参考频率相同;非相干合成方法是用多个晶体参考频率源,然后把这些参考频率信号经过加减乘除来得到各种频率信号。直接模拟频率合成技术简单易行、频率转换时间短、相位噪音低,但因采用了大量的分频、混频、倍频和滤波等模拟元件,使合成器的体积大、易产生误差分量、元件的

9、非线性难以得到抑制。因此我们放弃这一方案。方案二:基于锁相环(PLL)的频率合成技术锁相环主要由鉴相器、低通滤波器和压控振荡器组成;鉴相器通过比较压控振荡器的输出信号和参考信号而产生相位控制信号,再经过低通滤波器后就直接去控制压控振荡器的输出,然后采用频率选择开关通过改变分频比来控制压控振荡器的输出信号频率。若在锁相环中插入数字分频器和数字鉴相器,即成为数字锁相环;数字锁相频率合成技术是目前的主流技术。因为锁相环相当于窄带跟踪滤波器,所以PLL频率合成技术能够很好选择频率、抑制误差分量和大量使用滤波器,有利于集成化,而且频率的长期和短期稳定性都很好。但是PLL有惰性,频率分辨率和频率转换时间相

10、互矛盾;频率转换时间较长;压控振荡器引起的噪音也较大。因此我们放弃这一方案。方案三:DDS(直接数字合成)技术采用数字化技术,通过控制相位的变化速度来直接产生各种频率的信号。在带宽、频率分辨率、频率转换时间、相位连续性(相位变化连续)、调制输出(对输出信号易实现多种调制)和集成化等方面,都远远超过传统的频率合成技术。但是DDS技术把幅度和相位信息也都用数字量表示,故将会产生量化精度和量化噪音,从而造成输出信号的幅度失真和相位失真,使得DDS的输出信号误差较大(误差频率多);同时DDS的输出信号频带有限(为了有效分开输出频率和镜像频率,最高频率应该0.5fs,更高的fs要求器件的工作频率更高),

11、这是限制DDS技术发展的主要问题之一。然而,由于DDS是全数字化结构,易于集成、功耗低、体积小、重量轻、可靠性高、易于程控、使用灵活,性价比很高,故广为采用。综合考虑,我们选择方案三。3 设计原理本课设通过4*4按键的将正弦波的频率的大小输入进去,经单片机P3口对数据进行读取,然后在时钟控制(本课设采用12M晶振)和写入单片机的程序的前提下进行工作,利用单片机将扫描到的信号送到1602液晶显示屏和AD9850,并在显示屏上显示输入的信息也就是我们要输出的正弦信号的频率,同时在AD9850的工作下将输入的数字信号转化为正弦波信号并且输出。3.1 总设计框图图3.1总流程图3.2 AD9850工作

12、框图如图为AD9850的流程图,这里有AD9850的工作方法以及芯片是如何将输入的控制信号转如何换成正弦波并进行输出的。(注明:由于本课设要求的是设计正弦波信号发生器,所以只用到了AD9850的正弦波输出功能。)图3.2 AD9850工作流程图3.3 AT89C52工作框图图3.3 AT89C52工作流程图3.4 具体工作原理当接入电源时AT89C52单片机就开始对4*4按键进行扫描,先逐行,再逐列,当有按键输入时,单片机将输入的信号通过P3口进行读取,然后通过P1口将数据送到LCD液晶显示屏上面显示,同时单片机将扫到的数据通过单片机的P0并行口送到AD9850,由于AD9850可以用8位并行

13、口或串行口直接输入频率,故将AT89C52单片机的P0口与AD9850的D0D7数据写入口相连,考虑到AT89C52可能无法驱动AD9850工作,所以在单片机与AD9850之间加入了阻值为10K的排阻,便于AD9850的驱动,AD9850可以产生频谱纯净、频率和相位都可编程控制的模拟正弦波输出,AT89C52何时将单片机扫描到的数据读取到P3.0P3.7,这些都是在写入到单片机里面的程序里面设置好的。本课设在编程时由于没有编写输出方波的程序,因此本课设单片机信号发生器只能产生120MHz的正弦波,而且只能调节频率的大小,但是本课设在编程时加入了可以调节步进的程序,在操作时可以观察到该步进为10

14、00Hz,在AD9850的作用下将输入的信号转换为正弦波信号输出。4 系统的具体设计4.1 按键扫描部分通过4*4共16个按键构成本单片机课设的输入部分。本课设按键扫描部分采用先逐行后逐列的扫描方式对按键进行扫描,扫描周期在烧录进入单片机的程序中已经进行好了设置,也可以根据自己的需要对扫描周期进行更改,该扫描电路在单片机通电的时候就开始进行扫描,并且一直扫描,当有按键按下就会改变扫描电路中的电流,AT89C52单片机的CPU就会控制P3口对输入的数据也就是按下的键进行读取,并将读取的数据送到CPU。这样就完成了单片机的扫描电路工作原理。电路连接如下所示。图4.1 按键与单片机连接管脚图4.2

15、正弦信号生成电路部分4.2.1 AD9805芯片工作原理AD9850可产生一个频谱纯净、频率和相位都可编程控制的模拟正弦波输出。此正弦波可以直接作为信号源输出或者送入AD9850的高速比较器从而得到方波输出。AD9850接口控制简单,可以用8位并行口或串行口直接输入频率、相位等控制数据。32位频率控制字,在125MHz时钟下,输出频率分辨率为0.029Hz,频率范围为0.1Hz40MHz,幅值范围为0.21V。其引脚排列如下图所示,各引脚定义如下:D0D7(4-1,28-25):控制字并行输入,给内部寄存器装入40位控制数据,其中D7可做串行输入DGND(5、24):数字地DVDD(6、23)

16、:为内部数字电路提供电源(3.3V或5V)W-CLK(7):控制字装入时钟,用于加载并行/串行的频率/相位控制字,上升沿有效FQ-UD(8):频率更新控制信号,时钟上升沿确认输入数据有效FREFCLOCK(9):外参考时钟(有源晶振)输入,最高125MHzAGND(10、19):模拟地AVDD(11、18):为内部模拟电路提供电源(5V),可与数字电源共用Rset(12):外接电阻,决定器件输出电流大小,典型值为3.9KQOUT(13):内部比较器正向输出端(方波)QOUT(14):内部比较器反向输出端(方波)VINN(15):内部比较器的负向输入端VINP(16):内部比较器的正向输入端DA

17、CBL(17):内部DAC外接参考电压端,可悬空IOUTB(20):“互补”DAC输出IOUT(21):内部DAC输出,正向电流输出端,一般用电阻接地以转换为正弦电压RESET(22):复位端可编程DDS系统的核心是相位累加器,它由一个加法器和一个N位相位寄存器组成,N一般位2432。每来一个外部参考时钟,相位寄存器便以步长M递加。相位寄存器的输出与相位控制字相加后可输入到正弦查询表地址上。正弦查询表包含一个正弦波周期的数字幅度信息,每一个地址对应正弦波中0360范围的一个相位点。查询表把输入地址的相位信息映射成正弦波幅度信号,然后驱动数模转换器(DAC)以输出模拟量。图4.2 AD9850管

18、脚图AD9850有40位控制字,32位用于频率控制,5位用于相位控制,1位用于电源休眠,2位用于选择工作方式。这40位控制字可通过并行或串行方式输入到AD9850。在并行装入方式中,通过8位总线D0-D7可将数据输入到寄存器。在W-CLK的上升沿装入8位数据,并把指针指向下一个输入寄存器,在重复5次之后,再在FQ-UD上升沿把40位数据从输入寄存器装入到频率/相位数据寄存器(更新DDS输出频率和相位),同时把地址指针复位到第一个输入寄存器。连续5个W-CLK上升沿后,W-CLK的边沿就不再起作用,直到复位信号或FQ-UD上升沿把地址指针复位到第一个寄存器。AD9850默认复位为并行置入方式,所

19、以要采用串行配置必须先进行切换。即在并行方式下写入一个字节的控制字W0后,利用FQ_UD脉冲更新使其生效即可。AD9850并串配置切换硬件连接方法是:使D2=0,D1=D0=1,这样在AD9850每次上电或系统复位时的配置方式皆为串行方式。注意:串行连接时,先送频率字最低字节,再送频率最高字节,最后送相位控制字(每个字节中先低位后高位);并行连接时,先送相位控制字,再送频率最高字节,最后送频率最低字节。使用中注意:RESET决定了器件输出端的电流大小,推荐连3.9K电阻到地;VINP、VINN分别是片内比较器的正向输入端和反相输入端,VINP接IOUT输出的正弦信号,可用于将输出的正弦波转换为

20、方波;IOUT通常接200欧电阻到地以转换为正弦电压输出,IOUTB为互补输出;QOUT为方波输出,QOUTB为方波反相输出,悬空。IOUTB引脚是IOUT引脚的互补输出端,它可输出与IOUT引脚相同的电流,在电路设计是,应在IOUT引脚外接电阻,一边输出正弦波电压。该电压可作为AD9850内部告诉比较器同相端的输入信号,并通过其外围电路的设计,将比较器的阈值电压取为信号幅度的一半,从而使得AD9850输出占空比为50%的方波信号。4.2.2 AD9850与单片机的具体连接AT89C52的CPU将读取到的扫描电路部分信号通过单片机的P0口进行输出,将信号传输到AD9850芯片里面,通过AD98

21、52芯片将直流信号转换成为具有正弦特性的信号,考虑到可能不足以驱动AD9850芯片进行工作,所以在他们两者之间连接一个10K的排阻,这样可以确保芯片AD9850可以正常的工作。下图即为AD9850与AT89C52单片机的连线图。图4.3 单片机与AD9850管脚连接图4.3 液晶显示部分显示器是人机交换的主要部分,它可以将测量电路测得的数据经过CPU处理后直观的显示出来。数据显示有两种方案:LED(全称:Light Emitting Diode)数码显示和LCD(全称:Liquid Crystal Display)液晶显示。LCD液晶显示器是一种极低功耗显示器,从电子表到计算器,从袖珍仪表到便

22、携式微型计算机以及一些文字处理机都用到了液晶显示器。LCD液晶显示具有显示质量高,数字式接口,体积小,重量轻,功耗低等优点。因此,本次设计选择了LCD液晶显示器。这里我们采用 LCD1602液晶显示器,主要用于显示数字、专用符。由于液晶显示器一般都是已经制作好的成品,这里只是应用它来显示字符和专有单位符号,所以只需知道他的编程指令以及注意连接方式即可。表4.1 1602液晶显示屏指令说明AT89C52将从扫描电路扫描到的信号通过单片机的P1口将信号输出到LED1602液晶显示屏上面,液晶显示电路部分主要的是如何进行软件编程来达到实现显示的目的,在上面LED1602芯片部分我们讲解了编程时需要的

23、指令。关于编程部分显示字符的程序代码在附录三源代码里面介绍。下图是液晶与单片机的电路管脚连接部分。图4.4 液晶连接管脚 5 波形发生器仿真结果按照总体电路图在仿真软件上一一选择芯片并进行连接,把程序代码下入单片机,然后启动开关观察。我们对设计出的电路进行仿真。将各部分电路在Proteus上连接好后,为各个电阻和电容选取适当值,为各个开关设置好适当的键盘打开数值,然后打开开关,即可根据显示器上显示的数字来判断电路设计以及程序编写是否成功。下图即为仿真图。图5.1 仿真图6 结论经过这半个多月的努力,在老师和同学的帮助下终于彻底的做完了本课程设计的所有工作。通过这次课程设计,我能运用已学的知识解

24、决我在设计中遇到的问题,使自己的动手能力和思考问题的能力得到了很大的提高。在做设计的过程中我查阅了很多的资料,并认真的阅读这些与我的设计相关的资料,从而我的专业涵养得到了提高,知识的储备量也有所增加。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。电路设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,这才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在单元电路的理解和程序的设计编写上面。这次设计,让我受益匪浅。我对电路设计中的逻辑关系等有了更深的认

25、识,温习了以前学的知识,并学习了很多新知识,但在设计的过程中,也遇到了很多的问题,有一些知识都已经不太清楚了,不过通过查找一些资料所有的问题都解决了。通过这次设计我也发现自己的很多不足之处。在设计过程中我发现自己考虑问题很不全面,以至于经过多次修改才得到最终的结果,所掌握的电路应用软件还不够多,我希望自己的这些不足之处能在今后的学习和实践中得到改善。而且,通过这次设计,我懂得了学习的重要性,学会了坚持和努力,这将为以后的学习做出最好的榜样!谢 辞经过短暂的几周我最终完成了本次正弦波信号源发生器的设计,在本次课设里面我用到了数字电路还有单片机微型计算机与接口技术在课堂和实验课中讲到的很多内容,通

26、过自己动手实际设计电路连接电路,我认识到了自己所学的知识中还有很多问题,就是不能很好的应用自己的知识到实际电路连接与设计之中。感谢蒋老师,通过本次的课设设计让我了解了自己哪方面的不足,我将会以此为标准,在今后的学习生活中以此为鉴不断更正纠正自己,更好的和更全面的了解本专业所需要掌握和了解的知识与内容。同时也要感谢三年来不畏辛劳,勤勤恳恳为我讲授知识的各位老师,没有你们的辛勤指导,我是不可能掌握现在所学的知识,同时也要感谢你们对我学习中遇到的问题的解惑。让我离知识更进一步。最后还要感谢我的同学,感谢他们在日常生活和学习中对我提供的无私的帮助以及在学习上的解惑。还有在这次课程设计上对我提供的建议与

27、帮助,帮我更快更好地完成了本次实验的老师和同学。参考文献1 马杰,覃匡宇,陈基漓.C语言程序设计基础M.桂林:广西师范大学出版社,2012:116199.2 李群芳,肖看.单片微型计算机与接口技术M.北京:电子工业出版社,2012:101110.3 郭天祥.51单片机C语言教程M.北京:电子工业出版社,2009:124148.4 谭浩强.C程序设计M.北京:清华大学出版社,1991:110136.5 阎 石.数字电子技术基础M.北京:高等教育出版社,2007:507547.6 康华光.电子技术基础(数字部分)M.北京:高等教育出版社,2000:203239.7 韩 焱.数字电子技术M.北京:电

28、子工业出版社,2009:128142.8 王卫东,李旭琼.模拟电子技术基础M.北京:电子工业出版社,2010:290296.9 潘松,黄继业,潘明.EDA技术实用教程M.北京:科学出版社,2011:215218.10 彭介华.电子技术课程设计指导M.北京:高等教育出版社,1997:120134.附 录附录1 原理图和PCB图按照设计好的电路,在DXP软件中选择适当的元器件和正确的封装,找不到封装的可以自己动手制作并保存下来,以便以后使用。连接好原理图后就可导入PCB图了,然后就可制作PCB图了,在PCB图的制作过程中一定要仔细,千万不能有错的连线和漏掉的连线,下图为PCB原理图和工程图。图5.

29、1 PCB原理图图5.2 PCB工程图附录2 实物图图6.1 实物图附录3 主要程序代码#include#include#define uchar unsigned char#define uint unsigned intsbit rs=P00;sbit rw=P01;sbit e=P02; /1602控制sbit ad9850_w_clk =P03; /P2.2口接ad9850的w_clk脚/PIN7sbit ad9850_fq_up =P04; /P2.1口接ad9850的fq_up脚/PIN8sbit ad9850_rest =P06; /P2.0口接ad9850的rest脚/PIN1

30、2sbit ad9850_bit_data =P05; /P1.3口接ad9850的D7脚/PIN25sbit xwave =P21; /波形控制uchar wave=0,s=1,danwei=0;uchar fre9=1,0,0,0,.,0,0,0,0;uchar code dw4= HZ,KHZ,MHZ;void display(uchar x,uchar y,uchar cmd,uchar flag)uchar temp=0x00,i=0,temp1=0x00,cmd1=0x80+x%16+(y%2)*0x40; for(i=0;i=1; temp1=1; temp=temp|(cmd&

31、0x80); temp1=temp1|(cmd1&0x80); cmd=1; cmd1=1; cmd=temp; cmd1=temp1; busy();rw=0; if(flag=1)rs=0;e=1;P1=cmd;e=0; else rs=0; e=1; P1=cmd1; e=0; busy(); rw=0; rs=1; e=1; P1=cmd;e=0;void ad9850_reset_serial()ad9850_w_clk=0;ad9850_fq_up=0;/rest信号ad9850_rest=0;ad9850_rest=1;ad9850_rest=0;/w_clk信号ad9850_w

32、_clk=0;ad9850_w_clk=1;ad9850_w_clk=0;/fq_up信号ad9850_fq_up=0;ad9850_fq_up=1;ad9850_fq_up=0;void ad9850_wr_serial(double frequence)unsigned char i;long y;double x;/计算频率的HEX值x=4294967295/125;/适合125M晶振/如果时钟频率不为125MHZ,修改该处的频率值,单位MHz !frequence=frequence/1000000;frequence=frequence*x;y=frequence;/写w4数据for

33、(i=0;ii)&0x00000001);ad9850_w_clk=1;ad9850_w_clk=0;ad9850_fq_up=1;/移入始能ad9850_fq_up=0;void main()char ss=0xff,i,dian=0,weizhi=0;double free=1000.0;display(0,0,0x38,1);display(0,0,0x02,1);display(0,0,0x0c,1);display(0,0,0x06,1);display(0,0,0x01,1);ad9850_reset_serial();xwave=wave;displayxy(1,0,xx); d

34、isplayxy(1,1,fre); free=charchange(1,0,danwei); ad9850_wr_serial(free);while(1) if(ss!=14) ss=key(); while(ss=14) s=1;if(s=1) weizhi=0;display(0,1,z+4,0);display(0,0,0x0f,1); while(1)ss=key();if(ss=11)&(weizhi=0) free=charchange(1,0,danwei);if(free1000) free=free-1000.0;charchange(0,free,danwei);dis

35、playxy(1,1,fre); ad9850_wr_serial( free) ;displayxy(13,1,dwdanwei);display(0,1,z+4,0);display(0,0,0x0f,1);continue; if(ss=13)&(weizhi=0) free=charchange(1,0,danwei);ad9850_wr_serial( free) ;break; if(ss=15|ss=14) free=charchange(1,0,danwei);ad9850_wr_serial( free) ;break;else if(weizhi=0) danwei=0;d

36、ian=-1; i=0;while(i9)frei= ;i+;displayxy(1,1, );if(ss=0)freweizhi=ss+0;if(ss=10&dian!=-1) free=charchange(1,0,danwei);ad9850_wr_serial( free) ; break;if(ss=10&dian=-1) freweizhi =.;dian=weizhi; display(1+weizhi,1,freweizhi,0);/显示数字if(weizhi=7) display(0,1,z+4,0); if(ss=11)|(ss=12)|(ss=13)free=charchange(1,0,0);if(free=20000) danwei=0; if(free1) danwei=1;if(free=20) danwei=ss-11;free=charchange(1,0,danwei);ad9850_wr_serial(free) ;break; weizhi=(weizhi+1)%8; displayxy(13,1,dwdanwei); display(0,1, ,0);display(0,0,0x0C,1); 20

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号