3.2.1程序简易流程图:
开始 T0初始化并开中断T0中断 T1初始化并开中断T1中断 键盘扫描程有键按下否 是 延时去抖动 否 识别按键功能 是 否 是否弹奏键 播放键 根据按键功能装入相应音符值到T0 取相应的音符码装入T1 启动T0 启动T1 按键释放是否按键释放是否停止T0工停止T1工
图1 程序简易流程图
26
3.2.2弹奏程序流程图:
弹奏子程 开中断并允许中断 设定定时器工作方式
取
根据键值查 给定时器T0 开 进入 CPL 退出中 延时
返回键盘扫描
图3.2.2 弹奏程序流程图
27
3.2.3自动播放歌曲程序流程图:
自动播放音乐程序 A<< 0,DPTR<<歌谱地址
开中断,设定定时器T1工作模式
取简谱
取该音符的节拍
Y
AST OP N Y 休止符 A=0 返回键盘 N 扫描 查音律表,给定时器
INC
开始计
进入中 CPL3.0 退出中
延时
图3.2.3 自动播放歌曲程序流程图
28
4 电路仿真
4.1 ISIS 软件介绍
Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件。它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。
该软件的特点是:
(1)实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
(2)支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051 系列、AVR 系列、PIC12系列、PIC16 系列、PIC18 系列、Z80 系列、HC11系列以及各种外围芯片。
(3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功 能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2 等软件。
(4)具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本章介绍Proteus ISIS 软件的工作环境和一些基本操作。
4.2 仿真图介绍
单片机:
P0口对应数码管编码输出端; P3.0 口做音乐信号输出端;
P1口做键盘扫描部分输入输出端; P2口做数码显示选控输出端。
键盘扫描:将10位开关通过独立式连接,其中七个按键连接P1.0~P1.6作为音符控制,三个键连接P3.5~P3.7作为高低音控制,用于给键盘扫描信号。
数码管显示:在使用时一要接上拉电阻(这是有单片机 P0 口的物理特性决定的),二是要加限流电阻以使流进单片机的小于单片机所能承受的电流。
音乐处理:TDA2822将单片机 P3.0 口送过来的信号进行功率放大并送扬声器进行音乐的播出。
29
4.3 仿真图
4.4PCB 印制板制作
4.4.1印制板制作的要求
(1)电源线、地线应各设置一条总线; (2)线宽尽可能的宽;
(3)应减少软线跳线的使用;
(4)元器件排版要均匀,按模块排版,防止各模块信号干扰; (5)铜箔线不可以产生锐角。
30