已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计-数字电子琴设计单片机课程设计设计题目:数字电子琴姓 名:苗三立学 号:201056502138班 级:机102-1班指导老师:王东兴小组成员:苗三立 靳栋栋 张联德 董文莲 吴传珍目录课设题目.3【摘要】.31、 引言.41.1电子琴的设计背景.41.2电子琴的设计意义.41.3电子琴的设计目标.42、 方案的选择.52.1控制模块选择方案.52.2按键选择方案.53、 硬件设计及说明.63.1系统组成及总体框图.63.2元件简介.7 3.2.1MCS-51 80C51.73.2.2LED数码管.93.3显示电路.103.4各功能模块原理图.103.4.1MCS80C51模块电路原理图.103.4.2键盘扫描模块电路原理图.113.4.3数码管显示模块电路原理图.123.4.4音频处理模块电路原理图.124、 软件设计.134.1音乐相关知识.134.2如何用单片机实现音频脉冲.144.3系统总体流程图.165、 系统调试.195.1硬件调试.195.2软件调试.196、 课程设计总结及心得体会.207、 参考文献.21附录1:元器件清单.22附录2:主要电路原理图.24附录3:程序清单.24汇编程序.24C语言程序.35课设题目:数字电子琴的设计【摘要】随着电子技术的发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们多带来一点生活上的乐趣,电子技术与音乐的结合不断加深。由此而产生的电子琴在这种形势下,因其体积小,易于携带,经济适用,对初学者,尤其对识谱的人来说是很容易弹奏的,一首简单的曲子灵感好的人甚至不用很多的练习和教师的指导就能很快的弹奏出来。是一般家庭都能承受得了的经济投入,而且电子琴键盘操作直观易于掌握。这样就强烈地激发了学习者的学习兴趣,迅速地提高了电子琴的普及率。电子琴使用简单。深受广大音乐爱好者推崇。作为电子专业的学生,掌握电子琴的制作是很好检验我们所学知识应用。它所包含的知识基本上覆盖我们的模拟电子技术基础、数字电子技术基础、EDA技术、电子线路、单片机基础以及接口技术课程的重要章节。虽然我们不能设计出很复杂的电子琴,主要是考虑到设备以及成本等一系列问题,因此我打算设计并制作一个简易的电子琴。采用集成电路设计,基于MCS-51 80C51单片机设计一款简易的电子琴,采用4*4距阵键盘,鉴于传统电子琴可以用键盘上的“k0”到“k16”键演奏从低So到高DO等16个音,从而可以用来弹奏喜欢的乐曲。特点是设计思路简单、清晰,成本低。 【关键词】 单片机 电子琴 80C511、 引言1.1电子琴的设计背景随着电子科技的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们多带来一点生活上的乐趣。基于当前市场上的玩具市场需求量大,其中电子琴就是一个很好的应用方面。单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。并且可以进行一定的功能扩展。鉴于传统电子琴可以用键盘上的“k0”到“k16”键演奏从低So到高DO等16个音,从而可以用来弹奏喜欢的乐曲。1.2电子琴的设计意义 该设计具有以下优点:(1)可以随意弹奏想要表达的音乐。(2)制作简单,成本低。 (3)比传统电子琴功能更完善。1.3电子琴的设计目标由于本设计主要用于人们娱乐方面,因此在设计上尽量使其安全以及简单易操作。其次,在这次设计可行性上进行分析如下:1、经济可行性:所谓经济可行性,即在这次设计上需要投入资金的多少,由于课程设计是提高我们的动手能力以及资金有限。因此在经济上必须能够承受,比较理想化的对于我们课程设计来说是不可行的。通过分析后,无论是在器件价格或是常见度上均是可行的。2、技术可行性:技术可行性主要是分析技术条件上是否能够顺利开展并完成课程设计的主要问题,硬件、软件能否满足设计者的需要等。通过分析各种软件环境,硬件仿真环境等均已经具备。综上所述,本系统设计目标已经明确,在经济与技术上均可行,因此本系统的开发是完全可行的。2、 方案的选择2.1控制模块选择方案采用80C51单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到4K,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能提高。2.2 按键选择方案传统电子琴可以用键盘上的“1”到“A”键演奏从低SO到高DO等11音。该设计有16个按钮矩阵,设计成16个音,可以实现音阶在低音4-高音5之间。比传统音阶范围大,弹奏效果好。三、硬件设计及说明3.1系统组成及总体框图硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。该设计要实现一种由单片机控制的电子琴,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号。该设计具有11个音节的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。用单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为它没有足够的驱动能力,这就需要音频功率放大电路。本例使用国家半导体公司的低压音频功率放大器LM386来实现音频功放电路。 按键音频功放电路单片机80C51扬声器LED显示电路图3-1 系统结构图3.2元件简介3.2.1MCS-51 80C5180C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(CMP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。Vss(20脚):接地VCC(40脚): 主电源+5VXTAL1(19脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。XTAL2(18脚): 接外部晶体的另一端。在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。RST(9脚): 单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)PSEN(29脚): 在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。ALE/PROG(30脚):在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。EA/VPP(31脚): 当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。当地址超出4KB时,将自动执行片外程序存储器的程序。当EA输入低电平时,CPU仅访问片外程序存储器。在对87C51EPROM编程时,此引脚用于施加编程电压VPP。输入/输出引脚:(1)P0.0P0.7 (39脚32脚)(2)P1.0P1.7 (1脚8脚)(3)P2.0P2.7 (26脚21脚)(4)P3.0P3.7 (10脚17脚)3.2.2LED数码管本次课程设计的显示电路采用LED数码管显示,LED(Light-Emitting Diode)是一种外加电压从而流过电流并发出可见光的器件。LED是属于电流控制器件,使用时必须加限流电阻。LED有单个LED和八段LED之分,也有共阴和共阳两种。常用的七段显示器的结构如图下图所示。发光二极管的阳极连在一起的称为共阳极显示器(如图b所示),阴极连在一起的称为共阴极显示器(如图c所示)。1位显示器由八个发光二极管组成,其中七个发光二极管ag控制七个笔画(段)的亮或暗,另一个控制一个小数点的亮和暗,这种笔画式的七段显示器能显示的字符较少,字符的开头有些失真,但控制简单,使用方便。此外,要画出电路图,首先还要搞清楚他的引脚图的分布,在了解了正确的引脚图后才能进行正确的字型段码编码。才能显示出正确的数字来。 (a)外形 (b)共阳极 (C)共阴极图3-6 数码管引脚3.3显示电路本次课程设计显示电路采用LED数码管显示,由于 LED是属于电流控制器件,使用时必须加限流电阻。通过单片机查表得出数码管显示编码,传送给数码管显示,以此来实现按键与显示程序的一致性。3.4各功能模块原理图3.4.1MCS-51 8051模块电路原理图单片机主程序模块通过对键盘扫描程序信号的读取,在通过对应的表,取出数码管显示编码和定时器初始值以产生不同的声音信号。在这一过程中,对数码管编码是直接赋值,对声音信号则是通过中断程序进行控制。80C51模块电路原理图3.4.2键盘扫描模块电路原理图对键盘扫描电路的扫描方式有行扫描法和线反转法,在此次程序编写中,采用行扫描法,通过在P3.0p3.3上循环送出0扫描信号,P3.4p3.7输入按键上的高低电平信息给单片机,经处理程序,判断出是哪个开关按下,并送主程序以实现不同功能。键盘扫描模电路实际图3.4.3数码管显示模块电路原理图数码管显示模块核心是共阳级数码管,通过来自单片机I/O口的电平高低来点亮和熄灭数码管上的发光二极管,通过单片机送来的数码管显示编码可以在数码管上显示数字和字符,使应用人员可以很容易的理解按键按下所对应的音符。数码管显示模块电路实际图3.4.4音频处理模块电路原理图由于单片机驱动能力不够,在处理音符信号时,需加功率放大装置,因LM386芯片具有低功耗、高增益的特点,这合适单片机低功耗输出,所以加装LM386音频信号放大器对信号进行放大。音频处理模块电路实际图音频处理模块电路实际图四、软件设计 本软件设计关键是要实现一种由单片机控制的简单音乐发生器,它由16个音节组成的的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。4.1 音乐相关知识 乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高声音就高,频率低声音就低,不同音商的乐音是用C、D、E、F、G、A、B表示的,这7个字母就是乐音的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,这是唱曲时乐音的发音,所以叫唱名。音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同频率的组合,加以与拍数对应的延时,构成音乐。4.2如何用单片机产生音频脉冲了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。利用MCS-51 80C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T1/5231912s,因此只要令计数器计时956s/1s956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。 计数脉冲值与频率的关系式(如式2-1所示)是:N=fi2fr 式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。其计数初值T的求法如下: T65536N65536fi2fr 例如:设K65536,fi1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。T65536N65536fi2fr6553610000002fr65536500000/fr 低音DO的T65536500000/26263627 中音DO的T65536500000/52364580 高音DO的T65536500000/104665059在本实验中,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如下表:音符频率(HZ)计数值(T值)音符频率(HZ)计数值(T值)低1DO26263628#4FA#74064860#1DO#27763737中5SO78464898低2RE29463835#5SO#83194934#2RE#31163928中6LA88064968低3MI33064021#6LA#93264994低4FA34964103中7SI96865030#4FA#37064185低1DO104665058低SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE#124565134#6LA#46664463高3MI131865157低7SI49464524高4FA139765178中1DO52364580#4FA#149065198#1DO#55464633高5SO156865217中2RE58764633#5SO#166165235#2RE#62264884高6LA176065252中3MI65964732#6LA#186565268中4FA69864820高7SI196765283 表4-2 音符频率与计数值T的对照表T的值决定了TH0和TL0的值,其关系为:TH0=T/256,TL0=T%2564.3系统总体功能流程图该程序设计思路比较清晰既从开始到声明变量与函数再到读取按钮开关,判断是否按下,然后就是一个一个按钮的动作。其主程序如下: 定时器初始化数码管显示0 循环检测按键 图4-1 主程序框图 按键子程序流程图如下:KEY1键按下KEY2键按下KEY3键按下KEY4键按下KE51键按下KEY6键按下KEY7键按下数码管显示0,并播放Do的中音数码管显示1,并播放Re的中音数码管显示2,并播放Mi的中音KEY8键按下数码管显示3,并播放Fa的中音数码管显示4,并播放So的中音数码管显示5,并播放La的中音数码管显示6,并播放Si的中音数码管显示7,并播放Do的高阶中音KEY9键按下KEY10键按下KEY11键按下KEY12键按下KEY13键按下KEY14键按下KEY15键按下数码管显示8并播放Do的高音数码管显示9并播放Re的高音数码管显示10,并播放Mi的高音KEY16键按下数码管显示11,并播放Fa的高音数码管显示12,并播放So的高音数码管显示13,并播放La的高音数码管显示14,并播放Si的高音数码管显示15,并播放Do的高阶高音5、 系统调试电路调试是整个系统功能否实现的关键步骤,整个调试过程分为三大部分:硬件调试、软件调试和综合调试。5.1硬件调试硬件调试主要是针对单片机部分进行调试。在上电前,先确保电路中不在断路或短路情况,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。在这部分调试中主要使用的工具是万用表,用来完成检测电路中是否存在断路或者短路情况等。注意焊点之间,确保焊点没有短接在一起,同时注意焊点的美观,确保没有开路以及短路的现象出现。在确保硬件电路正常,无异常情况(断路或短路)方可上电调试,上电调试的目的是检验电路是否接错,同时还要检验原理是否正确,在本次设计中,上电调试主要键盘单片机控制部分、数码管点亮部分、和音频转换电路硬件调试。1、数码管LED电路调试:接通电源,随机按下按钮可以看到数码管显示数字。2、键盘单片机控制部分调试:上电后,随机按动键盘可以发现各个按键对应的音正确。5.2 软件调试 通常一个调试程序应该具备至少四种性能:跟踪、断点、查看变量、更改数值。整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序模块进行分别调试。6、 课程设计总结以及心得体会 通过这次课程设计,我学到了很多课本上没有学到的知识,这其中也锻炼了自己的动手能力,可以将以前学过的零零散散的知识穿串起来。本次课程设计通过制作简易电子琴,我很好的将自己的理论知识与实践相结合起来,进一步巩固了专业基础知识和相关专业课程知识,同时也培养了自己独立自主、综合分析的思维与创新能力。在设计的过程中遇到各种各样的问题,设计的过程也不是一帆风顺。特别是设计软件时,一些很细小的问题都可能导致功能性的错误。在设计过程中我发现自己对以前所学过的知识理解得不够深刻,掌握得不够牢固,所以也利用图书馆、网络资源查阅了大量文献资料,请教了很多同学。同时在具体的制作过程中我们发现一些书本上的知识与实际的应用存在着一定的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,不得不考虑这方面的问题,这也让我更深刻地体会到在今后的学习工作中也要注重理论联系实际,更重要的是增强了我们的团队合作意识,让我们意识到以后不管到哪个岗位上都离不开自己的团队,如果没有小组成员共同努力,不管是在质量上还是在设计时间上都会大大折扣。 首先在课程设计刚开始的调研阶段,我学会了怎么通过各种方式查询相关的资料。通过对这些资料的学习,我大致了解了单片机的发展现状以及未来的发展趋势,认识到目前单片机方面的各种各样的发展。了解了单片机方面的先进技术,这些都为我的未来的学习指明了方向。课程设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。最后,感谢王东兴老师的指导。7、 参考文献【1】谭会生,张昌凡.EDA技术及应用(第二版)M.西安电子科技大学出版社,2001年9月第1版【2】徐志军,王金明,伊廷辉等. EDA技术与PLD设计M.人民邮电出版社, 2006年2月第1版【3】赵鑫,蒋亮,齐兆群等.数字电路设计M.北京机械工业出版社,2005年6月第一版.【4】苏家健、曹柏荣、汪志锋.单片机原理及应用技术M.高等教育出版社【5】汪贵平、李登峰、龚贤武、雷旭.新编单片机原理及应用.机械工业出版社【6】于海生. 微型计算机控制技术选编M.清华大学出版社,1999.【7】李朝青. 单片机原理及接口技术M. 北京:北京航天航空大学出版色,2001.【8】胡汉才. 单片机原理及其接口技术M. 北京:清华大学出版社,2004.【9】 宋浩,田丰,单片机原理及应用,北京:清华大学出版社,北京交通大学大学出版社,2005附录1:元器件清单共阳极数码管 一个扬声器 一个按键 17个晶振(11.0592MHZ) 一个 电解电容(10uf) 一 只 电阻 (10K) 一个发光二极管(LED) 一个MCS-51 80C51 一个附录2:主要电路原理图附录3:程序清单一、汇编程序KEYBUF EQU 30H ; KEYBUF定义为30HSTH0 EQU 31H ; STHO定义为31HSTL0 EQU 32H ; STLO定义为32HTEMP EQU 33H ; TEMP定义为33HORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV TMOD,#01H ;设置定时器0的工作方式1SETB ET0 ;设置定时器中断SETB EA ;开中断总允许WAIT:MOV P3,#0FFH ;设置P3口输入CLR P3.4 ;清零P3.4,按键第一行扫描MOV A,P3 ANL A,#0FHXRL A,#0FHJZ NOKEY1LCALL DELY10MS ;延时10msMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY1MOV A,P3ANL A,#0FHCJNE A,#0EH,NK1MOV KEYBUF,#0LJMP DK1NK1: CJNE A,#0DH,NK2 ;K1键按下MOV KEYBUF,#1LJMP DK1NK2: CJNE A,#0BH,NK3 ;K2键按下MOV KEYBUF,#2LJMP DK1NK3: CJNE A,#07H,NK4 ;K3键按下MOV KEYBUF,#3LJMP DK1NK4: NOP ;K4键按下DK1:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,AMOV A,KEYBUFMOV B,#2MUL AB ;乘以2查表数据MOV TEMP,AMOV DPTR,#TABLE1MOVC A,A+DPTR ;查表MOV STH0,AMOV TH0,A ;将数据高位送到TH0INC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMOV TL0,A ;将数据低位送到TL0SETB TR0 ;启动定时器0DK1A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK1ACLR TR0 ;关闭定时器0NOKEY1:MOV P3,#0FFH ;设置P3口输入CLR P3.5 ;清零P3.5,按键第二行扫描MOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY2LCALL DELY10MS ;延时10msMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY2MOV A,P3ANL A,#0FHCJNE A,#0EH,NK5MOV KEYBUF,#4LJMP DK2NK5: CJNE A,#0DH,NK6 ;K5键按下MOV KEYBUF,#5LJMP DK2NK6: CJNE A,#0BH,NK7 ;K6键按下MOV KEYBUF,#6LJMP DK2NK7: CJNE A,#07H,NK8 ;K7键按下MOV KEYBUF,#7LJMP DK2NK8: NOP ;K8键按下DK2:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,A+DPTR ;查表MOV P0,AMOV A,KEYBUFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK2A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK2ACLR TR0NOKEY2:MOV P3,#0FFHCLR P3.6MOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY3LCALL DELY10MSMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY3MOV A,P3ANL A,#0FHCJNE A,#0EH,NK9MOV KEYBUF,#8LJMP DK3NK9: CJNE A,#0DH,NK10MOV KEYBUF,#9LJMP DK3NK10: CJNE A,#0BH,NK11MOV KEYBUF,#10LJMP DK3NK11: CJNE A,#07H,NK12MOV KEYBUF,#11LJMP DK3NK12: NOPDK3:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,AMOV A,KEYBUFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK3A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK3ACLR TR0NOKEY3:MOV P3,#0FFHCLR P3.7MOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY4LCALL DELY10MSMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY4MOV A,P3ANL A,#0FHCJNE A,#0EH,NK13MOV KEYBUF,#12LJMP DK4NK13: CJNE A,#0DH,NK14MOV KEYBUF,#13LJMP DK4NK14: CJNE A,#0BH,NK15MOV KEYBUF,#14LJMP DK4NK15: CJNE A,#07H,NK16MOV KEYBUF,#15LJMP DK4NK16: NOPDK4:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,AMOV A,KEYBUFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK4A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK4ACLR TR0NOKEY4:LJMP WAITDELY10MS:MOV R6,#10D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETINT_T0:MOV TH0,STH0MOV TL0,STL0CPL P1.0 ;输出方波RETITABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HTABLE1: DW 64021,64103,64260,64400 ;低3,低4,低5,低6,DW 64524,64580,64684,64777 ;低7,中1,中2,中3DW 64820,64898,64968,65030 ;中4,中5,中6,中7DW 65058,65110,65157,65178 ;高1,高2,高3,高4END2、 C语言程序#include unsigned char code table=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71;unsigned char temp;unsigned char key;unsigned char i,j;unsigned char STH0;unsigned char STL0;unsigned int code tab=64021,64103,64260,64400, 64524,64580,64684,64777, 64820,64898,64968,65030, 65058,65110,65157,65178;void DisPlay(void) /显示switch(key)case 0: P0=0X3F;break;case 1:P0=0X06;break;case 2:P0=0X5B;break;case 3:P0=0X4F;break;case 4:P0=0X66;break;case 5:P0=0X6D;break;case 6:P0=0X7D;break;case 7:P0=0X07;break;case 8:P0=0X7F;break;case 9:P0=0X6F;break;case 10:P0=0X77;break;case 11:P0=0X7C;break;case 12:P0=0X39;break;case 13:P0=0X5E;break;case 14:P0=0X79;break;case 15:P0=0X
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康医疗数据可视化设计方针
- 2026广西贵港市桂平市社会保险事业管理中心招募见习人员3人备考题库附答案详解(达标题)
- 2026北京一零一中教育集团矿大分校招聘备考题库含答案详解(新)
- 2026浙江嘉兴海盐农村商业银行股份有限公司专业化人才岗位常态化招聘备考题库附答案详解
- 2026云南昆明巫家坝建设发展有限责任公司及下属子公司第一季度社会招聘2人备考题库及答案详解(基础+提升)
- 2026广东广州医科大学校本部第二次招聘3人备考题库带答案详解
- 2026江苏南京信息工程大学招聘音乐教师1人备考题库附答案详解(黄金题型)
- 2026广东江门市江海区银信资产管理有限公司招聘2人备考题库有答案详解
- 2026广西玉林陆川县妇幼保健院招聘编外专业技术人员3人备考题库附答案详解(a卷)
- 2026浙江台州市环境宣教信息中心招聘1人备考题库完整参考答案详解
- 医药生物行业2026年市场前景及投资研究报告:创新药新技术看多中国创新出海
- 4.5-北师数学二下第四单元《哪座山更高》课件
- 2026年数字技术在环境监测中的应用
- 小学科学新教科版三年级下册2.1.不同种类的动物 练习题(附参考答案和解析)2026春
- 2026中国林业集团有限公司校园招聘115人笔试参考题库附带答案详解
- 2026年山东省消防设施操作员职业技能鉴定及答案
- DB42T2488-2025微型钢管桩应用技术规程
- 2026年游戏前端开发合同协议
- phc管桩施工培训课件
- 2025年威海市荣成市辅警(协警)招聘考试题库附答案解析
- DB11∕T 2398-2025 水利工程巡视检查作业规范
评论
0/150
提交评论