单片机实验指导
单片机实验实训指导

单片机实验实训指导姓名:班级:学号:指导教师:一、元器件的焊接,电路板烧写程序及调试。
总分30分焊接流程:(1)、施焊准备:焊接前的准备包括焊接部位的清洁处理,元器件安装、焊料和工具的准备。
(2)、加热焊接:烙铁头加热焊接部位,使连接点的温度加热到焊接需要的温度.加热时烙铁头和连接点要有一定的接触压力,并要注意加热整个焊接部位。
(3)、送入焊料:当加热到一定温度后,即可在烙铁头和焊接点的结合部位加上适当的焊料。
焊料融化后,用烙铁头将焊料移动一个距离,以保证焊料覆盖整个焊接部位。
(4)、冷却焊点,当焊料和烙铁头离开连接点(焊点)后,焊点要自然冷却,严禁用嘴吹或其他强制冷却的方法。
在焊料凝固过程中不受到任何外力的影响而改变位置。
(5)、清洁焊面,首先检查有无漏焊、错焊、虚焊和假焊。
对残留点周围的焊剂、油污和灰尘进行清洁。
不标准锡点的判定:(1)虚焊:看似焊住其实没有焊住,主要有焊盘和引脚脏污或助焊剂和加热时间不够。
(2)短路:有脚零件在脚与脚之间被多余的焊锡所连接短路,另一种现象则因检验人员使用镊子、竹签等操作不当而导致脚与脚碰触短路,亦包括残余锡渣使脚与脚短路(3)偏位:由于器件在焊前定位不准,或在焊接时造成失误导致引脚不在规定焊盘区域内(4)少锡:少锡是指锡点太薄,不能将零件铜皮充分覆盖,影响连接固定作用。
(5)多锡:零件脚完全被锡覆盖,及形成外弧形,使零件外形及焊盘位不能见到,不能确定零件及焊盘是否上锡良好.(6)错件:零件放置的规格或种类与作业规定或BOM、ECN不符者,即为错件。
(7)缺件:应放置零件的位置,因不正常的原因而产生空缺。
(8)锡球、锡渣:PCB板表面附着多余的焊锡球、锡渣,会导致细小管脚短路。
(9)极性反向:极性方位正确性与加工要求不一致,即为极性错误。
实验板电路原理图如下:(1)了解W A VE软件各个菜单项的功能。
(2)软件仿真(通过计算机模拟单片机程序的执行)1.打开W A VE仿真软件,打开“文件”菜单,选择“新建文件”,然后“保存文件”。
单片机实验指导书(6个实验)

单片机原理和接口技术实验指导书襄樊学院物理和电子信息技术系实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。
2)编写实验所要用到的程序,将其放在U盘上。
3)写出预习报告。
2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。
2)对程序进行调试,修改错误,获得要求的结果。
3)保存调试后的程序。
3.实验结束后的部分对实验结果进行分析、总结,写出实验报告。
实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。
流程图也可不画。
5.程序清单本实验使用的完整程序。
如果使用了本实验或前面实验中完全相同的子程序,可不列写,只做注明即可。
6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。
此项为实验成绩评定的重要依据。
实验1 Keil C51的使用(汇编语言)实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。
实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。
实验原理及环境:在计算机上已安装Keil C51软件。
这个软件既可以和硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不和硬件连接,仅在计算机上以虚拟仿真的方法运行程序。
如果程序有对硬件的驱动,就需要和硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。
实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。
2)加入C 源文件或汇编源文件。
3)用项目管理器生成各种使用文件。
4)检查并修改源文件中的错误。
5)编译连接通过后进行软件模拟仿真。
6)编译连接通过后进行硬件仿真。
7)I A P 编程操作2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。
单片机实验指导书

单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备1. 实验设备和材料:- 单片机开发板- USB数据线- 适配器- 数字电路元件(如LED、电位器等)2. 软件准备:- 单片机开发软件(如Keil、IAR EWARM等)- 编程软件(如C语言编辑器)- USB驱动程序三、实验步骤1. 搭建实验环境:- 将USB数据线连接单片机开发板和计算机。
- 通过适配器给单片机开发板供电。
- 检查驱动程序是否正确安装。
2. 编写程序:- 打开单片机开发软件,并创建一个新的工程。
- 选择适当的单片机型号和编程语言。
- 编写程序代码,实现所需功能。
- 编译程序并下载到单片机开发板。
3. 实验操作:- 根据实验要求连接相应的电路元件。
- 调试程序,确保程序能正确运行。
- 运行实验并观察结果。
四、实验注意事项1. 请确保您具备基本的电路和编程知识。
2. 在操作实验设备和元件时,请小心谨慎,避免发生触电等事故。
3. 如果遇到问题,请及时咨询实验指导人员或相关专家。
五、实验示例以下是一个简单的实验示例,用于演示如何控制LED灯的亮度:实验电路连接:将一个LED灯连接至单片机开发板的一个GPIO口。
程序代码:#include <reg51.h>sbit LED = P1^0;void delay(unsigned int time){unsigned int i,j;for(i=0;i<time;i++)for(j=0;j<120;j++);}void main(){while(1){LED = 1; // 点亮LEDdelay(200); // 延时200msLED = 0; // 熄灭LEDdelay(200); // 延时200ms}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
单片机部分实验指导书

目录1、实验一多路开关实验 (3)2、实验二可编程增益放大器实验 (5)3、实验三A/D转换实验 (7)4、实验四D/A转换实验 (11)5、实验五静态显示实验 (13)6、实验六动态扫描显示实验 (15)7、实验七液晶显示实验 (18)8、实验八矩阵式键盘实验 (23)9、实验九开关量输入输出实验 (28)10、实验十24WC02串行E2PROM的读写实验 (30)11、实验十一PCF8563时钟/日历芯片的应用实验 (37)12、实验十二外部程序存储器EPROM的扩展实验 (45)13、实验十三 SRAM外部数据存储器扩展实验 (47)14、实验十四单片机与PC机的RS232串行通信实验 (50)15、实验十五单片机与PC机的MAX485串行通信实验 (52)16、实验十六打印机实验 (54)17、实验十七 USB通信实验 (57)18、实验十八网络控制器实验 (102)实验一多路开关实验一.实验目的1.掌握多路开关与单片机的接口方法。
了解按键识别的编程方法。
2.通过实验了解单片机如何进行多路开关实验。
二.实验内容利用线路板DSC-SCM01提供CPU处理器,利用线路板DCP-SCM02上的发光二级管显示及查询式键盘完成多路开关实验。
当对应的按键按下时,相应的发光二极管亮。
三.实验器材1.主控屏+5V电源2. DCP-SCM01 单片机电路3. DCP-SCM02 键盘及显示电路四.实验原理图五.实验说明该实验通过线路板DCP-SCM01及线路板DCP-SCM02完成,线路板DCP-SCM02上发光二极管的阳极接正5V电源,所以要使某个发光二极管亮,只要使对应的发光二极管的阴极为低电平即可。
六.实验步骤1.利用导线按表格中的对应关系将DCP-SCM01对应的端口与DCP-SCM02对应的端口连接起来即可DCP-SCM02 DCP-SCM01发光二极管显示单元的插座U3 P0查询式键盘区域的插座U4 P1EA脚接+5VD_SWITCH.C3.输入并编辑D_SWITCH.C文件,并且编译生成HEX文件。
单片机实验指导书

单片机原理及应用实验指导书实验一Keil集成开发环境的使用一、实验目的1、熟悉Keil软件集成开发环境及使用方法,并能够编写编译实验项目;2、掌握编写51程序及程序的运行;3、学习控制单片机I/O口驱动发光二极管流水显示的方法。
二、实验内容如图1-1所示,利用STC89C54RD+单片机的P1口外接8个发光二极管,实现双向流动流水灯效果。
图1-1 原理图图1-2 插线图三、实验步骤1、Keil软件的使用。
2、硬件资源连接。
用排线按图1-2在实验箱上将相应端子接好。
用USB数据线将计算机USB口和GL9型开发板相连。
注意保持GL9型开发板电源开关断开(开关SW1置于左侧)。
3、编译下载a.启动uVision4新建一个51单片机的工程,输入参考代码并编译下载。
b.点击STC_ISP_V480.exe启动下载界面,如图1-3。
c.启动界面后如图1-4所示。
选择单片机型号,此处根据实际情况我们应选择STC89C54RD+,如图1-5。
d.打开程序文件。
此处我们打开编译生成的HEX文件即可,如图1-6。
e.设置串口参数。
其中串口标号按系统分配的端口序号进行选择,其它内容按照默认即可。
f.设置其它参数。
此处按照默认即可。
如图1-7。
图1-3图1-4图1-5图1-6图1-7图1-8g.下载。
点击Download下载键即可下载,点击前要保证GL9型开发板已经正确地通过USB数据线连接于USB接口上,并且将开关SW1置于左侧。
如图1-8。
h.点击点击Download下载键后,信息窗口提示“仍在连接中,请给MCU上电...”,如图1-9。
此时需要给GL9开发板上的单片机重新上一次电,电源开关SW1推向右方,指示灯V9点亮,如图1-10。
重新上电后下载程序开始,会有相应文字提示及进度提示,如图1-11。
下载完成,有相应提示,如图1-12.图1-9图1-10图1-11图1-12下载完成后,单片机会立即开始运行程序。
3、观察实验结果。
单片机实验指导书

实验一数制转换实验一、实验目的:(1)、熟悉单片机实验系统板、稳压电源及示波器的使用方法。
(2)、培养程序编制及调试的方法。
(3)、输入自己编写的程序(机器码),并通过实验板和示波器观察程序运行结果。
二、实验要求:(1)、给出程序设计流程图。
(2)、设计数制转换实验程序。
(3)、记录单片机实验板晶体振荡器的波形图。
(4)、记录单片机实验板上电复位电路的波形图。
三、实验原理:以下是把16进制数转换为10进制数的参考程序清单及机器码表:测试程序:四、实验仪器:稳压电源一台HB-51教学实验系统一套五、实验步骤:1、HB-51教学实验系统简介:(1)、+5V电源,+12V电源,-12V电源(2)、CPU、程序存储器、数据存储器、晶体振荡器、手动复位、LED发光管、键盘、显示器(LED 数码管)。
(3)、显示器介绍该系统共有6个数码管,分为两组,左边4个为一组,右边2个为一组。
在大部分情况下,左边4个数码管作为地址显示器,右边2个数码管作为内容显示器。
(4)、键盘介绍0~F 为数字键,用来输入0~F的数字,并且系统默认十六进制输入MEM 为程序存储器内容检查/修改键REG 为寄存器/内部RAM内容检查/修改键LAST 用来向上跳一个地址单元NEXT 用来向下跳一个地址单元EXEC 为连续执行键SCAL 为单步调用键STEP 为单步执行键MON 为返回系统监控状态,相当于让系统回到刚刚上电时的状态。
也是其他功能键的前导按键2、HB-51教学实验系统与稳压电源的连接。
实验系统上的+5V电源与稳压电源正确相连,接好以后,给稳压电源上电。
此时,如果系统工作正常,会在显示器上显示“HB--51”。
如果显示内容不是“HB--51”,则说明系统上电复位过程不正常。
此时按一下红色的手动复位按钮,系统就应当正常工作了。
如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。
单片机实验指导书

单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备2.1 实验器材准备本实验需要准备以下器材:- 单片机开发板- USB线- 电脑2.2 软件安装在开始实验之前,需要安装以下软件:- Keil C51开发环境- STC单片机系列驱动程序第三章实验步骤3.1 硬件连接将单片机开发板通过USB线连接到电脑上,并确保连接正常。
3.2 软件设置打开Keil C51开发环境,点击菜单栏中的“文件”选项,选择“新建”创建新的工程。
设置工程的名称和保存位置,确定后点击“保存”。
3.3 编写程序在Keil C51开发环境中,编写单片机程序。
首先需要包含相应的头文件,然后编写具体的程序逻辑,实现所需的功能。
3.4 编译和烧录程序在编写完程序后,点击菜单栏中的“编译”选项进行编译。
编译成功后,点击菜单栏中的“下载”选项将程序烧录到单片机开发板中。
3.5 实验验证将程序烧录完毕后,将开发板与外部模块连接,观察实验现象是否符合预期。
第四章实验注意事项4.1 安全注意事项在实验过程中,要注意使用安全电压和电流,避免短路和电击风险。
4.2 实验环境实验需要在安静、整洁的环境中进行,以避免干扰和误操作。
4.3 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。
第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。
通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。
本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。
在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。
通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。
在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。
单片机实验实验指导书

目录实验一P1口输入、输出实验 (1)实验二P3口输出控制继电器实验 (4)实验三简单I/O实验(交通灯控制) (6)实验四外部中断实验(急救车与交通灯实验) (8)实验五定时器实验 (11)实验六8155输入输出实验 (13)实验七矩阵键盘实验 (15)实验八8279显示实验 (17)实验九串并转换实验 (20)实验十A/D转换实验 (22)实验十一步进电机控制实验 (24)实验十二D/A转换实验 (27)实验十三传送带控制系统综合实验 (29)实验十四机械手控制实验 (32)实验一 P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
延时时间500ms。
2.P1口做输入口,接八个开关,以74LS273作输出口,编写程序读取开关状态,将状态写入P0口,在发光二极管上显示出来。
二.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
三.实验电路及连接实验1-1电路图如下:图1.1实验1-2中:P1.0-P1.7接八个按钮K1-K8,P0.0-P0.7接八个发光二极管L1-L8。
四.实验说明1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止,因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响,若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对延时子程序DELAY: MOV R0,#00HDELAY1: MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ指令均需要两个机器周期,而一个机器周期时间长度为12/12MHZ(假设晶振频率是12MHZ),所以该段程序执行时间为:((0B3+1)*256+1)*2*12/12000000=100ms五.实验程序流程图实验要求1的程序框图:实验要求2的程序框图:图1.2 图1.3六、调试方法第一步:打开位于d:\单片机实验\实验一\1_1.uv2,进行实验1_1打开位于d:\单片机实验\实验一\1_2.uv2,进行实验1_2第二步:在资源管理器中如打开.src文件,在程序窗口中输入已编好的程序,保存。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机实验1 汇编语言程序设计实验---- 存储器块清零或赋值一.实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。
2 熟悉循环结构程序的编写。
3 熟悉编程环境和程序的调试。
二.实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。
例如将4000H开始的100个字节内容清零或全部赋值为33H。
三.实验仪器微机、WAVE6000编程环境软件,(单片机实验箱)注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。
2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。
5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。
编译器默认设置:程序框图参考程序:Block equ 4000hmov dptr, #Block ; 起始地址mov r0, #10 ; 清10个字节mov a, #33h ;Loop:movx @dptr, ainc dptr ; 指向下一个地址djnz r0, Loop ; 记数减一ljmp $end一.实验目的1 熟悉51汇编语言程序结构。
2 熟悉循环结构程序的编写,进一步熟悉指令系统。
3 熟悉编程环境和程序的调试。
二.实验内容将指定源地址(3000H)和长度(100字节)的存储块移动到目的地址(4000H)。
三.实验仪器微机、WAVE6000软件,(单片机实验箱)注意:在编程环境中,可以通过软件仿真,观察程单片机运行情况。
参考程序与流程图一.实验目的1了解数据排序的常用算法,掌握冒泡算法。
2进一步熟悉编程环境和调试方法。
3熟悉汇编程序设计。
二.实验内容将50H开始的10个随机数按从小到大的顺序排列。
三.实验仪器微机、W A VE6000编程环境注意:由于上电后数据都一样,所以需要手动修改50H后10个数据(要排序的数)方法是:窗口---数据窗口---DA TA 找到50H开始的10个2位16进制数,双击,修改其数值如(6,2,4,9,3,7,1,5,8,0)之后编译(下载),单步执行,查看排序执行过程冒泡算法(两层循环,以下是内层循环开始……)。
6,2,9,4,3,7,1,5,8,0前大后小交换位置如下:2,6,9,4,3,7,1,5,8,0前小后大不交换位置如下;2,6,9,4,3,7,1,5,8,0前大后小交换位置如下;2,6,4,9,3,7,1,5,8,0…第一次内层循环结束顺序如下:最大的数9先冒出来2,6,4,3,7,1,5,8,0,9 接着开始第二次内层循环……参考程序:Size equ 10 ; 数据个数Array equ 50h ; 数据起始地址Change equ 0 ; 交换标志Sort:mov r0, #Arraymov r7, #Size-1clr ChangeGoon:mov a, @r0mov r2, ainc r0mov B, @r0cjne a, B, NotEqualsjmp NextNotEqual:jc Next ; 前小后大, 不交换setb Change ; 前大后小, 置交换标志xch a, @r0 ; 交换dec r0xch a, @r0inc r0Next:djnz r7, Goonjb Change, Sortljmp $end流程图单片机实验4 P1口输入输出实验一.实验目的1.熟悉P1 口的功能。
2.熟悉延时子程序或定时中断程序的编写和使用。
3.初步熟悉单片机软硬件设计方法。
二.实验内容(两内容分开做)1.P1口做输出口接八只发光二极管,编写程序,使发光二极管循环亮灭。
注意:小实验箱(G2010)的发光二级管LED是低电平亮,高电平灭;大实验箱(LAB6000)的发光二级管LED是高电平点亮,低电平灭。
2.P1.0,P1.1作输入口接两个拨动开关,P1.2,P1.3作输出口,接两个发光二极管。
编写程序读取开关状态,将此状态在发光二极管上显示出来。
三.实验仪器微机,WAVE6000编程环境、实验箱注意:当P1口用作输入口时,必须先对它置”1”。
编程时应注意P1.0,P1.1作为输入时应先置1,才能正确读入值。
S0,S1就是实验箱上K0,K1 键2延时子程序示例如下:()延时程序可以作为子程序在主程序里面调用,也可以放在程序中间,顺序执行内容1参考程序大实验箱LED灯 1 亮0 灭注:小实验箱LED灯是 1 灭0 亮,程序应做相应修改Loop:mov a, #01h 内容2参考程序KeyLeft equ P1.0 mov r2, #8 KeyRight equ P1.1 Output: LedLeft equ P1.2 mov P1, a LedRight equ P1.3rl a SETB KeyLeftcall Delay SETB KeyRightdjnz r2, Output Loop:ljmp Loop MOV C, KeyLeft Delay: MOV LedLeft, C mov r6, #0 MOV C,KeyRightmov r7, #0 MOV Ledright,C DelayLoop: LJMP Loop djnz r6, DelayLoop ENDdjnz r7, DelayLoopretend实验五计数器实验一.实验目的1 熟悉计数器的使用方法。
2 熟悉计数器的硬件电路连接。
3 熟悉计数器的软件设计。
二.实验内容8031内部定时计数器0,按计数器模式和工作方式1工作,对P3.4(计数器0计数脉冲输入T0)引脚进行计数。
将其计数数值按二进制数用P1口驱动LED灯显示出来。
说明三.实验仪器微机、WAVE6000编程环境,伟福6000实验箱注意:P3.4接单次脉冲小实验箱单次脉冲按钮在显示屏下的(黄色)按钮。
小实验箱与大实验箱不同,黄色按钮可以轻轻按压产生单次脉冲,也可以彻底按下锁定脉冲。
彻底按下时,按一次,其保持为高(低)电平,然后需要手动复位按下松开,之后再按下松开其保持为低(高)电平,或者轻按松开产生单次脉冲。
单次脉冲输出端在单次脉冲黄色按钮左侧5厘米处。
实验连线如图:大实验箱单次脉冲.小实验箱的单次脉冲(高电平,低电平)接口如下图最左侧中间位置:高电平低电平程序流程:实验六外部中断实验一.实验目的1 熟悉外部中断的硬件电路,中断技术的基本使用方法。
2 熟悉外部中断的软件设计。
二.实验内容利用实验箱上的单脉冲按键和发光二极管实现:用单次脉冲申请中断,在中断服务程序中对输出信号进行翻转(对每当输出一个单次脉冲时(产生低电平一个脉冲),发光二极管(L0)亮灭变化)。
注意:小实验箱单次脉冲按钮在显示屏下的黄色按钮。
与大实验箱不同,黄色按钮可以轻轻按压产生单次脉冲,也可以彻底按下锁定脉冲。
彻底按下时,按一次,其保持为高(低)电平,然后需要手动复位按下松开,之后再按下松开其保持为低(高)电平。
单次脉冲输出端在单次脉冲黄色按钮左侧5厘米处。
小实验箱单次脉冲按钮在显示屏下的黄色按钮。
与大实验箱不同,按一次其保持为高(低)电平,然后需要手动复位按下,之后再按下其保持为低(高)电平。
三.实验仪器微机、WAVE6000编程环境,实验箱连线:P1.0连接L0 INT0连接低电平单次脉冲。
实验电路及连线如下:小实验箱低电平脉冲见上页图示。
注意中断服务程序(ISR)关键:1 保护进入中断时的现场,并在退出中断之前恢复现场;中断重入的设置中断相关寄存器的设置:中断寄存器IE,中断触发罚方式的设置。
本例中保护CPU状态寄存器PSW等。
2 中断程序和子程序的区别。
中断程序不是程序调用的,中断发生时,CPU就执行相应中断服务程序。
程序流程图:参考程序:LED equ P1.0LEDBuf equ 0ljmp Startorg 3Interrupt0:push PSW ; 保护现场cpl LEDBuf ; 取反LEDmov c, LEDBufmov LED, cpop PSW ; 恢复现场retiStart:clr LEDBufclr LEDmov TCON, #01h ; 外部中断0下降沿触发mov IE, #81h ; 打开外部中断允许位(EX0)及总中断允许位(EA)ljmp $end8086实验1 设备使用及简单示例程序验证一.实验目的1 熟悉软件编程环境和硬件设备资源2 熟悉工程创建的步骤,其中各个文件作用3 掌握软件菜单的使用,掌握程序的调试基本步骤。
二.实验内容以课本例4-1为源文件创建工程进行工程的调试,查看程序运行过程和结果三.实验仪器微机、WAVE6000编程环境,实验箱注意:文件不要用中文名称,保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。
调试过程:2 查看存储器菜单使用:窗口---数据窗口---MEMORY,观察或者修改MEMORY内容。
3 查看CPU寄存器:窗口---CPU窗口,CPU寄存器4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。
ASSUME CS:CSEG , DS:DSEG , ES:ESEGSUM DW 2 DUP(?) DUP (duplicate) 含义如下:定义变量(数组)SUM,类型为字(DW),大小为2,内容不定(?)编译器设置:编译器将用户定义的数据段分配在0400H(0040H×16)开始的存储器中。
数据段段基址寄存器DS(0040H)。
查看数据的方法:窗口---数据窗口--- MEMORY ---0400的位置就是你定义的数据段的数据:物理地址=段基址(DS)×16+段内偏移参考程序及流程图:见课本例4-18086实验2 简单程序设计--存储块移动一.实验目的1 熟悉86汇编语言程序结构2 熟悉循环结构程序的编写,进一步熟悉指令系统寻址方式3 熟悉编程环境和程序的调试二.实验内容将指定源地址和长度(100字节)的存储块移动到目的地址。
三.实验仪器:微机、WAVE6000软件,实验箱注意:1 源数据块和目的数据块自己在数据段中定义。
2 要查看移动后结果,定义时对源和目的块赋不同的值S db 25 dup(11h) 含义? dup (duplicate)定义数组S,大小为25,类型为字节(DB),全部赋值为11h3 同实验一,数据段分配在0400H开始的存储器中流程图如右:两种移动的方式:1利用循环结构编程移动方式2利用重复指令(movsb)编程方式参考程序利用重复指令(movsb)编程方式移动 256 字节data segmentSource db 256 dup(055h)Target db 256 dup(0aah)data endscode segmentassume cs:code, ds:data, es:datastart:mov ax, datamov ds, axmov es, axmov si, offset Sourcemov di, offset Targetmov cx, 256rep movsbjmp $code endsend start8086实验3 数据排序一.实验目的1 了解数据排序的常用算法,掌握冒泡算法。