单片机音乐播放器设计报告.doc

上传人:jian****018 文档编号:9613442 上传时间:2020-04-06 格式:DOC 页数:19 大小:365.50KB
返回 下载 相关 举报
单片机音乐播放器设计报告.doc_第1页
第1页 / 共19页
单片机音乐播放器设计报告.doc_第2页
第2页 / 共19页
单片机音乐播放器设计报告.doc_第3页
第3页 / 共19页
点击查看更多>>
资源描述
目 录 1 方案与论证 1 1 1 显示电路 1 1 2 时钟电路 1 2 电子音乐产生原理 1 2 1 音调 1 2 2 节拍 3 3 系统硬件设计 6 3 1 系统总框图 6 3 2 电路设计 7 3 2 1 单片机时钟电路 7 3 2 2 复位电路 8 3 2 3 电源电路 8 3 2 4 USB 程序下载电路 9 3 2 5 蜂鸣器驱动电路 10 3 2 6 显示电路 11 3 2 8 矩阵电路 11 4 系统软件设计 12 5 总结与展望 14 6 参考文献 14 附 录 15 附录 1 系统总电路 15 附录 2 源代码 16 1 方案与论证 1 1 显示电路 方案 1 采用LED数码管来显示 电路简单 成本低 方案 2 采用LCD液晶显示器来显示 电路简单 成本高 方案3 采用TFT真彩液晶显示 电路复杂 成本高 但显示的分辨率高 综上所述 选择方案一进行设计 1 2 时钟电路 方案 1 选择DS1302实时时钟芯片来实现音乐播放器 时间准确 但要增加额外 开销 方案 2 选择单片机的软件实时来实现音乐播放器 灵活性高 时间不准确 方案 3 选择单片机内部可编程定时器来实现音乐播放器 在不增加额外的开销 前提下 时间可以做到准确 综上所述 选择方案三进行设计 2 电子音乐产生原理 单片机发音原理 单片机演奏音乐基本是单音频率 它不包含相应幅度的谐波频 率 也就是说不能象电子琴那样能奏出多种音色的声音 但一定要弄清楚两个概念即 可 也就是 音调 和 节拍 音调 表示一个音符唱多高的频率 节拍 表示一个音符唱多长的时间 下面 就此两点 阐述说明 2 1 音调 在音乐中所谓 音调 其实就是我们常说的 音高 在音乐中常把中央 C 上方 的 A 音定为标准音高 其频率 f 440Hz 其余与其比较 f1 和 f2 为两个音符 当这两 个音符的频率相差一倍时 也即 f2 2 f1 时 则称 f2 比 f1 高一个倍频程 在音乐中 1 与 2 与 正好相差一个倍频程 在音乐学中称它相差一个八度音 在一个 八度音内 有 12 个半音 以 1 i 八音区为例 12 个半音是 1 1 1 2 2 2 2 3 3 4 4 4 4 5 5 一 5 5 6 6 6 6 7 7 i 这 12 个音阶的分度基本上是以对数关系来划分的 如果我们只要知道了这十二个音符 的音高 也就是其基本音调的频率 我们就可根据倍频程的关系得到其他音符基本音 调的频率 确定一个频率所对应的定时器的定时初值的方法 以标准音高 A 为例 标准音高 A 的频率 f 440 Hz 其对应的周期为 T 1 f 1 440 2272 s 因此 需要在单片机 I O 端口输出周期为 T 2272 s 的方波脉冲 如下图所示 图 1 方波脉冲 由上图可知 单片机上对应喇叭的 I O 口来回取反的时间应为 t T 2 2272 2 1136 s 此处分两种方式叙述 请比较选用 其实结果相同 这个时间 t 也就是单片机上定时器应有的中断触发时间 一般情况下 单片机奏乐时 其定时器 为工作方式 1 它以振荡器的十二分频信号为计数脉冲 设振荡器频率为 f0 则定时 器的予置初值由下式来确定 t 12 T ALL THL f0式中 T ALL 216 65536 T HL为定时器待确定的计数初值 因此定时器的高低计数器的初值为 TH THL 256 TALL t f0 12 256 TL THL 256 TALL t f0 12 256 将 t 1136 s 代入上面两式 注意 计算时应将时间和频率的单位换算一致 即 可求出标准音高 A 在单片机晶振频率 f0 12Mhz 定时器在工作方式 1 下的定时器高低 计数器的预置初值为 TH440Hz 65536 1136 12 12 256 FBH TL440Hz 65536 1136 12 12 256 90H 根据上面的求解方法 我们就可求出其他音调相 应的计数器的予置初值 假设单片机晶振频率 f0 12Mhz 定时器在工作方式 1 计数 脉冲值与频率的关系为 N FI 2 FR 其中 N 计数值 FI 内部计时一次为 1us 故其频率为 1MHz FR 要产生 的频率 其计数值的求法为 T 65536 N 65536 F I 2 FR 则标准音高 A 频率 f 440 Hz 的计数值为 T 65536 N 65536 F I 2 FR 65536 1000000 2 FR 65536 500000 440 65536 1136 64400 0FB90H 下面给出 C 调各音符频率值和定时器 定时初值 晶振频率 f0 12Mhz 定时器在工作方式 1 表 1 C 调各音符频率值和定时初值对照表 C 调 音符 1 1 2 2 3 4 4 5 5 6 6 7 频率 Hz 262 277 293 311 329 349 370 392 415 440 466 494 TH TL F88B F8F2 F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FBCF FC0B C 调 音符 1 1 2 4 5 6 频率 Hz 523 553 586 621 658 697 739 783 830 879 931 987 TH TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05 C 调 音符 1 1 2 2 3 4 4 5 5 6 6 7 频率 Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1791 TH TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02 对于非 C 调的歌曲 要对各音符的频率做相应的变化 调号 音乐上指用以确定乐曲主音高度的符号 升 C 调 1 C 也就是降 D 调 1 bD 277 频率 升 D 调 1 D 也就是降 E 调 1 bE 311 升 F 调 1 F 也就是降 G 调 1 bG 369 升 G 调 1 G 也就是降 A 调 1 bA 415 升 A 调 1 A 也就是降 B 调 1 bB 4 所谓 1 A 就是说 这首歌曲的 导 即作为基调的中音 DO 要唱得同 A 音 符一样高 其它各音符依次向后递推 通常把这首歌曲叫做 A 调歌曲 或叫 唱 A 调 1 C 就是说 这首歌曲的 导 要唱得同 C 一样高 或者说 这歌曲唱 C 调 同样 是 导 不同的调唱起来的高低是不一样的 在递推的时候要严格按各音符间音程关 系进行 全音还是半音 只有 3 4 和 7 i 之间是半音关系 其它音之间都是全音关 系 下面以 1 D 调进行说明 参照上面的钢琴键盘图和表 1 确定出 D 调各音符对应的频率值为 到后来制表 时就以各音符对应的新频率值确定定时初值 2 2 节拍 音符的节拍我们可以举例来说明 在一张乐谱中 我们经常会看到这样的表达式 如 1 C 1 G 等等 这里 1 C 1 G 表示乐谱的曲调 和我们前面所谈的音调43 有很大的关联 就是用来表示节拍的 以 为例加以说明 它表示乐谱中以四4343 分音符为节拍 每一小结有三拍 比如 其中 1 2 为一拍 3 4 5 为一拍 6 为一拍共三拍 1 2 的时长为四分音符 的一半 即为八分音符长 3 4 的时长为八分音符的一半 即为十六分音符长 5 的 时长为四分音符的一半 即为八分音符长 6 的时长为四分音符长 那么一拍到底该唱 多长呢 一般说来 如果乐曲没有特殊说明 一拍的时长大约为 400 500ms 我们以 一拍的时长为 400ms 为例 则当以四分音符为节拍时 四分音符的时长就为 400ms 八 分音符的时长就为 200ms 十六分音符的时长就为 100ms 若乐谱有特别说明则另行对 待 如有乐谱中注明每分钟 86 拍 则一拍时间为 60 86s 698ms 可见 在单片机上控 制一个音符唱多长可采用循环延时的方法来实现 首先 我们确定一个基本时长的延 时程序 比如说以十六分音符的时长为基本延时时间 那么 对于一个音符 如果它 为十六分音符 则只需调用一次延时程序 如果它为八分音符 则只需调用二次延时 程序 如果它为四分音符 则只需调用四次延时程序 依次类推 具体来说 每个音符使用一个字节 字节的高 4 位代表音符的高低 低 4 位 代表音符的节拍 节拍与节拍码的对照 如下表所示 表 2 节拍与节拍码的对照表 节拍码 节拍数 节拍码 节拍数 1 十六分音符 1 4 拍 为 1DELAY 1 1 8 拍 2 八分音符 2 4 拍 2 1 4 拍 3 3 4 拍 3 3 8 拍 4 四分音符 1 拍 4 1 2 拍 5 1 又 1 4 拍 5 5 8 拍 6 1 又 1 2 拍 6 3 4 拍 8 二分音符 2 拍 8 1 拍 10 A 2 又 1 2 拍 A 1 又 1 4 拍 12 C 3 拍 C 1 又 1 2 拍 15 F 3 又 3 4 拍 16 全音符 4 拍 以 1 4 拍 十六分音符 为一个基准定时单位 1DELAY 则 2 4 拍 八分音 符 为 2DELAY 1 拍 四分音符 为 4DELAY 2 拍 二分音符 为 8DELAY 4 拍 全音符 为 16DELAY 1 4 和 1 8 节拍的时间设定 如下表所示 表 3 各调节拍时间设定表 1 4 节拍的时间设定 1 8 节拍的时间设定 曲调值 DELAY 曲调值 DELAY 调 4 4 125ms 调 4 4 62ms 调 3 4 187ms 调 3 4 94ms 调 2 4 250ms 调 2 4 125ms 通过上面介绍的音符音调和节拍的相关知识 以及它们在单片机系统中的确定方 法 我们就可以在单片机上实现演奏音乐了 具体的实现方法为 将乐谱中的每个音 符的音调及节拍变换成相应的音调参数和节拍参数 将他们做成数据表格 存放在存 储器中通过程序取出一个音符的相关参数 播放该音符 该音符唱完后 接着取出下 一个音符的相关参数 如此直到播放完毕最后一个音符 根据需要也可循环不停 地播放整个乐曲 请注意 用单片机上实现音乐演奏关键在于 根据乐谱制作出数据 表格 编程在其次 这个过程很耗费时间和精力 另外 对于乐曲中的休止符 一般 将其音调参数设为 FFH 或 00H 其节拍参数与其它音符的节拍参数确定方法一致 乐曲 结束用节拍参数为 00H 来表示 实例说明建立音乐的方法 1 建立简谱对应的简谱码 T 值及节拍数表 画在草稿纸上 先对照歌曲的简谱把其中所有出现的音符找出 从 低音到高音依次排序 确定各音的数值 编写查表程序时将此值减 1 即得对应音符相 对于 TABL1 表头的偏移量 对于不是 C 调的歌曲 要对各音符的频率做相应的变化 对照歌曲的简谱确定各音符的节拍数相对于基准定时单位的倍数 从小到大排列 各音符时值的倍数关系是确定不变的 关键要正确确定其值 这需要懂一点简谱知识 才能准确的确定出乐谱中音符节拍数 以歌曲兰花草为例 如下表 表 4 简谱 发音 这一列知道就行不必写出 简谱码 T 值 节拍码 节拍数 低 3 低音 MI 1 64021 1 1 4 拍 低 4 低音 FA 2 64103 2 2 4 拍 低 5 低音 SO 3 64260 3 3 4 拍 低 6 低音 LA 4 64400 4 1 拍 低 7 低音 TI 5 64254 5 1 又 1 4 拍 中 1 中音 DO 6 64580 6 1 又 1 2 拍 中 2 中音 RE 7 64684 8 2 拍 中 3 中音 MI 8 64777 10 A 2 又 1 2 拍 中 4 中音 FA 9 64820 12 C 3 拍 中 5 中音 SO A 64898 15 F 3 又 3 4 拍 中 6 中音 LA B 64968 16 4 拍 中 7 中音 TI C 65030 休止符 不发音 0 关定时器 注 以四分音符为一拍 现在以 1 4 拍为定时的基准单位 为 1DELAY 则 1 拍应 为 4 倍 DELAY 依次类推 所以只要求得 1 4 拍的 DELAY 时间 其余的节拍数就是它的 倍数 2 把各音符频率对应的定时 T 值建立在 TABLE1 表 各音符频率对应的定时值 表 TABLE1 DW 64021 64103 64260 64400 DW 64524 64580 64684 64777 DW 64820 64898 64968 65030 3 根据第一步建立的表 建立乐曲对应音符 节拍码表 TABLE 其中简谱码 音符 在高 4 位 但是此种方法只能排 16 个音 若乐 谱中音符较多可占一个字节来表示 节拍码 节拍数 在低 4 位 但此种方法也只能 最大延时 15 个基准定时单位的时间 TABLE 歌曲兰花草的音符与节拍码表 高 4 位为简谱码 音符 低 4 位为该音符对应的节拍数 DB 42H 82H 82H 82H 84H 02 72H DB 62H 72H 62H 52H 48H DB0B2H 0B2H 0B2H 0B2H 0B4H 02H 0A2HDB12H 0A2H 0D2H 92H 88H DB 82H 0B2H 0B2H 0A2H 84H 02H 72H DB 62H 72H 62H 52H 44H 02H 12H DB 12H 62H 62H 52H 44H 02H 82H DB 72H 62H 52H 32H 48H DB 00H 3 系统硬件设计 3 1 系统总框图 电路主要由AT89C51芯片 LED发光二极管 喇叭 晶振电路组成 由引脚输出定 时器产生的各种固定频率的方波信号 然后由喇叭产生各种频率的声音 同理 方波 信号通过发光二极管可以使二极管闪烁发光 产生韵律灯的效果 由于该方案中使用 内部振荡电路 XTAL1 XTAL2引脚外界石英晶体和微调电容构成的晶振电路 晶振电路 存储器扩展电路 4 4 矩阵电路 A T 8 9 C 5 1 复位电路 蜂鸣器 数码管 图2 系统框图 3 2 电路设计 音乐播放器的硬件电路主要是以下8大部分 3 2 1 单片机时钟电路 1 2 3 4 5 6 A B C D 654321 D C B A Title Nu mber R ev isio nS ize B Date 1 2 Ju n 2 0 11 S heet o f F ile F 动动 p ro tel 动动动动动动 动动动动 动动动动动动 Dd bDrawn B y C 4 3 0p C 5 3 0p Y2 1 1 0 59 2 M X 1 X 2 图3 单片机时钟电路 单片机时钟电路是用来配合外部晶体实现振荡的电路 这样可以为单片机提供运 行时钟 如果运行时钟为 0 的话 单片机就不工作 当然超出单片机的工作频率的时 钟也会导致单片机不工作 在 MCS 51 单片机片内有一个高增益的反相放大器 反相 放大器的输入端为 XTAL1 输出端为 XTAL2 由该放大器构成的振荡电路和时钟电路一 起构成了单片机的时钟方式 根据硬件电路的不同 单片机的时钟连接方式可分为内 部时钟方式和外部时钟方式 在内部方式时钟电路中 必须在 XTAL1 和 XTAL2 引脚两 端跨接石英晶体振荡器和两个微调电容构成振荡电路 通常 C1 和 C2 一般取 30pF 晶 振的频率取值在 1 2MHz 12MHz 之间 对于外接时钟电路 要求 XTAL1 接地 XTAL2 脚 接外部时钟 对于外部时钟信号并无特殊要求 只要保证一定的脉冲宽度 时钟频率 低于 12MHz 即可 晶体振荡器的振荡信号从 XTAL2 端送入内部时钟电路 它将该振荡 信号二分频 产生一个两相时钟信号 P1 和 P2 供单片机使用 时钟信号的周期称为状 态时间 S 它是振荡周期的 2 倍 P1 信号在每个状态的前半周期有效 在每个状态的 后半周期 P2 信号有效 CPU 就是以两相时钟 P1 和 P2 为基本节拍协调单片机各部分有 效工作的 3 2 2 复位电路 S1RETC2uf0K4V 图4 复位电路 复位电路就好比电脑的重启部分 当电脑在使用中出现死机 按下重启按钮电脑 内部的程序从头开始执行 单片机也一样 当单片机系统在运行中 受到环境干扰出 现程序跑飞的时候 按下复位按钮内部的程序自动从头开始执行 在单片机系统中 系统上电启动的时候复位一次 当按键按下的时候系统再次复位 如果释放后再按下 系统还会复位 所以可以通过按键的断开和闭合在运行的系统中控制其复位 在电路图中 电容的的大小是 10uF 电阻的大小是 10k 所以根据公式 可以算 出电容充电到电源电压的 0 7 倍 单片机的电源是 5V 所以充电到 0 7 倍即为 3 5V 需要的时间是 10K 10UF 0 1S 也就是说在电脑启动的 0 1S 内 电容两端的电压时在 0 3 5V 增加 这个时候 10K 电阻两端的电压为从 5 1 5V 减少 串联电路各处电压之和 为总电压 所以在 0 1S 内 RST 引脚所接收到的电压是 5V 1 5V 在 5V 正常工作的 51 单片机中小于 1 5V 的电压信号为低电平信号 而大于 1 5V 的电压信号为高电平信 号 所以在开机 0 1S 内 单片机系统自动复位 RST 引脚接收到的高电平信号时间为 0 1S 左右 3 2 3 电源电路 AC1V 23 4DkBP 0RK uf75inGdLM8NJO9s 图5 电源电路 电 源 电 路 是 指 提 供 给 用 电 设 备 电 力 供 应 的 电 源 部 分 的 电 路 设 计 使 用 的 电 路 形 式 和 特 点 电 源 有 交 流 电 源 也 有 直 流 电 源 直 流 电 源 电 路 分 为 开 关 电 源 和 非 开 关 电 源 两 种 形 式 电 路 也 大 不 相 同 开 关 电 源 一 般 不 使 用 变 压 器 非 开 关 电 源 是 传 统 的 设 计 方 式 电 源 电 路 里 多 使 用 变 压 器 来 变 压 后 再 整 流 滤 波 的 方 式 几 个 组 件 通 过 导 线 互 相 连 接 形 成 电 路 也 可 以 称 为 网络 更 特 定 地 电 路 是 可 以 形 成 闭合回路 的 网 络 支 路 是 电 路 的 一 部 分 每 一 个 组 件 都 有 它 独 属 的 支 路 任 意 两 条 或 多 条 支 路 的 相 交 点 称 为 节 点 几 个 组 件 通 过 导 线 互 相 连 接 形 成 电 路 也 可 以 称 为 网 络 更 特 定 地 电 路 是 可 以 形 成 闭 合 回 路 的 网 络 3 2 4 USB 程序下载电路 6IbUS 图6 USB下载电路 USB 即 Universal Serial Bus 中文名称为通用串行总线 这是近几年逐步 在 PC 领域广为应用的新型接口技术 USB 接口具有传输速度更快 支持热插拔以及连 接多个设备的特点 目前已经在各类外部设备中广泛的被采用 目前 USB 接口有两种 USB1 1 和 USB2 0 USB 接口的输出电压为直流 5V 输出电流不大于 500 毫安 PC 机的 USB 接口可以连接外设 复合设备和集线器 最多可以连接 5 级集线器 最多可连接 127 台外设和集线器 USB1 1 的高速模式为 12Mb s 低速模式为 1 5Mb s USB 采用 半双工传输方式 但当一个 USB 连接多个设备时 各个设备共享 12Mb s 的传输带宽 在传输的信息中还携带有状态 控制和差错校验信息 实际的信息传输速率要低一些 只连接一台设备时 最高有效传输速率约为 9 6Mb s USB2 0 的最高传输速率为 480Mb s USB 采用平衡传输方式 抗干扰性好 USB 带纠错能力 可完成对软件透明 的检错和重发 3 2 5 蜂鸣器驱动电路 R3ES2Q1890JDPAKVC 图7 蜂鸣器驱动电路 蜂鸣器是一种一体化结构的电子讯响器 他广泛应用于计算机 打印机 复印机 报警器 电话机等电子产品中作发声器件 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型 电磁式蜂鸣器由振荡器 电磁线圈 磁铁 振动膜片及外壳等组成 接通电源后 振荡器产生的音频信号电流通过电磁线圈 使电磁线圈产生磁场 振动膜片在电磁线 圈和磁铁的相互作用下 周期性地振动发声 蜂鸣器发声原理是电流通过电磁线圈 使电磁线圈产生磁场来驱动振动膜发声的 因此需要一定的电流才能驱动它 单片机 IO 引脚输出的电流较小 单片机输出的 TTL 电平基本上驱动不了蜂鸣器 因此需要增加一个电流放大的电路 S51 增强型单片机实 验板通过一个三极管 C8550 来放大驱动蜂鸣器 原理图见下面图 3 蜂鸣器的正极接到 VCC 5V 电源上面 蜂鸣器的负极接到三极管的发射极 E 三极管的基级 B 经过限流电阻 R1 后由单片机的 P3 7 引脚控制 当 P3 7 输出高电平时 三极管 T1 截止 没有电流流过线圈 蜂鸣器不发声 当 P3 7 输出低电平时 三极管 导通 这样蜂鸣器的电流形成回路 发出声音 因此 我们可以通过程序控制 P3 7 脚 的电平来使蜂鸣器发出声音和关闭 3 2 6 显示电路 本设计显示是采用液晶显示器LCD1602进行显示 LCD1602的功能 P0口是一个地 址 数据复用的双向I O口 当使用P0口访问外部存储器和数据存储器时 P0口内部已 有上拉电阻 当 P0口作程序检验 输出指令字节时 必须外界上拉电阻 LCD1602的控 制信号RS RW E分别接到单片机的P2 0 P2 1 P2 2 本设计中主要用LCD1602显示 开机画 VS1D23R4W560789BLAKJCP GN 图8 液晶显示 3 2 8 矩阵电路 采用4 4行列式键盘来实现选择歌曲播放 以及对歌曲号做基本的操作 即上一曲 下一曲以及暂停 播放 H 图8 矩阵电路 4 系统软件设计 本设计采用了自定义下的流程图 主要程序流程有 主程序 判断有无按键子程 序 键盘扫描子程序 显示键号 歌曲号子程序 开机画面子程序 按键值播放歌曲子 程序等 程序中使用了两个定时中断 定时中断 0 用于产生整个音程的频率 以便驱 动扬声器 程序的总体流程是当 P1 由按键按下时 读键盘 并储存键值 若为 F 键则 通过查表的方式 调用字符串下手键号 曲目子程序 将键号显示出来 若为 1 A 程 序根据储存的键号 将相应歌曲的表头地主赋给 DPTR 取出曲谱 判断是否为休止符 通过查表的方式将表中的定时器初值装入定时器 T0 在定时中断 0 里面 重装初值 将输出口取反 完成发声 在此设计中 每发一个调 调用一个 30MS 的延时 一次当 做曲谱的节拍码 在此过程中若有功能键按下 将当前歌曲的表头地址加 513 减 513 或等待 于此同时调用播放时间初始化子程序 显示 00 00 00 装定时器 T1 的初值 准备更新播放时间 程序流程如图 9 所示 开始 显示初始 化 内存初始 化 有无按键 判断键值并存储 取键值 ASCII 码显 示 1 A 键 播放时间初始 化 按键值存储相应曲谱首 地址 开机画面 取乐谱进行演奏 F 键 有无功能键 装 T1 初值刷新播放时间 单独唱完 全部唱完 结束 暂停 上 1 曲 下 1 曲 乐谱首地址加 513 乐谱首地址减 513 等待 再一次按下 下 是 无 有 否 否 是 是 是 是否 否 否 否 否 有 无 是 是 是 图 9 音乐播放器程序流程图 5 总结与展望 通过这几天的单片机的实训 我在理论的基础上更深刻的掌握了单片机的深层内 容及实际生活中的应用 实训锻炼了自己的动手能力和思维能力 还有在软件方面的 编程能力 让我受益匪浅 学会了如何制作单片机应用程序 并且可以在今后的日常 生活中灵活运用 在单片机音乐播放器的制作过程中 在设计中因为牌组的方向出现错误 导致电 路无法连接成功 但是经过修改正确后 效果还是比较理想 也说明动手能力还有不 足 仍有待提高 现将本次的设计总结如下 5 1 加深了对 16 位单片机结构和原理的了解 5 2 基本掌握了用 Altium Desinger Summer09 Keil uvision4 Protues7 Profession Microsoft Visio 的制图的方法 5 3 再次温习数字电路与模拟电路 提高了分析电路原理图的能力 综合了解了不同的 使用与制图方法 总结了分析电路原理的方法 5 4 遇到不懂时 多动脑 多看 多听 虚心接受别人给予的意见但不改变自己的初衷 在肯定成绩的同时也要指出缺点和不足 5 5 今后 我会更加努力学习 认真掌握老师所讲的知识 勤动脑 勤动手 相信有一 天 我会以优秀的成绩来回报老师 回报学校 回报社会 6 参考文献 1 侯玉宝 陈忠平 李成群 基于 Proteus 的 51 系列单片机设计与仿真 M 北京 电子工业出版 社 2008 2 沈德金 陈粤初 MCS 51 系列单片机接口电路与应用程序实例 M 北京航空航天大学出版 社 1990 3 胡汉才 单片机原理及接口技术 M 清华大学出版社 1996 4 何立民 MCS 51 系列单片机应用系统设计 M 北京航空航天大学出版社 1990 1 5 张毅刚 彭喜元 姜守达 乔立岩 新编 MCS 51 系列单片机应用设计 M 哈尔滨工业大学出 版社 2003 6 附 录 附录 1 系统总电路 P 02345678RST9 XD INWALGE OVpcCUKFYMHzJB Qinoutsb 附录 2 源代码 include 包含头文件 一般情况不需要改动 头文件包含 特殊功能寄存器的定义 sbit speaker P1 2 定义音乐输出端口 需要连接到对应的喇叭 请参 考电路图 unsigned char timer0h timer0l time 送别数据表 code unsigned char sszymmh 6 2 3 5 2 1 3 2 2 5 2 2 1 3 2 6 2 1 5 2 1 6 2 4 3 2 2 5 2 1 6 2 1 5 2 2 3 2 2 1 2 1 6 1 1 5 2 1 3 2 1 2 2 4 2 2 3 3 2 1 5 2 2 5 2 1 6 2 1 3 2 2 2 2 2 1 2 4 5 2 3 3 2 1 2 2 1 1 2 1 6 1 1 1 2 1 5 1 6 0 0 0 音阶频率表 高八位 code unsigned char FREQH 0 xF2 0 xF3 0 xF5 0 xF5 0 xF6 0 xF7 0 xF8 0 xF9 0 xF9 0 xFA 0 xFA 0 xFB 0 xFB 0 xFC 0 xFC 1 2 3 4 5 6 7 8 i 0 xFC 0 xFD 0 xFD 0 xFD 0 xFD 0 xFE 0 xFE 0 xFE 0 xFE 0 xFE 0 xFE 0 xFE 0 xFF 音阶频率表 低八位 code unsigned char FREQL 0 x42 0 xC1 0 x17 0 xB6 0 xD0 0 xD1 0 xB6 0 x21 0 xE1 0 x8C 0 xD8 0 x68 0 xE9 0 x5B 0 x8F 1 2 3 4 5 6 7 8 i 0 xEE 0 x44 0 x6 B 0 xB4 0 xF4 0 x2D 0 x47 0 x77 0 xA2 0 xB6 0 xDA 0 xFA 0 x16 延时函数 void delay unsigned char t unsigned char t1 unsigned long t2 for t1 0 t1 t t1 for t2 0 t2 8000 t2 TR0 0 定时器中断函数 void t0int interrupt 1 TR0 0 speaker speaker TH0 timer0h TL0 timer0l TR0 1 音乐处理函数 void song TH0 timer0h TL0 timer0l TR0 1 delay time 主函数 void main void unsigned char k i TMOD 1 置 CT0 定时工作方式 1 EA 1 ET0 1 IE 0 x82 CPU 开中断 CT0 开中断 while 1 i 0 while i 100 音乐数组长度 唱完从头再来 k sszymmh i 7 sszymmh i 1 1 timer0h FREQH k timer0l FREQL k time sszymmh i 2 i i 3 song
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!