51单片机语音播报的超声波测距设计报告.doc

上传人:PIYPING 文档编号:10833403 上传时间:2021-06-06 格式:DOC 页数:32 大小:567KB
返回 下载 相关 举报
51单片机语音播报的超声波测距设计报告.doc_第1页
第1页 / 共32页
51单片机语音播报的超声波测距设计报告.doc_第2页
第2页 / 共32页
51单片机语音播报的超声波测距设计报告.doc_第3页
第3页 / 共32页
51单片机语音播报的超声波测距设计报告.doc_第4页
第4页 / 共32页
51单片机语音播报的超声波测距设计报告.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《51单片机语音播报的超声波测距设计报告.doc》由会员分享,可在线阅读,更多相关《51单片机语音播报的超声波测距设计报告.doc(32页珍藏版)》请在三一文库上搜索。

1、安徽工业大学大学生电子设计竞赛具有实时语音播报的超声波测距测速仪(C题)设计报告书2011年7月31日具有实时语音播报的超声波测距测速仪摘要:随着科学技术的快速发展,超声波将在科学技术中的应用越来越广。本设计对超声波传感器测距的可能性进行了理论分析,利用单片机以及超声波在介质的传播特性等知识,采用ISD4004作为语音播报,在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。为了保证超声波测距模块的可靠性和稳定性,其本身采取了相应的抗干扰措施。该测距仪最大测量距离是3.5m,最小测量距离是3cm,精确度是3cm。这套系统软硬件设计合理、抗干扰能力强且实时性良好,经过系统扩展和

2、升级,可以广泛应用于工业生产、医学检查、日常生活、无人驾驶汽车、自动作业现场的自动引导小车及机器人等。关键词:超声波测距、单片机;、语音播报。目 录第一章 前言4第二章 总体方案设计62.1 方案比较62.2 方案论证72.3 方案选择11第三章 单元模块设计123.1实时语音播报的超声波测距测速仪电路总体设计方案133.2 实时语音播报的超声波测距测速仪电路各部分模块的设计93.2.1 超声波发射接收电路的设计123.2.2 语音播报模块设计183.2.3 显示模块的设计22第四章 系统软件设计4.1 系统程序流程图4.2 1602显示子程序4.3 ISD4004录音子程序4.4 超声波子程

3、序.4.5数据处理子程序.第五章 测试32第一章 前言题目要求具有实时语音播报的超声波测距测速仪(C题)一、任务设计并制作一台具有实时语音播报的超声波测距测速仪,被测物为一块面积不大于30cmX20cm的实物(可以和小车装在一起)。测距测速仪用4节干电池供电。二、要求1基本要求(1)具有超声波测距功能,测量距离0.2m3.0m,测距精度1cm;(2)自动语音实时播报测量距离数值,格式:几点几几米;实时播报时间间隔10s;实时播报声音清晰明亮、无明显失真,在1米距离处人耳能准确分辨。(3)实时显示测量的距离,显示要与语音播报同步,显示格式为:X.XX m。2发挥部分(1)测量距离:0.2m20.

4、0m,测距精度:0.3cm,并实时播报与显示。(2)汉字提醒显示:距离在0.2m2.0m,显示“危险距离”并用红色LED灯指示;距离在2.0m3.0m,显示“保持距离”并用黄色LED灯指示;距离在3.0m以上, 显示“安全距离”并用绿色LED灯指示。(3)具有测速功能,实时播报与显示被测物运动速度,测量精度:5%。(4)其他特色与创新。三、评分标准项 目得 分基本要求设计与总结报告50实际制作完成情况50发挥部分完成第(1)项15完成第(2)项15完成第(3)项15完成第(4)项5四、说明在测试过程中,10分钟内不准更换电池。第二章 总体方案设计系统框图2.1 方案比较凌阳单片机具有出色的语音

5、功能可以做为首选单片机,用凌阳单片机可以省略语音播报模块可以直接实现实时播报,但凌阳单片机价格相对比较高,只是实现简单的语音播报超声波测出的距离用51足够,用凌阳有点大材小用,而且51单片机相对比较简单,使用方便,因此选择以51单片机为核心,使用语音芯片做为语音播报的具有实时语音播报的超声波测距测速仪。2.2方案论证AT89C系列单片机是Atmel公司生产的一款标准型单片机。其管脚图如图2.3所示。 图2.3 AT89C52单片机管脚图AT89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Mem

6、ory)的低电压,高性能CMOS 8位微处理器,俗称单片机。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。P3口也可作为AT89C51的一些特殊功能口,如下所示:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外

7、部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,

8、则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。用超声波模块DYP-ME007测距 DYP-ME007超声波测距模块可提供3cm-3.5m的非接触式距离感测功能,给控制口发一个10US以上的高电平,就可以在接收口等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可

9、算出距离。如此不断的周期测,就可以达到你移动测量的值了。1602显示实时测距显示工业字符型液晶,能够同时显示16x02即32个字符,1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。ISD4004可以播报实时距离

10、 ISD4004 系列工作电压3V,单片录放时间8 至16 分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS 技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI 或Microwire)送入。芯片采用多电平直接模拟量存储技术, 每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。采样频率可为 4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,而音质则有

11、所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100 年(典型值),反复录音10 万次。2.3方案选择由单片机STC89C52编程产生10US以上的高电平,由P1.0口输出,就可以在接收口P3.2(Echo引脚)等待高电平输出。一旦有高电平出处,即在模块中经过放大电路,驱动超声波发射探头发射超声波。发射出去的超声波经障碍物反射回来后,由超声波接收头接收到信号,通过接收电路的检波放大、积分整形及一系列处理,接收口P3.2口即变为低电平,读取单片机中定时器的值。单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并由单片机控制显示出来。该测距装置是由超声波模块、单片

12、机、语音播报和1602显示电路组成。传感器输入端与发射接收电路组成超声波测距模块,模块的输出输入端与单片机相连接,单片机的输出端与显示电路输入端相连接第三章 单元模块设计3.1实时语音播报的超声波测距测速仪电路总体设计方案3.2实时语音播报的超声波测距测速仪电路各部分模块的设计3.2.1 超声波发射接收电路的设计 DYP-ME007超声波模块电气参数DYP-ME007超声波模块工作电压DC 5V工作电流15mA工作频率40Hz最远射程3.5m最近射程3cm输入触发信号10uS的TTL脉冲输出回响信号输出TTL电平信号,与射程成比例规格尺寸45*20*15mm本测距模块使用的是压电式超声波发生器

13、探头,压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构如图2-3所示,它有两个压电陶瓷晶片和一个金属片共振板。当它的两极外加脉冲信号,其频率等于压电陶瓷晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当金属片共振板接收到超声波 时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 图3.2.1.1 压电式超声波发生器超声波测距模块的发射端在T0时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。计算时间差,即可得到超声波在媒

14、介中传播的时间t,由此便可计算出距离。 限制该系统的最大可测距离存在四个因素:超声波的幅度、反射物的质地、反射和入射声波之间的夹角以及接收装置的灵敏度。接收装置对声波脉冲的直接接收能力将决定最小可测距离。发射电路的设计由模块中产生的40kHz的方波需要进行放大,才能驱动超声波传感器发射超声波,发射驱动电路其实就是一个信号放大电路,本模块所选用的是74HC04集成芯片,图3.2.1.2为发射电路图。图3.2.1.2 发射电路74HC04内部集成了六个反向器,同时具有放大的功能。74HC04的管脚如图3.2.1.3所示。图3.2.1.3 74HC04管脚图接收电路的设计超声波接收头接收到超声波后,

15、转换为电信号,此时的信号比较弱,必需经过放大。本系统采用了LM741对接收到的信号进行放大,接收电路如图3.2.1.4所示。图3.2.1.4 接收电路超声波探头接收到超声波后,通过声电转换,产生一正弦信号,其频率为传感器的中心频率,即40kHz。该信号通过C1高通滤波后经LM741放大,最后经二极管整形后输出到单片机中断口。LM741是一单运放集成芯片,图3.2.1.5为LM741管脚图。图3.2.1.5 LM741管脚图其板上接线方式为,VCC、trig(控制端)、 echo(接收端)、 out(空脚)、 GND 使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输

16、出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。如此不断的周期测,就可以达到移动测量的值了。 图3.2.1.6 超声波测距模块外观图3.2.2 语音播报模块设计ISD4004电路图ISD4004详解电源:(VCCA,VCCD) 为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。 地线:(VSSA,VSSD) 芯片内部的模拟和数字电路也使用不同的地线。 同相模拟输入(ANA IN+) 这是录音信号的同相输入端。输入放大器

17、可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3K电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mV,为ISD33000 系列相同。 反相模拟输入(ANA IN-) 差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV 音频输出(AUD OUT) 提供音频输出,可驱动5K的负载。 片选(SS) 此端为低,即向该ISD4004 芯片发送指令,两条指令之间为高电平。 串行输入(MOSI) 此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD 输入。 串行输出(

18、MISO) ISD 的串行输出端。ISD 未选中时,本端呈高阻态。 串行时钟(SCLK) ISD 的时钟输入端,由主控制器产生,用于同步MOSI 和MISO 的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。 中断(/INT) 本端为漏极开路输出。ISD 在任何操作(包括快进)中检测到EOM 或OVF 时,本端变低并保持。中断状态在下一个SPI 周期开始时清除。中断状态也可用RINT 指令读取。OVF 标志-指示ISD的录、放操作已到达存储器的未尾。EOM 标志-只在放音中检测到内部的EOM 标志时,此状态位才置1。 行地址时钟(RAC) 漏极开路输出。每个RAC 周期表示IS

19、D 存储器的操作进行了一行(ISD4004 系列中的 存贮器共2400 行)。该信号175ms 保持高电平,低电平为25ms。快进模式下,RAC 的218.75s 是高电平,31.25s 为低电平。该端可用于存储管理技术。 外部时钟(XCLK) 本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在 +1%内。商业级芯片在整个温度和电压范围内, 频率变化在+2.25%内。工业级芯片在整个温度和电压范围内,频率变化在-6/+4%内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟(如前表所列)。由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关

20、紧要,因内部首先进行了分频。在不外接地时钟时,此端必须接地。 自动静噪(AMCAP) 当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。通常本端对地接1mF 的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6dB。1mF 的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA 则禁止自动静噪。ISD4004 工作于SPI 串行接口。SPI 协议是一个同步串行数据传输协议,协议假定微控制器的SPI 移位寄存器在SCLK 的下降沿动作

21、,因此对ISD4004 而言,在时钟止升沿锁存MOSI 引脚的数据,在下降沿将数据送至MISO 引脚。用户不必知道信息的确切地址,就能快进跳过一条信息。信息快进只用于放音模式。放音速度是正 常的1600 倍,遇到EOM 后停止,然后内部地址计数器加1,指向下条信息的开始处。ISD4004操作流程主程序 功能:1.录音时,按住AN键,LED点亮开始录音,松开AN即可停止录音 再次按下AN键,LED点亮开始录第二段音,依次类推,直到芯片溢出。 按stop键芯片复位 2.放音时,按一下AN键,即播放一段语音。 按stop键芯片复位3.2.3 显示模块的设计1602显示电路引脚符号功能说明1VSS一般

22、接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0低4位三态、 双向数据总线 0位(最低位)8DB1低4位三态、 双向数据总线 1位9DB2低4位三态、 双向数据总线 2位10DB3低4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4

23、位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光 电源负极寄存器选择控制表 RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据写操作时序和读操作时序 第四章 系统软件设计4.1系统软件设计流程图:4.2 CD1602显示子程序/判忙bit LCD_Check_Busy(void)DataPort = 0xFF;RS=0

24、;RW=1;EN=0;_nop_();EN=1;return(bit)(DataPort&0x80);/写命令void LCD_Write_Com(unsigned char com)while(LCD_Check_Busy();RS=0;RW=0;EN=1;DataPort=com;_nop_();EN=0;/写入数据void LCD_Write_Data(unsigned char Data)RS=1;RW=0;EN=1;DataPort=Data;_nop_();EN=0;/清屏void LCD_Clear(void)LCD_Write_Com(0x01);delayms(5);/写入字

25、符串void LCD_Write_String(unsigned char x, unsigned char y, unsigned char *s)if(y=0)LCD_Write_Com(0x80+x);elseLCD_Write_Com(0xC0+x);while(*s)LCD_Write_Data(*s);s+;/写入单字符void LCD_Write_Char(unsigned char x, unsigned char y, unsigned char Data)if(y=0)LCD_Write_Com(0x80+x);elseLCD_Write_Com(0xC0+x);LCD_W

26、rite_Data(Data);/初始屏幕void LCD_Init(void) CD_Write_Com(0x38);delayms(5);LCD_Write_Com(0x38);delayms(5);LCD_Write_Com(0x38);delayms(5);LCD_Write_Com(0x38);LCD_Write_Com(0x08);LCD_Write_Com(0x01);LCD_Write_Com(0x06);delayms(5);LCD_Write_Com(0x0C);4.3 ISD4004录音子程序该程序用于录音,通过修改DZ,改变ISD4004地址进行录音,由于数组个数限制,

27、我们使用10个一起录,后修改地址进行void play(uint addr2) uint y;SS=0;MOSI=0;/发送开始SCLK=0;for(y=0;yy)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();_nop_();/发送结束SS=1;/上电结束delayus(6000);SS=0;MOSI=0;/发送地址SCLK=0;for(y=0;yy)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();_nop_();S

28、CLK=1;_nop_();_nop_();_nop_();_nop_();/发送地址结束MOSI=0;/放音SCLK=0;for(y=0;yy)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();_nop_();SS=1;SS=0;MOSI=0;/放音SCLK=0;for(y=0;yy)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();_nop_

29、();SS=1; void rec(uint addr1) uint y;SS=0;MOSI=0;/发送开始SCLK=0;for(y=0;yy)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();_nop_();/发送结束SS=1;/上电结束delayus(6000);SS=0;MOSI=0;/发送开始SCLK=0;for(y=0;yy)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();_nop_();SCLK=1;_nop

30、_();_nop_();_nop_();_nop_();/发送结束SS=1;/上电结束delayus(6000);delayus(6000);SS=0;MOSI=0;/发送地址SCLK=0;for(y=0;yy)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();_nop_();/发送地址结束MOSI=0;SCLK=0;for(y=0;yy)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();_nop_();SCLK=1;_n

31、op_();_nop_();_nop_();_nop_();SS=1;SS=0;MOSI=0;SCLK=0;for(y=0;yy)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();_nop_();SS=1; void stop() uchar y;SS=1;SS=0;MOSI=0;/放音SCLK=0;for(y=0;yy)&0x01)MOSI=1;else MOSI=0;_nop_();_nop_();_nop_();_nop_();SCLK=1;_nop_();_no

32、p_();_nop_();_nop_();SS=1;录音主程序:void main() i=0; P1=0xff; P2=0XFF; P3=0XFF;while(1) if(K1=0) delayus(1200);while(K1=0);LED1=0; LED2=1; addr1=DZi; rec(addr1);i+;if(i=10) i=0; P1=0XFF; if(K2=0) delayus(1200); while(K2=0); LED1=1; LED2=0; addr2=0X36; play( addr2); P1=0XFF; if(K3=0) delayus(1200); while

33、(K3=0); LED1=1; LED2=1; stop(); P1=0XFF; 程序录音所用地址如下地址 录音0x00 00x03 10x06 20x09 30x0c 40x0f 50x12 60x15 70x18 8 0x1b 90x1e 点0x36 欢迎使用0x40 危险距离Ox4a 保持距离0x54 安全距离4.4 超声波子程序void main(void) / 主程序 ulong distance_data;ulong temp;float num; char display16; Tx=0; /首先拉低脉冲输入引脚 TMOD=0x11; /定时器0,定时器1,16位工作方式 TR0

34、=1; /启动定时器0 IT0=0; /下降沿触发外部中断 ET0=1; /打开定时器0中断 EX0=0; /关闭外部中断 EA=1; /打开总中断0 while(1) /程序循环 EA=0; Tx=1; delayus(80); Tx=0; /产生一个20us的脉冲,在Tx引脚 while(Rx=0); /等待Rx回波引脚变高电平 succeed_flag=0; /清测量成功标志 EX0=1; /打开外部中断 TH1=0; /定时器1清零 TL1=0; /定时器1清零 TF1=0; / TR1=1; /启动定时器1 EA=1; while(TH1 255);/等待测量的结果,周期65.535

35、毫秒(可用中断实现) TR1=0; /关闭定时器1 EX0=0; /关闭外部中断 if(succeed_flag=1) distance_data=outcomeH; /测量结果的高8位 distance_data=8; /放入16位的高8位 distance_data=distance_data|outcomeL;/与低8位合并成为16位结果数据 distance_data*=12; distance_data/=58; temp=distance_data; else if(succeed_flag=0) distance_data=0;temp=distance_data; /没有回波则

36、清零 /* /外部中断0,用做判断回波电平 INTO_() interrupt 0 / 外部中断是0号 outcomeH =TH1; /取出定时器的值 outcomeL =TL1; /取出定时器的值 succeed_flag=1; /至成功测量的标志 EX0=0; /关闭外部中断 /* /定时器0中断,用做显示 timer0() interrupt 1 / 定时器0中断是1号 TH0=(65536-20000)/256; TL0=(65536-20000)%256; 4.5数据处理子程序void panduan(unsigned long temp) if(0temp & temp1000)L

37、CD_Write_String(0,0,wei xian);LED0=0;LED1=1;LED2=1; if(temp=1000)LCD_Write_String(0,0,wei xian);LED0=0;LED1=1;LED2=1;LCD_Clear();if(1000temp & temp2000)LCD_Write_String(0,0, an quan);LED0=1;LED1=1;LED2=0;void baoshu(unsigned long y) if(y=1000)play(DZ1y/1000);/个位delayss();play(0x1e);/点delayss();play(DZ1(y%1000)/100);/十分位delayss();play(DZ1(y%1000)%100)/10);/百分位delayss();play(DZ1(y%1000)%100)%10);/千分位 delayss();play(0x33);delayss();stop();else if(y=100 & y1000)play(0x00);/0delayss(); play(0x1e);/点delayss();play(DZ1y/100);/十分位delayss();play(DZ1(y%100)/10);/百分位delayss();play(DZ1(y%100)%10);/千分位

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1