2021年电创“十年杯〞电子设计
竞 赛 论 文
触摸你心爱的旋律
----电子琴设计
- . 组员:周艳文
田宏超 陈丹丹 李平
2021年12月10
-word资料-
- -
日
目 录
摘要-------------------------------------------------------------3 引言-------------------------------------------------------------4
一概述-------------------------------------------------------------------5
系统开发意义------------------------------------------------------------5 设计目
-------------------------------------------------------------------------------------------------5 系统组成及总框图--------------------------------------------------------6
标
二、硬件设计-----------------------------------------------------------7
系统的硬件电路设计 ............................................................................. 7 2.1ATC51 ....................................................................................... 7 2.2单片机的时钟振荡电路 ...................................................................... 7 2.3.复位状态 ...................................................................................... 8 2.3.复位电路 ...................................................................................... 8 2.4 单片机最小系统 ............................................................................. 9 2.5 键盘输入局部 ................................................................................ 9 2.6音频功放电路 ............................................................................... 10 TDA2030A放大电路----------------------------------------------------------------------------------11
2.8扬声器 ....................................................................................... 11
三、软件设计 .................................................................................. 12
3.1如何用单片机实现音乐的节---------------------------------------------13 音乐相关知---------------------------------------------------------------------------------------13 3.1.1定时/计数器的设计和状态字定义:16 3.2音调数据表18
3.3 软件流程错误!未定义书签。
3.3.1系统流程图错误!未定义书签。 3.4软件程序19
识
四、电路的仿真19
4.1仿真运行直接播放音乐20
4.2电子琴功能错误!未定义书签。
- -可修编-
- - 4.3电子琴音阶功能错误!未定义书签。
五、系统调试 .................................................................................. 19
5.1硬件调试 .................................................................................... 19 5.2软件调试 .................................................................................... 19
六、课程设计体会 ........................................................................... 20
参考文献22
附录 A(单片机简介,C程序)23
附录 B〔C程序〕 ............................................................................... 23 附录C〔元件清单〕33
附录 D〔实物图〕 ............................................................................... 32
附
录
E
〔
电
源
电
路
〕
---------------------------------------------------------------------------------------33
- -可修编-
- --
摘要
电子琴的设计以ATS52单片机作为系统的核心控制局部,通过制作硬件电路和软件的设计编写,然后进展软硬件的调试运行,最终到达设计电路的乐器演奏。设计中应用中断系统和定时/计数原理控制演奏器发声,对音乐发生所必须确定的音符和节拍分别用程序语言实现。可以用它来弹奏。特点是设计思路简单、清晰,本钱低。
关键词:ATS52,电子琴,单片机,音乐发生器
- . -word资料-
- -
引言
单片微型计算机是大规模集成电路技术开展的产物,属电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一局部。本文的主要内容是用ATS52单片机为核心控制元件,设计一个电子琴和音乐发生器双功能。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有25个按键和扬声器。本文主要对使用单片机设计简易电子琴进展了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
- -可修编-
- -
一 概述
1.1 系统开发意义
该设计具有以下优点:
①可以随意弹奏想要表达的音乐。 ②比传统电子琴功能更完善。 ③制作简单,本钱低。
1.2 设计目标
由于本设计主要用于人们娱乐方面,因此在设计上尽量使其平安以及简单易操作。其次,在这次设计可行性上进展分析如下: 1、经济可行性:
所谓经济可行性,即在这次设计上需要投入资金的多少,由于毕业设计是没有工程资金,没有开发经费,因此在经济上必须能够承受,比拟理想化的工程对于我们毕业设计来说是不可行的。通过分析后,无论是在器件价格或是常见度上均是可行的。 2、技术可行性:
技术可行性主要是分析技术条件上是否能够顺利开展并完成开发工作,硬件、
- -可修编-
- -
软件能否满足设计者的需要等。通过分析各种软件环境,硬件仿真环境等均已经具备。
综上所述,本系统设计目标已经明确,在经济与技术上均可行,因此本系统的开发是完全可行的。
1.3系统组成及总框图
硬件设计的任务是根据总体设计要求,在选择的机型的根底上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。
该设计要实现一种由单片机控制的电子琴,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号。该设计具有25个音节的键盘,用户可以根据乐谱在键盘上进展演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。由于 本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌 握,不由程序控制。用单片机产生的音频脉冲直接驱动扬声器并不能产生所要 单片机 - ATS52 -可修编-
- -
实现的音乐,因为它没有足够的驱动能力,这就需要音频功率放大电路。
按键输入 音频功放电路 功能选择〔弹奏/播放〕 晶振复位电路 `扬声器 图4.总体设计框图
二、硬件设计
系统的硬件电路设计 2.1 ATC51
ATS52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编
- -可修编-
- -
程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得ATS52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 ATS52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断构造,全双工串行口, 片内晶振及时钟电路。另外,ATS52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停顿工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停顿,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash ATS52。
主要性能:与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz 、 三级加密程序存储器 、32个可编程I/O口线 、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
2.2时钟振荡电路
ATC52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反应元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反应回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么
- -可修编-
- -
严格的要求,但电容容量的大小会轻微影响振荡频率的上下、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF10PF。
在此设计中选取:12MHZ时钟频率。
图5.单片机振荡电路
2.3单片机的复位及复位电路
2.3.1复位状态
计算机在启动运行时都需要复位,复位使处理器CPU和系统中的其他器件都处于一种初始状态,并从这个初始状态工作。MCS-51系列单片机有一个复位引脚RST。在MCS-51系列单片机的RST引脚上输入一个高电平信号,该高电平信号至少要维持两个机器周期以上的时间,单片机被复位。
2.3.2复位电路
与其他计算机一样,MCS-51单片机系统的复位方法有上电自动复位、手动复位以及“看门狗〞复位等。
此最小系统采用手动复位电路。在系统运行过程中,有时可能对系统需要进展复位,为防止对硬件经常加电和断电造成的损害,我们可以采用手动复位。这
- -可修编-
- -
种方法是将一个开关串联一只电阻后,再并联于电容C的两端,在系统运行过程中需要复位时只要使开关闭合,在RST引脚上就会出现一定时间的高电平信号,从而使单片机实现复位。
图6.复位电路
2.4 单片机最小系统
由时钟振荡电路加复位电路构成单片机ATS52的最小系统:
图7. 单片机最小系统
- -可修编-
- -
2.5 键盘输入局部
本系统中用到25个按键,用P0,P1,P2,P3I/O口接键盘即可满足需要,软件消除抖动处理,并能准确判断所需执行的相应程序。电子琴设25个按键,分别代表一些音符,包括中音段的全部音符。 其电路图如下:
图9.键盘模块
音频功放电路 2.6 TDA2030A
TDA2030A是德律风根生产的音频功放电路,采用V型5 脚单列直插式塑料封装构造。如图1所示,按引脚的形状引可分为H型和V型。该集成电路广泛应用于汽车立体声收录音机、中功率音响设备,具有体积小、输出功率大、失真小等特点。
TDA2030A能在最低±6V最高±22V的电压下工作在±19V、8Ω阻抗时能够输出16W的有效功率,THD≤0.1%。无疑,用它来做电脑有源音箱的功率
- -可修编-
- -
放大局部或小型功放再适宜不过了。
采用TDA2030音频功率放大芯片。此芯片是高保真集成功率放大器芯片,输出功率大于10W,频率响应为10—14000Hz,输出电流峰值最大可达3.5A,其内部电路包含输入级、中间级、输出级,具有短路保护和过热保护,可以确保电路工作的平安可靠性。 TDA2030A芯片 TDA2030A引脚情况
1脚是正相输入端;2脚是反向输入端 ;3脚是负电源输入端;4脚是功率输出端;5脚是正电源输入端。
图2.TDA2030A实物图和引脚图
- -可修编-
- -
2.7扬声器
扬声器是一种把电平转变为声信号的换能器件,扬声器和性能对音质的上下音响很大。
扬声器的种类很多,按其换能原理可分为电动式、静电式、电磁式、压电式等几种,后两种多用于农村有线播送网中,按频率范围可分为低音扬声器、中音扬声器,这些常在音箱中作为组合扬声器使用。在本次试验作品中使用电磁式扬声器。
图10.音频功放机电路
- -可修编-
- -
图11.扬声器实物图
三 、软件设计
软件是该电子琴控制系统的重要组成局部,在系统的软件设计中我们也才用了模块化设计,将系统的各局部功能编写成子模块的形式,这样增强了系统软件的可读性和可移植性。
3.1如何用单片机实现音乐的节拍 音乐相关知识
在人类还没有产生语言时,就已经知道利用声音的上下、强弱等来表达自己的思想和感情。声带、琴弦等物体振动时会发出声波,声波通过空气传播进入人耳,人们就听到了声音。声音有噪音和乐音之分振动有规律的声音是乐音,音乐中所用的声音主要是乐音。
乐音听起来有的高、有的低,这就叫做音高。音高是由发声物体振动频率的上下决定的,频率高声音就高,频率低声音就低。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。
一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同的频率组合,加以拍数对应的延时,构成音乐。如果单片机要自己播放音乐就必须考虑到节拍的设置。
对于AT80C51而言要产生一定频率的方波一般是先将某口线输出高电平,延迟一段时间后再输出低电平。通过改变延迟时间可以改变单片机的输出频率。单片机的延时主要有两种方式,即软件延时和使用定时/计数器延时。其中软件延时不是很准确,而电子琴电路由于每个音符的频率值要求比拟严格,因此我们
- -可修编-
- -
选用定时/计数器延时。
由于本课程设计是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。因此,我们只需弄清楚音乐中的音符和对应的频率,利用单片机的定时/计数器来产生方波频率信号即可。
要产生相应的音频脉冲,只需要计算出某音频的周期,再除以2。利用计数器计时半周期,计满时使P2.0反向,然后重复计时再反向。本例中,单片机工作在12MHz时钟,使用定时器/计数器T0,工作模式为1,改变计数初值TH0、TL0就可产生不同频率的脉冲信号。
例如低3MI音,频率为330Hz,其周期T=1/f=1/330=3030us,计数值N=3030/2=1515,所以每计数1515次P2.0反向。计数初值T=65536-N=021。C调的各音符频率与计数值T的对照表如表1所示。
表1 C调各音符频率与计数值T对照表
音符 低 1 DO # 1 DO# 低 2 RE # 2 RE# 低 3 M 低 4 FA # 4 FA# 低 5 SO 频率(HZ) 简谱码(T值) 262 277 294 311 330 349 370 392 63628 63731 63853 63928 021 103 185 260 音符 # 4 FA# 中 5 SO # 5 SO# 中 6 LA # 6 中 7 SI 高 1 DO # 1 DO# 频率(HZ) 简谱码(T值) 740 784 831 880 932 988 1046 1109 860 8 934 968 994 65030 65058 65085 - -可修编-
- -
# 5 SO# 低 6 LA # 6 低 7 SI 中1 DO # 1 DO# 中 2 RE # 2 RE# 中 3 M 中 4 FA 415 440 466 494 523 554 587 622 659 698 331 400 463 524 580 633 684 732 777 820 高 2 RE # 2 RE# 高 3 M 高 4 FA # 4 FA# 高 5 SO # 5 SO# 高 6 LA # 6 高 7 SI 1175 1245 1318 1397 1480 1568 1661 1760 1865 1967 65110 65134 65157 65178 65198 65217 65235 65252 65268 65283 3.2定时/计数器的设计和状态字定义:
假设要产生音频脉冲,只要算出某一音频的周期〔1/频率〕,再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。利用ATC51的内部定时器使其工作计数器模式〔MODE1〕下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO〔523Hz〕。计数脉冲值与频率的关系式是:N=fi÷2÷fr,式中,N是计数值;fi是机器频率〔晶体振荡器为12MHz时,其频率为1MHz〕;fr是想要产生的频率。其计数初值T的求法如下:T=65536-N=65536-fi÷2÷fr 例如:设K=65536,fi=1MHz,求中音DO〔261Hz〕。T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr,中音DO的T=65536-500000/523=580。
单片机12MHZ晶振,中音符与计数T0相关的计数值如表所示:
- -可修编-
- -
表2 音符表
音符 频率〔HZ〕 简谱码〔T值〕 音符 频率〔HZ〕 简谱码〔T值〕 低1DO #1DO# 低2RE #2 RE# 低 3 M 低 4 FA # 4 FA# 低 5 SO # 5 SO# 低 6 LA # 6 低 7 SI 中 1 DO # 1 DO# 中 2 RE # 2 RE#
- 262 63628 277 63731 294 63835 311 63928 330 021 349 103 370 185 392 260 415 331 440 400 466 463 494 524 523 580 554 633 587 684 622
732
# 4 FA# 中 5 SO # 5 SO# 中 6 LA # 6 中 7 SI 高 1 DO # 1 DO# 高 2 RE # 2 RE# 高 3 M 高 4 FA # 4 FA# 高 5 SO # 5 SO# 高 6 LA
740 860 784 8 831 934 880 968 932 994 988 65030 1046 65058 1109 65085 1175 65110 1245 65134 1318 65157 1397 65178 1480 65198 1568 65217 1661 65235 1760
65252
-可修编-
- -
中 3 M 中 4 FA
659 698
777 820
# 6 高 7 SI
1865 1967
65268 65283
采用查表程序进展查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:低音0-19之间,中音在20-39之间,高音在40-59之间
用单片机播放音乐,或者弹奏电子琴,实际上是按照特定的频率,输出一连串的方波。为了输出适宜的方波,首先应该知道音符与频率的关系。
3.3音调数据表
单片机发出不同频率的方波,人听起来,就是不同的音调。
上表中的频率数值,有些过多,去掉不常用的黑键频率,只是把白键对应的数据存放在单片机中,即可满足绝大局部的应用需求。 定义音调数据表的程序如下:
DW 63628,63835,021,103,260,400,524 ;580,低音区:1 2 3 4 5 6 7
DW 580,671,777,820,8,968,65030 65058中音区:1 2 3 4 5 6 7
DW 65058,65110,65157,65178,65217,65252,6528365312高音区:1 2 3 4 5 6 7 把这个数据表,放在程序中,需要播音的时候,就从表中取出一个数据送到定时器,当定时器溢出中断的时候,再对输出引脚取反,那么,在扬声器中,即可听到上表中频率的声音。
音乐的音拍,一个节拍为单位〔C调〕:
表3 节奏表
曲调值 调4/4 调3/4 调2/4
DELAY 125ms 187ms 250ms
曲调值 调4/4 调3/4 调2/4
DELAY 62ms 94ms 125ms
- -可修编-
- -
图12.软件设计系统流程图
3.4软件程序
本系统单片机软件在设计中是用C语言编写。电子琴控制系统控制和播放内容的程序。见附录。
四、电路的仿真
Proteus的ISIS事一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,可以给我们做电路设计提供方便快捷的仿真效果,让我们事半功倍。
- -可修编-
- -
目前支持的单片机类型有:680以及各种外围芯片0系列、8051系列、AVR系列、PIC12系列、HC11系列。
4.1仿真运行直接播放音乐:
五、系统调试
电路调试是整个系统功能否实现的关键步骤,我们将整个调试过程分为三大局部:硬件调试、软件调试和综合调试。
- -可修编-
- -
5.1硬件调试
硬件调试主要是针对单片机局部进展调试。
在上电前,先确保电路中不在断路或短路情况,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。在这局部调试中主要使用的工具是万用表,用来完成检测电路中是否存在断路或者短路情况等。注意焊点之间,确保焊点没有短接在一起,同时注意焊点的美观,确保没有开路以及短路的现象出现。
在确保硬件电路正常,无异常情况(断路或短路)方可上电调试,上电调试的目的是检验电路是否接错,同时还要检验原理是否正确,在本次设计中,上电调试主要键盘单片机控制局部、数码管点亮局部、和音频转换电路硬件调试。
1、数码管LED电路调试:接通电源,随机按下按钮可以看到数码管显示数字。
2、键盘单片机控制局部调试:上电后,随机按动键盘可以发现各个按键对应的音正确。
5.2软件调试
调试主要方法和技巧:
通常一个调试程序应该具备至少四种性能:跟踪、断点、查看变量、更改数值。整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序模块进展分别调试。六、课程设计体
- -可修编-
- -
会
通过本次的设计,让我大大提高了对电子产品的兴趣。也让我的动手能力再次的提高。在设计前,我大量的参考了很多参考资料,这些参考资料对我的帮助很大,所以在设计前,做大量的功课是很有必要的。
在设计中不管是软件调试还是硬件调试都让我受益匪浅,对Professional、MedWin V3.0、Protel 99se这些软件的使用也越来越熟练。这次设计把所学过的知识都结合起来了,不仅用到?单片机应用技术?的知识,还有?模拟电子?、?数字电子?的知识也运用到了,让我再复习了一遍这几门课程。也让我的知识稳固了一遍。
总的来说,在这次的单片机课程设计里,让我对单片机的了解更加的深刻。在遇到问题的时候,要冷静,然后努力搜集资料,尽自己最到的努力解决问题!这次课程设计也让我清楚的认识了自己在单片机学习中存在的缺乏,这些缺乏需要我去不断的的努力改善。
参考文献
[1]王静霞. 单片机应用技术〔C语言版〕. :电子工业. 2021.5 [2]韩志军 、沈晋源 、王振波 .单片机应用系统设计----入门向导与设计实例.:机械工业.2005.
[3] X毅刚,MCS-51单片机应用设计[M].XX工业大学,2004 [4] 邓红. 单片机实验与应用设计教程 出版日期:2004年05月第1版
[5] 以及其他的网上资源
- -可修编-
- -
附录 A
单片机C51的简介
ATC51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚构造,芯片内集成了通用8位处理器和ISP Flash存储单元,功能强大的微型计算机的ATS51可为许多嵌入式控制应用系统提供高性价比的解决方案。
ATS51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器〔RAM〕,32个外部双向输入/输出〔I/O〕口,5
- -可修编-
- -
个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗〔WDT〕电路,片内时钟振荡器。
此外,ATS51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停顿芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
该系列单片机引脚与封装如下列图所示:
主要引脚功能:
1、RST〔9〕:复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间;
2、XTAL1〔19〕:反向振荡器放大器的输入及内部时钟工作电路的输入; 3、XTAL2〔18〕:来自反向振荡器的输出;
4、P1口〔1-8〕:P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流;
- -可修编-
- -
5、EA/VPP:当EA保持低电平时,单片机只访问外部程序存储器。EA为高电______平时,单片机只访问内部程序存储器。
附录 B
C语言程序
#include \"reg51.h\" //sbit P2_0=P2^0; sbit S1 = P0^0;
sbit S2 = P0^1; sbit S3 = P0^2; sbit S4 = P0^3; sbit S5 = P0^4; sbit S6 = P0^5; sbit S7 = P0^6;
sbit S1_0=P1^0;
sbit S2_1=P1^1; sbit S3_2=P1^2; sbit S4_3=P1^3; sbit S5_4=P1^4; sbit S6_5=P1^5; sbit S7_6=P1^6;
- -可修编-
- -
sbit S10=P2^1; sbit S20=P2^2; sbit S30=P2^3; sbit S40=P2^4; sbit S50=P2^5; sbit S60=P2^6; sbit S70=P2^7;
sbit f1=P3^0; sbit f2=P3^1; sbit f3=P3^2; sbit f4=P3^3; sbit f5=P3^4;
sbit OUTPUT=P2^0;
unsigned char cz_1,cz_2,rfdata,key;
//延时函数***************************************// void delay_10ms()
- -可修编-
- -
{unsigned int d=1000; while(--d){;}} void delay_x10ms(unsigned char x)
{unsigned int i;for(i=0;i {unsigned int i=0;for (i=0;i {unsigned int i;for(i=0;i {unsigned int i;for(i=0;i {unsigned int d=10; while(--d){;}} void delay_x100us_i(unsigned int x) {unsigned int i;for(i=0;i - - void anjian() { if(S1==0) {delay_x1ms(3);if(S1==0){EA=1;cz_1=0xf8; cz_2=0x94; while(S1==0);delay_x1ms(3);if(S1){ EA=0; }}} if(S2==0) {delay_x1ms(3);if(S2==0){EA=1;cz_1=0xf9; cz_2=0x5c; while(S2==0);delay_x1ms(3);if(S2){ EA=0; }}} if(S3==0) {delay_x1ms(3);if(S3==0){EA=1;cz_1=0xfa; cz_2=0x1a; while(S3==0);delay_x1ms(3);if(S3){ EA=0; }}} if(S4==0) {delay_x1ms(3);if(S4==0){EA=1;cz_1=0xfa; cz_2=0x6a; while(S4==0);delay_x1ms(3);if(S4){ EA=0; }}} if(S5==0) {delay_x1ms(3);if(S5==0){EA=1;cz_1=0xfb; cz_2=0x00; while(S5==0);delay_x1ms(3);if(S5){ EA=0; }}} if(S6==0) {delay_x1ms(3);if(S6==0){EA=1;cz_1=0xfb; cz_2=0x8c; while(S6==0);delay_x1ms(3);if(S6){ EA=0; }}} - -可修编- - - if(S7==0) {delay_x1ms(3);if(S7==0){EA=1;cz_1=0xfc; cz_2=0x0e; while(S7==0);delay_x1ms(3);if(S7){ EA=0; }}} if(S1_0==0) {delay_x1ms(3);if(S1_0==0){EA=1;cz_1=0xfc; cz_2=0x4a; while(S1_0==0);delay_x1ms(3);if(S1_0){ EA=0; }}} if(S2_1==0) {delay_x1ms(3);if(S2_1==0){EA=1;cz_1=0xfc; cz_2=0xae; while(S2_1==0);delay_x1ms(3);if(S2_1){ EA=0; }}} if(S3_2==0) {delay_x1ms(3);if(S3_2==0){EA=1;cz_1=0xfd; cz_2=0x08; while(S3_2==0);delay_x1ms(3);if(S3_2){ EA=0; }}} if(S4_3==0) {delay_x1ms(3);if(S4_3==0){EA=1;cz_1=0xfd; cz_2=0x30; while(S4_3==0);delay_x1ms(3);if(S4_3){ EA=0; }}} if(S5_4==0) {delay_x1ms(3);if(S5_4==0){EA=1;cz_1=0xfd; - -可修编- - - cz_2=0x80; while(S5_4==0);delay_x1ms(3);if(S5_4){ EA=0; }}} if(S6_5==0) {delay_x1ms(3);if(S6_5==0){EA=1;cz_1=0xfd; cz_2=0xc6; while(S6_5==0);delay_x1ms(3);if(S6_5){ EA=0; }}} if(S7_6==0) {delay_x1ms(3);if(S7_6==0){EA=1;cz_1=0xfe; cz_2=0x02; while(S7_6==0);delay_x1ms(3);if(S7_6){ EA=0; }}} if(S10==0) {delay_x1ms(3);if(S10==0){EA=1;cz_1=0xfe; cz_2=0x2a; while(S10==0);delay_x1ms(3);if(S10){ EA=0; }}} if(S20==0) {delay_x1ms(3);if(S20==0){EA=1;cz_1=0xfe; cz_2=0x5c; while(S20==0);delay_x1ms(3);if(S20){ EA=0; }}} if(S30==0) {delay_x1ms(3);if(S30==0){EA=1;cz_1=0xfe; cz_2=0x84; - -可修编- - - while(S30==0);delay_x1ms(3);if(S30){ EA=0; }}} if(S40==0) {delay_x1ms(3);if(S40==0){EA=1;cz_1=0xfe; cz_2=0x98; while(S40==0);delay_x1ms(3);if(S40){ EA=0; }}} if(S50==0) {delay_x1ms(3);if(S50==0){EA=1;cz_1=0xfe; cz_2=0xc0; while(S50==0);delay_x1ms(3);if(S50){ EA=0; }}} if(S60==0) {delay_x1ms(3);if(S60==0){EA=1;cz_1=0xfe; cz_2=0xe8; while(S60==0);delay_x1ms(3);if(S60){ EA=0; }}} if(S70==0) {delay_x1ms(3);if(S70==0){EA=1;cz_1=0xff; cz_2=0x06; while(S70==0);delay_x1ms(3);if(S70){ EA=0; }}} /* if(f1==0) {delay_x1ms(3);if(f1==0){while(f1==0);delay_x1ms(3); - -可修编- - - if(f1){ data_sent_i(0x17); }}} if(f2==0) {delay_x1ms(3);if(f2==0){while(f2==0);delay_x1ms(3);if(f2){ data_sent_i(0x18); }}} if(f3==0) {delay_x1ms(3);if(f3==0){while(f3==0);delay_x1ms(3);if(f3){ data_sent_i(0x19); }}} if(f4==0) {delay_x1ms(3);if(f4==0){while(f4==0);delay_x1ms(3);if(f4){ data_sent_i(0x1a); }}} if(f5==0) {delay_x1ms(3);if(f5==0){while(f5==0);delay_x1ms(3);if(f5){ data_sent_i(0x1b); }}} */ } void initTimer(void) { TMOD=0x01; //设置定时器的工作方式0 //TH0=0xff; //装入计数初值高八位 //TL0=0xfe; //装入计数初值低八位 TR0=1; //启动T0 ET0=1; //允许T0 中断 - -可修编- - - EA=0; //总中断允许 } void timer0(void) interrupt 1 { TH0=cz_1; //重装计数初值高八位 TL0=cz_2; //重装计数初值低八位 OUTPUT=~OUTPUT; } void main(void) { initTimer();//设置中断函数 OUTPUT=0; while(1){anjian(); } } 附录 C 元件清单表如下〔不含功放机〕: 单片机:ATS52-1块 电阻:4.7K-25个;排阻:10K-9脚 排插:假设干 - -可修编- - - 排线:假设干 电容:0.01u-2个:10uf-1个 自锁开关:1个 复位开关:1个 发光二极管:假设干个 晶体振荡器:12MHZ-1个 导线:假设干 扬声器:1个 功放机:1个 直流稳压电源:1个 附录 D 实物照片: - -可修编- - - 附录E : - -可修编- - - - -可修编- - - - -可修编-
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务