版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-83- 1绪论 1.1选题意义该设计具有流水灯显示、数码显示、音乐发声等功能,能满足教学课程实验的基本设计,实验系统结构简单,实用性强。在传统的单片机实验教学中,由于实验箱电路固定,学生只能照抄照搬讲义内容进行电路插接,按照讲义上的实验步骤一步步完成规定的实验项目,却无法实现自己的一些新想法、新思路,进行实验验证,这严重挫伤了学生的学习主动性,束缚了学生的创新思维。现在,通过仿真实验,可以很好地弥补实际实验的不足,并且该题目对硬件与软件都有涉及,很明确软硬件知识课程学习对应用是非常重要的.通过对该题的深入研究不仅对学习单片机有用,而且对电子方面的教学也起到关键的作用。1.2要完成的任务首先设计实验系统各个模块的硬件电路,其次设计应用实验的软件程序,然后安装Proteus软件和Keil软件,在Proteus中绘制局部电路图,再绘制各个实验应用电路图。再在Keil中建立工程、编译程序、检查错误、链接程序、生产.hex文件。最后在Proteus中添加.hex文件,进行实验仿真,实现相应功能或现象、最后自学Dreamweaver,在Dreamweaver环境中搭建一个的本地站点,通过插入动画、图片、文字、音乐等内容,再利用编写代码、创建链接等知识做网页展示,实现实验系统。1.3单片机的性能特点单片机芯片作为控制系统的核心部件,除了具备通用微机CPU的数值计算功能外,还必须具有灵活、强大的控制功能,以便实时监测系统的输入量、控制系统的输出量,实现自动控制的目的。由于单片机主要面向工业控制,工作环境比较恶劣,加上高温、强电磁干扰,甚至还有腐蚀性气体;在太空工作的单片机控制系统,还必须具有抗辐射能力。因而,决定了单片机CPU与通用微机CPU具有不同的技术特征和发展方向,正由于它的实用性强,所以单片机在电类教学中的地位是相当重要的。(1)抗干扰性强.工作温度范围宽。通用微机CPU一般要求在室温下工作.抗干扰能力也较低。(2)可靠性高。(3)控制功能往往很强,数值计算能力较差。通用微机CPU具有很强的数值运算能力,但控制能力相对较弱。将通用微机用于工业控制时,一般需要增加一些专用的接口电路。(4)指令系统比通用微机系统简单。●80C51系列新一代8位单片机的主要特点:(1)普遍采用CMOS工艺,除了具有节电运行模式和掉电数据保护功能外,整机功耗比采用HMOS工艺的80C5l系列低。(2)片内存储器容量大,规格多,程序存储器类型也趋于多样化。该系列不同品种的片内程序存储器容量从4KB扩展到8KB、16KB,甚至32KB,数据存储器容量从128B扩展到512B。(3)最高时钟频率从12MHz提高到16MHz、24MHz、33MHz,甚至40MHz,指令执行时间大大缩短,增强了这些产品的实时处理能力。(4)工作电压低、范围宽(1.8V'、一6.0V),可用电池供电,便于野外作业使用。(5)扩展了接口电路功能,如:增加了高速I/O接口,扩展了I/O口引线数目。(6)部分型号增加了定时/计数器的个数,还扩展了定时/计数器的功能。(7)部分型号增加了定时复位功能,提高了抗干扰能力。(8)强化并且完善了串行通信功能。(9)封装形式多样化,同一型号的CPU,具有多种封装形式,如PDIP封装、CDIP封装、PLCC(方形壁插塑封)、CLCC(方形壁插陶瓷封装)、PQFP(塑料方形四边引线扁平封装),部分产品还采用了BGA(球形网格阵列)封装。1.3.1AT89系列单片机简介AT89系列单片机是美国Atmel公司的8位Flash单片机产品。这个系列单片机的最大特点是在片内含有Flash存储器,而其他方面和MCS.51没有太大的区别。该系列有着十分广泛的用途,特别是在便携式、省电和特殊信息保存的仪器和系统中显得更为突出。1.3.2AT89系列单片机的特点(1)内含有Flash存储器由于片内含有Flash存储器,因此在系统开发过程中可以十分容易地进行程序的修改。同时,在系统工作过程中,能有效地保存数据信息,即使外界电源损坏也不影响信息的保存。(2)和80C51插座兼容AT89系列单片机的引脚和MCS.51系列单片机的引脚是一样的。只要用相同引脚的AT89系列单片机就可以取代MCS.51系列单片机。(3)静态时钟方式AT89系列单片机采用静态时钟方式,节省电能,这对于降低便携式产品的功耗十分有用。1.3.3AT89S51单片机简介AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4KBytesISP(In-SystemProgramming)的可反复擦写1000次的Flash只读程序存储器,器件采用Atmel公司的高密度、非易失性存储技术制造,兼容标准MCS.51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和IspFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4KBytesFlash片内程序存储器,128Bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM、定时计数器、串行口、外部中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外部中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。●主要功能特性:(1)兼容MCS.51指令系统(2)4K可反复擦写(>1000次)IspFlashROM(3)32个双向I/O口(4)4.5V-5.5V工作电压(5)2个16位可编程定时/计数器(6)时钟频率0.33MHz(7)全双工UART串行中断口线(8)128×8Bit内部RAM(9)2个外部中断源(10)低功耗空闲和省电模式(11)中断唤醒省电模式(12)3级加密位(13)看门狗(Wdt)电路(14)软件设置空闲和省电功能(15)灵活的Isp字节和分页编程(16)双数据寄存器指针1.4仿真软件介绍1.4.1PROTEUS软件简介
Proteus软件是英国Labcenter
electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
1.4.2KEIL软件简介
Keil
C51是美国Keil
Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果使用C语言编程,那么Keil几乎就是不二之选。2硬件设计2.1实验系统设计方案单片机实验开发板是一个实际应用的系统,能够为相关的学生单片机实验提供支持。此实验板是参考单片机教材中的实验内容设计的,能够实现简单的测试实验。本设计包括硬件系统的详细设计及C语言在基本控制中的应用。本设计的任务主要分为硬件和软件两大部分,其主要硬件设计框图如图2.1所示:AT89S51晶振电路流水灯电路晶振电路流水灯电路数码管显示电路电路数码管显示电路电路复位电路液晶显示电路存储器扩展电路路液晶显示电路存储器扩展电路路发声电路4*4矩阵按钮电路发声电路4*4矩阵按钮电路DH11DH11温湿度传感器电路DS18B20温度传感器电路DS18B20温度传感器电路图2.1硬件框图此开发系统的主要内容包括:(1)单片机最小系统电路(MCU、复位电路、晶振电路)(2)蜂鸣器发声电路(3)按键电路(4)流水灯电路(5)LM106L液晶显示电路(7)存储器扩展电路(7)六段数码管显示电路(8)DS18B20温度传感器电路(9)DH11温湿度传感器电路2.2常用各功能模块介绍2.2.1晶振电路MCS-51片内有一个高增益的反相放大器,其输入端为引脚XTAL1和输出端为引脚为XTAL2,用于外接石英晶体振荡器和微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路,如图3-2所示。电容C1和C2对频率有微调作用,电容一般取20pF左右。晶体振荡频率范围是1.2MHz~12MHz,一般情况下,选用振荡频率为12MHz的石英晶体。振荡脉冲信号经过内部时钟发生器进行二分频之后,才成为单片机的时钟信号。
电路如图2.2所示图2.2晶振电路选取晶振为12MHZ,系统机器周期为1us。2.2.2复位电路复位是由外部的复位电路来实现的。复位引脚RST通过一个施密特触发器用来抑制噪声,然后才能得到内部复位操作所需要的信号。
本系统是采用上电自动复位,上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。电路如图2.3所示:图2.3复位电路2.2.34*4键盘按钮电路用来连接P2口与矩阵键盘模块,在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P2口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键),在需要的按键数较多时,采用矩阵法来做键盘是合理的。电路如图2.4所示:图2.4按钮电路2.2.4流水灯电路电路图如图2.5所示:图2.5流水灯电路流水灯模块包含8个LED灯,8个LED接8个上拉电阻到高电平,LED左侧接低电平点,LED亮。2.2.5发声电路本系统是采用蜂鸣器用来发出声音,由于在实际应用中,单片机输出的标准高电平为5伏,输出功率很有限,所以本系统中,理论联系实际,用一个PNP型三极管驱动蜂鸣器,由于三极管具有放大作用,在实际应用中,输出功率将会提高很多。电路如下图2.6所示:图2.6发生电路2.2.66位7段LED数码管显示电路图2.7LED数码管如图2.7所示ABCDEFG为7段LED的输入端口,DP为小数点,123456为片先信号,当1为高电平时则选中第一个数码管,2为高电平时则选中第二个数码管,以此类推。2.2.7LCD液晶显示电路液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
(1)液晶显示器的分类
液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple
Matrix)和主动矩阵驱动(Active
Matrix)三种。
(2)液晶显示器各种图形的显示原理
1)线段的显示
图
2-2-8
存储器扩展电路14
点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。
2)
字符的显示
用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
(3)
汉字的显示
汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
液晶显示电路如图2.8所示:图2.8液晶显示电路本系统显示是采用液晶显示器LM016L进行显示,
LM016L的功能、显示原
理以及使用方法将会在后文中介绍,P0口是一个地址/数据复用的双向I/O口,当使用P0口访问外部存储器和数据存储器时,P0口内部已有上拉电阻,当P0口作程序检验,输出指令字节时,必须外接上拉电阻。LM016L的控制信号RS、
RW、E分别接到单片机的P2.0、P2.1、P2.2。2.2.8程序存储器扩展电路本系统是采用了一个74LS373锁存器和一个27512程序存储器外部扩展组成,其主要的功能就是为了在外部扩展单片机内存,使它有足够的空间存放系统中的程序,而达到使它实现所要得到的功能和应用的领域,电路图如2.9所示:图2.9程序存储器扩展电路2.2.9DS18B20温度传感器电路图2.10温度传感器电路2.2.10DH11温湿度传感器电路图2.11温湿度传感器电路3开发系统的应用3.1LED数码管显示实验设计3.1.1硬件电路原理基于电路中C3﹑R1组成复位电路,它的作用是将单片机内部特殊的功能寄存器和端口寄存器恢复到原始状态,和计算机按下重启键的作用是同等的,目的是将所有的程序结束,使其恢复到初始状态。在此,C3﹑R1组成的是上电复位电路,在上电的瞬间是单片机恢复到初始状态,从内部FLASH存储器的初始状态开始执行,也就是从程序的0000H位置开始执行。EA接Vcc电源,目的是使程序从内部FLASH的程序开始执行,如果EA引脚接Vss(电源地),则不能先执行内部FLASH的程序,而先执行外外部存储器的程序,由程序调用才能访问内部FLASH。X1﹑C1﹑C2组成震荡电路,和内部的震荡电路共同构成单片机工作基准时钟电路。它含有单片机的数字电路系统的工作基准,为数字电路系统稳定的时钟信号。X1为晶振,它的标称频率越高,数字电路系统的工作频率也就越高。ABCDEFG为7段LED的输入端口,DP为小数点,123456为片先信号,当1为高电平时则选中第一个数码管,2为高电平时则选中第二个数码管,以此类推。利用51最小系统,然后用P1.0到P1.5的6个引脚输出片选信号,P2.0到P2.6的7个引脚输出数据。3.1.2软件程序设计LEDBUFEQU30H;为显示数据开辟内存单元ORG0000HLJMPMAINORG000BHLJMPTIME0ORG0030HTABLE:DB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,0F8H,80H,90H;7段数码管译码表MAIN:MOVSP,#70H ;初始化堆栈MOVLEDBUF,#2 MOVLEDBUF+1,#0 MOVLEDBUF+2,#1 MOVLEDBUF+3,#4 MOVLEDBUF+4,#6 MOVLEDBUF+5,#7 MOVLEDBUF+6,#7 ;写入要显示的数字MOVR0,#LEDBUF ;将ledbuf的首地址给R0MOVDPTR,#TABLE ;将TABLE的首是址给DPTR MOVR2,#06H ;R2作为循环次数寄存器 MOVR1,#01H ;R1中放片选信号MOVTMOD,#01H ;定时器0工作在方式1 MOVTH0,#0DFH MOVTL0,#0B0H ;初始代定时器0 SETBTR0 ;开定时器0 SETBEA ;开总中断 SETBET0 ;开定时器0中断 SJMP$ ;动态停机TIME0:DJNZR2,LOOP1 ;循环6次后回到初始值继续循环,小于6次跳到LOOP1 MOVR2,#06H MOVR1,#01H MOVR0,#LEDBUF ;初始化数据LOOP1:MOVTH0,#0DFHMOVTL0,#0B0H ;初始化定时器0 MOVA,R1 MOVP1,A RLA MOVR1,A ;将R1中片选信号输入P1并且使其数据左移一位 MOVA,@R0 MOVCA,@A+DPTR MOVP2,A INCR0 ;通过查表将ledbuf中数据送往P2 RETI END3.2流水灯开关控制设计3.2.1硬件电路原理电路中C3﹑R1组成复位电路,它的作用是将单片机内部特殊的功能寄存器和端口寄存器恢复到原始状态,和计算机按下重启键的作用是同等的,目的是将所有的程序结束,使其恢复到初始状态。在此,C3﹑R1组成的是上电复位电路,在上电的瞬间是单片机恢复到初始状态,从内部FLASH存储器的初始状态开始执行,也就是从程序的0000H位置开始执行。EA接Vcc电源,目的是使程序从内部FLASH的程序开始执行,如果EA引脚接Vss(电源地),则不能先执行内部FLASH的程序,而先执行外外部存储器的程序,由程序调用才能访问内部FLASH。X1﹑C1﹑C2组成震荡电路,和内部的震荡电路共同构成单片机工作基准时钟电路。它含有单片机的数字电路系统的工作基准,为数字电路系统稳定的时钟信号。X1为晶振,它的标称频率越高,数字电路系统的工作频率也就越高。如图2-8所示流水灯模块包含8个LED灯接P2口,采用低电平有效,共阳极连接,为防止二极管击穿,在每个二极管中串接了1K的限流电阻。因此,LED灯低电平点亮。P1口接8个SW开关控制8个流水灯。在编程软件的配合下,要求实现如下指示灯/控制功能:程序启动后,8个发光二极管先整体闪烁3次(即亮-暗-亮-暗-亮-暗-亮-暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管发亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。3.2.2软件程序设计(1)软件编程原理为:1)8只发光二极管整体闪烁3次亮灯:向P2口送入数值0;灭灯:向P2口送入数值0FFH;闪烁3次:循环3次;闪烁快慢:由软件延时时间决定。2)根据开关状态控制灯亮和灯灭开关控制灯:将P1口(即开关状态)内容送入P2口;无限持续:无条件循环。(2)流程图如下图所示:图3.1主程序图3.2延时子程序程序编码:MOVR5,#3LOOP1:MOVP2,#0ACALLDELAYMOVP2,#0FFHACALLDELAYDJNZR5,LOOP1LOOP2:MOVP2,P1SJMPLOOP2DELAY:MOVR0,#100DEL0:MOVR1,#50DEL1:MOVR2,#25DEL2:DJNZR2,DEL2DJNZR1,DEL1DJNZR0,DEL0RETEND3.3可控制数字音乐盒设计主要由单片机控制系统、行列式键盘、液晶显示屏、内存外部扩充电路、复位电路等组成。
单片机AT89S51是本系统的核心,它主要负责控制各个部分协调工作。在其外围接上:复位电路、数码管、按钮及扬声器。元件为:晶振X1、电容、电阻、扬声器、4*4行列式键盘、74LS373锁存器、27C512外部程序存储器扩展、LM016L液晶显示屏。硬件电路中用P1.0~P1.7控制按键,其中P1.0~P1.3扫描行,P1.4~P1.7扫描列,用P2.0~P2.2作为LCD的RS,R/W,E的控制信号。用P0.0~P0.7作为LCD的D0~D7的控制信号。用P3.7口控制蜂鸣器,电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。将P0口作为74LS373锁存器的输入以及27C512的数据输入口,锁存器输出至27C512的低八位地址口,将P2口作为27C512高八位地址口,27C512的控制信号OE/VPP接至单片机的PSEN,实现片外ROM的读写控制。
3.3.1硬件电路原理本音乐发生器是用单片机来设计制作完成,其功能的实现主要通过软件编程来完成,
AT89C51单片机片内带有4KB和外部程序存储器扩展的256K的内存,并且允许在系统内改写或用编程器编程。该音乐发生器的效率较高,其误差主要由晶振自身的误差所造成。存储歌曲是采用的外部扩展,4*4行列式键盘来实现的,按键将单片机I/0
口的电平拉低,单片机检测到I/O口电平为0时,判断并存储键值。并自动跳转至相应曲号的标号处执行代码。显示采用的是液晶显示屏LM016L,显示稳定清晰,并且能显示多个信息,当片内4K的程序存储器存满后,自动跳转到片外256K程序存储器继续存储。
3.3.2播放音乐的原理发音原理:播放一段音乐需要的是两个元素,一个是音调,另一个是音符。首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。另外,音符的频率有所不同。基于上面的内容,这样就对发音的原理有了一些初步的了解。
音符的发音主要靠不同的音频脉冲。利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.0引脚的输出音乐。只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。
3.3.3音符频率的产生
(1)音符及定时器初始值:
例如:中音1(do)的音频=523HZ,周期T=1/523s=1912s
定时器/计数器0的定时时间为:T/2=1912/2s=956s
定时器956s的计数值=定时时间/机器周期=956s/1s=956(时钟频率=12MHZ)
装入T0计数器初值为65536-956=64580
表3.3
C调各音符频率与计数初值T的对照表
音符频率(HZ)/初值(us)音符频率(HZ)/初值(us)低1DO262/63627中1DO523/64580高1DO1042/65056低2RE294/63835中2RE589/64687高2RE1245/65134低3M330/64021中3M661/64780高3M1318/65157低4FA350/64107中4FA700/64822高4FA1397/65178低5SO393/64264中5SO786/64900高5SO1568/65217低6LA441/64402中6LA882/64969高6LS1760/65252低7SI495/64526中7SI990/65031高7SI1967/65282将64580装入T0寄存器中,启动T0工作后,每计数956次时将产生溢出中断,进入中断服务时,每次对P3.0引脚的输出值进行取反,就可得到中音DO(523HZ)的音符音频。将51单片机内部定时器工作在计数器模式1下,改变计数初值TH0,TL0以产生不同的频率。表3.3是C调各音符频率与计数初值T的对照表。(2)音符、音符编码及定时器初始值:
为了产生音符,必须求出音符低音5—高音5的计数初值。例如C调的低1DO的THTL=65536-50000/262=63627,中音DO的THTL=65536-500000/523=64580,高音DO的THTL=65536-500000/1042=65056。为了方便写谱,对其进行简单的编码,在编程时,根据音符编码查找对应的计数初值。比如说音乐是C调的,那么出现低音的5SO,直接将代码写为1;出现低音6LA,直接写一个2的代码;出现低音7SI,直接写一个3代码。表3.4是音符编码表音符音符编码音符音符编码不发音0低5SO1低6LA2低7SI3中1DO4中2RE5中3M6中4FA7中5SO8中6LA9中7SIA高1DOB高2REC高3MD高4FAE高5SOF高6LAG(3)节拍频率的产生
音乐中的节拍用延时时间产生。例如,1拍=0.4s,1/4拍=0.1s,以此类推。假设1/4拍执行一次延时程序,则1/2拍就执行两次延时程序,所以只要求出1/4拍的延时时间,其余节拍就是它的倍数。为了方便,将节拍数也进行了编码,并且计算了乐谱节拍编程时的延时时间,如表3.5和表3.6所示。表3.5节拍数编码表按1/4拍为一个延时时间的节拍编码与节拍对应的表按与节拍对应的表1/8拍为一个延时时间的节拍编码节拍编码节拍节拍编码节拍节拍编码节拍节拍编码节拍11/466/411/866/822/488/422/888/833/4A10/433/8A10/844/4C12/444/8C12/855/4F15/455/8
表3.6乐谱节拍编程时的时间延时表
乐谱节拍1/4拍的延时时间乐谱节拍1/8拍的延时时间4/4125ms4/462ms3/4187ms3/494ms2/4250ms2/4125ms音符编码和节拍编码完成后,在编程时,每个音符占一个字节,高四位是音符编码,低四位是节拍编码。
3.3.4
软件程序设计
本设计采用了自定下下的设计流程,即在编制一个程序时,先考虑程序的总体结构而忽略一些细节问题,然后逐步的一步一步的细化,直至用程序语言完全描述每一个细节为止。主要程序流程有:主程序、判断有无按键子程序、键盘扫描子程序、显示键号/歌曲号子程序、开机画面子程序、按键值播放歌曲子程序、播放时间初始化子程序、液晶显示屏写指令子程序、液晶显示屏写数据、字符串显示子程序播放时间显示子程序、播放歌曲子程序、播放时间更新子程序。程序中使用了两个定时中断,定时中断0用于产生整个音程的频率,以便驱动扬声器。定时器T1用于刷新播放时间,当发生一秒定时中断时,将秒加一,达到60秒时,将分加一,达到60分时,将时加一。程序设置了溢出处理,即当时间为23:59:59时,自动将时间更新为00:00:00。程序的总体流程是当P1由按键按下时,读键盘,并储存键值,若为F键则通过查表的方式,调用字符串显示子程序显示开机画面,同时用查表的方式求出键号的ASCII值,并调用显示键号/曲号自称序,将键号显示出来。若为1-A,程序根据储存的键号,将相应歌曲的表头地址赋给DPTR,取出曲谱,判断是否为休止符,通过查表的方式将表中的定时器初值装入定时器T0,在定时中断0里面,重装初值,将输出口取反,完成发声。本设计中,每发一个调,调用一个30MS的延时,一次当做曲谱的节拍码。在此过程中若有功能键按下,将当前歌曲的表头地址加513/减513或等待。于此同时调用播放时间初始化子程序,显示00:00:00,装定时器T1的初值,准备更新播放时间。程序流程图如图3.7和3.8所示:3.8音乐子程序图图3.7音乐盒主程序流程图3.4太阳能水温水位控制设计3.4.1硬件电路原理本实验利用单片机采集温度,温度值精确到小数点一位,用4位数码管显示温度值,设置三个按键调整报警温度值,当温度超出所设定的上下限范围时,蜂鸣器开始报警。单单片机复位电路报警电路时钟振荡温度传感器LED显示蜂鸣器报警水位传感器按键电路图3.9总体设计框图(1)单片机最小系统电路图3.10单片机最小系统1)单片机9脚接复位电路,可按复位按钮S1给单片机复位。2)晶振采用12MHZ。3)由于单片机只访问片内FlashROM并执行内部程序存储器中的指令,因此单片机的31脚接高电平VCC。(2)DS18B20测温电路图3.11DS18B20电路DS18B20的1脚接地,2脚数据端接单片机的P3.4,3脚接VCC,为了确保DS18B20工作可靠,2脚要接10K的上拉电阻。(3)报警电路图3.12蜂鸣器电路本实验中采用蜂鸣器报警,由于单片机输出电流较小,所以用三极管9013驱动蜂鸣器发出声音。(4)四位数码管显示电路图3.13数码管显示电路4位数码管为共阳管,由于单片机输出电流比较小,故用4个PNP型的三极管9015来驱动数码管。单片机输出低电平时三极管导通,使数码管的4各公共端1、4、5和12脚为高电平,此时数码管的数据端输入低电平后数码管被点亮,120欧电阻R12到R19为三极管的限流电阻。(5)报警温度设定按键电路图3.14按键电路报警温度用按键S2,S3,S4来设置,S2为调整键,按一次可调整报警上限温度值,按两次可调整报警下限温度值,按三次数码管恢复到正常温度显示。S5是紧急呼叫按键。(6)水位监测电路图3.14水位监测电路水位用三根导线,一个是电源负极,当导线接触到水后,由于水的导电性,使得两外两根导线也是低电平,从而使三极管9012导通,P1.3和P1.4是低电平,当两根导线不接触水的时候,输出是高电平。(7)水位报警电路图3.15水位报警电路当水位比较低的时候,红灯亮,水位在中间的时候,红灯和黄灯亮,当水位慢的时候三个灯都亮,出故障的时候三个灯闪。3.4.2软件程序设计为了保证实验的正常运行,当系统开机后,即单片机上电复位开始运行后,需要对硬件各部分进行自动检查,如果正常,系统就可以继续往下执行,如果不正常就必须出错报警,以便人工修正,为实验的正常运行作好准备。主程序流程图如3.16:图3.16主程序流程图图3.17读温度流程图3.5室内温湿度测量3.5.1硬件电路原理主要由4个大的模块构成,分别是主控模块、传感器模块、LCD液晶显示模块及报警模块,其中主控模块是此次毕业设计的核心模块,主要是指STC89C52芯片,它控制整个系统的运行,利用其各个口分别控制其他模块,使其他模块能够成为一个整体,实现功能的需要;报警模块主要指将蜂鸣器接入单片机电路。通过对时时温度的检测,并给定所需要的温度区间,即给定上下限值,实现越限报警;传感器模块用于实验室实时温湿度的检测、由于DHT11的数字一体性,集成了模数转换等模块。直接接单片机即可。LCD液晶显示模块同样接入单片机,完成对单片机处理后的数据进行显示。图3.18整体原理图3.5.2软件程序设计本次实验主要是能够实时显示出当前确切的温湿度,并且在高于预设值的时候能够发出蜂鸣。一旦接通电源,工作指示灯常亮,蜂鸣器首先蜂鸣,表示系统正常运行。接着LCD初始化,采用八位的数据端口,两行显示,其中第一行显示的湿度预设值,根据键盘我们可以加减数值,第二行显示的是实时的温湿度值,在程序设计中,分别定义温湿度参数,根据数据转换过来的数值,判断是否超过了预设值,1602显示当前的温湿度值,传输数据正常,再次循环判断,如果没有超过预设值,蜂鸣器不会蜂鸣,1602正常显示,也同样再次循环。
按键说明:从左边第一个起,减键、加键、设置键。报警方式:蜂鸣器和发光二极管产生声光报警。(1)当DHT11测出来的温度大于设定的温度上限值或小于温度下限值时,蜂鸣器发出报警声同时红色的指示灯也会产生光报警并LCD1602液晶显示温度报警信息,当DHT11测出来的湿度大于设定的湿度上限值或小于湿度下限值时会产生声光报警并LCD1602液晶显示温度报警信息。(2)可通过按键设置温度的上下限报警值、湿度的上下限报警值,并具有掉电保存功能。(3)第一次按键下设置键是设置温度上限报警值,第二次按键下设置键是设置温度下限报警值,第三次按键下设置键是设置湿度上限报警值,第四次按键下设置键是设置湿度下限报警值,再按加减键可以设置当前的参数。程序流程图:图3.19主程序流程图3.6交通灯设计3.6.1硬件电路原理交通灯硬件电路如图3.10所示。本电路主要由单片机系统、红外监视电路、报警电路及LED数码管、发光二极管显示电路组成。这个交通灯电路在普通交通灯电路的基础上,增加了车流量(人流量)检测电路。F1、J1组成的红外检测电路为南、北方向的车流量(人流量)检测,F2、J2为东、西方向车流量(人流量)检测。LED数码管U1为流量记录。当东、西方向为绿灯,南、北方向为红灯时,如果有车(人)经过F2、J2组成的红外检测电路前方,红外接收管J2接收到折射回来的红外光,使89C51的P3.2口成为低电位,这时,在数码管U1上就会增加一个流量记录。若此时有车(人)要南、北方向通过,经过F1、J1组成的红外检测电路前方时,报警电路就会发出警报声,提示车辆(行人)此时禁止通行。图3.20电路原理图3.6.2软件程序设计由软件设置交通灯的初始时间,南北方向通行30秒,东西方向通行20秒,数码管采用动态显示,P0口送字形码,P2口送字位选通信号,通过单片机的P1口控制各种信号灯的燃亮与熄灭。采用中断方式实现按键的功能。程序流程图如图3.21所示:图3.21程序流程图4Dreamweaver软件4.1Dreamweaver软件介绍Dreamweaver是Macromedia公司发布的集网页设计、代码开发、网站创建和管理于一体的软件,是当前最流行的网页设计软件。它与同为Macromedia公司出品的Fireworks和Flash一道,被誉为网页制作三剑客。Dreamweaver与其它同类软件相比主要有以下优点:不生成冗余代码、方便的代码编辑、强大的动态页面支持、操作简便、优秀的网站管理功能、便于扩展、控制能力强、网站管理制作效率高。(1)不生成冗余代码。可视化的网页编辑器,都要把使用者的操作转换成html代码。一般的编辑器都会生成大量的冗余代码,给网页以后的修改带来了极大的不方便,同时还增加了网页文件的大小。Dreamweaver则在使用时完全不生成冗余代码,避免了诸多麻烦。而且,通过设置,还可用Dreamweaver清除掉网页文件原有的冗余代码。(2)方便的代码编辑可视化编辑和源代码编辑都有其长处和短处。有时候,直接用源代码编辑会很有效。Dreamweaver提供了html快速编辑器和自建的html编辑器,能方便自如的在可视化编辑状态和源代码编辑状态间切换。(3)强大的动态页面支持Dreamweaver的Behavior能在使用者不懂javascript的情况下,往网页中加入丰富的动态效果。Dreamweaver还可精确的对层进行定位,再加上timeline功能,可生成动感十足的动态层效果。(4)操作简便(5)优秀的网站管理功能在定义的本地站点中,改变文件的名称、位置,Dreamweaver会自动更新相应的超级链接。Checkin和Checkout功能可协调多个使用者对远程站点的管理。(6)便于扩展(7)制作效率高(8)网站管理便捷(9)控制能力强不足之处,比如1.效果难一致,难以精确达到与浏览器完全一致的显示效果也就是说您在所见即所得网页编辑器中制作的网页放到浏览器中是很难完全达到您真正想要的效果,这一点在结构复杂一些的网页(如分帧结构、动态网页结构)中便可以体现出来;2.代码难控制,因为Dreamweaver采用的是非可见代码编辑器,所以所作出的代码难以控制。4.2利用Dreamweaver实现实验系统4.2.1定义本地站点(1)打开Dreamweaver软件找到管理站点如图4.1所示:图4.1步骤1打开管理站点,点击新建,如图4.2所示:图4.2步骤2选择站点进入界如图4.3所示:图4.3步骤3给站点命名,如图4.4所示:图4.4步骤4点击下一步,进入下图4.5页面,选择否,再点击下一步:图4.5步骤5远程服务器选择无,再点击下一步,如图4.6所示:图4.6步骤6(7)点选第一项,然后选择保存位置,再点击下一步,如图4.7所示:图4.7步骤7出现下图4.8页面,点击完成:图4.8步骤8出现下图页面,点击完成,如图4.9所示:图4.9步骤94.2.2搭建站点在定义站点下新建需要的文件夹,在文件家中中新建HTMl页面。这样就基本上把站点搭建起来了,如下图4.10所示:图4.10步骤104.2.3设计网页首先,设计网页显示的框架,构思每个页面放置的内容,分析需要的材料。其次,下载需要的材料,合理保存资料,完善站点内的文件夹与HTmL文件。然后,逐次设计每个网页,在页面中添加要显示的内容如图4.11所示,每添加一步按Ctrl—S保存,再按F12网页显示,观察效果。最后,创建连接,使页面连接在一起,成为一个整体。图4.11步骤11参考文献[1]陈大钦.模拟电子技术基础(第二版)[M].高等教育出版社
[2]阎石.数字电子技术基础(第五版)[M].高等教育出版社[3]杨志忠.数字电子技术.高等教育出版社(第二版)[M].2003年
[3]谭浩强.MCS-51单片机应用教程[M].清华大学出版社
[4]何立民.MCS-51系列单片机应用系统设计[M].北京:北京航空航天大学出版社,1990.
[5]张友德.单片微型机原理、应用与实验[M].上海:复旦大学出版社,2000.
[6]何立民.单片机应用技术选编(1)[M].北京:北京航空航天大学出版社,1992.
[7]周复三.音乐基础理论教程[M].山东大学出版社
[8]李军.单片机高级实例开发指南[M].北京航空航天大学出版社
[9]欧伟明.单片机原理与应用系统设计[M].电子工业出版社
[10]江世明.基于proteus的单片机应用技术[M].电子工业出版社
[11]高麟.单片机语音电路的设计[J].电子与自动化
,
1995,
05
[12]张毅刚.单片微机原理及应用[M].西安电子科技大
[13]何为民.低功耗单片微机系统设计[M].北京航空航天大学出版社,1994
[14]王莹.中国单片机市场的理想与现实[J].
电子产品世界
,
1997,
09
[15]马坚.单片机应用开发中的一个问题──看国外单片机新技术[J].
电脑开发与应用
,
1995,
(02)
[16]马殿阁.“单片机网”的设计[J].微型机与应用
,
1991,
12
[17]梁丽洁.马兴兵.基于单片机的简单数字采集系统的设计[J].河北理工大学学报
,
2007,01
[18]清源科技.PROTEL
DXP电路设计及应用教程(第一版)[M].机械工业出版社.2003.
[19]
MartinPBates.Programming
8-bit
PIC
Microcontrollers
in
C:
with
Interactive
Hardware
Simulation
[M].Newnes,2008
[20]康华光.电子技术基础模拟部分(第五版)[M].北京:高等教育出版社,2006.[21]张毅刚,彭喜元.单片机原理及应用[M].北京:高等教育出版社,2010.[22]楼顺天,周佳社.微机原理与接口技术[M].北京:科学出版社,2006.[23]康华光.电子技术基础数字部分(第五版)[M].北京:高等教育出版社,2006.[24]王雷,钟爱琴.AT89系列单片机原理与接口技术.北京航空航天大学,2004.[25]周航慈.单片机程序设计基础.北京航空航天大学,2003.[26]先锋工作室.单片机程序设计实例.清华大学出版社,2003。[27]张友德.单片微型机原理、应用与实验.复旦大学出版社,2000.[28]付家才.单片机控制工程实践技术.化学工业出版社,2004.[29]潘永雄.新编单片机原理与应用.西安电子科技大学出版社,2003.结束语通过这几个月的努力,在以S51单片机为核心控制器的基础上,对外围电路进行了设计,包括液晶显示模块、键盘模块、流水灯模块、蜂鸣器模块、外部程序存储器扩展模块等。针对各个功能模块开发相应的实验,通过仿真运行效果正确。由于该系统可以完成单片机各类通用实验以及各种软硬件测试,且具有操作简单,易于让学生感兴趣的特点,在Proteus和Keil组成的虚拟实验室,可以完成教学课程中的实验,还能开发各类电路实验,激起学生的学习兴趣,因此对教学具有一定的实用价值和现实意义。自学可视化的网页制作,最终可以完成基本的制作,实现实验系统,这个过程让我深深的体会到,自己会的东西很少,要不断的学习知识,不断的充实自己。致谢本论文的选题及研究是在老师的关怀和指导下完成的。严谨的治学态度,精益求精的工作作风,深深地感染和激励着我。从最初论文题目的选择到最终论文的完成老师都始终给予我细心的指导和不懈的支持。在这数月的时间中,老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向老师致以诚挚的谢意。感谢在我遇到困难时为我提供帮助的所有同学,正是由于你们的支持,我才能克服一个又一个的困难,直至本文的顺利完成,他们对本课题做了不少工作,提出了许多宝贵的建议。感谢学校给我提供的良好的学习环境,并且提供了充足的图书资源及电子资源,为我们更好的完成毕业设计提供了极大的帮助。最后,向各位悉心指导,认真评阅的老师们致以最崇高的敬意和衷心的感谢。附录一LED数码管显示仿真图附录二流水灯控制仿真图附录三音乐盒仿真图附录四太阳能水位温度控制仿真图附录五室内温湿度测量仿真图附录六交通灯仿真图附录六网页展示图附录七程序音乐盒程序RSBITP2.0RWBITP2.1EBITP2.2;********************************************L50MSEQU60HL1MSEQU61HL250MSEQU62HSECEQU65HMINEQU64HHOUEQU63H;*******************************************org0000hljmpmainORG000BHLJMPTT0ORG001BHLJMPT1INTorg1000hmain:;;液晶初始化MOVSP,#70HMOVP0,#01H;清屏CALLENABLEMOVP0,#38H;8位,2行显示lCALLENABLEMOVP0,#0FH;屏显on,光标on,闪烁onlCALLENABLEMOVP0,#06H;计数地址加1,显示幕onlCALLENABLE;内存初始化lcallinitil;key1:lcallkeylcallmoddljmpkey1;键盘扫描key:nopnoplcallksjnzk1;有按键转到K1lcallkaijilcallSOPxn:ljmpkeyk1:lcallmoddlcallmoddlcallksjnzk2Ljmpkeyk2:movR2,#0feh;读键盘movR4,#00hk3:movA,R2movP1,AmovA,P1JBACC.4,L1;为1跳转,第一行无按键mova,#00hLJMPlkL1:jbacc.5,L2mova,#04hljmplkL2:JbACC.6,L3MOVA,#08hljmplkL3:jbACC.7,next1mova,#0ch;lk:adda,R4pushacck4:lcalldelay1;若同时有其他按键,则等待lcallksjnzk4;movr3,#07hclramovr0,#30hmovr1,#31hmm1:mova,@r1mov@r0,aincr0incr1djnzr3,mm1popaccmov@r0,aRET;next1:incR4;列扫描mova,R2JNBacc.3,n2ljmpn1n2:ljmpkeyn1:rlamovR2,aljmpk3;ks:mova,#0f0h;判断P1口movP1,anopnopmova,P1cplaanla,#0f0hRET;jnzk2Ljmpkeyk2:movR2,#0fehmovR4,#00hk3:movA,R2movP1,AmovA,P1JBACC.4,L1mova,#00hLJMPlkL1:jbacc.5,L2mova,#04hljmplkL2:JbACC.6,L3MOVA,#08hljmplkL3:jbACC.7,next1mova,#0chlk:adda,R4pushacck4:lcalldelay1lcallksjnzk4movr3,#07hclramovr0,#30hmovr1,#31hmm1:mova,@r1mov@r0,aincr0incr1djnzr3,mm1popaccmov@r0,a;;30H-37H初值为零;initil:movr3,#08hmovr0,#30hm1:mov@r0,#00hincr0djnzr3,m1RET;;显示;modd:MOVP0,#8EHCALLENABLEmovA,37HmovDPTR,#TABLE3MOVCA,@A+DPTRCALLWRITE2RET;;开机提示字;kaiji:mova,37hcjnea,#0fh,DFFMOVP0,#80H;设光标地址CALLENABLEMOVDPTR,#TABLE1;写数据CALLWRITE1CALLDELAY10CALLDELAY10CALLDELAY10CALLDELAY10CALLDELAY10mova,37hcjnea,#0fh,DFFMOVP0,#80H;设光标地址CALLENABLEMOVDPTR,#TABLE5;写数据CALLWRITE1CALLDELAY10CALLDELAY10CALLDELAY10CALLDELAY10CALLDELAY10DFF:RET;;按键值播放歌曲;SOP:mova,37hcjnea,#01h,A11LCALLMODDMOV52H,#HIGHTABLE10MOV53H,#LOWTABLE10LCALLINITILE2lcallMAIN0A11:CJNEA,#02H,A22LCALLMODDMOV52H,#HIGHTABLE20MOV53H,#LOWTABLE20LCALLINITILE2lcallMAIN0A22:CJNEA,#03H,A33LCALLMODDMOV52H,#HIGHTABLE30MOV53H,#LOWTABLE30LCALLINITILE2lcallMAIN0A33:CJNEA,#04H,A44LCALLMODDMOV52H,#HIGHTABLE40MOV53H,#LOWTABLE40LCALLINITILE2lcallMAIN0A44:CJNEA,#05H,A55LCALLMODDMOV52H,#HIGHTABLE50 MOV53H,#LOWTABLE50LCALLINITILE2LCALLMAIN0A55:CJNEA,#06H,A66LCALLMODDMOV52H,#HIGHTABLE60MOV53H,#LOWTABLE60LCALLINITILE2lcallMAIN0A66:CJNEA,#07H,AAALCALLMODDMOV52H,#HIGHTABLE70 MOV53H,#LOWTABLE70LCALLINITILE2lcallMAIN0AAA:RET;******************************************INITILE2:MOVL50MS,#20MOVL1MS,#00HMOVL250MS,#00HMOVSEC,#00HMOVMIN,#00HMOVHOU,#00HMOVA,HOUMOVB,#10DIVABADDA,#30H;将BCD吗转化为ASIIC码MOVP0,#0C8H;显示小时十位CALLENABLECALLWRITE2MOVA,BADDA,#30HMOVP0,#0C9H;显示小时个位CALLENABLECALLWRITE2MOVA,#3AHMOVP0,#0DH;显示冒号CALLENABLECALLWRITE2MOVA,MINMOVB,#10DIVABADDA,#30HMOVP0,#0CBH;显示分十位CALLENABLECALLWRITE2MOVA,BADDA,#30HMOVP0,#0CCH;显示分个位CALLENABLECALLWRITE2MOVA,#3AHMOVP0,#0CDH;显示冒号CALLENABLECALLWRITE2MOVA,SECMOVB,#10DIVABADDA,#30HMOVP0,#0CEH;显示秒十位CALLENABLECALLWRITE2MOVA,BADDA,#30HMOVP0,#0CFH;显示秒个位CALLENABLECALLWRITE2MOVP0,#0C0H;INITILE2:MOVL50MS,#20MOVL1MS,#00HMOVL250MS,#00HMOVSEC,#00HMOVMIN,#00HMOVHOU,#00HMOVA,HOUMOVB,#10DIVABADDA,#30HMOVP0,#0C8HCALLENABLECALLWRITE2MOVA,BADDA,#30HMOVP0,#0C9HCALLENABLECALLWRITE2MOVA,#3AHMOVP0,#0DHCALLENABLECALLWRITE2MOVA,MINMOVB,#10DIVABADDA,#30HMOVP0,#0CBHCALLENABLECALLWRITE2MOVA,BADDA,#30HMOVP0,#0CCH;显示分个位;显示冒号;显示秒十位C;显示秒个位;设光标地址;写数据设光标地址;写数据;*********************************************写指令;**********************************************写数据;未到字符串末尾继续;**********************************************;TABCALLENABLECALLWRITE2MOVA,#3AHMOVA,52HINCAMOV52H,AMOVA,53HINCAMOV53H,AMOVA,36HINCAMOV37H,ALJMPTTM2TTM14:CJNEA,#0DH,TTM2MOVA,52HDECAMOV52H,AMOVA,53H DECAMOV53H,AMOVA,36HDECAMOV37H,A;TTM2:RET;***************************************************;定时器中断子程序0;***************************************************;***************************************************;定时器中断子程序1;***************************************************;****************每秒种时钟刷新秒显示一次;显示秒十位;显示秒个位;*************************************每分钟刷新分显示一次;显示分十位;显示分个位;**************************************每小时刷新小时显示一次;将吗转化为码;显示小时十位;显示小时个位;*************************************溢出处理TT0:PUSHACCPUSHPSWMOVTL0,20HMOVTH0,21HCPLP3.7POPPSWPOPACCRETIT1INT:MOVTH1,#3cHMOVTL1,#0b0HDJNZL50MS,X4MOVL50MS,#20SECSET:MOVA,SECMOVB,#10MOVL1MS,#00HMOVL250MS,#00HMOVSEC,#00HMOVMIN,#00HMOVHOU,#00HRETIDELAY30:MOVR7,#2W2:MOVR4,#125W3:MOVR3,#248DJNZR3,$DJNZR4,W3DJNZR7,W2DJNZR1,DELAY30RETDELAY10:SETBRS1MOVR4,#125CYS:MOVR3,#248DJNZR3,$DJNZR4,CYSRETTABLE00:DW64580,64684,64777,64820DW64898,64968,65030,64260DW64400,64524,65058,63835,64021;;第一首《精忠报国》;TABLE10:DB66H,52H,36H,22H,12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22HDB32H,52H,22H,42H,38H,66H,52H,36H,22H,12H,22H,22H,32H,98HDB24H,22H,32H,54H,52H,32H,92H,12H,92H,82H,98H,66H,52H,36H,22HDB12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H,32H,52H,22H,42H,38HDB66H,52H,36H,22H,12H,22H,22H,32H,98H,24H,22H,32H,54H,52H,32HDB22H,12H,92H,82H,98H,14H,24H,34H,44H,64H,0B4H,64H,32H,52HDB62H,0B2H,62H,52H,38H,24H,22H,32H,54H,52H,62H,52H,32H,32H,22H,38HDB64H,0B4H,64H,32H,52H,62H,0B2H,62H,52H,38H,22H,22H,22H,32H,52H,52HDB52H,62H,7FH,74H,04H,58H,6FHDB00;;第二首《月亮代表我的心》;TABLE20:DB02H,82HDB16H,32H,54H,02H,52HDB0A6H,32H,54H,02H,52H DB64H,74H,0B6H,64HDB52H,5CH,32H,22H DB16H,12H,14H,32H,22HDB16H,12H,14H,22H,32HDB26H,12H,94H,22H,32HDB2CHDB32H,52HDB36H,22H,14H,54HDB0ACH,92H,0A2HDB96H,0A2H,96H,82HDB3CH,54HDB36H,22H,14H,54HDB0ACH,92H,0A2HDB16H,12H,14H,22H,32HDB2CH,02H,82HDB16H,32H,56H,12HDB0A6H,32H,56H,52HDB66H,72H,0B6H,62HDB62H,52H,58H,32H,22HDB16H,12H,14H,32H,22HDB16H,12H,14H,22H,32HDB26H,92H,0A4H,12H,22HDB1CHDB00;;第三首《看我七十二变》;TABLE30:DB0d4H,84H,94H,82H,92HDB12H,22H,82H,92H,02H,92H,82H,0d2HDB82H,92H,14H,84H,02H,0d1H,0d1HDB0c2H,0d2H,84H,0d2H,0d2H,82H,82HDB84H,82H,82H,94H,82H,0d2HDB82H,82H,82H,92H,02H,82H,82H,0d2HDB0c4H,84H,0d4H,92H,0d2HDB82H,0d2H,82H,92H,98HDB04H,94H,88HDB04H,94H,88HDB04H,94H,88HDB04H,94H,88H,04HDB32H,32H,22H,12H,02H,92H,12H,92HDB32H,32H,22H,12H,02H,9
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年淄博市第一医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 动作特性仪器培训课件
- 清华版(2012)信息技术三年级上册 第9课《趣味敲字母-英文输入》说课稿及反思
- 2024年海南省第三人民医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 2024年泸州市人民医院泸州市红十字医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 2024年永荣矿务局永川煤矿职工医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 基建工程财务管理
- 全国江西科学技术版小学信息技术三年级上册第三单元第11课《信息保护有措施》说课稿
- 培训老师新人班
- 如何介绍一个酒店的管理
- 电脑基础知识
- 工程竣工预验收签到表
- 静钻根植桩施工组织设计
- 工程精细化管理
- 2022年长春市中小学教师笔试试题
- 小学音乐-(演唱)小拜年教学设计学情分析教材分析课后反思
- 医院患者知情同意与告知制度
- 肉牛肉羊屠宰加工项目选址方案
- 人大版《精算模型(第3版)》习题解答
- 7人英语短剧剧本(5篇)
- 员工满意度中英文对照外文翻译文献
评论
0/150
提交评论