毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

51单片机八音阶电子琴设计+流程图+程序代码(7)

时间:2016-11-30 21:13来源:毕业论文
表6 不同音符对应P0及P1口状态 音符 按键 序号 P1口 (键盘) P0口 (LED) 音符 按键 序号 P1口 (键盘) P0口(LED) 中1 DO 0 0X11 0xfe 中 5 SO 4 0X12 0xef 中2 RE


表6 不同音符对应P0及P1口状态
音符               按键
序号    P1口
(键盘)      P0口
(LED)    音符    按键
序号     P1口
(键盘)    P0口(LED)
中1 DO    0    0X11      0xfe    中 5 SO    4    0X12    0xef
中2 RE    1    0X21      0xfd    中 6 LA    5    0X22    0xdf
中3 M    2    0X41      0xfb    中 7 SI    6    0X42    0xbf
中4 FA    3    0X81      0xf7    高 1 DO    7    0X82    0x7f
3.4 程序流程图  
3.4.1 整体程序流程图
图12 系统程序流程图
3.4.2 弹奏子程序流程图
 图13 弹奏子程序流程图
4.调试与仿真
4.1 系统调试
    在这次设计中主要采用Proteus与Keil软件对所设计的电路原理进行调试与仿真。Proteus是一款电路分析实物仿真软件,能够对模拟电路、数字电路、单片机以及很多外围电路系统等进行仿真。它的元器件库非常丰富,使用方便,对于单片机系统的仿真非常适合,主要仿真51、AVR、PIC,功能非常强大[12]。
对单片机进行电路仿真往往需要对单片机进行软件编程,通过软件编程控制单片机执行相应的功能。常用的软件编程语言一种是手工汇编,还有一种是机器汇编。因为手工汇编容易出错,且工作量大,现在关于手工汇编已经很少使用,主要就是进行机器汇编。
常用的有机器汇编有汇编语言和C语言,对于这两种语言Keil软件都兼容,而且操作特别方便,在这里主要使用C语言。Keil软件提供有宏编译器、C编译器、库管理和功能强大的仿真调试器等完整的开发环境。在这种集成环境下,可以方便高效的进行仿真调试[13]。
整个仿真调试的过程具体如下:
(1) 打开Keil软件,建立工程之后,新建窗口编写程序。
(2) 编译程序,生成Hex文件。如图14所示。
 
图14 编程并生成Hex文件
(3) 打开Proteus软件,设计硬件电路图并保存,如图15所示。
  图15 原理图中添加Hex文件
(4) 打开proteus原理图,左键双击AT89C51,添加.Hex文件。
 
图16 原理图中添加Hex文件
4.2 测试结果
所有的工作做完之后就可以弹奏了,按下不同的按键,扬声器会发出不同的音调,同时伴有对应的LED灯亮。
以弹奏“DO 中音1”为例,中音1对应按键K0,即第一个按键。运行开始,系统初始化后很快进入工作状态,当按键K0按下后,第一个LED灯亮,并且能听到蜂鸣器发出清脆的中音1的音调。仿真结果如图17所示。 51单片机八音阶电子琴设计+流程图+程序代码(7):http://www.751com.cn/zidonghua/lunwen_566.html
------分隔线----------------------------
推荐内容