已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计课程设计 可存储式电子琴系统设计可存储式电子琴系统设计 学生姓名学生姓名 李真 谢伟志 武光霞 李真 谢伟志 武光霞 孙宏杰 孙宏杰 郑悦 郑悦 周锦波 周锦波 学号学号200723502147 所在专业所在专业机械设计制造及其自动化 所在班级所在班级机 071 6 指导教师指导教师刘鹏 负责内容负责内容 同组人员同组人员 可存储式电子琴可存储式电子琴 一 任务书一 任务书 本设计利用 8051 单片机的控制程序结合 LCD 设计一台数字式可存储是 电子琴 基本功能为 1 使用 LCD 显示器来显示音节输入的相关信息 2 当按下键盘组相对按键 压电喇叭会发出相对音节单音 共有两 个八度音阶 3 所有单音会存入 8051 内而保存起来 4 至多可以输入 64 个单音 可以一起演奏出来 演奏时可以按键中 断 可以实时显示目前正演奏的单音码 二 原理说明二 原理说明 A 8051 单片机介绍单片机介绍 2 12 1 基本特性基本特性 8051 单片机主要功能特点如下 1 8 位 CPU 片内 128B RAM 2 片内 4KBROM EPROM 特殊功能寄存器区 3 2 个优先级的 5 个中断源结构 4 个 8 位并行 I O 口 P0 P1 P2 P3 4 2 个 16 位定时 计数器 MCS 52 子系列为 3 个 全双工串行口 5 布尔处理器 64KB 外部数据存储器地址空间 6 64KB 外部程序存储器地址空间 片内振荡器及时钟电路 8051 片内程序存储器为掩膜 ROM 可根据特殊要求和用途在制造芯片 是将专用程序固化进去 成为专用单片机 引脚功能 MCS 51 系列单片机大多都采用 40 条引脚双列直插式器件 引脚除 5V VCC40 脚 和电源地 VSS20 引脚 外 按其功能主要由以下三大部分组 成 右图为为 8051 的引脚图 复位后内部寄存器状态复位后内部寄存器状态 2 22 2 时钟电路时钟电路 XTAL1 19 脚 芯片内部振荡电路 单极反相放大器 输入端 TAL2 18 脚 芯片内部振荡电路 单极反相放大器 输出端 MCS 51 的时钟可由内部方式或外部方式产生 2 32 3 控制信号控制信号 2 3 1 RST VPD 9 脚脚 复位信号复位信号 时钟电路工作后 在此引脚上出现两个机器周期的高电平 芯片内部进 行初始复位 复位后片内寄存器状态如下表所示 寄存器内容寄存器内容 PC0000HTMOD 00H ACC00HTCON00H B00HTH000H PSW00HTL000H SP07HTH100H DPTR0000HTL100H P0 P30FFHSCON00H IP 00000 SBUF不定 IE 0 00000 PCON 0 0000 P0 P3 口输出高电平 初值 07H 写入堆栈指针 SP 清 0 程序计数器 PC 和其余特殊功能寄存器 但初始复位不影响片内 RAM 状态 只要该 引脚保持高电平 MCS 51 将循环复位 RST VPD从高电平变成低电平时 单片机将从 0 号单元开始执行程序 另外该引脚还具有复用功能 只要将 VPD接 5v 电源 一旦 VCC电位突然或断电 能保护片内 RAM 中的信息不会 丢失 复电后能正常工作 2 3 2 ALE 30 引脚引脚 地址锁存信号地址锁存信号 PROG 当访问外部存储器时 P0 口输出的低八位地址由 ALE 输出的控制信号 锁存到片外地址锁存器 P0 口输出地址低八位后 又能与片外地址 数据复 用口 那么 P0 口上的信息究竟时地址还是数据完全又 ALE 来定义 ALE 高 电平期间 P0 口上一般出现地址信息 在 ALE 下降沿是 将 P0 口上地址信 息锁存到片外地址锁存器 在 ALE 低电平期间 P0 口上一般出现指令和数据 信息 平时不访问片外存储器时 该端也以六分之一的时钟频率固定输出正 脉冲 因而亦可作系统其它芯片的时钟源 ALE 可驱动 8 个 TTL 门 2 3 3 29 脚脚 片外程序存储器读选通片外程序存储器读选通 PSEN 低电平有效 8051 访问片外程序存储器时 程序计数器 PC 通过 PSEN P2 口和 P0 口输出十六位指令地址 作为程序存储器读信号 输出负脉 PSEN 冲将相应存储单元的指令读出并送到 P0 口上 供 8051 执行 同样可 PSEN 驱动 8 个 TTL 门输入 2 3 4 VPP 31 脚 内部和外部程序存储器选择信号脚 内部和外部程序存储器选择信号 EA 对于 8051 来说 内部有 4K 字节的程序存储器 当为高时 CPU 访 EA 问程序存储器有两种情况 a 地址小于 4K 时访问内部程序存储器 b 地址大于 4K 时访问外部程序存储器 若接地 则不使用内部程序存储器 不管地址大小 取指时总是访问 EA 外部程序存储器 对于 EPROM 型的单片机 在 EPROM 编程时 此引脚用于施加 21 伏编 程电压 VPP 2 42 4 I O 口口 8051 单片机有 4 个双向 8 位 I O 口 P0 P3 P0 口为三态双向口 负载能力 为 8 个 LSTTL 门电路 P1 P3 为准双向口 用作输入时 口锁存器必须先写 1 负载能力为 4 个 LSTTL 门电路 2 5 8051 定时定时 计数器计数器 一般单片机内部都设有定时 计数器 因为有的测控系统是按时间间隔定 时控制的 如定时对物理过程 如温度 的采样测量等 虽然可以通过延时 程序实现定时 但这会降低 CPU 的工作效率 如果能利用一个可编程的实 时时钟获得延时定时 就可以提高 CPU 的工作效率 另外 也有一些测控 系统时根据外部信号的计数结果来实现控制的 必须对外部随机时间 往往 为脉冲信号 进行计数 因此 单片机内部一般都设置可变成的定时 计数器 以简化系统设计 提高系统功能 所谓可编程就是指可通过指令来确定或改 变其工作方式 应包括以下几个方面 5 1 确定其工作方式是定时还是计数 2 预置定时或计数初值 3 当定时时间到或家户终止时 要不要发中断请求 4 如何启动定时或计数器工作 2 5 12 5 1 定时定时 计数器结构与工作原理计数器结构与工作原理 从图 1 2 定时 计数器逻辑结构图 可以看出 2 个 16 位定时 计数器 T0 和 T1 分别由 8 位计数器 TH0 TL0 和 TH1 TL1 构成 他们都是以加 1 的方式完成计数 特殊功能寄存器 TMOD 控制定时 计数器的工作方式 TCON 控制定时 计数器的启动运行并记录 T0 T1 的溢出标志 通过对 TH0 TL0 和 TH1 TL1 的初始化编程可以预置 T0 T1 的计数初值 通过 对 TMOD 和 TCON 的初始化编程可以分别置入方式字和控制字 以指定其 工作方式并控制 T0 T1 按规定的工作方式计数 T1 T0 a 工作原理 a 定时器 当设置为定时器工作方式时 计数输入信号来自内部振荡信号 在每个 机器周期内定时器的计数器做一次 1 运算 因此定时器亦可视为计算 机机器周期的计数器 而每个机器周期又等于 12 个振荡脉冲 故定时器的 工作 方式 工 作 方 式启 动 溢 出 启 动 溢 出 内总线 8AH H 8CH H 8BH C P U TL1 8 位 TH0 8 位 TL0 8 位 TCON 88H TMOD 89H 8DH H TH1 8 位 T0 P3 4 T1 P3 5 定时 计数器逻辑结构 计数速率为振荡频率的 即 12 分频 若单片机的晶振主频为 12MHz 12 1 则计数周期为 如果定时器的计数器 1 产生溢出 则标志着定时时s 1 间到 b 计数器 当设置为计数器工作方式时 计数输 入信号来自外部引脚 T0 P3 4 T1 P3 5 上 的计数脉冲 外部每输入一个脉冲 计数 器 TH0 TL0 或 TH1 TL1 做一次 1 运算 而在实际工作中 计数器由 计数脉冲的下降沿触发 及 CPU 在每个 机器周期的 S5P2 期间对外部输入引脚 T0 T1 采样 芮在 一个机器周期中采 样值位高电平 而在下一个机器周期中采样值为低电平 则紧跟着的再下一 个机器周期的 S3P1 期间计数值就 1 完成一次计数操作 因此确认一 次外部输入脉冲的有效跳变至少要花费 2 个机器周期 即 24 个振荡周期 所以最高计数频率为振荡频率的 为了确保计数脉冲不被丢失 则脉冲 24 1 的高电平及低电平均应保持一个机器周期以上 对外部计数脉冲的基本要求 如上图所示 T为机器周期 CY 不管时定时还是计数工作方式 定时器 T0 或 T1 再对内部时钟或外部脉 冲计数时 不占用 CPU 的时间 除非产生溢出才可能中断 CPU 的当前操作 由此可见 定时 计数器是单片机内部效率高且工作灵活的部件 计数器计数脉冲的基本要求 TCY TCY T1 另外 每个定时 计数器还有四种工作方式 即有四种逻辑结构模式 其 中工作方式 0 2 对 T0 和 T1 都是一样的 而方式 3 对两者是不同的 2 5 22 5 2 8051 定时器模式的工作定时器模式的工作 8051 内含有 2 个 16 位的定时计数器 称为定时器 0 及定时器 1 如同 一般定时计数器的功能 其主要有两种作用 第一 执行一段特定时间长短 的计时 第二 可以计算由 T0 或 T1 引脚输入的脉冲数 前者在应用上可以 产生正确的时间延迟及定时去执行中断服务例程 这是单片机在软件控制程 序上常用到的技巧 而后者的应用则是计数器或是计数器的设计 这两个定时器本身都有 4 种工作模式可供使用 1 模式 0 13 位计时工作模式 2 模式 1 16 位计时工作模式 3 模式 2 具有自动重新加载计数值的 8 位计时工作模式 4 模式 3 在此模式工作时 定时器 1 本身停止计时的工作 而定时器 0 分为两个独立的 8 位定时器由 TL0 及 TH0 来负责计时的任 务 模式 0 到模式 2 中 定时器 0 和定时器 1 的使用方法都一样 只有在模式 3 时才不同 2 5 32 5 3 定时计数器相关控制寄存器定时计数器相关控制寄存器 设计定时器相关控制寄存器说明如下表所示 1 TCON 寄存器 每个位都可按位寻址 可分别设置或清除 适当地控制这些位便可控制 定时器地动作 B7 B6 B5 B4 B3 B2 B1 B0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IE0 其中有关符号说明如下 a TF1 TCON 7 定时器 1 溢位标志 当定时器计时终止产生溢位时 硬件会自动设为 1 而在执行过中断服务程序后 硬件会自动清除 该位 b TR1 TCON 6 定时器 1 计时启动位 通过软件来设置或清除做启动 或停止计数的功能 c TF0 TCON 5 定时器 0 溢位标志 其功能同 TF1 d TR0 TCON 4 定时器 0 定时启动位 其功能同 TR1 e IE1 TCON 3 外部中断 1 引脚 INT1 的中断设置标志 当 INT1 引脚由外部送入中断信号 而硬件检测到此信号时 会将此位设置 在执行过中断服务例程后 硬件会自动清除此位 f IT1 TCON 2 外部中断 1 的中断信号类型设置 当 IT1 1 时 中断 信号位负缘触发 若 IT1 0 时则为低电平触发 g IE0 TCON 1 外部中断 0 引脚 INT0 的中断设置 当 INT0 引脚 由外部送入中断信号 而硬件检测到此信号时将此位设置 在执行 过中断服务程序后 硬件自动清除此位 h IT0 TCON 0 外部中断 0 的中断信号类型设置 当 IT0 1 时 中断 信号为负缘触发 若 IT0 0 时 则为低电平触发 定时器 1定时器 0 定时计数器相关控制寄存器及其说明 2 TMOD 计时模式选择寄存器 此寄存器不可按位寻址 其结构如下 B7 B6 B5 B4 B3 B2 B1 B0 GATE C T M1 M0 GATE C T M1 M0 其中的有关符号说明如下 a GATE 定时器动作的开关控制位 当 GATE 0 时 定时器在 TR0 1 或 TR1 1 时会工作 而当 GATE 1 时 且 TR0 1 或 TR1 1 定时器要在 INT0 或 INT1 引脚成为高电平时才会执行计时的工作 b C T 计时功能或计数功能的选择位 C T 0 执行计时工作 而 C T 1 时才执行计数的功能 c M0 M1 工作模式选择 其设置情况说明如表 1 4 所示 名 称地址功能 TCON88H定时器控制寄存器 TMOD89H定时器工作模式选择寄存器 TH08CH定时器 0 高 8 位计时寄存器 TL08AH定时器 0 低 8 位计时寄存器 TH18DH定时器 1 高 8 位计时寄存器 TL18BH 定时器 1 低 8 位计时寄存器 3 IE 中断 启用寄存 器 可按 位寻址 地址 A8H 用来启用各种中断信号的产生 各个位说明如下 B7 B6 B5 B4 B3 B2 B1 B0 EA ET2 ES ET1 EX1 ET0 EX0 其中的有关符号说明如下 a EA IE 7 EA 0 时 所有中断禁用 中断不产生 EA 1 时 各中 断的产生由个别的启用位决定 b IE 6 保留 c ET2 IE 5 启用定时器 2 溢位的中断 8052 用 M1 M0 工作模式 0 0 模式 0 0 1 模式 1 1 0 模式 2 1 1 模式 3 TMOD 寄存器的 B1 B0 位的设置及其说明 d ES IE 4 启用串行端口的中断 ES 1 启用 ES 0 禁用 e ET1 IE 3 启用定时器 1 中断 f EX1 IE 2 启用外部中断 INT1 的中断 g ET0 IE 1 启用定时器 0 中断 h EX0 IE 0 启用外部中断 INT0 的中断 B LED 原理原理 选用的是共阴极的 LED 发光二极管的阴极连在一起的称为共阴极显示器 通常的七段 LED 显 示块中有八个发光二极管 故也称为八段显示器 其中七个发光二极管构成 七笔字型 8 一个发光二极管构成小数点 七段显示块与单片机接口非常 容易 只要将一个八位并行输出口与显示块的发光二极管相连即可 八位并 行输出口输出不同的字节数据即可获得不同的数字或字符 C 蜂鸣器 蜂鸣器 1 蜂鸣器模拟输出 DO RE MI 的音阶声音 蜂鸣器发声过程仍由按 键启动 定时器控制鸣叫频率 2 据不同音阶的频率 计算出定时器的定时初值和定时周期 D 键盘扫描 键盘扫描 1 键盘输入信息的主要过程键盘输入信息的主要过程 a CPU 判断是否有键按下 b 确定按下的是哪一个键 c 把此键代表的信息翻译成计算机所能识别的代码 如 ASCII 或其他特征 码 以上 1 2 和 1 3 是由软件来完成的 所以用非编码键盘 2 扫描程序查询的内容为 扫描程序查询的内容为 a 查询是否有键按下 首先对 P0 口进行初始化 P0 0 xF0 利用 if 语句进行判断 判断表达式是 P1 0 xF0 如果为真则执行 key scan 子程序 如果为假则执行 else b 查询按下键的行列位置 利用 key scan 来进行键盘查询检测 先判断列 在判断行 具体见程 序 c 对得到的行号和列号进行译码 得到键值 d 键盘的判断是均进行延时 以防止键盘抖动的干扰 利用 key scan 来进行键盘查询检测 E E 以定时器产生各种频率的声音 以定时器产生各种频率的声音 原理及说明原理及说明 由于定时器可以产生各种频率的声音 所以由喇叭发出 DO RE ME 的音阶 定时器 0 工作于模式 0 计时时间长短所发音的频率 而 定 下表列出各个音符对应的频率值 简 谱 1234567 1 2 3 4 5 6 7 音 符 C5D5E5F5G5A5B5C6D6E6F6G6A6B6 频 率 523 587659698784880987 104 6 117 4 131 8 139 6 156 7 176 0 197 5 由频率值推得定时器计数初值 可由以下关系式求得 1sft 2 int tco 32 8192 0 0 colo 32 8192 cohi 其中符号的含义说明如下 频率值 f 方波宽度 以表示 t s 定时器所计数的次数 co 计数初值低字节 lo 计数初值高字节 hi 经计算得到以下一些数据 XTAL 12 MHZ f 523 co 956 TH0 value 226 TL0 value 4 f 587 co 851 TH0 value 229 TL0 value 13 f 659 co 758 TH0 value 232 TL0 value 10 f 698 co 716 TH0 value 233 TL0 value 20 f 784 co 637 TH0 value 236 TL0 value 3 f 880 co 568 TH0 value 238 TL0 value 8 f 987 co 506 TH0 value 240 TL0 value 6 f 1046 co 478 TH0 value 241 TL0 value 2 f 1174 co 425 TH0 value 242 TL0 value 23 f 1318 co 379 TH0 value 244 TL0 value 5 f 1396 co 358 TH0 value 244 TL0 value 26 f 1567 co 319 TH0 value 246 TL0 value 1 f 1760 co 284 TH0 value 247 TL0 value 4 f 1975 co 253 TH0 value 248 TL0 value 3 附录附录 1 流程图 流程图 确定键盘位置执行 else 判断式为真判断式为假 将键值 K 赋予 LED 子程序 使 LED 显示相应数值 并激活计数器 延时 1ms 当计数器计数完毕后 产生溢出中断 触发发声程序 发声程序调用相应数 组中的相应发声频率 发声 并进行延时 1ms 主程序 P0 初始化 计数器选择方式 1 下工 作 开中断 T0 计数器初始化 执行 while 条件语句 P0 初始化 判断键盘是否被按下 附录附录 2 原理图 原理图 附录附录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- TCECS 1262-2023 拱桥缆索吊运系统应用技术规程
- GB 50139-2014 内河通航标准
- 湖北省荆州市石首市2023-2024学年一年级上学期语文期末试卷(含答案)
- 河北新金钢铁招聘试题及答案
- 房屋租赁合同协议范本
- 机器人调试工程师校招面试题及答案
- 恒申控股招聘题库及答案
- 公务员面试劳务面试题及答案
- 国机集团招聘真题及答案
- 公务员考试首都试题及答案
- 专业自动化专业毕业论文
- 空气呼吸器应急知识培训课件
- 2025年初任公务员岗前培训模拟题集及答案解析
- 2025年卫生高级职称评审答辩试题库(健康教育与健康促进)附答案
- 创新基础知识讲座
- 新建应急物资采购方案(3篇)
- 智慧冷链物流园管理办法
- 液氮储罐安全检查表
- 安全bp是什么职位
- 24《延安我把你追寻》课件
- 纸杯产品追溯管理制度
评论
0/150
提交评论