【精品实用】单片机实验指导书_第1页
【精品实用】单片机实验指导书_第2页
【精品实用】单片机实验指导书_第3页
【精品实用】单片机实验指导书_第4页
【精品实用】单片机实验指导书_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

单片机实验指导书 ( 修订 版) 柴文妍 编 北京城市学院 电子信息工程专业实验室 ( 2002 年 1 月 编, 2004 年 9 月修订 ) 伟福仿真器系统概述 本仿真器系统由仿真主机 +仿真头、 户板、实验板、开关电源 等 组成。本系统的特点是: 1 主机 +仿真头的组合,通过更换不同型号的仿真头即可对各种不同类型的单片机进行仿真,是一种灵活的多 真系统 。 采用主机 +合的方式,更换 以对各种 行仿真。本仿真器主机型号为 , 仿真头型号为 可仿真 51 系列 8片机)。 2 双平台,具有 本和 本,后者功能强大,中 /英文界面任选,用户源程序的大小不再有任何限制,支持 c, 言混合编程,具有项目管理功能,为用户的资源共享 、 课题重组提供强有力的手段。支持点屏显示,用鼠标左键点一下源程序中的某一变量,即可显示该变量的数值。有丰富的窗口显示方式,多方位,动态地显示仿真的各种过程,使用极为便利。本操作系统一经推出,立即被广大用户所喜爱。 3 双工作模式 不要仿真器也能模拟仿真 )。 4 双 构, 100不占用户资源。 全空间硬件断点,不受任何条件限制,支持地址、数据、外部信号、事件断点、支持实时断点计数、软件运行时间统计。 5 双集成环境 编辑、编译、下载、调试全部集中在一个环境下。 多种仿真器,多类 真全部集成在一个环境下。可仿真 51 系列, 196 系列, 利蒲公司的 552、 邦 438 等 51 增强型 了跟上形势,现在很多工程师需要面对和掌握不同 的 项目管理器、编辑器、编译器。他们由不同的厂家开发,相互 不兼容,使用不同的界面 , 学习使用都很吃力。伟福 一的界面,包含一个项目管理器,一个功能强大的编辑器,汇编 调试工具并提供千个与第三方编译器的接口。由于风格统一,大大节省了您的精力和时间。 6 强大的逻辑分析仪综合调试功能。 逻辑分析仪由交互式软件菜单窗口对系统硬件的逻辑或 时 序进行同步实时采样,并实时在线调试分析,采集深度 32K(),最高时基采样频率达 2040 路波形 ,可精确实时反映用户程序运行时的历史时间。系统在使用逻辑分析 仪时,除普通的单步运行、键盘断点运行、全速硬件断点运行外,还可实现各种条件组合断点如:数据、地址、外部控制信号、 部控制信号、程序区间断点等。由于逻辑仪可以直接对程序的执行结果进行分析,因此极大地便利于程序的调试。随着科学技术的发展,单片机通讯方面的运用越来越多。在通讯功能的调试时,如果通讯不正常,查找原因是非常耗时和低效的,您很难搞清楚问题到底在什么地方,是波特率不对,是硬件信道有问题,是通讯协仪有问题,是发方出错还是收方出错。有了逻辑仪,情况则完全不一样,用它可以分别或者同时对发送方、接收方的输入 或者输出波形进行记录、存储、对比、测量等各种直观的分析,可以将实际输出通讯报文的波形与源程序相比较,可立即发现问题所在 , 从而极大地方便了调试。 7 强大的追踪器功能 追踪功能以总线周期为单位,实时记录仿真过程中 生的总线事件,其触发条件方式同逻辑分析仪。追踪窗口在仿真停止时可收集显示追踪的 令记忆信息,可以以总线反汇编码模式、源程序模式对应显示追踪结果。屏幕窗口显示波形图最多追踪记忆指令 32K 并通过仿真器的断点、单步、全速运行或各种条件组合断点来完成追踪功能。总线跟踪可以跟踪程序的运行轨迹。可以统计 软件运行时间。 第二章 开发环境简介 双击桌面上的 标或从开始 /程序 /入本开发环境,其界面及主要功能如图 2所注。 图 2面 1 仿真器设置窗口 如图 2示,在实验开始时要先根据需要 设置好仿真器类型、仿真头类型以及 型, 并注意是否“使用伟福软件模拟器”, 若使用硬件仿真,请注意去掉“使用伟福软件模 拟器”前的选择。 图 2仿真器设置窗口 2 文件窗口 如图 2在此窗口下进行包括新建、打开、保存等文件操作。 仿真器设置 打开文件 新建文件 打开项目 保存文件 编译文件 复 位 全速执行 跟 踪 单 步 数据窗口 图 2文件窗口 3 编译文件窗口 如图 2此窗口下可将源文件编译成目标文件。 图 2编译文件窗口 4 执行窗口 如图 2此窗口下,可用全速、跟踪、断点等各种方式运行程序 图 2执行窗口 5窗口窗口 如图 2此窗口下,可以观察各种窗口信息,其中最常用到的是 口和数据窗口。 图 2窗口 a 口 通过 口 可以看到你编译正确的机器码及反汇编程序,可以让你更清楚地了解程序执行过程。 口中还有 口和位窗口,让你了解程序执行过程中寄存器内容的变化。 图 2口 b 数据窗口 对 51 系列 据窗口有: 内部数据窗口; 程序数据窗口 ; 部数据窗口; 部数据窗口(页方式) 图 2数据窗口 图 2部数据窗口) 图 2序数据窗口) 图 2部数据窗口) 图 2方式外部数据窗口) 第三章 列单片机实验 软件实验一 存储器块清零 一、 实验目的 1. 掌握存储器读写方法。 2. 了解存储器的块操作方法。 二、 实验内容 1. 指定内部 某块的起始地址和长度,要求能将其内容清零。 2. 指定外部 某块的起始地址和长度,要求能将其内容清零。 3. 指定外部 某块的起始地址和长度,要求能将其内容置为某固定值(如 0 三、实验说明 通过本实验,学生可以了解单片机的存储器结构及读写存储器 的方法,同时也可以了解单片机编程、调试方法。 四、 实验仪器和设备 、 件 。 五、 参考程序框图 否 是 存储器块清零 参考程序框图 设置块起始地址 设置块长度 当前地址内容清零 地址加 1 结束 是否清除完? 软件实 验二 二进制到 换 一、 实验目的 1 掌握简单的数值转换算法。 2 基本了解数值的各种表达方法。 二、 实验内容 3 将给定的一个 单字节 二进制数,转换成非压缩的二 十进制 (。 4 将给定的一个 单字节 二进制数,转换成压缩的二 十进制 (。 三、实验说明 计算机中的数值有各种表达方式,这是计算机的基础。掌握各种数制之间的转换是一种基本功。有兴趣的同学可以试试将 换成二进制码。 四、 实验仪器和设备 、 件。 五、 参考程序框图 单字节 二进 制数转换成非压缩 框图 给出要转换的二进制数 将该数除以 100 保存百位数 将余数除以 10,得到十位数 结束 保存十位数 余数为个位数,将其保存 软件实验三 十进制到 转换 一、实验目的 1了解 和 的区别。 2了解如何将 转换成 。 3了解如何查表进行数值转换及快速计算。 二、实验内容 给出一个压缩 ,分别用查表法和逻辑运算方法将其转换成 。 三、实验说明 此实验主要让学生了解数值的 和 的 区别,学会用查表法快速地进行数值转换并进一步了解数值的各种表达方式。 四、 实验仪器和设备 、 件。 五、 参考程序框图 (查表法) 十进制到 转换 ( 查表法 ) 参考程序框图 给出要转换的 取出 四位 查表得到 取出 四位 结束 查表得到 保存低位 保存高位 软件实验四 存储块移动 一 、实验目的 1了解内存的移动方法。 2加深对存储器读写的认识。 二、 实验内容 将指定源地址和长度的存储块移到指定目标位置 。 三、实验说明 块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。本程序是 给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。另外,若源块地址和目标块地址有重叠,该如何避免 ? 四、实验仪器和设备 、 件。 五 、 参考程序框图 否 是 是 存储块移动参考程序框图 设置块的源地址 设置移动长度 源地址加 1 目标地址加 1 结束 是否移动完? 设置块的目标地址 从源地址取数 保存到目标地址中 软件实验五 多分支程序 一、 实验目的 1了解程序的多分支结构。 2了解多分支结构程序的编程方法。 二、 实验内容 在多分支结构的程序中,能够按调用号执行相应的功能。 三、实验说明 多分支结构是程序中常见的结构,若给出调用号来调用子程序,一般用查表方法,查 到子程序的地址,转到相应子程序 , 完成指定操作。 四、实验仪器和设备 、 件。 五 、 参考程序框图 多分支参考程序框图 根据调用号查表 得到跳转地址 结束 跳转到相应程序段 调用返回 设置调用号 软件实验六 数据排序 一、 实验目的 1了解数据排序的简单算法。 2了解数列的有序和无序概念。 二、 实验内容 给出一组随机数,将此组数据排序,使之成为有序数列。 三、实验说明 有序的数列更有利于查找。本程序用的 是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。 四、实验仪 器和设备 、 件。 五、 参考程序框图 否 是 否 是 否 是 数据排序参考程序框图 设 置数据区地址 清除交换标志 从当前地址取数 B A=B? 设置数据区长度 从当前地址取数 A 地址加 1 结束 数据比较完? 全部有序? 设置交换标志 交换 A、 B 位置 硬件实验一 输入、输出实验 一、 实验目的 1. 学习 的使用方法。 2. 学习延时子程序的编写和使用。 二、 实验内容 1、 做 输出 口,接八只发光二极管(其输入端为高 电平时发光二极管点亮),编写程序,使发光二极管循环点亮。 2、 0、 1 作 输入 口接两个拨动开关 2, 3 作输出口,接两个发光二极管,编写程序读取开关状态,将此状态在发光二极管上显示出来。编程时应注意 0、1 作为输入口时应先置 1,才能正确读入值。 三、实验电路连线 0 0 1 1 1 1 2 2 1 3 3 1 4 1 5 1 6 1 7 验 1: 循环点灯 实验 2: 输入输出 四、实验说明 1、 是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当 用作输入口时必须先对它置“ 1”。若不先对它置“ 1”,读入的数据是不正确的。 2、 延时子程序的延时计算问题 对于程序 200 #123 、实验仪器和设备 查指令表可知 执行 令需用 1 个机器周期, 令需用 2个机器周期,在 12振时,一个机器周期时间长度为 1 s,所以该段程序执 行时间为: 1+( 1+1+2*123+2) *200+2* 1 s 50C 机、 件、 仿真器 +真头、 户板、实验板、开关电源等 。 六 、 参考程序框图 循环 输入 点灯框图 输出框图 开始 延时 设置初始值 数据输出 左移一位 开始 读入 值 将读入的值输出到 1 将读入的值输出到 入 值 硬件实验二 (I) 交通灯控制 (软件延时法) 一、 实验目 的 1. 学习数据输出程序的设计方法。 2. 学习模拟交通灯控制的方法。 3. 进一步了解软件延时方法。 二、 实验内容 用 输出控制信号,控制六个 (红,绿,黄 ),模拟交通灯管理。 三、实验电路连接 0 1 2 3 4 1 5 、实验说明 l. 因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始为状态 0。 状态 0:东西 红灯, 南北 红灯 ;然后转 状态 1: 南北 绿灯 通车,东西 红灯 ;过一段时间转 状态 2:南北 绿灯闪 几次转 黄灯 亮 ,延时几秒,东西仍然 红 灯 ; 再转 状态 3:东西 绿灯 通车,南北 红灯 ;过一段时间转 状态 4:东西 绿灯闪 几次转 亮黄灯 ,延时几秒,南北仍然 红灯 ;最后循环至 状态 1。 2. 各用一组红、黄、绿色 别表示南北方向和东西方向 红绿灯 。 3. 延时程序参考硬件实验一中的例子,具体时间长短由同学自己确定。 五、实验仪器和设备 、 件、 仿真器 +真头、 户板、实验板、开关电源等。 六 、 参考程序框图 交通灯控制 参考程序框图 别表示东西方向红、黄、绿灯 开始 状态 1:南北绿灯,东西红灯,延时一会儿 状态 4:南北红灯,东西绿灯闪转亮黄灯,延时一会儿 初始状态东西南北都是红灯,延时一会儿 状态 2:南北绿灯闪转黄灯亮,东西红灯,延时一会儿 状态 3:南北红灯,东西绿灯,延时一会 儿 别表示南北方向红、黄、绿灯 *硬件实验二 ( 交通灯控制 (定时器延时法) 一、 实验目的 1. 进一步理解单片机内部定时器 /计数器的工作原理和使用方法。 2. 学习模拟交通灯控制的方法。 3. 学习数据输出程序的设计方法。 4. 学习中断处理程序的编程方法。 二、 实验内容 用 输出控制信号,控制六个 (红,绿,黄 ),模拟交通灯管理。 三、实验电路连接 0 1 2 3 4 1 5 、实验说明 l. 因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始为状态 0。 状态 0:东 西 红灯, 南北 红灯 ;然后转入 状态 1: 南北 绿灯 通车,东西 红灯 ;过一段时间转入 状态 2:南北 绿灯闪 几次转 黄灯 亮 ,延时几秒,东西仍然 红; 再转入 状态 3:东西 绿灯 通车,南北 红灯 ;过一段时间转入 状态 4:东西 绿灯闪 几次转 黄灯 亮, 延时几秒 , 南北仍然 红灯 ;最后循环至 状态 1。 2. 各用一组红、黄、绿色 别表示南北方向和东西方向。 3. 由 定时器来产生通车延时 时间,时间长短 1 秒以上(由同学自己确定)。 提示 :内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是 12 个振荡器周期。因为实验系统的晶振是 12程序定时器工作于方式 1( 16 位方式)时,最大定时时间为: 216*1 s=65536 s=以需要配合软件记数。如要延时 2 秒,则需要 断 32 次,所 用时间为 65536*32=2097120 s 2s 因此在 断处理 程序中,要判断中断次数是否到 32 次,若不到 32 次,则只使中断次数加 1,然后返回,若到了 32 次,定时 2 秒时间到。 4. 用 软件延时方法产生“闪”延时 时间(参考硬件实验一)。 五、实验仪器和设备 、 件、 仿真器 +真头、 户板、实验板、开关电源等。 六 、 参考程序框图 (见下页) 别表示东西方向红、黄、绿灯 别表示南北方向红、黄、绿灯 否 是 否 是 是 否 主程序框图 是 否 中断处理 程序框图 注:本试验可安排在中断实验和定时器实验之后做。 开始 设置 间常数 0000H 设置状态记数初值 B=0 置 作方式 1,定时器 通过 送初始状态(东西南北都是红灯) 设置秒计数值 2( 2 秒) 中断允许 ,定时开始 动态停机等待中断 保护现场并重新设置 间常数 是否到 2 秒? 断入口 秒计数值 1 状态值 B 加 1 重新设置秒计数值 2 恢复现场 中断返回 重设状态记数初值 南北绿灯,东西红灯 南北绿灯闪转黄灯亮,东西红灯 南北红灯,东西绿灯 是否状态 1? 是否状态 2? 是否状态 3? 进入状态 4,南北红灯,东西绿灯闪转黄灯亮 硬件实验三 计数器实验 一、 实验目的 学习 51 单片机内部定 时计数器使用方法。 二、 实验内容 51 单片机内部定时计数器 计数器模式工作于方式 1,对 4(脚进行计数。将其数值按二进制数在 驱动 上显示出来。 三、实验电路连线 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 4) 四、实验说明 本实验中内部计数器起计数器的作用。外部事件计数脉冲 由 4)脚 引入定时器 片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变,这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 五、实验仪器和设备 、 件、 仿真器 +真头、 户板、实验板、开关电源等。 六 、 参考程序框图 计数器实验 参考程序框图 单次脉冲 开始 设置 作方式 (方式 1、计数模式) 开始计数 计数,输出计数值 硬件实验四 外部中断实验 一、 实验目 的 1. 学习外部中断技术的基本使用方法。 2. 学习中断处理程序的编程方法。 二、 实验内容 用单次脉冲申请中断,在中断处理程序中对信号进行反转输出。 三、实验电路连线 、实验说明 编写中断处理程序需要注意的问题是: 1保护进入中断时的状态,并在退出中断之前恢复进入时的状态。 2必须在中断 处理 程序中设定是否允许中断重入,即设 置 。 本例中使用了 断,一般 进入 中断 处理 程序时应保护 及中断 处理程序使用但非其专用的寄存器 (保护现场) 。本例的 断处理程序保护了 恢复现场) 。另外中断 处理 程序中涉及到关键数据的设置时应关中断,即设置时不允许中断重入。本例中没有涉及这种情况。 3 接单次脉冲发生器。 0 接 ,以查看信号反转 五、实验仪器和设备 、 件、 仿真器 +真头、 户板、实验板、开关电源等。 六 、 参考程序框图 主程序框图 断处理程序框图 单次脉冲 开始 设置有关中断控制寄存器开外中断 置 始状态 死循环等待中断 断入口 态取反 保护现场 恢复现场 中断返回 硬件实验五 定时器实验 1( 态取反 ) 一、 实验目的 1. 学习 51 单片机内部计数器的使用和编程方法。 2. 进一步掌握中断处理程序的编程方法。 二、 实验内容 用 单片机 内部定时器中断方式计时,实现每 1 秒钟输出状 态发生一次反转。 三、实验电路连线 、实验说明 1、 关于内部定时器 /计数器的编程主要是时间常数的设置和有关控制寄存器的设置。内部定时器 /计数器在单片机中主要有定时和计数两 种 功能。本实验使用的是定时 功能 。 2、 与定时器有关的寄存器有工作方式寄存器 控制寄存器 于设置定时器计数器的工作方式 0确定用于定时还是用于计数。 要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 3、 内部计数器用作定时 器时,是对机器周期计数。每个机器周期的长度是 12 个振荡器周期。因为实验系统的晶振是 12程序定时器工作于方式 1( 16 位方式)时,最大定时时间为: 216*1 s=65536 s 再利用软件记数 ,当 断 16 次时,所用时间为 65536*16=1048576 s 1s 因此在 断处理 程序中,要判断中断次数是否到 16 次,若不到 16 次,则只使中断次数加 1,然后返回,若到了 16 次,则使输出状态位取反。 4、 在设置时间常数前要先关对应的中断,设置完时间常数之后再打开相应的中断。 五、实验仪器和设备 、 件、 仿真器 +真头、 户板、实验板、开关电源等。 六 、 参考程序框图 否 是 主程序框图 断处理程序框图 开始 设置 间常数 中断允许 置 作方式 1,定时器 设置 始状态 设置秒计数值 死循环等待中断 保护现场并重新设置 间常数 是否到 1 秒? 断入口 秒计数值减 1 态取反 重新设置秒计数值 恢复现场 中断返回 硬件实验六 D A 转换实验 一、 实验目的 1. 了解 D/A 转换的基本原理。 2. 了解 D/A 转换芯片 0832 的性能及编程方法。 3. 了解单片机系统中扩展 D/A 转换的基本方法。 二、 实验内容 1. 利用 任意 1 字节数字量转换成电压模拟量,用电压表测量输出电压。 2. 编制程序产生锯齿波、三角波,用示波器观看。 三、实验电路连线(实验板上已经连好) 用电压表测量输出电压或用示波器探 头接触 察显示波形。 73 - + (05V) (7) +5V 373 、实验说明 1、 D/A 转换是把数字量转换成模拟量的变换,实验板上 D/A 电路输出的是模拟电压信号。本实验系统具有 2 路 D/A (输出为 采用单缓冲方式,数据口地址 制口地址 中 输出正跳变信号控制 D/A, 输出正跳变信号控制 D/A,实现转换的过程是: 先将要转换的数字量写入 (用 令),然后将正跳变控制信号经送出(用 令),使 0832 缓冲器打开,开始 D/A 转换。 任意 1 字节数( 如 设为 7D/A 转换的参考程序如下: #0 A, #7 ;待转换的数字 量送 A A ;然后送 #0 A, #0 ;控制位 送 A A ;然后送 A, #0 ;控制位 送 A A ;然后送 (即 得到一个正跳变) 2、 要产生锯齿波、三角波,比较简单的方法是 表格法 : 先产生这二个波形的数据表格,然后依次 查表得到波形中一点的数字量,送 D/A 转换,得到模拟量的电压信号,再送示波器显示。这种表格法对输出较复杂的波形(如正弦波或其他任意波形)是非常有用的。产生锯齿波和三角波的表格只需由数字量的增减来控制,同时要注意三角波要分段来产生。 也可用教材中的 编程法 :用一段 程序来产生锯齿波或三角波, 3、 D A 转换取值范围为一个周期,在一个周期数据点越多,精度越高些。本例采用的数据点为 256 点周期,即最小数字量为 0,最大为 255( 4、 8 位 D A 转换器的输入数据 N 与输出电压 关系为 256 (参考电压, 五、实验仪器和设备 、 件、 仿真器 +真头、 户板、实验板、开关电源等。 六 、 参考程序框图 ( 表格法 ) 否 是 表格法产生锯齿波、三角波 参考程序框图 开始 表格首地址送 循环计数初值 查表得到波形数据 修改表指针、修改计数值 一周期数据转换完毕? 送 D/A 转换 硬件实验七 A D 转换实验 一、 实验目的 1. 掌握 A D 转换与单片机 的接口方法。 2. 了解 A D 芯片 换性能及编程。 3. 通过实验了解单片机如何进行数据采集。 二、 实验内容 利用实验板上的 A D 转换器,实验板上的电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,并用发光二极管显示。 三、实验电路连线 0 口 7 0 373 A 1 B 2 C 通道地址 、实验说明 1. A D 转换器大致有三类:一是双积分 A D 转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近 A D 转换器,精度、速度、价格适中;三是并行 A/D 转换器,速度快,价格也昂贵。 2. 本实验用的 第二类,是八位 A D 转换器。每采集一次一般需 100 s, A D 转换结束后会自动产生 号。本程序是用查询方式读入 A D 转换结果。实验系统具有 8 路 A/ D 通道(模拟量输入端为 地址分别为 态口地址 输入的是 号, 表示未转换完, 表示转换完毕,可以读入转换好的数据了。实现转换的过程是: 先向某一路通道写入任意数从而启动转换,然后从 入 态进行判断,若转换完成,则读入数据即可。 A/D 转换部分的参考程序如下: #0 ;选中通道 0( 00) A ;启动转换 #0A, ;读入状态 ;判断 态, 继续查询 #0 ; ,转换完毕 A, ;读入数据 3转换得到的二进制数字量通过 送 到 发光二极管显示。 五、实验仪器和设备 、 件、 仿真器 +真头、 户板、实验板、开关电源等。 六 、 参考程序框图 否 是 A/D 转换 参考程序框图 开始 读入状态信息 启动 A/D 转换 数据输出显示 A/D 转换完毕? 硬件实验八 外部中断实验 (急救车与交通灯 ) 一、 实验目的 1. 学习外部中断技术的基本使用方法。 2. 学习中断处理程序的编程方法。 二、 实验内容 在硬件实验二的基础上增加允许急救车优先通过的要求,有急救车到达时,两个方向交通信号灯全红,以便让急救车通过。设急救车通过路口时间为 10 秒,急救车通过后,交通恢复正常,本实验用单次脉冲申请中断,表示有急救车通过。 三、实验电路及连线 0 1 2 3 4 1 5 四、实验说实明 1 编制中断处理程序要注意的问题是:保护进入中断时的状态 (保护现场) ,并在退出中断之前恢复进入时的状态 (恢复现场) 。 2 本例中使用了 断,一般中断 处理 程序进入时应保护 及中断 处理程序使用但非其专用的寄存器。本例的 序 中应保护 ,以便保护中断前红绿灯的状态 (保护现场) , 并且在退出前恢复 原来 红绿灯 状态 (恢复现场) 。 3 本实验中交通信号灯 接。 4 有关本实验的其他问题请参考硬件实验二。 五、实验仪器和设备 、 件、 仿真器 +真头、 户板、实验板、开关电源等。 六、参 考程序框图 主程序框图 断处理程序框图 别表 示 东西 方向红、黄、绿灯 单次脉冲 断入口 东西南北红灯都亮 恢复现场 保护现场 延时 10 秒 中断返回 开始 开外中断 态 1:南北绿灯,东西红灯,延时一会儿 状态 4:南北红灯,东西绿灯闪转黄灯亮,延时一会儿 状态 2:南北绿灯闪转黄灯亮,东西红灯,延时一会儿 状态 3:南北红灯,东西绿灯,延时一会儿 别表示 南北 方向红、黄、绿灯 硬件实验九 定时器实验 2( 电子秒表 ) 一、 实验目的 1. 进一步学习 51 单片机 内部计数器的使用和编程方法。 2. 进一步掌握中断处理程序的编程方法。 3. 了解键盘显示接口工作原理。 二、 实 验内容 利用定时器定时,使七段数码管输出记时值。 三、实验电路连线 本实验连线 实验 板上已经接好,无需另外接线。 四、实验说明 本系统键盘显示接口由 8279 芯片控制,占用二个端口地址:数据口 令口使用键盘显示功能时,要先初始化 8279。 本实验中要将记时结果送 示,这可通过调用下面给出的显示子程序来实现,调用过程是:先将各位记时值拆字,分别送到 示缓冲区中去,然后调用显示子程序。 本实验中用定时器 生 1 秒钟基本时间单位, 本系统 2定时器作在方式 1( 16 位)时,最大定时时间为 216*1 s=65536 s 再利用软件记数 ,当 断 16 次时,所用时间为 65536*16=1048576 s 1s 因此在 断处理 程序中,要判断中断次数是否到 16 次,若不到 16 次,则只使中断次数加 1,然后返回,若到了 16 次,则使电子秒表记时值加 1(十进制),请参考硬件实验五有关内容。 五、实验仪器和设备 、 件、 仿真器 +真头、 户板、实验板、开关电源等。 六 、参考程序及框图 0H ;定义显示缓冲区 1H 2H 3H 4H 5H 6H 7H 000H 00 ; 转 断处理程序 030H 0;始化 A,#00H ; A,#2 ; 01H ;始化,方式 1 00H ;间常数 00H 10H ; 启动 82H ; 开 断 70H,#10H ;中断次数记数 (65536*16=1048576 s 1s) A ;显示缓冲区清零 , ;调显示 子程序,开始显示 8 个 0 ;循环调用 1000H 0 ;显示子程序 A,#90H ;8279 写显示缓冲区命令 8H A, ;查表,得到七段字型码 A,A+ ; 0 ; ;显示(送 8279 数据口) 1 000H ;断处理程序开始,保护

温馨提示

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

评论

0/150

提交评论