单片机实验教材.doc_第1页
单片机实验教材.doc_第2页
单片机实验教材.doc_第3页
单片机实验教材.doc_第4页
单片机实验教材.doc_第5页
免费预览已结束,剩余85页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 序言 单片机单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统 简称嵌入式系统 两大分支 单片机单芯片的微小体积和极低的成本 可广 泛嵌入到如电子玩具 家用电器 机器人 仪器仪表 汽车电子系统 工业控 制单元 办公自动化设备 金融电子系统 舰船 个人信息终端及通信产品中 成为现代电子系统中最重要的智能化工具 以空前的速度迅速而广泛的取代了 经典电子系统 单片机作为最典型的嵌入式系统 成功推动了嵌入式系统的发展 经历了从 单片微型计算机 Single Chip Microcomputer 到微控制器 MicroController Unit 到片上系统 System on Chip 的发展 推动了嵌入式处理器的发展 演化出庞大的嵌入式系统家族 目前 以及未来相当长一段时间内 单片机应用技术的发展趋势为 1 1 全盘 全盘CMOSCMOS化 化 CMOS电路具有众多的优点 如极宽的的工作电压氛围 极 佳的本质低功耗及功耗管理特性 形成了嵌入式系统独特的低功耗及功耗管理 应用技术 2 2 最大化的 最大化的SoCSoC设计 设计 目前单片机以逐渐向片上系统发展 原有的单片机逐 渐发展成通用SoC单片机 如C8051F系列 或SoC的标准IP核 如DW8051 core 以及各种专用的SoC单片机 3 3 以串行方式为主的外围扩展 以串行方式为主的外围扩展 目前单片机外围器件普遍提供了串行扩展 方式 串行扩展具有简单 灵活 电路系统简单 占用I O口资源少等优点 是 一种流行的扩展方式 4 4 8 8位机仍有巨大的发展空间 位机仍有巨大的发展空间 由于大多数嵌入式应用对象要求有限响应时 间 从诞生至今 乃至今后相当长的时间内 8位机仍有巨大发展空间 目前国内高校计算机 电子 自动化等很多理工科专业都相继开设了单片机 课程 单片机技术的实践性很强 新型单片机及外围器件日新月异 掌握单片 机技术必须通过一定的实践环节才行 MCS 51 系列单片机奠定了8位单片机的 基础 以其为基核 发展到目前的80C51系列 具有极好的兼容性 并有极强的 生命力 以80C5180C51系列单片机系列单片机做为实践的入门之选 既符合教学特点的典型性 又不失内容的先进性 我们采用的是清华TMC 2实验平台 2 清华清华TMCTMC 2 2实验台结构图实验台结构图 3 一 实验仪器简介一 实验仪器简介 4 实验仪的结构如图1 1所示 下面将各部分的功能介绍如下 1 1 通用单片机插座 通用单片机插座 实验仪上设有一个40 脚的万能锁紧插座 可以插入40 脚以下双列直插式封装单片机 包括Intel 公司的MCS 51 系列 ATMEL 公司的AT89C51 AT89C52 及20 脚的 AT89C2051 AT89C1051 PHILIPS 公司的P89C51 系列 51LPC 系列 Microchip 公司的 PIC 系列单片机 该插座的每一个引脚 除EA 以外 在周围都有相应一个可插入自锁紧 连线的插孔 实验时由实验者通过这些插孔将单片机与实验台上的外围电路连接 注意 实验结束后 应将万能锁紧插座的拉杆拉起 使之处于松弛状态 自锁紧插孔 插入导 线时 应稍加力 才能保证接触良好 但拔出时 应先左右旋转 再加力向上拔出 2 2 仿真器 仿真器 在实验箱上设置了仿真器SST89E564RD 可以利用Keil uVision2 来做在线仿真 也可 以将程序下载到单片机中观察实验效果 单片机89c51 和仿真器之间用转换开关SW1 切换 当开关向上拨到 89C51 位置时 选择锁紧插座上的89C51 或89C51RD 芯片 当向下拨到 仿真器 位置时 选择仿真芯片 可进行程序的仿真调试 3 3 跳线开关 跳线开关 实验箱上加了跳线JP0 JP1 JP2 三组跳线 这些跳线在扩展6264 0809 0832 三个 实验中需要连接 主要提供了所需的数据 地址总线 译码 读写等信号 一般情况下建 议这些跳线不要连接 只在做外扩充实验时再连 具体作用请参考相应实验内容 图1 1 单片机及仿真器结构图 4 4 地址译码电路 地址译码电路 考虑到单片机系统扩展的需要 实验台上设有地址译码电路 电路如图1 2所示 这里 采用一片74LS138进行译码 8条译码输出线Y0 Y7在实验台 地址译码 处分别由 自锁 紧 插孔引出 供实验选用 其地址分别是 0000H 1FFFH 2000H 3FFFH 4000H 5FFFH 6000H 7FFFH 8000H 9FFFH A000H BF FFH C000H DFFFH E000H FFFFH 5 图1 2 地址译码电路 5 5 地址总线插孔 地址总线插孔 实验台上有 低位地址 引出插孔 引出经74LS373锁存后的低位地址线A2 A0信号 供搭试各种单片机扩展电路使用 6 6 单片机扩展电路 单片机扩展电路 实验台上设有单片机系统扩展电路 当跳线开关JP0 JP1 JP2接通时 这些电路与单片 机之间除片选信号外主要连线已接好 电路将在后面实验中介绍 可供实验时使用 扩展电 路包括 1 容量容量8K 88K 8的的RAM6264RAM6264可用作扩展数据存储器实验 详见实验七扩展RAM实验 2 模模 数转换器数转换器ADC0809ADC0809 详见实验十四 3 数数 模转换器模转换器DAC0832DAC0832 详见实验十五 模 数转换器 数 模转换器与外界的I O 引脚在芯片周围用 自锁紧插孔 引出 并附有双极性输出 4 双积分双积分A DA D转换器转换器MC14433MC14433 可用作新型的A D转换实验 详见实验十四 7 7 单片机外围接口电路 单片机外围接口电路 实验台上有单片机实验及应用的一些外围接口电路 这些电路与单片机之间的连线由学 生在实验时自己连接 实验时外围电路包括 1 1 七段数码管显示器 七段数码管显示器 实验台上有6个共阳极七段数码管和6个共阴极七段数码管 可作为单片机的输出设备显 示字符或数字 共阳七段数码管采用静态驱动方式 可通过单片机2根I O口线与之直接相 连 显示电路及使用详见实验十 共阴七段数码管将段码输入端 a b c d e f g dp 位码输入端S0 S5引出 可以做并行LED显示的实验 2 2 8 88 8点阵点阵LEDLED显示器显示器 实验台上有1个8 8的点阵LED显示器及驱动电路 可作为单片机的输出设备显示字符或 简单的汉字 其电路及单片机的控制方法 详见实验十一 3 3 字符 字符LCDLCD显示模块显示模块 实验台上有1个16 1的字符液晶显示模块 可作为单片机的输出设备显示字符或其它信 息 其电路及单片机的控制方法 详见实验十二 4 4 4 44 4键盘键盘 实验台上有1个4 4的非编码键盘 可用作单片机的输入设备 其键盘电路及单片机的 控制方法 详见实验十三 5 5 查询式键盘电路 查询式键盘电路 实验台上有六个按键组成的查询式键盘 是键盘电路的另一种形式 其电路和单片机的 控制方法详见实验十五 6 6 6 串行 串行EEPROMEEPROM 实验台上有1片93C46的串行EEPROM 可用来做串行EEPROM实验 7 7 单片机与 单片机与PCPC机通信接口电路机通信接口电路 实验台上设有TTL电平与RS232C电平转换电路 采用MAX232芯片 可用于单片机与PC 机通信 或单片机与单片机之间通信 其使用方法参见实验六 实验十九 8 8 继电器及驱动电路 继电器及驱动电路 实验台上有一个5V直流继电器及相应的驱动电路 当其开关量输入端输入数字量 1 时 继电器动作 常开触点闭合 常闭触点断开 通过相应的实验使学生了解开关量控制 的一般原理 单片机控制继电器的方法 详见实验十六 9 9 扬声器及驱动电路 扬声器及驱动电路 实验台上有一个扬声器及相应的驱动电路 单片机控制蜂鸣器的方法 详见实验十六 1010 直流电机 步进电机驱动电路 直流电机 步进电机驱动电路 实验台上有直流电机和步进电机的驱动电路 单片机控制直流电机和步进电机的方法 详见实验二十 1111 逻辑电平开关 逻辑电平开关 如下图1 3所示 在实验台右下方 有8个逻辑电平开关 K7 K0 可作为单片机的输 入设备 当开关拨到 1 位置 输出高电平 拨到 0 位置时输出低电平 电路中串接 了保护电阻 使单片机不直接同电源相连 可有效地防止学生因误操作损坏集成电路现象 7 图1 3 1212 时钟电路 时钟电路 如图1 4所示 可以输出2MHZ 1MHZ 两种信号 供实验者使用 可以作为80c2051单片 机的外部时钟 图1 4 1313 LEDLED灯显示电路灯显示电路 如图1 5所示 实验台上设有8个发光二极管及相关驱动电路 输入端L7 L0 当输入 信号为 1 时发光 为 0 时灭 可用作单片机的输出设备 8 图1 5 1414 单脉冲电路 单脉冲电路 采用RS 触发器产生 实验者每按一次开关即可以从两个插孔上分别输出一个正脉冲及 负脉冲 供 中断 计数器 等实验使用 电路如图1 6 所示 图1 6 1515 逻辑笔 逻辑笔 逻辑笔电路如图1 7所示 当输入端Ui接高电平时 红灯 DH 亮 接低电平时 绿灯 DL 亮 9 图1 7 1616 复位电路 复位电路 如图1 8所示 实验台上有一片MAX708 复位电路能在上电时 或按下复位开关RESET后 产生一个高电平的复位信号供单片机复位 图1 8 8 8 仿真开关 仿真开关 位于实验仪复位开关 RESET 上侧有一个仿真开关SW1 如图1 9所示 当编程开关拨 至仿真器位置时 仿真器的RESET VCC RXD及TXD接通 系统处于89E564RD的仿真状态 编程开关拨至89C51位置时 仿真器与系统断开 单片机处于工作状态 其相应的信号接通 10 9 9 编程开关及指示灯 编程开关及指示灯 位于实验仪40芯活动插座左上角设有一个编程开关及指示灯 当编程开关拨至 编程 位置时 指示灯亮 PESN 接GND 单片机处于编程状态 编程开关拨至 运行 位置时 PESN 与GND断开 单片机处于工作状态 1010 电源及开关 电源及开关 实验仪自备电源 交流220V 电源插座在实验箱后板上 交流电源开关在实验箱的右侧 当交流电源开关处在 开 位置时交流电源加电 开关上指示灯亮 在实验台大板的右上 角有直流电源开关 当开关处于 ON 位置时 5V 12V 12V 电源接通 处于 OFF 位 置时电源断开 另外 为了减少电源功耗 对实验台上部分功耗大的电路如 共阳极数码 管和共阴极数码管 在其左上角设有电源连接插针 标记为 5V 当实验需要该电路时 用短路块短接该插针 即可接通 5V电源 1111 通用扩展实验区和用户自由扩展区 通用扩展实验区和用户自由扩展区 由于单片机技术发展迅速 外围新器件不断出现 单片机实验的内容不断更新 同时考 虑到学生课程设计及科研的需要 实验台上设有通用扩展实验区和用户自由扩展区 通用 扩展实验区包括一个40芯和一个20芯集成电路插座 集成电路插座的每一个引脚都与附近 的一个 自锁紧插孔 相连 利用通用扩展实验区可插入各种双列直插式集成电路芯片 包括模拟集成电路 及电阻 电容等电子元件 很方便地搭试新的单片机外围电路 开 发新的单片机实验 供学生毕业设计 科研时搭试新的单片机外围电路 1212 串行通信接口 串行通信接口 实验台上DB9 插座 用于外接串行通信电缆 在仿真调试和下载程序时与主机通信 1313 IDC 26IDC 26 芯插座芯插座 11 J7 为通用IDC 26 插座 为用户自行开发使用 其26 个引脚与周围 自锁紧插孔 1 26 相连 可外接打印机等外部设备 二 二 Keil uVision2快速入门快速入门 第一章第一章 Keil uVision2的安装的安装 使用 Keil Software 为您提供 8051 系列单片机的软件开发工具 利用本工具您可以开 发所有 8051 系列单片机的嵌入式应用 你可以用 Keil uVision2 来编译你的 C 源码 汇编你的汇编源程序 连接和重定位你的 目标文件和库文件 创建 HEX 文件 并且可以调试你的目标程序 Keil uVision2 的安装步骤如下的安装步骤如下 在计算机光驱中放入附带光盘 双击 WINDOWS 桌面上我的电脑图标浏览光盘的内容 找到 Keil 7 0 文件夹 在光盘的 Keil 7 0 目录下可以找到 Keil 7 0 Keilc51v70eval pft70d tmp setup setup exe 双 击鼠标进入安装过程 在系统提问安装评估版 Eval Version 还是完全版 Full Version 时 请选择评估版 Evai Version 根据提示进行安装 直到安装完成 第二章第二章 Keil uVsion2 菜单条 工具条和快捷键菜单条 工具条和快捷键 在 Keil uVision2 中 管理文件使用工程文件而不是以前的单一文件的模式 C51 源 程序 汇编源程序 头文件等都可放在工程里统一管理 12 菜单条提供各种操作菜单 如 编辑操作 项目维护 开发工具选项设置 调试程序 窗口选择和处理 在线帮助 工具条按钮允许你快速地执行 uVision2 命令 键盘快捷键 你自己可以配置 允许你执行 uVision2 命令 uVision2 各窗口和工具条名称 下面的表格列出了 uVision2 菜单项命令 工具条图标 默认的快捷键以及他们的描述 2 1 文件菜单和命令 文件菜单和命令 File 菜单菜单工具条工具条快捷键快捷键描述描述 NewCtrl N创建新文件 Open Ctrl O 打开已经存在的文件 Close 关闭当前文件 Save Ctrl S 保存当前文件 Save all 保存所有文件 Save as 另外取名保存 Device Database维护器件库 Print Setup 设置打印机 Print Ctrl P 打印当前文件 Print Preview 打印预览 1 9 打开最近用过的文件 Exit 退出 uVision2 提示是否保存文件 13 2 22 2 编辑菜单和编辑器命令编辑菜单和编辑器命令 Edit Edit 菜单菜单工具条工具条快捷键快捷键描述描述 Home 移动光标到本行的开始 End 移动光标到本行的末尾 Ctrl Home移动光标到文件的开始 Ctrl End 移动光标到文件的结束 Ctrl 移动光标到词的右边 Ctrl A选择当前文件的所有文本内容 Undo Ctrl Z 取消上次操作 Redo Ctrl Shift Z 重复上次操作 Cut Ctrl X 剪切所选文本 Ctrl Y 剪切当前行的所有文本 CopyCtrl C复制所选文本 PasteCtrl V粘贴 Indent将所选文本右移一个制表键的距离 Selected Text Unindent将所选文本左移一个制表键的距离 Selected Text Toggle BookmarkCtrl F2设置 取消当前行的标签 Goto Next BookmarkF2移动光标到下一个标签处 Goto Previous BookmarkShift F2移动光标到上一个标签处 Clear All Bookmarks清除当前文件的所有标签 FindCtrl F在当前文件中查找文本 F3 向前重复查找 Shift F3向后重复查找 Ctrl F3查找光标处的单词 Ctrl 寻找匹配的大括号 圆括号 方括 号 用此命令将光标放到大括号 圆括号或方括号的前面 Replace Ctrl H 替换特定的字符 Find in Files 在多个文件中查找 2 3 选择文本命令选择文本命令 在 uVision2 中 你可以通过按住 Shift 键和相应的光标操作键来选择文本 如 Ctrl 是移动光标到下一个词 那么 Ctrl Shift 就是选择当前光标位置到下一个词的开始位 置间的文本 当然 你也可以用鼠标来选择文本 操作如下 要选择 鼠标操作 任意数量的文本在你要选择的文本上拖动鼠标 14 一个词双击此词 一行文本移动鼠标到此行的最左边 直到鼠标变成右指向的箭头 然后单击 多行文本移动鼠标到此行的最左边 直到鼠标变成右指向的箭头 然后相应 拖动 一个距形框中的文本按住 Alt 键 然后相应拖动鼠标 2 42 4 视图菜单 视图菜单 ViewView 菜单菜单工具条工具条快捷键快捷键描述描述 Status Bar显示 隐藏状态条 File Toolbar显示 隐藏文件菜单条 Build Toolbar显示 隐藏编译菜单条 Debug Toolbar 显示 隐藏调试菜单条 Project Window显示 隐藏项目窗口 Output Window显示 隐藏输出窗口 Source Browser打开资源浏览器 Disassembly Window显示 隐藏反汇编窗口 Watch TMOD 0 x20 TH1 0 xf3 TR1 1 此行及以上 3 行为 PRINTF 函数所必须 printf Hello I am KEIL n 打印程序执行的信息 printf I will be your friend n while 1 在输入上述程序时 读者已经看到了事先保存待编辑的文件的好处了吧 即 Keil c51 会自动 识别关键字 并以不同的颜色提示用户加以注意 这样会使用户少犯错误 有利于提高编程效 率 程序输入完毕后 如下图所示 8 在上图中 单击 Project 菜单 再在下拉菜单中单击 Built Target 选项 或者使用快捷键 F7 编译成功后 再单击 Project 菜单 在下拉菜单中单击 Start Stop Debug Session 或者使用快捷键 Ctrl F5 屏幕如下所示 26 9 调试程序 在上图中 单击 Debug 菜单 在下拉菜单中单击 Go 选项 或者使用快捷键 F5 然后再单击 Debug 菜单 在下拉菜单中单击 Stop Running 选项 或者使用快捷键 Esc 再单击 View 菜单 再在下拉菜单中单击 Serial Windows 1 选项 就可以看到程序运行后的结果 其结 果如下图所示 27 至此 我们在 Keil C51 上做了一个完整工程的全过程 但这只是纯件的开发过程 如何使用仿真器调试程序哪 那就必须有一台能仿真 51 系列单片机的仿真器 然后按仿真 器说明进行调试 三 在系统编程软件 三 在系统编程软件 FlashMagicFlashMagic 的使 的使 用用 1 1 在系统编程简介在系统编程简介 进行单片机的实验或开发时 通常需要借助编程器将调试好的目标程序写入到单片机 内部程序存储器中 普通的编程器价格从几百元到几千元不等 另外 在开发过程中 程 序每改动一次就要拔下电路板上的芯片编程后再插上 也比较麻烦 随着单片机技术的发展 出现了可以在系统编程 ISP 的单片机 ISP一般是通过单 片机的串行接口对内部的程序存储器进行编程 如PHILIPS 公司的P89C51RX P89C51RX2 单片机 ATMEL公司的AT89S8252单片机 WINBOND公司的W78E516等 利用在系统编程 ISP 的单片机 单片机的实验和开发不需要编程器 单片机芯片可以直接焊接到电路板 上 调试结束即成成品 甚至可以远程在线升级单片机中的程序 使得单片机应用系统的 设计 生产 维护 升级等环节都发生着深刻的变革 实验仪附带有一片PHILIPS 公司新推出的高性能8 位单片机P89C51RD2 该单片机与 MCS 51单片机引脚及指令集完全兼容 其最大的优点是 片内具有64KB闪速程序存储器 1KB的片内数据存储器 且同PC机连机后 可将目标程序直接写入片内程序存储器中 不再 需要专用的编程器 下面就其编程方法作一介绍 在断电的情况下 将P89C51RD2单片机插入实验仪通用单片机插座并锁紧 将实验 仪与单片机之间的串行通信电缆连接好 通信电缆一端接在PC 的串口COM1或COM2 另一端 接实验仪接口DB9 将仿真器开关打到89C51一侧 将单片机的相应信号RXD TXD等与RS232电平转换电 路相连 将实验仪上的编程开关拨至 编程 位置 编程指示灯亮 按RESET按钮使单片机 复位后 即可按下面的说明编程 2 2 在系统编程软件的安装 在系统编程软件的安装 随实验仪附带的光盘中 包含有PHILIPS 单片机的在系统编程软件 Flash Magic 该 软件在使用前需进行安装 安装步骤如下 1 将光盘上的Flash Magic 拷贝到硬盘上 2 用鼠标双击Flash Magic 的图标 根据屏幕提示操作 程序会自动安装到你的机器上 3 3 在系统编程软件的使用在系统编程软件的使用 28 在PC机上运行编程软件Flash Magic 软件运行后屏幕界面如下 屏幕上方为主菜单 主菜单下方的屏幕被分成了5个区 分别标有1 2 3 4 5 下面 对主菜单及编程方法做一说明 1 1 主菜单主菜单 主菜单有4个子菜单 分别是File isp options 和help File子菜单项 包括打开和存储一个 HEX 文件 打开和存储一个设计文件和退出 Flash Magic操作 ISP子菜单项 包括芯片空检查 读保密位 读芯片标志字节 显示存储器内容 擦 除FLASH等操作 具体内容在下一节介绍 Options 子菜单项 包括复位和高级选项两项操作 这两项操作在我们的实验系统中 一般不用 所以这里不做介绍 Help子菜单 包括查看Flash Magic的用户手册 可直接通过网络连接到Flash Magic 的主页或连接到Philips半导体公司的主页查看相应信息 2 2 编程操作编程操作 29 在对一片Philips的89C51RX2进行编程时 一般按屏幕提示进行5步操作 第一步 通讯设置 屏幕1区 设置通讯口 可以通过下拉菜单在COM1 COM4中进行选择 也可以在输入框中直接输 入所连接的通讯口 波特率设置 可以通过下拉菜单进行选择 建议先从较低的波特率选起 进行通讯实 验 试通以后再选用较高的波特率 在我们的单片机实验系统中 建议选2400或4800波特 率 振荡频率设置 在我们的实验系统中应输入6 000MHZ 器件选择 可以通过下拉菜单进行选择 该实验系统随机配送一片P89C51RD2 在选 择芯片时先仔细看清楚芯片型号是89C51RD2HXX还是89C51RD2XX 两者是不同的 请不要选 错 第二步 擦除 屏幕2区 在屏幕的2区列出了所选器件的各个Flash 块 用鼠标选中你要擦除的Flash块 在执行 擦除操作或编程操作时 就会将所选的Flash 块擦除 注意 当擦除整个Flash 时芯片的 自举指针 Boot Vector 和状态字节 Status byte 将被设置成初始值 除89C51RX 系列 芯片以外 在擦除整个Flash时保密位也将被擦除 第三步 选择HEX文件 屏幕3区 选择和打开一个HEX文件可以有三种方法 在文本框中键入你所需要的HEX文件的路径 和文件名 点击Browse 浏览 按扭 寻找你所需要的HEX文件 在主菜单的File 子 菜单下用Open 打开一个HEX文件 第四步 操作选项 屏幕4区 屏幕4区是编程时的一些选项 编程后校验 这项功能一般是需要的 填充用不到的Flash区 这项功能是在选择了一个HEX文件后 将该HEX文件用不到的 存储区用00H填满 产生校验和 这项功能是在选择了一个HEX 文件后 Flash Magic 在这个HEX 文件所 用到的每一块Flash 块的最高地址写入一个值 这个值使这个Flash 块的校验和为55H 执行 如果选择该项功能后 将在编程完成后自动执行固化好的程序 注意 在我们 的系统中由于使用硬件复位操作 这项功能将不起作用 保密位 在你的程序尚未完全调试好以前 所有保密位不要选 第五步 编程 屏幕5 区 在屏幕的第五区只有一个按扭 Start 按下这个按扭将根据你的选择顺序执行如 下操作 擦除FLASH 块 对HEX 文件编程 校验 填充没有用到的FLASH 产生校验和的值 写时钟位 30 写保密位 执行固化好的程序 操作完成后 将显示出 Finished 并显示出对HEX 文件编程所用的时间 3 3 附加 附加ISPISP 功能介绍功能介绍 芯片空检查 在ISP 菜单下选择了空检查后 将对所选芯片的所有FLASH 块进行空检 查 并显示出每一块空还是不空的信息 读保密位 该项功能将对选择的芯片的保密位的状态读出并显示在屏幕上 如果保密 位中某一位已经设置 将用高亮度显示出来 读芯片署名 芯片署名包括3 个字节 第一个字节是制造厂标志 例如 15H 就是 PHILIPS 半导体的标志 另外两个是芯片标志 修改自举指针和状态字节 状态字节指出的是芯片复位以后程序运行的初始地址 如 果该字节值为00H 且PSEN 引脚没有接低电平 非编程状态 那么芯片复位以后 将从 0000H 地址运行用户的应用程序 自举指针指的是芯片内部自举程序所在的页地址 8051系 列单片机该指针的默认值为FCH 相对应自举程序的起始地址为FC00H 注意 用户编程时 一定不要修改自举指针的值 一旦该指针被改为非FCH 的其它值 自举程序将无法运行 在线编程功能将不再作用 这时只有用并行编程器将该芯片擦除才能恢复 显示FLASH 存储器 在ISP 子菜单下选择显示FLASH 存储器功能后 将显示出FLASH 存储器的内容 每行显示16 个字节 擦除FLASH 有两种方法可以擦除FLASH 一种方法是在前面讲到的编程操作的5 个步 骤中 另一种方法是在ISP 子菜单下选择擦除FLASH 其它一些功能在该实验系统中不会用到所以这里不做介绍 31 四 单片机实验四 单片机实验 实验一实验一 端口端口I OI O 实验实验 一 实验目的 掌握8051单片机输入 输出端口的使用方法 二 实验内容 1 从8051 单片机P0 P1 P2 P3 中任选2 个端口 一个端口接逻辑电平开关 输入设 备 另一个端口接LED 显示电路 输出设备 无条件将逻辑电平开关输入的数据传送 给LED 显示电路 例如 使用P0 口输入 P1 口输出 实验电路如下 2 任选一个端口接LED 显示电路 编程使8 个LED 从左至右逐个发光 流水灯 三 实验原理 8051 单片机有4 个8 位的并行I O 端口 P0 P1 P2 P3 在不扩展存储器 I O 端口 在不使用定时器 中断 串行口时 4 个端口 32 根口线均可用作输入或输出 作输出时 除P0 口要加上拉电阻外 其余端口与一般的并行输出接口用法相同 但作为输入端口时 必须先向该端口写 1 例如 P0 口接有 个输入设备 从P0 口输入数据 注意 断开 J0 至累加器A 中 程序段为 MOV P0 0FFH MOV A P0 若将P0 0 位的数据传送至C 中 程序段为 SETB P0 0 MOV C P0 0 四 参考程序 以P0 口输入 P1 口输出为例 1 I O口实验程序 IO 1 ASM ORG 00H MAIN MOV P0 0FFH 向P0 端口锁存器写0FFH 准备输入 32 MOV A P0 从P0 口输入数据 MOV P1 A 将数据传至P1 口 SJMP MAIN END 2 流水灯实验程序 IO 2 ASM ORG 00H MOV A 1 LOOP MOV P1 A 将A 的内容通过P1 口输出 CALL DELAY 调延时子程序 RL A A 左移一位 SJMP LOOP DELAY MOV R0 80H 延时子程序 DELAY1 MOV R1 00H DELAY2 DJNZ R1 DELAY2 DJNZ R0 DELAY1 RET END 实验二实验二 交通灯控制实验交通灯控制实验 一 实验目的 1 学习交通灯控制的方法 2 掌握8051 单片机位操作指令的用法 二 实验内容 通过单片机的P1口控制实验仪上6个LED按照交通灯的变化规律循环发光 模拟十字路口 假设为东西南北走向 交通灯 实验电路如下 L5 L4 L3模拟东西方向交通灯 L2 L1 L0模拟南北方向交通灯 通过一条SETB 指令 可使某一灯亮 通过一条CLR 指令 可使某一灯灭 33 三 参考程序流程图 四 交通灯实验程序 JTD ASM SR EQU P1 0 南北红灯 SY EQU P1 1 南北黄灯 SG EQU P1 2 南北绿灯 ER EQU P1 3 东西红灯 34 EY EQU P1 4 东西黄灯 EG EQU P1 5 东西绿灯 ORG 0000H ST1 SETB SG 南北方向绿灯亮 CLR SY CLR SR CLR EG CLR EY SETB ER 东西方向红灯亮 MOV R3 20 长延时 CALL DELAY MOV R4 8 南北方向绿灯闪4 次 ST2 CPL SG MOV R3 2 短延时 CALL DELAY DJNZ R4 ST2 CLR SG 南北方向绿灯灭 SETB SY 南北方向黄灯亮 MOV R3 20 延时 CALL DELAY ST3 CLR SY 南北方向黄灯灭 SETB SR 南北方向红灯亮 CLR ER 东西方向红灯灭 SETB EG 东西方向绿灯亮 MOV R3 20 长延时 CALL DELAY ST4 MOV R4 8 东西方向绿灯闪4 次 LP CPL EG MOV R3 2 短延时 CALL DELAY DJNZ R4 LP CLR EG 东西方向绿灯灭 SETB EY 东西方向黄灯亮 MOV R3 20 延时 CALL DELAY SJMP ST1 转ST1 DELAY MOV R1 0 延时子程序 DELAY1 MOV R0 0 DELAY2 DJNZ R0 DELAY2 DJNZ R1 DELAY1 DJNZ R3 DELAY RET 35 实验三实验三 外部中断实验外部中断实验 一 实验目的 掌握8051 单片机外部中断的使用方法 二 实验内容 实验电路如下图所示 通过用手动逐个向8051 单片机的INT0 输入单脉冲 申请中断 每 中断一次 依次使8051 单片机向P1 口输出55H AAH 55H 三 参考程序流程图 四 外部中断实验 INT ASM ORG 0000H AJMP MAIN 跳转到主程序 ORG 0003H 外部中断0 INT0 的入口地址 MOV P1 A 将A 中的数据送到P1 口显示 CPL A 对A 中的数据取反 36 RETI 中断返回 ORG 0020H 主程序地址 MAIN SETB EA CPU 开中断 SETB IT0 设置中断触发方式为边沿触发 SETB EX0 外部中断0 开中断 MOV A 55H A 中预置数据55H SJMP 等待中断信号 实验四实验四 定时器实验定时器实验 一 实验目的 1 掌握8051 单片机内部定时器的使用方法 2 学习电子音响 喇叭的应用电路及编程 二 实验内容及实验原理 音阶由不同频率的方波产生 音阶与频率的关系如表3 8 1 所示 方波的频率由定时器控制定时器控制产生 定时器计数溢出后产生中断 将P1 2 取反 即可 每个音阶对应的定时器初值 可按下法计算 晶振为6MHz 时 由于音阶1 的频率是262Hz 设定时器的初值为X 则 可得 X 64582D 0FC46H 3 实验内容 连续发出1 2 3 4 5 6 7 i i 7 6 5 4 3 2 1 的音乐 37 三 参考程序流程图 五 定时器实验 DSQ 2 ASM 中断方式 ORG 0000H LJMP MAIN ORG 1BH JMP T1INT 定时器1 中断入口地址 ORG 0100H 38 MAIN MOV SP 60H ANL TMOD 0FH 定时器1 置为方式1 ORL TMOD 10H ORL IE 88H 允许定时器1 中断 MAIN1 MOV DPTR TONE 置TONE 表首地址 MOV A 00H TONE 表偏移量 LOOP MOVC A A DPTR 读TONE 表中的TH1 值 JZ MAIN1 为0 则转MAIN1 进入下一周期 MOV TH1 A TONE 表中的高字节送TH1 和R5 MOV R5 A INC DPTR 从TONE 表中读出TL1 的值 MOV A 00H MOVC A A DPTR MOV TL1 A TONE 表中的低字节值送TL1 和R6 MOV R6 A SETB TR1 启动定时器1 INC DPTR MOV A 00H MOVC A A DPTR 从TONE 表中取出音的时间 MOV R2 A LOOP1 MOV R3 80H 延时 LOOP2 MOV R4 0FFH DJNZ R4 DJNZ R3 LOOP2 DJNZ R2 LOOP1 INC DPTR TONE 表地址加1 指向下一个音调 MOV A 00H JMP LOOP T1INT CPL P1 2 取反得到一定频率的方波 使喇叭发出一定音高的音 调 CLR TR1 停止定时器1 计数 MOV TH1 R5 重置定时器1 时间常数 MOV TL1 R6 SETB TR1 恢复定时器1 计数 RETI TONE DB 0FCH 46H 04H 0FCH 0AEH 04H 音调表 DB 0FDH 0BH 04H 0FDH 34H 04H DB 0FDH 83H 04H 0FDH 0C8H 04H DB 0FEH 06H 04H 0FEH 22H 04H DB 0FEH 22H 04H 0FEH 06H 04H DB 0FDH 0C8H 04H 0FDH 83H 04H DB 0FDH 34H 04H 0FDH 0BH 04H DB 0FCH 0AEH 04H 0FCH 46H 0CH DB 00H 00H 00H 39 END 实验五实验五 计数器实验计数器实验 一 实验目的 掌握8051 单片机内部计数器使用方法 二 实验内容 实验电路如图 设置8051 单片机内部定时器 计数器T0 计数 按方式2 工作 对T0 引脚 P3 4 手动输入的单脉冲进行计数 并将其计数值从P1 口输出 在LED 上显示出来 验 证其正确性 三 参考流程图 四 计数器实验程序 JSQ ASM ORG 0000H MOV TMOD 06H T0 计数 方式2 MOV TH0 0 计数初值0 MOV TL0 0 SETB TR0 启动T0 LOOP MOV P1 TL0 读T0 送P1 口 AJMP LOOP 40 实验六实验六 串行口通信实验串行口通信实验 一 实验目的 掌握单片机串行口工作方式的设定及串行通信程序设计 二 实验内容 自发自收实验 实验电路如图 a 所示 编程通过串行口循环发送数据00H FFH 并自收 回来在LED显示出来 三 参考流程图 自发自收 41 四 串行口通信程序 COM ASM ORG 00H MOV SCON 90H 设置串行口方式2 工作 MOV A 00H START INC A MOV SBUF A 将A 中的内容发送 WAIT0 JNB TI WAIT0 等待发送完成 CLR TI 清发送中断标志 WAIT JNB RI WAIT 等待接收完成 MOV A SBUF 从接收缓冲器读入数据 MOV P1 A 送到P1 口显示 CLR RI 清接收中断标志 CALL DELAY 延时 LJMP START DELAY MOV R0 0 延时子程序 MOV R1 0 LP DJNZ R1 LP 42 DJNZ R0 LP RET 实验七实验七 扩展扩展RAMRAM 实验实验 一 实验目的 1 掌握8051 单片机扩展外部数据存储器的方法 2 掌握8051 内部RAM 和外部RAM 之间的数据传送的方法 二 实验原理与内容 实验仪上有一片容量为8K 8 位的RAM 型号为6264 6264 与8051 单片机的连接电路如图 所示 本实验内容 把6264 作为外部RAM 扩展外部数据存储器 连线为 1 将实验箱中上部的JP0 JP1 JP2 全部用短路子相连 图中数据及地址线就已经连接好了 2 3 单片机P1 口接LED 显示电路 编写数据传送程序 使8051 内部RAM30H 3FH 单元置初值O0H 0FH 然后传送到外部 RAM 6264 的0000H 000FH 单元中 再将0000H 000FH 中内容求和送到P1 口显示 78H 43 三 扩展RAM实验程序 RAM ASM ORG 00H MOV R0 10H R0 为循环计数器 MOV A 0 MOV R1 30H R1 为片内RAM 地址指针 WRIAGA MOV R1 A 写片内RAM 一个单元 INC A INC R1 地址指针加1 DJNZ R0 WRIAGA 循环计数器减1 不等于0 转移 MOV DPTR 0 DPTR 为片外RAM 地址指针 MOV R2 10H R2 为循环计数器 MOV R0 30H R0 为片内RAM 地址指针 REAWRI MOV A R0 读片内RAM 一个单元 MOVX DPTR A 写入外部RAM 一个单元 INC DPTR 片外RAM 地址指针加1 INC R0 片内RAM 地址指针加1 DJNZ R2 REAWRI 循环计数器减1 不等于0 转移 MOV R0 10H R0 为循环计数器 MOV DPTR 0 DPTR 为片外RAM 地址指针 MOV 40H 0 40H 为和数的存放单元 ADDAGA MOVX A DPTR 读片外RAM 一个单元到A 中 MOV B A 寄存到B 中 MOV A 40H ADD A B 求和 MOV 40H A 存和数 INC DPTR 片外RAM 地址指针加1 DJNZ R0 ADDAGA 循环计数器减1 不等于0 转移 MOV P1 40H 将和送P1 口显示结果为 78 SJMP END 实验八实验八 扩展扩展82558255实验实验 一 实验目的 掌握89C51 单片机扩展并行口8255 的接口方法 二 实验原理 8255为Intel公司的一种可编程并行I O接口芯片 它具有三个8位的I O口 它与单片机 的接口简单 在单片机系统中应用广泛 89C5l单片机与8255的连接电路如图所示 其地址 数据 命令状态信息都通过D0 D7传送 8255片选号由P2 7产生 低电平有效 RD为读选 通信号 低电平有效 WR为写选通信号 低电平有效 44 三 实验内容和步骤 1 8255 芯片插在实验台的扩展40 芯插座上 按图连线 8255 的D0 D7 接89C51 的P0 0 P0 7 8255 的RD 和WR 分别接89C51 的 RD 和 WR CS 接P2 7 A0 和A1 分别接实验台上的A0 和A1 插孔 8255 PA0 PA7 接发光二极管L0 L7 PB0 PB7 接逻辑电平开关K0 K7 另外8255 7 脚接GND 26 脚接VCC 35 脚接RESET 2 编程 从8255PB 口读取开关状态从PA 口输出在发光二极管上显示出来 四 扩展8255实验程序 E8255 ASM ORG 00H COM EQU 0003H 8255 命令寄存器的地址 PA EQU 0000H PA 口的地址 PB EQU 0001H PB 口的地址 ORG 00H MOV 8eH 02H MOV A 82H 设置命令字为00000010B B 口输入A 口输出 MOV DPTR COM 将命令寄存器的地址放入DPTR 中 MOVX DPTR A 写命令字 LOOP MOV DPTR PB 将B 口地址放入DPTR 45 MOVX A DPTR 读入B 口的数据 MOV DPTR PA 将A 口地址放入DPTR MOVX DPTR A 将读入的数据由A 口输出 SJMP LOOP END 实验九实验九 扩展扩展81558155实验实验 一 实验目的 掌握8155与8051单片机的接口及使用方法 二 实验原理 8155为Intel公司的另一种可编程并行IO接口芯片 它具有二个8位和一个6位IO口 以 及256个字节RAM 一个14位定时器 它与单片机的接口简单 在单片机系统中应用广泛 图中8155RAM的一组地址为7E00 7EFFH 8155 的一组IO口地址为 命令 状态口 7F00H PA口 7F01H PB口 7F02H PC口 7F03H 定时器低8位 7F04H 定时器高8位 7F05H 46 三 实验内容与步骤 1 在仪器通用实验区插入一片8155 按上图与8051单片机连好电路 单片机的P1口接LED 灯显示电路 编写一个向8155的256字节RAM写入数据00H FFH 然后再逐一读出的程序 运 行验证正确性 参考程序 实验 9 1 ASM ORG 00H RAM EQU 7E00H 8155 RAM地址为7E00H MOV A 0 A清零 MOV R0 256 数据个数计数器 MOV DPTR RAM RAM放入DPTR LOOP MOVX DPTR A 写一个数据 INC DPTR 地址加1 INC A 数据加1 DJNZ R0 LOOP 计数器减1 不为零 转LOOP MOV R0 256 重置数据个数计数器初值 为读出做准备 MOV DPTR RAM 地址回到原位 LOOP2 MOVX A DPTR 读数开始 读入一个数据 放入A中 INC DPTR 地址加1 MOV P1 A 将读入的数据送到P1口 CALL DELAY 延时 DJNZ R0 LOOP2 计数器减1 不为零 转LOOP AJMP 结束 47 DELAY MOV R1 80 延时子程序 MOV R2 00 LP DJNZ R2 LP DJNZ R1 LP RET END 2 将8155的PA口接逻辑电平开关 输入设备 PB口接LED显示电路 输出设备 编制 程序 无条件将逻辑电平开关输入的数据传送给LED显示电路 参考程序 实验 9 2 ASM ORG 00H COM EQU 7F00H 定义 命令寄存器的地址 PA EQU 7F01H PA口的地址 PB EQU 7F02H PB口的地址 ORG 00H MOV A 02H 设置命令字为00000010B B口输出 A口输入 MOV DPTR COM 将命令寄存器的地址放入DPTR中 MOVX DPTR A 写命令字 LOOP MOV DPTR PA 将A口地址放入DPTR MOVX A DPTR 读入A口的数据 MOV DPTR PB 将B口地址放入DPTR MOVX DPTR A 将读入的数据由B口输出 SJMP LOOP END 实验十实验十 串行七段串行七段 LEDLED 显示实验显示实验 一 实验目的 1 掌握89C51 单片机与七段LED 显示器接口的一种方法 2 掌握利用89C51 单片机串行口扩展并行输出口的方法 二 实验原理 七段LED 显示器是单片机应用系统中最常用的输出设备 单片机与七段LED 显示器的接口 方 法很多 实验仪上设有一种在智能化仪表中常用的显示电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论