《单片机系统设计实验教学日历.pdf》由会员分享,可在线阅读,更多相关《单片机系统设计实验教学日历.pdf(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-一、一、20112011 级本科“级本科“单片机系统设计单片机系统设计”课表”课表20132014 学年第二学期星期一2:00-8:30301(朱劼劼1 组)302(贺赛先2 组)303(茹国宝3 组)301(朱劼劼1 组)302(陈刚2 组)303(贺赛先3 组)301(朱劼劼1 组)302(王春林2 组)303(茹国宝3 组)301(陈刚1 组)302(王春林2 组)303(茹国宝3 组)通工 100茹国宝星期二2:00-8:30111测控 64+光科 47贺赛先星期三2:00-8:30电工 115朱劼劼95通工50+电波27+电科 18陈刚星期四2:00-8:30注:1 实验时间:从第
2、十一周到第十四周2 课表见教学日历或综合系统设计。综合系统设计题目形式要求如三,并以论文形式提交。3 论文由指导实验老师批改,并给出平时实验成绩,交给任课老师。4 要求学生打印或复印附件作为参考资料,掌握实验装置的硬件设计原理,学会单片机最小系统的设计,了解单片机开发装置的基本组成及使用方法;通过硬件设计与软件编程,初步掌握单片机应用系统的硬件构成及软件编程方法;提高应用单片机知识解决实际问题的能力。5考核方法分三个方面进行:设计制作 60%;设计报告 30%;设计创意 10%。-二、武汉大学二、武汉大学 2013201320142014 学年度第二学期教学日历学年度第二学期教学日历课程:课程
3、:单片机系统设计实验单片机系统设计实验 学院(系)学院(系):电子信息学院电子信息学院专业:专业:各专业各专业班级:班级:20112011周数:周数:4 4实验:实验:3636 学时学时共计:共计:3636 学时学时-本课程主讲教师本课程主讲教师茹国宝教研室主任教研室主任学生所在院系负责人学生所在院系负责人2014.2.16日日/月月至至日日/月月周周次次讲讲课课内内容容及及时时数数实验(上机)内容及时数实验(上机)内容及时数课课堂堂时时数数课外作业课外作业或参考书或参考书说明说明(教(教 材材 章章 节节、名名 称)称)学学课堂实习(实课堂实习(实时时 验、上机)内容验、上机)内容课外课外时
4、数时数实验一二28/4至3/55/5综合实验至10/512/5综合实验至17/519/5综合实验至27/514综合实验(自选)913综合实验(自选)912综合实验(自选)9实验理论课、实验设备和使用方法实验理论课、实验设备和使用方法11基础实验(教材)基础实验(教材)9创新 1、2-二、综合系统设计题目形式二、综合系统设计题目形式类型类型 1 1一一题目:题目:智能时控开关设计二、二、任务任务利用单片机中的定时器、IO 接口、中断系统等资源,设计一智能时控开关系统,能根据时刻信息或倒计时信息对多路开关进行控制。三三、设计要求设计要求题目一题目一:智能时控开关设计智能时控开关设计主要内容:利用单
5、片机中的定时器、IO 接口、中断系统等资源,设计一智能时控开关系统,能根据时刻信息或倒计时信息对多路开关进行控制。基本要求:基本要求:(1)系统含 24 小时时钟,用数码管可显示小时、分钟及秒时间信息。(2)可通过按键对时钟进行校准,可对定时时刻或倒计时时间进行设置。(3)定时时间到时,用发光二极管闪烁及蜂鸣器发声提示。人工干预后停止闪烁及发声,并用发光管指示开关状态。提高部分:提高部分:(4)可对多路(35 路)开关进行定时控制。(5)可对每路按多个时间顺序设置开关控制。(如:8:00 开,12:00 关,14:00开,16:00 关)。(6)尝试为系统设置语音提示功能。题目二题目二:交通信
6、号灯模拟系统设计交通信号灯模拟系统设计主要内容:利用单片机中的定时器、IO 接口、中断系统等资源,设计一个十字路口交通信号灯的控制模拟系统。基本要求:基本要求:(1)利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。(2)可通过按键对红绿灯点亮和熄灭时间进行调整及设置。(3)能对红绿灯点亮和熄灭时间进行倒计时时间显示。提高部分:提高部分:(4)可进行紧急或特殊情况的人工处理控制。(5)有内部 24 小时钟,可根据时间表对对红绿灯点亮和熄灭时间进行自动调整。(如高峰期:7:30-8:30,17:00-18:30 或夜间时段红绿灯主次干道时长比等)。(6)可根据交通流量自动调整对红绿灯点亮
7、和熄灭时间。题目三题目三:智能温度采集与控制系统的设计智能温度采集与控制系统的设计主要内容:利用单片机中的定时器、IO 接口、中断系统等资源,设计一个数字温度计,要求能在数码管上显示两位温度数值(假设温度变化范围为 050),显示停留时间为 5S,且当温度每变化1 度时立即更新显示。基本要求:基本要求:(1)系统能通过 I/O 接口线对加热装置进行控制,并通过A/D 转换电路采集该装置温度信息。(2)可利用两位LED 数码管即时显示采集的温度值。用定时器设计定时功能,使显示停留时间为 5S。(3)当温度每变化1 度时应立即更新显示。提高部分:提高部分:(4)设计温度控制功能,对加热装置的某个温
8、度值进行控制。题目四:乒乓球游戏模拟器设计题目四:乒乓球游戏模拟器设计主要内容:利用单片机中的定时器、IO 接口、中断系统等资源,设计一个乒乓球游戏模拟器,在仿-真环境下进行模拟乒乓球比赛。乒乓球游戏规则:(1)采用两个开关作为击球键。(2)发球采用一球轮换制。(3)采用 11 分制,三局两胜制。(4).采用 P1 口模拟球的移动。题目五:设计并制作一个题目五:设计并制作一个 4 4 路路 LEDLED 定时显示控制电路定时显示控制电路基本要求:基本要求:(1)单片机系统设计。包括实时时钟的显示与调整,显示屏的驱动、键盘接口驱动电路等外围硬件的设计及其软件编程。(2)4 路 LED 定时时间设
9、置与存贮。(3)4 路 LED 定时时间的控制。通过比较当前时间和已存贮的4 路 LED 定时时间,完成对 4 路 LED 的驱动显示。提高部分:提高部分:(4)在对 4 路 LED 定时时刻启动显示的基础上,完成对4 路 LED 定时时段的控制。三、论文形式三、论文形式(1)设计过程:设计过程:系统分析及总体目标设计(含功能、使用规范)总体方案确定硬件设计、软件设计系统组成及修改调试实验设计报告(2)设计报告要求:设计报告要求:必须独立完成,格式符合要求,文字(不含图形、程序)不少于3000 字,图形绘制规范。设计报告的格式如下:1、封面2、内容提要3、目录4、正文(1)所作题目的意义、本人
10、所做的工作及系统的主要功能;(2)硬件电路设计及描述;(3)软件设计流程及描述;(4)源程序代码(要有注释);5、心得体会6、参考文献(3)论文形式示例论文形式示例智智 能能 风风 扇扇 设设 计计 报报 告告谭宇何莹姚瑶(武汉大学电子信息学院430079)摘要摘要:系统以单片机与 FPGA 为核心,利用移相斩波法,使用光耦和可控硅,通过对 220V 交流电的相位跟踪来调节可控硅的导通角,实现对电压有效值的连续调节,从而实现风扇转速在0-600 转的连续精确可调,并能控制风扇实现普通风、自然风、睡眠风三种智能功能,同时测出对应时刻的风-扇转速,并且还带有红外遥控功能。整个系统结构简单,功能全面
11、,达到了风扇转速的智能化控制的指标。关键字:关键字:0 0引言引言1 1方案比较与论证方案比较与论证1.11.1 题目任务要求及相关指标的分析题目任务要求及相关指标的分析1.21.2 方案的比较与选择方案的比较与选择2 2系统总体设计方案及实现方框图系统总体设计方案及实现方框图3 3理论分析与计算理论分析与计算4 4主要功能电路的设计主要功能电路的设计5 5系统软件的设计系统软件的设计6 6测试数据与分析测试数据与分析7 7结论结论8 8参考文献参考文献四、分组情况四、分组情况见后见后五、附件五、附件附件 1:实验系统及其使用方法实验系统及其使用方法第一节第一节实验系统的配置实验系统的配置AE
12、DK5196ET 实验系统可以在串行模式和独立运行模式二种模式工作一AEDK5196ET 实验系统工作在串行模式1.用户根据实验要求,进行MCS51 单片机实验时(8032 芯片已插在 D3 插座上),K9 的短路套插向 51 端。进行 MCS96 单片机实验时,将 CPU96S/CPU96F 卡插入 J5 插座,K9 的短路套插向 96端。2.用实验机配套的串行通讯电缆,将9 芯电缆的一端与实验机上的J9(9 芯插座)相连,另一端与 PC 机的串行口相连。3.AEDK5196ET实验机电源插座 J3 与工作电源相连,注意插入方向(如下图所示)。4.将电源开关 K13 拨到左端(ON),AED
13、K5196ET 机上将显示:AEDK.U51AEDK.U51(MCS-51 状态)AEDK.U96AEDK.U96(MCS-96 状态)5.在 PC 机上运行调试程序。-【注意】开机前,请检查电源插头上各个电压是否正确;插入电源插座位置是否正常,有无错位或反插。二AEDK5196ET 实验系统工作在独立运行模式1.用户根据实验要求,进行MCS51 单片机实验时(8032 芯片已插在 D3 插座上),K9 的短路套插向 51 端。进行 MCS96 单片机实验时,将 CPU96S/CPU96F 卡插入 J5 插座,K9 的短路套插向 96端。2.AEDK5196ET 实验机电源插座 J3 与工作电
14、源相连,注意插入方向(如上图所示)。3.将电源开关 K13 拨到左端(ON),AEDK5196ET 机上将显示:AEDK.U51AEDK.U51(MCS-51 状态)AEDK.U96AEDK.U96(MCS-96 状态)然后在独立运行模式下运行调试程序。第二节第二节实验系统地址空间分布实验系统地址空间分布51 单片机实验地址空间分布0000H3FFFH:实验机上 RAM 区,可作程序区或数据区,分写保护和不写保护。4000H7F3FH:实验机上 RAM 区,可作程序区或数据区。7F40H7FFFH:为实验机上 RAM,由监控占用,用户不得使用8000HBFFFH:可供寻址的程序、数据空间。用户
15、可以用此空间在扩展板上扩展器件,或用作在用户系统中扩展器件。另外,也可使用实验机上的资源,地址8000H87FFH 为138 译码器(D2)的译码输出。例如用户对实验机上的A/D 芯片进行编程时,用导线将 138 译码器 D2 的某一输出脚和 A/D 芯片的片选 CS/相连,则该输出脚的译码地址即为 A/D 芯片的编程地址。C000HFDFFH:监控程序用。FE00HFFFFH:实验机上固定地址的 I/O。FF80FF82 为 8279 状态和数据口地址。当本系统运行于键盘监控方式时将用作键盘输入和显示,串行方式(即通过 PC 机串口与实验机通讯)时用户可以无条件使用;FFA0、FFA2为 8
16、251 状态和数据口地址,串行方式时用作 PC 机通讯,键盘监控方式时用户可以无条件使用。第三节第三节实验装置的使用方法实验装置的使用方法1 1建议在做实验之前,在用户硬盘上建立1 个自己的子目录,用于保存所做的全部实验结果。2 2双击“LCA51ETLCA51ET”图标,启动 AEDK 仿真控制程序。3 3PC 机串口与实验机通讯的检查:单击“设置”图标,运行“测试通讯口”。注意 PC 机串口与-实验机串口的波特率一致,通信电缆接线无误。若测试失败,按实验机上“RST”键,继续测试,最终确保 PC 机串口与实验机通讯正确。4 4编辑与保存:编辑与保存:单击“文件”图标,选择自己的子目录。若是
17、新实验,选择“新建”操作,然后开始编写自己的程序代码,编写完毕并检查后,选择“另存为”操作,将程序用自己所容易记忆的名称保存起来,注意该文件的命名规则必须使用“.ASM”作为所保存文件的“文件类型”;若是以前未完成的实验,选择“打开”操作,将该文件打开后继续编写代码。编写完毕并检查后,选择“保存”操作,将结果保存到原来的文件之中去。编辑过程同编辑普通文本文件一样操作。5 5编译与通信:编译与通信:先根据连线要求,将相应的实验连线全部接好并检查无误后,打开仿真装置的电源。单击“编译”图标。若系统没有发现用户所编写的代码的“语法错误”,就会将所编写的源代码转换成机器语言代码并直接送入实验装置;否则
18、会显示出相应的出错行号,用户可据此进行相应的修改操作,修改完毕后,重新编译自己的源代码。6 6运行调试:运行调试:目标代码被装入仿真装置后,系统会自动执行“总清”操作,即“复位”仿真装置,将“PC 指针”(屏幕显示为绿色的光带,它表示“将被执行的机器指令”)设置为 0。之后单击“调调试试”图标,用户就可用键盘或鼠标来控制相应的程序执行。具体说明如下a)跟踪型单步(F7):即只执行1 条机器指令后,就处于“暂停状态”(即让仿真软件获得“系统控制权”)。若所执行的当前指令是“子程序调用”,就进入相应的子程序中,下一条将被执行的指令就是该子程序的第一条指令。b)通过型单步(F8):也是只执行 1 条
19、机器指令,就处于“暂停状态”。若所执行的当前指令是“子程序调用”,也将其作为 1 条指令对待,即下 1 条将被执行的就是该调用指令后面的那条机器指令。c)执行到光标所在处(F4):在使用本功能之前,用户可用键盘或鼠标将光标“定位”到希望“暂停”的位置。启动该功能后,程序将执行到该位置后就“暂停”(注意其前提是该位置确实“能够到达”)。d)全速(F9):即将“系统控制权”完全交给用户编写的程序,若希望停止它,只能采用以下的“总清”手段。e)总清:这是停止处于“全速”运行的用户程序,重新使仿真软件获得“系统控制权”的唯一方法,有些资料又将其称为“矢折”处理,其方法是按下装置上的RST(即复位)按键
20、。f)设置断点和清除断点:所谓“断点”可认为是用户在程序中设置的某种“暂停标志”,本装置所设置的断点用红色的光带表示。当程序执行到该处时,就会处于“暂停状态”(此时光带将变成橙黄色),以便于观察某些特定的结果。值得注意的是,虽然仿真硬件和软件提供了“允许设置多个断点”的功能,但建议用户只在所编写的程序中最多设置1 个“断点”(故此时可用前述的“执行到光标所在处”的功能来代替“设置断点”的功能),这样做的目的是为了简化调试手段,避免产生不必要的错误。另外需要注意的是“断点”一定要设置在机器指令的头一个字节的位置上,否则会产生不可预料的结果。g)设置观察窗口:当用户希望看到程序执行时某些变量单元中
21、数值的变化情况,首要条件就是在屏幕上设置 1 个“信息观察窗”,然后在该“窗口”中执行以下的“添加观察项”的操作,才能达到相应的目的。h)添加观察项目:上述的“设置观察窗口”只是使用户具备了观察变量内容的“前提条件”,而只有当用户使用“添加观察项”操作,将自己所希望观察的那些变量的名称“填写”到“观察窗口”中后,系统才会在处于“暂停”状态的时候,在观察窗口中显示出相应变量的内容。7 7当用户希望结束工作时,只要先单击“文件”图标,再单击该图标菜单中的“退出”图标,就可结束该仿真程序,返回 Windows 操作系统,然后将本次实验所编写的源程序代码复制到后备软盘上作为备份文件,最后删除建立在用户
22、硬盘上的用户子目录。-第四节第四节实验系统的布局实验系统的布局附件 2:AEDK5196ETAEDK5196ET 实验模块原理实验模块原理AEDK5196ET实验系统主板采用模块化设计,由二十多个硬件模块组成。用户可用它组合成各种各样的硬件实验。1 1MODEL1-62256MODEL1-62256存存储储器器MODEL1MODEL16225662256 存存储储器器实验机上 RAM,可作程序区或数据区,地址为 0-7FFFH。-2 2MODEL2-8279MODEL2-8279键键盘盘显显示示MODEL2-8279MODEL2-8279键键盘盘显显示示8279 数据口地址是 0FF80H 和
23、状态口地址是 0FF82H3 3MODEL3-8251MODEL3-8251可可编编程程串串行行通通讯讯实实验验-MODEL3-82MODEL3-825151 可编程串行通讯实验8251 数据口地址 0FFA0H,状态口地址 0FFA2H。4 4MODEL4-138MODEL4-138译译码码电电路路MODEL4-138MODEL4-138译译码码电电路路空间地址 8000-87FFH,由 D2 74LS138 分成 8 个片选信号,其中:Y0:8000HY1:8100HY2:8200HY3:8300H Y4:8400H Y5:8500H Y6:8600H Y7:8700H5 MODEL5-单
24、片机 I/O 线-MODEL5-MODEL5-单单片片机机 I/OI/O 线线6 6MODEL6-MODEL6-开开关关量量输输入入MODEL6-MODEL6-开开关关量量输输入入开关向上拨至 H 端,输出孔为1;开关向下拨至 L 端,输出孔为07 7MODEL7-MODEL7-可可编编程程并并行行口口 82558255MODEL7-MODEL7-可可编编程程并并行行口口 825582558255PA 口地址为 CS(8255 片选地址),PB 口地址为 CS+2,PC 口地址为 CS+4,命令/状态口地址为 CS+68 MODEL8-简单并行口输出-MODEL8-MODEL8-简简单单并并行
25、行口口输输出出9 9MODEL9-MODEL9-简简单单并并行行口口输输入入MODEL9-MODEL9-简简单单并并行行口口输输入入1010MODEL10-MODEL10-单单色色 LEDLED 灯灯MODEL10-MODEL10-单单色色 LEDLED 灯灯1111MODEL11-MODEL11-晶晶振振和和分分频频器器-MODEL11-MODEL11-晶晶振振和和分分频频器器1212MODEL12-MODEL12-双双色色 LEDLED 灯灯MODEL12-MODEL12-双双色色 LEDLED 灯灯1313MODEL13-MODEL13-串串变变并并转转换换器器MODEL13-MODEL
26、13-串串变变并并转转换换器器-1414MODEL14-MODEL14-并并行行打打印印机机接接口口MODEL14-MODEL14-并并行行打打印印机机接接口口接上并行输出(如 8255或 74LS273等)和输入/输出各一条线,就能形成打印接口(CENTRONIC)。1515MODEL15-MODEL15-按按键键(图图中中所所标标键键码码为为 82798279 扫扫描描码码)MODEL15-MODEL15-按按键键1616MODEL16-A/DMODEL16-A/D转转换换器器MODEL16-A/DMODEL16-A/D转转换换器器0809 各通道的口地址是 CS/+0,CS/+2,CS/
27、+4,CS/+6,CS/+8,CS/+0AH,CS/+0CH,CS/+0EH。17 MODEL17-电位器-MODEL17-MODEL17-电电位位器器1818MODEL18-MODEL18-继继电电器器MODEL18-MODEL18-继继电电器器1919MODEL19-MODEL19-喇喇叭叭驱驱动动电电路路MODEL19-MODEL19-喇喇叭叭驱驱动动J11-1,J11-2外接喇叭。20 MODEL20-20 MODEL20-脉脉冲冲滤滤波波电电路路MODEL20-MODEL20-脉脉冲冲滤滤波波电电路路脉冲通过滤波,可形成三角波输出。21 MODEL21-D/A21 MODEL21-D
28、/A转转换换器器-MODEL21-D/AMODEL21-D/A转转换换器器22 MODEL22-22 MODEL22-双双极极性性脉脉冲冲驱驱动动电电路路MODEL22-MODEL22-双双极极性性驱驱动动器器该电路可用来驱动直流电机。23 MODEL23-23 MODEL23-脉脉冲冲驱驱动动电电路路MODEL23-MODEL23-脉脉冲冲驱驱动动器器该电路可用来驱动步进电机。24 MODEL24-24 MODEL24-(联联接接机机电电实实验验控控制制平平台台)专专用用插插座座-MODEL24 DB25MODEL24 DB25专专用用插插座座MODEL25-MODEL25-仿仿真真电电缆缆
29、插插座座MODEL24-专用插座 J10 各脚定义如下:VOUT:D/A 转换输出;IN0IN3:A/D 转换输入;PI0 PI6:简单并行口(D15)输入;PO0 PO6:简单并行口(D16)输出;STEP_A/STEP_B/STEP_C/STEP_D/STEP_VB:步进电机驱动输出;J10-24 孔:供用户引入任意信号;M2:双极性脉冲驱动电路输出;25 MODEL25-25 MODEL25-仿仿真真电电缆缆插插座座附件 3:交通灯控制设计交通灯控制设计(参考参考)一、实验目的一、实验目的1了解模拟交通灯的控制方法2熟悉并掌握顺序控制的设计方法3掌握外部中断技术的使用方法 4掌握中断处理
30、程序的编程方法二、实验设备与器件二、实验设备与器件AEDK5196ET 实验系统三、实验内容三、实验内容-1采用 74LS244 和开关等器件设计开关量输入接口电路2采用 74LS273 和发光二极管及数码管等器件设计开关量输出接口电路3插接开关量输入、输出接口电路4编程实现交通灯的控制方法并运行程序测试接口电路四、实验原理及要求四、实验原理及要求1 1交通灯的控制规则:交通灯的控制规则:假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态2,东西黄灯闪烁几次,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态4,
31、南北黄灯闪烁几次,东西仍然红灯。最后循环至状态1。常态:常态:假设某十字路口为东西南北走向,东西方向为主线,南北方向为支线。主线上绿灯的持续时间为 T1 秒,支线上绿灯的持续时间为T4 秒,当主线或支线上的绿灯转换为红灯前,使用闪烁黄灯的方法过渡,且黄灯的闪烁方式为亮T2 秒,灭T3 秒,次数为N 次。故可将交通灯的亮灯周期分成下述 4 个时段。详情见图 2.1。异常情况:异常情况:如十字路口有载有急救病人的救护车或去执行救火任务的消防车等专用车辆需要通过时,在主线和支线上亮红灯,持续时间为T5 秒,暂时停止主线与支线两个方向的车辆运行;当专用车辆通过十字路口后,交通灯恢复上述常态运行规则。2
32、 2双色发光二极管的使用方法:双色发光二极管的使用方法:双色发光二极管是将一个红色LED 管芯和一个绿色 LED 管芯封装在一起、公用负端的一个集成器件。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。实验中,采用 4 只双色发光二极管(DLED)分别模拟安装在东、西、南、北 4 个路口上的 4 只交通灯,每只双色发光二极管由74LS240 反向驱动器驱动,74LS240 输入控制端为 DR 和 DG,分别控制 DLED 红灯和黄灯的工作。具体控制如下:表表 2.12.1 双色发光二极管的控制双色发光二极管的控制DR001
33、1采用一个纽子开关中断请求信号,电平由高变低再回高,模拟“有专用车辆通过”的“请求信号”。3交通灯控制的软件实现方法交通灯控制的软件实现方法根据交通灯的控制规则,可采用顺序控制方式,即将整个控制过程划分成多个不同的时段,在DG0101显示颜色红+绿=黄红绿不发光-每个时段中仅做 1 个特定的动作。如在第一时段,控制主线绿灯亮,支线红灯亮,且持续时间为 T1。为此,按照图 2.2 交通灯控制实验线路图,应向 74LS273 锁存器发送的数据为0A5H,且保持时间为T1 秒。时段 2、时段 3 和时段 4 需向 74LS273 锁存器发送的数据及交通灯工作状况如下表所示。表表 2.22.2 交通灯
34、工作参数交通灯工作参数时段时段1 1数值数值A5A505052 2F5F53 35A5A50504 45F5FT3N2(T2+T3)4 4定时时间的确定定时时间的确定采用软件延时的方法进行定时,从而维持交通灯某一时段的工作状态。执行如下为延时程序段。注释项“;”后面的数值表示执行该条指令所用的时间,以机器周期为单位。MOVRa,#V1;1LOP:MOVRb,#V2;1DJNZRb,$;2DJNZRa,LOP;2执行上述程序所需要的时间 T=(2V2+1+2)V1+1(1V1256,1V2256)。当 V1=V2=256时,最大延迟时间 Tmax=131841 个机器周期。实验装置使用的晶振频率
35、为 11.0592MHz,将 Tmax折算成实际时间=13184112/11059200143ms;类似当 V1=V2=1 时,最小延迟时间 Tmin=6 个机器周期。故当需要延迟规定的时间(用符号 Tw表示,TminTwTmax),可在先确定 V2 的前提下,用公式V1=(Tw-1)/(2V2+3)(1)算出 V1 的数值,或在先确定V1 的前提下,用公式V2=(Tw-1)/V1-3)/2(2)算出 V2 的数值,注意这里的 Tw 必须用机器周期作为单位。例如若需要 100ms 的延迟时间,先将100ms 折算成机器周期数并确定V1=256,再利用公式(2),就可得出V2=(10010001
36、1.0592/12-1)/256-3)/2179T3T4T2N1(T2+T3)主线红灯,支线绿灯支线黄灯闪烁,主线红灯持续时间持续时间T1T2交通灯工作状况交通灯工作状况主线绿灯,支线红灯主线黄灯闪烁,支线红灯五、实验步骤五、实验步骤1硬件连线(参见图硬件连线(参见图 2.22.2)-图图2.22.2交通灯控制实验线路图交通灯控制实验线路图 74LS273 设备选择端“CS*”接编号为 8100H 的译码器输出端。74LS273的PO2、PO0分别接74LS244的输入端DG1和DG4;74LS273的PO3、PO1分别接74LS244的输入端 DR1 和 DR4 控制端,控制南、北路口的4#
37、和 1#DLED。74LS273的PO6、PO4分别接74LS244的输入端DG2和DG3;74LS273的PO7、PO5分别接74LS244的输入端 DR2 和 DR3,控制东、西路口的 3#和 2#DLED。纽子开关 K1 的信号输出接主机的零号中断请求输入P3.2(INT0)端,并将其拨到“1”位置。2 2编程并运行程序测试接口电路。编程并运行程序测试接口电路。编程要求:按照表 2.2 控制规则,模拟交通灯常态和异常情况时的显示工作过程。执行程序要求:程序执行过程中,将K1 开关拨一个来回,即先拨向L(低电平)端再拨回H 端,产生中断请求信号,模拟救护车或消防车等专用车辆通过十字路口时的
38、“异常情况”。六、编程提示及参考程序六、编程提示及参考程序1 1程序框图:程序框图:-图图 2.32.3(a a)主程序框图)主程序框图(b b)中断服务程序框图中断服务程序框图2 2参考程序:参考程序:选定 T1=T4=T5=5S,T2=T3=0.5S,N1=N2=5,程序代码如下:ORGORG0000H0000HLJMPLJMPSTARTSTART;进入主程序进入主程序ORGORG0003H0003HLJMPLJMPINTOPINTOP;进入进入 0#0#外部中断服务程序外部中断服务程序ORGORG30H30HODATODATEQUEQU81H81H;定义输出设备地址的高定义输出设备地址的
39、高 8 8 位位VR5VR5EQUEQU1DH1DH;定义点灯数据暂存单元定义点灯数据暂存单元DELAY:DELAY:MOVMOVR6,R6,#0#0;100ms;100ms 延时子程序延时子程序DE1:DE1:MOVMOVR7,R7,#179#179DJNZDJNZR7,R7,$DJNZDJNZR6,R6,DE1DE1RETRETINTOP:INTOP:PUSHPUSHACCACC;0#;0#外部中断服务程序外部中断服务程序PUSHPUSHPSWPSWPUSHPUSHDPHDPHORLORLPSW,PSW,#18H#18H;选择选择 3#3#工作寄存器组工作寄存器组MOVMOVDPH,DPH
40、,#ODAT#ODAT;将主线和支线均设置为红灯将主线和支线均设置为红灯MOVMOVA,A,#55H#55HMOVXMOVXDPTR,ADPTR,AMOVMOVR4,R4,#50#50;延时延时 5S5S-IT01:IT01:ACALLACALLDELAYDELAYDJNZDJNZR4,R4,IT01IT01DATDAT数据数据TIMTIMVMAXVMAXSTART:START:ST0:ST0:ST1:ST1:ST2:ST2:MOVMOVA,VR5A,VR5;恢复原来灯色恢复原来灯色MOVXMOVXDPTR,ADPTR,APOPPOPDPHDPH;恢复所用寄存器恢复所用寄存器POPPOPPSW
41、PSWPOPPOPACCACCRETIRETI;返回中断点返回中断点DBDB 0A5H0A5H;时段时段 1 1 的的 1 1 个点灯数据个点灯数据DBDB 05H,05H,0F5H,0F5H,05H,05H,0F5H,0F5H,05H,05H,0F5H,0F5H,05H,05H,;时段时段 2 2 的的 1010 个点灯数据个点灯数据DBDB 5AH5AH;时段时段 3 3 的的 1 1 个点灯数据个点灯数据DBDB 50H,5FH,50H,5FH,50H,5FH,50H,5FH,50H,5FH50H,5FH,50H,5FH,50H,5FH,50H,5FH,50H,5FHDBDB 5050;
42、时段时段 1 1 的的 1 1 个延时数据个延时数据DBDB 5,5,5,5,5,5,5,5,5,55,5,5,5,5,5,5,5,5,5;时段时段 2 2 的的 1010 个延时数据个延时数据DBDB 5050;时段时段 3 3 的的 1 1 个延时数据个延时数据DBDB 5,5,5,5,5,5,5,5,5,55,5,5,5,5,5,5,5,5,5;时段时段 4 4 的的 1010 个延时数据个延时数据EQUEQU2222;点灯和延时数据的总组数点灯和延时数据的总组数CLRCLRIT0IT0;将将 0#0#外部中断设置为低电平触发方式外部中断设置为低电平触发方式MOVMOVIE,IE,#81
43、H#81H;开放开放 0#0#外部中断外部中断MOVMOVP2,P2,#ODAT#ODAT;加载输出设备地址加载输出设备地址MOVMOVR5,R5,#0#0;初始化数据指针初始化数据指针MOVMOVDPTR,DPTR,#DAT#DATMOVMOVA,A,R5R5MOVCMOVCA,A,A+DPTRA+DPTRMOVMOVVR5,AVR5,A;暂存暂存MOVXMOVXR0,AR0,A;并传送并传送 1 1 个点灯数据个点灯数据MOVMOVDPTR,DPTR,#TIM#TIM;获得获得 1 1 个延时数据个延时数据MOVMOVA,A,R5R5MOVCMOVCA,A,A+DPTRA+DPTRMOVMOVR4,R4,A A;延迟相应的时间延迟相应的时间ACALLACALLDELAYDELAYDJNZDJNZR4,R4,ST2ST2INCINCR5R5;增量数据指针增量数据指针CJNECJNER5,R5,#VMAX,ST1#VMAX,ST1;判是否处理完了全部数据判是否处理完了全部数据,若未完就再处理下一组若未完就再处理下一组SJMPSJMPST0ST0;完了完了,重新再来重新再来ENDEND-0F5H,0F5H,05H,05H,0F5H0F5H;时段时段 4 4 的的 1010 个点灯个点灯