单片机原理实验指导书
- 格式:doc
- 大小:4.31 MB
- 文档页数:60
单片机原理与应用实验指导书(202203)-图文实验指导书南通大学电气工程学院自动化系2022年3月前言单片机目前已广泛应用在智能仪表、工业控制、家用电器等各个领域,成为现代电子系统的一个极其重要的组成部分,对于电类专业学生来说,掌握单片机知识,具备基本应用技能,才能符合当前社会对专业人才的要求。
单片机是一门应用性极强的课程,学生在掌握基本理论知识的基础上,更要通过实验训练,提高其调试动手能力,学会解决具体问题的思路和手段,具备初步的系统设计和调试能力。
因此,为了更好地做好单片机课程的软硬件实验,特编写本实验指导书,书中叙述了各实验的目的、要求,对于设计性实验,给出了列出了接线图、程序结构框图和清单。
学生按要求完成本实验指导书中的实验,可基本掌握MCS-51单片机的结构原理、接口技术以及程序设计技巧。
另外:一、所有实验都是相互独立的,次序上也没有固定的先后关系,在使用本书进行教学时,教师可根据教学要求,选择相应实验。
二、对同一问题的解决方法往往不是唯一的,欢迎各位指导教师在使用本实验指导书的过程中提出更完善的实验方案,指出书中的错误和不足,并希望大家反馈给我们,以便及时修改。
I目录第一章集成开发环境简介..........................................1第二章演示程序......................................................9第三章实验项目 (15)实验一简单程序设计实验.............................................15实验二I/O 口实验......................................................18实验三定时器实验......................................................20实验四A/D、D/A转换实验..........................................21实验五并行接口扩展实验 (25)II第一章集成开发环境简介SuperICES-5180C51单片机实验仪使用当前流行的KeilC51开发软件,采用uViion2集成开发环境。
实验一指令系统和汇编语言程序设计实验本章实验主要包括指令系统和汇编语言程序设计两部分。
采用软件模拟调试的方法,目的在于通过这些实验可以使学生巩固所学知识,加深对MCS-51单片机内部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。
实验操作说明Keil 软件调试方式分为:软件仿真方式和硬件调试两种。
软件仿真实验上机操作步骤:1、进入Keil,点击桌面上“Keil μVersion 3”图标,进入Keil系统窗口;2、新建工程:1)打开“工程”菜单中的新建,在弹出的对话框中,键入自己定义的工程名;2)在进一步打开的对话框中,选择CPU的类型,为Intel公司的8032AH,确定;3)存入C:\keil 文件夹中。
(机房,安装在C盘,改为C:\keil)3、打开“视图”菜单中的“工程窗口”;4、在“工程窗口”中,右击“目标1”,为工程设置参数;1)在弹出的快捷菜单中选择“为目标“目标1”设置选项”;2)在弹出的对话框中选择“项目”选项卡,设置时钟为“12Mhz”;3)选择“调试”选项卡,在单选框选择“软件仿真方式”;4)确定,即完成了“软件仿真方式”的设置。
5、新建文件1)打开“文件”菜单,选择“新建”;2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序;3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是.asm,存入C:\keil 文件夹中(在大机房,安装在C盘,改为C:\keil);例如:a.asm。
6、将刚建的新文件添入当前的工程中1)在“工程窗口”中,“目标1”的+号处打开,显示“源代码组1”;2)右击“源代码组1”,在快捷菜单中选择“为“源代码组1”添加文件”,弹出一个对话框; 3)在对话框中选择“文件类型”为*.*;4) 选择文件所在路径,同时找到刚键入的a.asm文件,点击“add”按钮,然后点击“close”按钮;5) 在“工程窗口”点击“源代码组1”左侧的+号,显示添加的a.asm文件,添加成功。
单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备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}}六、实验总结通过本次实验,我们学习了搭建实验环境、编写程序以及进行单片机实验操作的基本步骤和注意事项。
《单片机原理》实验指导书计算机科学与技术系2012年8月目录第一部分单片机仿真实验 (1)实验一:流水灯实验 (1)实验二:中断实验 (4)实验三:定时器中断实验 (6)实验四:串行口实验 (9)实验五:矩阵式键盘输入识别 (13)实验六:LCD循环显示设计 (19)第二部分单片机硬件实验............................错误!未定义书签。
第一章试验箱系统概述 ...................................错误!未定义书签。
一、系统地址分配........................................... 错误!未定义书签。
二、系统接口定义........................................... 错误!未定义书签。
三、通用电路简介........................................... 错误!未定义书签。
第二章实验指导...............................................错误!未定义书签。
实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。
实验八简单I/O口扩展(选作).................. 错误!未定义书签。
实验九8255控制交通灯................................ 错误!未定义书签。
实验十128*64LCD液晶显示 .......................... 错误!未定义书签。
第一部分单片机仿真实验实验一:流水灯实验一、实验目的:通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。
二、实验原理图实验参考电路图如下:三、参考实验程序//流水灯实验#include<reg51.h> //包含单片机寄存器的头文件sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机//的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的操作/****************************************函数功能:延时一段时间*****************************************/void delay(void){unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++); //利用循环等待若干机器周期,从而延时一段时间 }/*****************************************函数功能:主函数******************************************/void main(void){while(1){x=0xfe; //第一个灯亮delay(); //调用延时函数x=0xfd; //第二个灯亮delay(); //调用延时函数x=0xfb; //第三个灯亮delay(); //调用延时函数x=0xf7; //第四个灯亮delay(); //调用延时函数x=0xef; //第五个灯亮delay(); //调用延时函数x=0xdf; //第六个灯亮delay(); //调用延时函数x=0xbf; //第七个灯亮delay(); //调用延时函数x=0x7f; //第八个灯亮delay(); //调用延时函数}}四、实验思考题:修改程序使LED灯为18灯亮——27灯亮——36灯亮——45灯亮,再将LED 灯亮的顺序倒过来既:45灯亮——36灯亮——27灯亮——18灯亮,连续运行。
《单片机原理》实验指导书For personal use only in study and research; not for commercial use山东华宇职业技术学院实训中心电子教研室目录第一章认识单片机实验系统 (3)3 第一部分系统介绍.......................................................................................6 第二部分银环MCS—51调试软件的使用........................................................第三部分键盘监控使用简介 (9)第二章软件实验 (15)实验一字处理程 (15)实验二数据处理程序 (17)实验三多分支程序 (20)实验四脉冲计数(定时/计数器实验) (22)第三章硬件实验 (26)实验一 P1口实验 (26)*实验一 P1口实验 (31)实验二 P1口输入\输出 (35)实验三 P3.3输入 P1口输出 (38)实验四工业顺序控制 (40)实验五简单I/O扩展实验一 (43)实验六简单I/O扩展实验一 (47)实验七定时器实验 (49)实验八 8255A可编程并行接口实验一 (52)实验九 D/A转换实验 (54)实验十 A/D转换实验 (60)实验十一存储器扩展实验 (64)附:实验报告要求 (66)实验注意事项及要求 (67)第一章认识单片机实验系统第一部分系统介绍一、整机介绍1、DICE型微机教学实验系统结构DICE型微机教学实验系统由电源、系统板、CPU板、可扩展的实验模板、微机串口通讯线、JTAG通讯线及通用连接线组成。
二、系统特点DICE 型微机/单片机教学实验系统是启东计算机有限公司根据广大学者和许多高等院校实验需求,结合电子发展情况而研制的具有开发、应用、实验相结合的高科技实验设备。
旨在尽快提高我国电子科技发展水平,提高实验者的动手能力、分析解决问题能力。
《单片机原理及接口》实验指导书莆田学院信息工程学院2016年2月目录实验一仿真系统搭建 (1)实验二实验系统编程应用 (7)实验三流水灯实验 (9)实验四 LED数码管显示实验 (11)实验五键盘实验 (13)实验六中断系统实验 (15)实验七 51定时器实验 (17)实验一仿真系统搭建一、实验目的了解实验设备的软硬件组成,包括keil单片机仿真软件的安装、设置与使用,单片机仿真调试软件的安装、设置与使用,单片机仿真器的功能、结构与使用,51单片机实验板的电路结构、工作原理与使用。
熟悉使用keil单片机仿真软件、仿真调试软件和实验板进行协调工作的方法。
熟悉使用至少两种单片机仿真系统建立、设置、调试工作项目的方法。
二、实验原理整个实验系统由仿真调试软件(keil单片机仿真软件、伟福仿真调试软件)、单片机仿真头(伟福仿真器)和单片机最小板(51单片机实验板)组成或使用Proteus 仿真系统进行硬件仿真。
仿真软件进行项目的管理设置,仿真器进行软件的下载与单片机的仿真(IAP),实验板搭载建立各种外围电路。
主要掌握的软件有KEIL编程软件、Proteus硬件仿真软件和其他一些差用软件及硬件构造。
整个实验系统使用时,若使用硬件仿真,第一步安装KEIL软件,第二步安装星研系列仿真调试软件,第三步将仿真器的数据口和电源口连接微机及实验板,进行仿真器驱动安装。
第四步将仿真头插入实验板插座(注意仿真头三角箭头标注引脚为第一脚),开机调试。
若使用软件仿真,第一步安装KEIL软件,第二步安装Proteus硬件仿真软件,然后用Proteus硬件仿真软件进行电路构建,最后进行程序调试。
1、Keil软件的安装设置:启动后,点击Project菜单新建项目。
新建项目后,选择仿真单片机型号,并新建或加入程序文件。
编写加入C语言程序后就可以对项目进行设置,进而使用Project菜单进行编译、连接和调试运行等操作。
图1-7 项目设置项目的设置包括Target菜单中的单片机振荡频率,debug菜单中的仿真方法。
单片机原理及应用实验指导书河北理工大学信息学院2005 年5 月目录实验一P1 口实验................................................................... .1 实验二软件BCD ASCII码转换 .......................................................... .3 实验三定时/计数器实验................................................................. .4 实验四外部中断实验............................................................. (6)实验五外部存储器扩展实验........................................................ (7)实验六串行口通讯实验 (8)实验七A/D转换接口实验 (9)一、实验题目1.P1 口做输出口,接8只发光二极管,编写程序,使发光二极管循环点亮。
二、实验目的1.学习P1 口作为输出口的使用方法。
2.学习延时子程序的编写和使用。
三、有关说明P1 口为准双向口,P1 口的每一位都能独立地定义为输出线或输入线。
作为输入的口线,必须向锁存器相位写入1,该位才能作为输入。
再看一下延时程序的实现,现常用的有两种方法:一是用定时器中断来实现,二是用指令循环来实现。
在系统时间允许的情况下,可以采用后一种方法。
以12M晶振为例,一个机器周期为12/12=1uS,现要写一个延时0.1S的程序,可大致写出如下:MOV R7,#200DE1:MOV R6,#XDE2:DJNZ R6,DE2DJNZ R7,DE1上面MOV,DJNZ指令均需要两个机器周期,所以每执行一条指令需2uS,现求出X 值:(X*2+2+1)*200+1=100000,求出X=248。
单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备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 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。
第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。
通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。
本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。
在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。
通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。
在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。
《单片机原理与应用》实验指导书目录实验一无符号双字节乘法运算子程序实验二 BCD码与ASCII码转换实验三 P1口实验实验四定时器实验—循环彩灯实验实验五数码显示实验实验六 A/D转换实验实验一无符号双字节乘法运算子程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。
熟悉汇编语言编程。
二、实验设备:EL-8051-III型单片机实验箱。
三、实验内容:(1)在(R2R3)和(R6R7)中输入双字节无符号整数。
(2)将(R2R3)和(R6R7)中双字节无符号整数相乘,积存入R2R3R4R5中。
(3)连续或单步运行所编程序。
检查R2R3R4R5中的内容是正确。
四、实验原理:R6 R7R2 R3R4 R5B AB AB A(B)R2 (B+B+A) R3 (R4+A+A) R4 R5五、实验调试1、打开Keil,新建Keil项目;2、选择CPU类型为ATMEL中的AT89C52单片机;3、根据流程图新建汇编源程序(*.asm),并保存;4、在项目管理器窗口(project windows)中,将新建的ASM源程序添加到“source group 1”中;5、在Keil中选择“project”->“build target”菜单,编译汇编源程序,如有错,修改后重新编译;6、选择“debug”->“start/stop debug session”菜单,进入程序调试环境;7、按“F11”键,单步运行程序,观察“project windows”中,寄存器R0~R7的变化情况,最后验证R2R3R4R5无符号双字节相差的结果是否正确(可和程序/附件计算器的相乘结果对比)。
六、参考程序实验二 BCD码与ASCII码转换程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。
熟悉汇编语言编程。
二、实验设备:EL-8051-III型单片机实验箱。
三、实验内容:将本人的班号学号以压缩的BCD码的形式由低到高存放在50H开始的单元中,如10050941班,学号为01的同学,将1050H、0551H、0952H、4153H、0154H。
第一章D VCC系列单片机仿真实验系统性能系统提供的主要实验项目如下:一、MCS—51部分软件实验1、清零程序实验 6、字符串查找并统计相同字符串个数2、拆字程序实验 7、双字节乘法程序3、拼字程序实验 8、多分支程序设计4、数据块传送实验 9、定时/计数器实验5、数据排序实验 10、电脑时钟实验二、MCS—51部分硬件实验1、8031单片机P3、P1口应用 11、步进电机控制2、工业顺序控制 12、直流电机控制3、并行I/O口8255应用 13、电子音响4、简单I/O口输入、输出扩展 14、继电器控制5、A/D转换0809应用 15、数据存贮器扩展和程序存贮器扩展6、D/A转换0832应用 16、8031串行口应用实验(一)—双机通信实验7、串并转换实验 17、8031串行口应用实验(二)—与PC机通信8、定时计数器8253A应用 18、温度测量实验(5G14433应用)9、可编程键盘显示8279A应用 19、压力测量实验10、打印机接口应用第二章MCS—51实验系统安装与启动§ 2.1 MCS51实验系统安装与启动1. DVCC系列实验系统在出厂时均为51状态2. 如果系统用于仿真外接用户系统,将40芯仿真电缆一头插入系统中J6插座,另一头插入用户系统的8051CPU位置,注意插入方向,仿真头上小红点表示第一脚,对应用户8051CPU 第一脚。
3. 接上+5V电源,将随机配备的2芯电源线,红线接入外置电源的+5V插孔,黑线接入外置电源地插座。
上电后,DVCC系列实验系统上显示“P.”闪动。
如果是独立运行,按DVCC系列用户手册进入键盘管理监控,就能马上做实验。
键盘管理监控操作详见第一分册第四章。
如果连上位机工作,必须将随机配备的D型9芯插头一端插入DVCC 系统J2插座,另一端插入上位机串行口COM1—COM2任选。
然后按DVCC实验系统PCDBG键,再运行上位机上的DVCC联机软件,双方建立通信,往后详细操作见用户手册第五章。
实验一仿真软件的使用,简单程序设计一.实验目的:1.掌握单片机仿真软件的基本操作方法;2.熟悉汇编语言源程序的编辑、汇编、运行和检查运行结果的方法(能查看各存储空间中值的变化);3.掌握简单程序编写的基本方法和技巧;二.实验内容:1. 将内部RAM的30H—33H四个存储单元內分别存放01H、02H、03H、04H 四个数;然后送至工作寄存器R0—R3。
2.将内部RAM的30H—33H四个存储单元內的数分别传送至外部RAM的2030H--2033H存储单元中。
3. 将内部RAM的30—32H的连续3个字节中的无符号数相加,结果的低位送33H 单元,高位送34H单元实用文档三.实验步骤:1.实验内容1的步骤(1)新建文件,输入能实现实验内容1的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果:检查R0—R3的内容;(3)单步运行程序,并检查运行结果:检査R0—R3的内容;(4)查看程序的机器码。
2.实验内容2的步骤(1)新建文件,输入能实现实验内容2的源程序并以 .ASM为扩展名存盘(2)编译并运行程序,检查运行结果:检査外部RAM 2030H—2033H单元的內容(3)单步运行程序,并检查运行结果;(4)查看程序的机器码。
3.实验内容3的步骤(1)新建文件,输入能实现实验内容3的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果;实用文档(3)单步运行程序,并检查运行结果,检查33H、34H单元内容;(4)查看程序的机器码四.实验程序1.实验内容1的程序ORG 0000HMOV 30H,#00HMOV 31H,#01HMOV 32H,#02HMOV 33H,#03HMOV R0,30HMOV R1,31HMOV R2,32HMOV R3,33HEND实用文档2.实验內容2的程序ORG 0000HMOV 30H,#00HMOV 31H,#11HMOV 32H,#22HMOV 33H,#33HMOV DPTR,2030HMOV R0,#30HMOV R1,#04HLOOP:MOV A,·R0HMOVX ·DPTR,AINC R0INC DPTRDJNZ R1,LOOPSJMP $实用文档END3.实验内容3的程序ORG 0000HMOV 30H,#0F8HMOV 31H,#0C6HMOV 32H,#0D9HCLR CMOV A,30HADD A,31HJC NEXT1SJMP NEXT2NEXT1:INC R1NEXT2:ADD A,32HMOV 33H,AJC NEXT3实用文档SJMP NEXT4NEXT3:INC R1NEXT4:MOV 34H,R1SJMP $五.实验报告要求:1.对实验内容1和实验内容2的程序加注释。
2.画出实验内容3的程序流程图。
实用文档实验二循环程序及子程序的设计一.实验目的:1.掌握循环程序及子程序的编写方法和技巧;2.掌握循环程序的调试方法和步骤;3.掌握主程序调用子程序时保护现场和恢复现场的基本技巧。
二.实验内容:1. 求1+2+3+4+~+~100=? 试编程实现之,要求将高八位存放至R1,低八位存放于R0;2.求1+2+3+4+~+~+100=?要求结果为BCD码数,千位和百位存放于R1,十位和个位存放于R0。
3.将在内部RAM 30H单元开始的3个8位二进制数转换为BCD码,并存放到实用文档40H开始的单元內(高位在前,低位在后)。
三.实验步骤:1.实验内容1的步骤(1)新建文件,输入能实现实验内容1的源程序并以 .ASM为扩展名存盘;(2)编译並运行该程序,检查运行结果;(3)单步运行该程序,检查运行结果。
2.实验内容2的步骤(1)新建文件,输入能实现实验内容2的源程序并以 .ASM为扩展名存盘;(2)编译並运行该程序,检查运行结果;(3)单步运行该程序,检查运行结果。
3.实验内容3的实验步骤(1)新建文件,输入能实现实验内容3的源程序并以 .ASM为扩展名存盘;(2)向内部RAM的30—32H单元分别送入F8H、7EH、48H三个8位二进制数;实用文档(3)运行程序,检查运行结果。
四.参考程序1.参考程序1ORG 0000HMOV A,#00HMOV R2,#64HMOV R1,#00HMOV R3,#01HLOOP:ADD A,R3JC NEXT1SJMP NEXT2NEXT1: INC R1NEXT2: INC R3实用文档DJNZ R2,LOOPMOV R0,AEND2.参考程序2:ORG 0000HMOV R4,#00HMOV A, #00HMOV R1, #00HMOV R2, #64H LOOP: ADD A, R1DA AMOV R3, AMOV A, R4JC NEXT1实用文档SJMP NEXT2NEXT1: ADD A, #01HDA AMOV R4, ANEXT2: MOV A, R1ADD A,#01HDA AMOV R1,AMOV A,R3DJNZ R2, LOOPMOV R0, AMOV A, R4MOV R1,AEND五.实验报告要求:实用文档1.画出实验内容1的程序流程。
2.对实验内容2的程序加注释。
3.写出实验内容3的程序清单。
附:实验内容3程序流程图主程序子程序实用文档实验三并行口输入输出一.实验目的:1.了解并行口输入/输出方式的工作原理及使用方法;2.掌握并行口输入/输出方式的编程方法;3.掌握软件延时子程序的编写方法。
二.实验内容:1. 用单片机P1口作输出,接8只发光二极管。
当输出位是“1”时,发光二极管亮;输出位是“0”时,发光二极管灭。
编写程序时按下列顺序循环点亮发光二极管:从左向右依次点亮→全灭→全亮→从右向左依次点亮→全亮→循环。
实用文档2. 用单片机P1口的P1.0~P1.3作输入,分别接开关K0~K3;P1.4~P1.7作输出,分别接发光二极管L0~L3。
开关K0为高电平时,发光二极管L0亮,K0为低电平时,发光二极管L0灭,余类同。
试编桯实现之。
三.实验步骤:1.实验内容1的步骤(1)按图3-1接线,经检查正确,方可通电;(2)新建文件,输入能实现实验內容1的源程序并以 .ASM为扩展名存盘;(3)运行程序,检查运行结果。
2.实验内容2的步骤(1)按要求接线,经检查正确,方可通电;(2)新建文件,输入能实现实验内容2旳源程序并以 .ASM为扩展名存盘;(3)运行程序,检查运行结果四.实验程序1.参考程序1:实用文档ORG 0100HMOV SP,#60H START: MOV P1,#0FFHCALL DELAYMOV P1,#00HCALL DELAYMOV R1,#01HMOV R2,#08HMOV A,R1MOV P1,ACALL DELAYMOV A,R1RL AMOV R1,ADJNZ R2实用文档SJMP START DELAY: MOV R5,#10H DELAY1: MOV R4,#0AFH DELAY2: MOV R3,#0FFHDJNZ R3,$DJNZ R4,DELAY2DJNZ R5,DELAY1RETEND2.参考程序2:ORG 0100HMOV SP,#60H START: MOV P1,#0FFHMOV A,P1实用文档ANL A,#0FHSWAP AMOV P1,ACALL DELAYSJMP START DELAY: MOV R5,#10H DELAY1: MOV R4,#0AFH DELAY2: MOV R3,#0FFHDJNZ R3,$DJNZ R4,DELAY2DJNZ R5,DELAY1RETEND五.实验报告要求:1.画出实验内容1的接线图实用文档2.对实验內容2的程序加注释附图:图3-1內容1的接线图实用文档图3-2内容1程序流程图实验四外中断一.实验目的:1.掌握单一外中断系统的接线,中断请求信号的产生及中断方式下程序的编写;2.掌握单片机区分多个外中断源的方法,运用延时的方法,探索在多个外中断源请求中断时的自然优先级。
二.实验内容:1. 由INT1引入外中断请求信号,使P1.4~P1.7所连接的发光二极管分别显示P1.0~P1.3连接的开关状态。
(“1”亮,“0”灭)2. 将两个外中断源经或非门连接后由INT0引入单片机,在两个外中断请求端连接手动开关K0和K1,由P1口的P1.0、P1.1反映各外中断请求的状态。
主程序使P1.2相联的发光二极管交替亮灭,然后分别闭合开关K0或K1,模拟单个外中断源产生的中断。
K0引起的中断,使P1.3相连的发光二极管交替亮灭10次后返回主程序;K1引起实用文档的中断,使P1.4相连的发光二极管交替亮灭10次后返回主程序;然后同时闭合开关K0、K1,使与P1.3和P1.4相连的发光二极管各交替亮灭10次后返回主程序,以模拟多个外中断同时到来时所产生的中断。
三.实验步骤:1.实验内容1按图4-1接线,设计相应的程序,运行并调试。
2.实验内容2按图4-2接线,设计相应的程序,运行并调试。
四.参考程序1.参考程序1:ORG 0000HLJMP MAINORG 0013HLJMP INTONE实用文档ORG 0100HMAIN:MOV SP,#60HMOV IE,#84HCLR IT1LOOP:MOV A,#0FFHMOV P1,ACALL DELAYMOV A,#00HMOV P1,ACALL DELAYSJMP LOOPORG 0200H INTONE:PUSH 03HPUSH 04HPUSH 05H实用文档PUSH ACCLOOP1:MOV P1,#0FH ;P1的低四位为”1”,便于输入开关的状态MOV A,P1 ;读P1片脚SWAP A ;P1低四位的状态到高四位MOV P1,A ;从P1囗输出CALL DELAYJB P3.0,LOOP1 ;要退出中断,便P3.0碰一下地POP ACCPOP 05HPOP 04HPOP 03HRETIDELAY :MOV R3,#05HDELAY1:MOV R4,#0AFHDELAY2:MOV R5,#0FFH实用文档DJNZ R5,$DJNZ R4,DELAY2DJNZ R3,DELAY1RETEND2.参考程序2ORG 0000HLJMP MAINORG 0003HLJMP INTZEROORG 0100HMAIN:MOV SP,#60HMOV IE,#81H实用文档CLR IT0LOOP::SETB P1.2CALL DELAYMOV A,#00HCLR P1.2CALL DELAYSJMP LOOPORG 0200HINTZERO:PUSH 03HPUSH 04HPUSH 05HPUSH ACCJB P1.0,NEXT0 LOOP1:JB P1.1,NEXT1SJMP NEXT2实用文档NEXT0:MOV R2,#0AHLOOP2:SETB P1.4CALL DELAYCLR P1.4CALL DELAYDJNZ R2,LOOP2SJMP LOOP1NEXT1:MOV R2,#0AHLOOP3:SETB P1.5CALL DELAYCLR P1.5CALL DELAYDJNZ R2,LOOP3 NEXT2:POP ACCPOP 05H实用文档POP 04HPOP 03HRETIDELAY :MOV R3,#05HDELAY1:MOV R4,#0AFHDELAY2: MOV R5,#0FFHDJNZ R5,$DJNZ R4,DELAY2DJNZ R3,DELAY1RETEND五.实验报告要求:记录不成功的实验现象,分析原因。