1.51k likes | 1.7k Views
《 微机接口技术 》 与 《 微机原理 》. 实验指导书 杨定安. 目 录. 第一章 系统慨述 1.1 系统组成 …………………………………………………………………………3 1.2 系统功能与特点 …………………………………………………………………3 1.3 系统资源分配 ……………………………………………………………………4 第二章 安装使用 2.1 硬件安装 ………………………………………………………………………… 5 2.2 快捷使用 …………………………………………………………………………5 软 件 实 验
E N D
《微机接口技术》与《微机原理》 实验指导书 杨定安
目 录 • 第一章 系统慨述 • 1.1 系统组成…………………………………………………………………………3 • 1.2 系统功能与特点…………………………………………………………………3 • 1.3 系统资源分配……………………………………………………………………4 • 第二章 安装使用 • 2.1硬件安装………………………………………………………………………… 5 • 2.2 快捷使用…………………………………………………………………………5 • 软 件 实 验 • 实验一 清零程序〔验证性〕……………………………………………………8 • 实验二 拆字程序〔验证性〕……………………………………………………8 • 实验三 拼字程序〔验证性〕……………………………………………………9 • 实验四 数据区传送程序〔验证性〕………………………………………… 10 • 实验五 数据排序实验〔验证性〕…………………………………………… 11 • 实验六 查找相同个数〔验证性〕…………………………………………… 12 • 实验七 无符号双字节快速乘法子程序实验〔设计性〕…………………… 13 • 实验八 多分支程序〔设计性〕……………………………………………… 14 • 实验九 脉冲计数(定时/计数器实验)〔综合性〕…………………………… 15 • 实验十 电脑时钟(定时器、中断器综合实验)〔综合性〕……………… 16 • 实验十一 二进制转换到BCD〔验证性〕………………………………………17 • 实验十二 二进制转换到ASCII〔设计性〕…………………………………… 18 • 实验十三 八段数码管显示〔综合性〕………………………………………… 19 • 实验十四 键盘扫描显示实验〔综合性〕……………………………………… 20
硬件实验 • 实验一 P1口亮灯实验〔验证性〕………………………………………… …21 • 实验二 P1口转弯灯实验〔验证性〕……………………………………… 22 • 实验三 P3.3 口输入 .P1 口输出〔验证性〕……………………………… 23 • 实验四 工业顺序控制〔设计性〕……………………………………………25 • 实验五 8255 A.B.C口输出方波〔设计性〕……………………………… 27 • 实验六 8255 PA口控制PB口〔验证性〕……………………………………28 • 实验七 8255控制交通灯〔验证性〕…………………………………………29 • 实验八 简单I/O口扩展实验〔验证性〕………………………………………30 • 实验九 A/D转换实验〔验证性〕……………………………………………32 • 实验十 D/A输出方波〔验证性〕……………………………………………33 • 实验十一 电子音响〔综合性〕…………………………………………………35 • 实验十二 继电器控制〔验证性〕………………………………………………36 • 实验十三 步进电机实验〔设计性〕……………………………………………37 • 实验十四 8253方波〔验证性〕…………………………………………………39 • 实验十五 串并转换试验〔综合性〕……………………………………………40 • 实验十六 外部存储器扩展实验〔综合性〕……………………………………42 • 实验十七 MCS-51串行口应用实验〔一〕——双机通信〔综合性〕……… 43 • 实验十八 MCS-51串行口应用实验〔二〕——与PC机通信〔综合性〕……46 • 实验十九 温度压力测量实验〔综合性〕………………………………………49 • 实验二十 小直流电机调速实验〔设计性〕………………………………… 54 • 实验二十一 16×16点阵显示实验〔设计性〕……………………………… 56 • 实验二十二 8155并行扩展3×3键盘、4位LED显示〔综合性〕……………60 • 实验二十三 外部中断(急救车与交通灯)〔综合性〕………………………61
第一章 系统概述 • 1.1 系统组成 • Dais系列单片机微机仿真实验系统的MCS-51单片机实验与仿真由管理CPU 89C52系统单元、目标CPU 8032或438单元、接口实验单元和内置稳压电源组成,通过RS232C串行接口与PC微机相连,系统硬件主要内容如下: • CPU管理CPU 89C52、目标CPU 8032/78E438系统存储器监控在89C52内E2PROM(8K)、RAM 6264、RAM 61256一片(32K)、BPRAM 61256(32K)。接口芯片及单元实验8253、8255、8259、ADC0809、DAC0832、6264、164、273、244、393分频、电子发声单元,电机控制单元, 开关及发光二极管、单脉冲触发器、继电器控制、16×16点阵、8155扩展3×3键盘、四位LED显示、2×16 LCD液晶显示、40芯锁紧式接口扩展及*8250、8251串行通信等。外设接口打印接口,RS232C串口、D/A驱动接口、步进电机驱动接口、音频驱动接口、51仿真接口、支持P0口、P2口及P3.6、P3.7的第二功能(PIO)的仿真、2×16 LCD液晶显示接口显示器6位LED、二路双踪示波器键盘32键自定义键盘EPROM编程器对EPROM 2764/27128快速读出系统电源+5V/2A,±12V/0.5A
1.2 系统功能与特点 • (1)自带键盘、显示器,能独立运行,也可以PC机为操作平台。两种工作方式任意选择。 • (2)系统采用紧耦合多CPU技术,用89C52作为系统管理CPU,8032或438作为目标机仿真与实验CPU,其软硬件资源100%开放。 • (3)目标CPU8032/438采用主频为6MHz,向用户提供实验方式和两种仿真方式(RAM方式和EPROM方式)。 • (4)配有一片RAM 61C256构成系统的32K程序空间,地址范围为0000H~7FFFH,还配一片61C256(32K)作为用户设置的断点区(BPRAM)。 • (5)实验项目完整丰富,与课程教学紧密结合,同时配有电机、温度、压力、音响等实验对象,可支持控制应用类综合实验。 • (6)系统接口实验电路为单元电路方式,电路简捷明快,8位数据总线以排线或8芯扁平线形式引出,减轻繁琐了的连线工作。 • (7)通过RS232通信接口,在Windows/DOS集成软件的支持下,利用上位机丰富的软件硬件资源,实现用户程序的编辑、编译、调试运行,提高实验效率。 • (8)具有最丰富的调试手段,系统全面支持硬件断点,可无限制设置断点,同时具有单步、宏单步、连续运行及无限制暂停等功能,100%保护用户现场,返回监控。 • (9)自带EPROM编程器,可对2764/27128快速读出(软硬件实验所需的代码文件)。
1.3 系统资源分配 实验系统寻址范围定义如下:
第二章 安装使用 • 2.1硬件安装 • (1)把CPU选择开关拨至51位置。 • (2)内置电源只要通过随机所配的三芯电源线连接AC220V电网即可。 • (3)打开电源开关,系统应显示闪动的“P.”,处于待命状态;否则按下RESET键,如仍再不显示,应立即切断电源,检查后重新进行。 • (3)系统功能自检。 • 在闪动的“P.”状态下按键:[MOVE]→0000→[STEP]→[EXEC],系统以连续方式运行“8”字循环右移程序,若6位LED出现跑“8”显示,说明系统已进入正常工作状态,可按RESET键返“P.”待令。
2.2 快捷使用 • 1. Windows环境 • (1)在桌面上点击图标 然后选择以实验系统所插串口一致的选项,点击“确定”便进入Dais集成调试环境。 • (2)点击工具条中“ ”图标,在打开对话框中双击LED51.asm文件,进入实验源程序的编辑窗口。 • (3)点击工具条中“ ”图标,进行源文件的编译、装载,在出现编译成功的对话框后点击“OK”框自动进入源文件调试状态。 • (4)在工具条中点击所需的运行方式:“ ”单步、“ ”宏单步、“ ”运行。 • (5)若需要以断点方式运行,可直接点击源语句行前的“ ”图标来完成所需断点的设置与清除,然后再点击“”图标进入断点运行状态。 • (6)系统一旦进入运行状态后若需终止该程序的运行请点击“”图标退出当前操作返回待令状态。
2. LED环境 • (1)在“P.”状态下按“0→F1→4→F2→0→EV/UN”,装载实验所需的代码程序。 • (2)在“P.”状态下键入实验项目所需的程序入口地址(详见P7页),然后按“STEP”或“EXEC”进入实验项目的调试与运行。 • (3)若需要以断点方式运行,请在“P.”状态下键入断点地址然后按“SRB”命令键确认,再键入实验程序入口地址,按“EXEC”进入实验项目的断点运行。 • (4)系统一旦进入运行状态后,若需终止该程序的运行,请按STOP(暂停)或RESET(复位)按钮退出当前操作,返回待令状态“P.”。
软 件 实 验 • 本节共编了十个软件实验,通过这些实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。 • 本节提供的软件实验,涉及外部数据存储器扩展寻址操作,因此对于机型后缀名含有“H”的机型需按下图连接实验线路。
软 件 实 验(续) • ⑴将存储器单元的D0~D7总线接口用8芯排线或8芯扁平线与数据总线单元D0~D7的任一接口相连,存储器单元的A0~A7地址接口与地址总线单元(低八位)A0~A7的任一接口相连,存储器单元的A8~A12地址接口与地址总线单元(高八位)A8~A12的任一接口相连。 • ⑵存储器单元的WE/PGM插孔与六位LED左下方的WR或IOWR插孔相连。 • ⑶存储器单元的OE插孔连到六位LED左下方的RD或IORD插孔。 • ⑷存储器单元的CS1插孔连到六位LED右下方的A15插孔。
实验一 清零程序 • 一、实验目的 • 掌握汇编语言设计和调试方法,熟悉键盘操作。 • 二、实验内容 • 把2000~20FFh的内容清零。 • 三、程序框图
四、实验步骤 • 用连续或单步方式运行程序,检查2000~20FFh中执行程序前后的内容变化。 • 五、思考 • 假使把2000H~20FFh中的内容改成FFh,如何修改程序
实验二 拆字程序 • 一、实验目的 • 掌握汇编语言设计和调试方法。 • 二、实验内容 • 把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。 • 三、程序框图
四、实验步骤 • 用连续或单步方式运行程序,检查2000~2002h中内容变化情况。 • 五、思考 • 如何用断点方式调试本程序。
实验三 拼字程序 • 一、实验目的 • 进一步掌握汇编语言设计和调试方法。 • 二、实验内容 • 把2000h、2001h的低位分别送入2002h高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。 • 三、实验框图 • 四、实验步骤 • 单步或用断点方式运行程序,检查2002h内容变化情况
实验四 数据区传送子程序 • 一、实验目的 • 掌握RAM中的数据操作。 • 二、实验内容 • 把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。 • 三、程序框图
四、实验步骤 • 在R2、R3中输入源首址(例如0000h),R4、R5中输入目的地址(例如2000h),R6、R7中输入字节数(例如1FFFh),运行程序,检查0000~1FFFh中内容是否和2000~3FFFh中内容完全一致。
实验五 数据排序实验 • 一、实验目的 • 熟悉MCS-51指令系统,掌握程序设计方法。 • 二、实验内容 • 编写并调试一个排序子程序,其功能为用冒泡法将内容RAM中几个单元字节无符号的正整数,按从小到大的次序重新排列。 • 三、程序框图
四、实验步骤 • 把MCS-51片内RAM的50~5Ah中放入不等的数据,运行本实验程序后检查50~5Ah中内容是否按从小到大排列。 • 五、思考 • 修改程序把50~5Ah中内容按从小到大排列
实验六 查找相同数个数 • 一、实验目的 • 熟悉汇编语言编程。 • 二、实验内容 • 在2000~200Fh中查出有几个字节是零,把个数放在2100h中。 • 三、程序框图
四、实验步骤 • 在2000~200Fh的几个单元中填入零,运行本程序后检查2100h中是几个单元数。 • 五、思考 • 修改程序,查找其他内容。
实验七 无符号双字节快速乘法子程序 • 一、实验目的 • 掌握MCS-51汇编语言程序设计方法。 • 二、预备知识 • 本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的: • (R2 R3)×(R6 R7) • = ((R2)×28+(R3))×((R6)×28+(R7)) • = (R2)×(R6)×216+(R2)×(R7)+(R3)×(R6)×28+(R3)*(R7) • 三、实验内容 • 将(R2 R3)和(R6 R7)中双字节无符号整数相乘,积送R4 R5 R6 R7中。
四、程序框图 • 五、实验步骤 • 在R2 R3和R6 R7中输入无符号整数,连续或单步运行本实验程序后检查R4 R5 R6 R7中内容
实验八 多分支程序 • 一、实验目的 • 掌握汇编语言的编程。 • 二、实验内容 • 编写程序,根据送入的数据转移运行。 • 三、程序框图 • 四、实验步骤 • 在20H中分次送入00、01、02、03,每次运行程序后,观察数码管上数字循环情况。
实验九 脉冲计数(定时/计数器实验) • 一、实验目的 • 熟悉MCS-51单片机的定时/计数功能,掌握初始化编程显示方法。 • 二、实验内容 • 把定时器0外部输入的脉冲进行计数,并送显示器显示。 • 三、程序框图
四、实验电路 • 五、实验步骤 • P3.4依次接T0~T7或单步脉冲输出孔,执行程序,观察数码管上计数脉冲的速度及个数。 • 六、思考 • 修改程序使显示器上可显示到999999个脉冲个数。
实验十 电脑时钟(定时器、中断器综合实验)实验十 电脑时钟(定时器、中断器综合实验) • 一、实验目的 • 熟悉MCS-51定时器,串行口和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。 • 二、实验内容 • 编写程序,从本实验系统键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。 • 三、程序框图
四、实验步骤 • 连续运行程序,在键盘上输入时间初值,按执行键EXEC执行,数码管上实时显示时间值。 • 五、思考 • ⑴电子钟走时精度和程序中那些常数有关? • ⑵修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。
实验十一 二进制转换到BCD • 一、实验要求 • 将给定的一个二进制数,转换成二进制编码的十进制(BCD)码。 • 二、实验目的 • 掌握简单的数值转换算法,基本了解数值的各种表达方法。 • 三、实验说明 • 计算机中的数值有各种表达方式,这是计算机的基础。掌握各种数制之间的转换是一种基本功。 • 四、程序框图
五、实验步骤 • 在实验系统与PC联机状态下,编制程序,将ACC拆为三个BCD码,并存入20H开始的三个片内RAM单元。 • 六、思考 • 如何将BCD转换成二进制码?
实验十二 二进制转换到ASCII • 一、实验要求 • 给出一个BCD数,将其转换成ASCII值。 • 二、实验目的 • 了解BCD值和ASCII值的区别,掌握如何将BCD值转换成ASCII值,并学习如何查表进行数值转换及快速计算。 • 三、实验说明 • 此实验主要让学生了解数值的BCD 码和ASCII码的区别,利用查表功能可能快速地进行数值转换。进一步了解数值的各种表达方式。
四、程序框图 • 五、实验步骤 • 在实验系统与PC联机状态下,编制程序,将ACC拆为二个ASCII码,并存入20H开始的二个片内RAM单元。
实验十三 八段数码管显示 • 一、实验要求 • 利用实验系统提供的显示设备,动态显示一行数据。 • 二、实验目的 • ⑴了解数码管动态显示的原理; • ⑵了解用总线方式控制数码管显示。 • 三、实验说明 • 本实验系统提供了6位八段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。
四、程序框图 • 五、实验步骤 • 在实验系统与PC联机状态下,编制程序,利用实验系统的显示设备动态显示数据。
实验十四 键盘扫描显示实验 • 一、实验要求 • 在上一个实验的基础上,利用实验系统提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。 • 实验程序可分成三个模块。 • ①键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。 • ②显示模块:将显示单元的内容在显示器上动态显示。 • ③主程序:调用键输入模块和显示模块。 • 二、实验目的 • ⑴掌握键盘和显示器的接口方法和编程方法。 • ⑵掌握键盘扫描和LED八段码显示器的工作原理。 • 三、实验说明 • 本实验系统自带一个8×4的键盘,在判断有键按下后,要有一定的延时,防止键盘抖动。
四、程序框图 • 五、实验步骤 • 在实验系统与PC联机状态下,编制程序,利用实验系统的显示设备、键盘实现按键的输入并送至显示设备输出。
硬件实验 • 硬件实验可进一步掌握单片机系统扩展和输入输出程序的设计方法,熟悉对扩展系统的软件、硬件设计,调试方法和技巧。
实验一 P1口亮灯实验 • 一、实验目的 • (1)学习P1口的使用方法; • (2)学习延时子程序的编写。 • 二、实验预备知识 • (1)P1口对准双向口,每一位都可独立地定义为输出或输入。 • (2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。 • 三、实验内容 • P1口作为输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
五、实验电路 • 六、实验步骤 • P1.0~P1.7用插针连至L1~L8,运行程序后,观察发光二极管闪亮移位情况。 • 七、思考 • 改变延时常数,使发光二极管闪亮时间改变。 • 修改程序,使发光二极管闪亮移位方向改变。
实验二 P1口转弯灯实验 • 一、实验目的 • 进一步了解P1口的使用,学习汇编语言编程方法与调试技巧。 • 二、实验内容 • P1.0开关接5V时,右转弯灯闪亮,P1.1开关接5V时左移弯灯闪亮, • P1.0、P1.1开关同时接5V或接地时,转弯灯均不闪亮。 • 三、程序框图
四、实验电路 • 五、实验步骤 • P1.0接K1、 P1.1接K2、 P1.4~P1.7接L1、 L4、 L7、 L10,连续运行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例可把延时程序第一个字节改成返回指令),以便观察。
实验三 P3.3 口输入 .P1 口输出 • 一、实验目的 • 1.掌握P3口、P1口简单使用。 • 2.学习延时程序的编写和使用。 • 二、实验内容 • 1.P3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。 • 2.P1口做输出口,编写程序,使P1口接的8 个发光二极管L1—L8按16进制加一方式点亮发光二极管。 • 三、实验说明 • 1.P3口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P3口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。 • 2.延时子程序的延时计算问题 • 对于延时程序DEL:MOV R5,#200 • DEL0:MOV R6,#248 • DEL1:DJNZ R6,DEL1 ; 248*2+4 • DJNZ R5,DEL0 ;(248X2+4)*200+4 • 查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度12/6.0MHZ为2微秒,所以该段指令执行时间为:(248*2+4 )*200+4=100ms。
五、实验线路图 • 六、实验步骤 • ①P3.3用插针连至K1,P1.0—P1.7用插针连至L1—L8。 • ②编辑程序并将程序下载到实验装置,然后连续运行程序。 • ③开关K1每拨动一次,L1—L8发光二极管按16进制方式加一点亮。
实验四 工业顺序控制 • 一、实验目的 • 掌握工业顺序控制程序的简单编程,中断的使用。 • 二、实验预备知识 • 在工业控制中,像冲压、注塑、轻纺、制瓶等生产过程,都是一些断续生产过程,按某种程序有规律地完成预定的动作,对这类断续生产过程的控制称顺序控制,例注塑机工艺过程大致按“合模—>注射—>延时—>开模—>产伸—>产退”顺序动作,用单片机最容易实现。 • 三、实验内容 • 8032的P1.0—P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,高电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平启动。P3.3为外故障输入模拟开关,P3.2为0时不断警告。P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。 • 四、实验说明 • 实验中用外部中断0,编中断服务程序的关键是: • 1.保护进入中断时的状态,并在退出中断之前恢复进入的状态。 • 2.必须在中断程序中设定是否允许中断重入,即设置EX0位。 • 一般中断程序进入时应保护PSW、ACC以及中断程序使用但非其专用的寄存器,本实验中未涉及。