单片机实验指导书
单片机实验指导书
目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (34)实验八数码管动态显示实验 (39)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。
二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。
三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。
作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。
例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。
5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。
若实验现象有误请重复第5、6步。
六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。
单片机试验指导书
单片机试验指导书一Keil UV2集成开发环境的使用实验目的:(1)熟悉Keil集成开发环境(2)掌握Keil集成开发环境的使用方法(3)学会在Keil集成开发环境下对MCS-51单片机汇编语言程序进行编辑、编译、链接、仿真调试与运行的步骤与方法。
实验设备和器件:PC一台,操作系统为WINDOWS XP,内存256M以上,硬盘10G以上KeilUV2集成开发环境,并将该软件安装到PC上正常工作实验内容:调试求和运算程序单片机片内RAM的30H-31H地址单元重,分别存放2个数据11H和22H,请计算两数相加的和,并将运算结果存放在片内RAM的32H地址单元中。
具体要求如下:(1)在Keil集成开发环境下,查询累加器A、寄存器B、堆栈指针SP、数据地址指针寄存器DPTR、程序计数器PC、通用寄存器R0-R7以及程序状态字寄存器PSW的内容。
(2)在Keil集成开发环境中,通过在存储器的地址窗口中使用命令d:0x30,来查询单片机片内RAM中30H-31H地址单元的内容。
(3)使用单步调试的方法来执行程序。
在调试过程中,配合观察寄存器和存储器窗口,检验程序的运行结果是否正确。
检查发现正确。
(4)连续执行程序,配合观察寄存器和存储器窗口,检验运行结果是否正确。
二MCS-51单片机汇编语言编程练习[实验目的](1)熟悉单片机汇编语言指令(2)掌握单片机汇编语言顺序结构、分支结构程序的编程方法(3)进一步掌握使用Keil UV2集成开发环境的使用方法[实验设备和器件]PC一台,操作系统为WINDOWS XP,内存256M以上,硬盘10G以上KeilUV2集成开发环境,并将该软件安装到PC上正常工作[实验步骤与方法]顺序结构的汇编语言程序设计已知单片机片内RAM的50H单元中存储的数据是27H,请将此数据读入到单片机片内RAM的60H单元中,然后再从片内RAM的60H单元中,将这个数据写入到单片机片外RAM的70H单元中。
单片机实验指导书
单片机实验指导书一、实验介绍单片机是一种集成电路,能够完成各种控制和计算任务。
本实验指导书将引导您进行单片机实验,以帮助您了解单片机的基本原理和应用。
在本实验中,您将学习如何搭建实验环境、编写程序以及进行各种实验操作。
二、实验准备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文件。
单片机实验指导书
单片机实验指导书一、硬件实验系统介绍(一)电路原理实验板的主要组成有STC-89C51,电源开关、复位电路,发光二极管、数码管、键盘、模/数转换电路(ADC0809电路),数/模转换电路(DAC0832电路)、12232F液晶显示电路,温度检测模块、DS1302时钟电路,I2C总线电路(AT24C02电路),串行接口(MAX232电路、MAX485电路),步进电机调速电路等组成。
详细的电路原理图见附件(二)各模块开关控制简表二、单片机实验板使用说明(一)程序下载1、下载软件为STC-ISP V3.X,建议使用V3.5版本。
2、程序下载前,建议将所有器件的开关置于关闭状态,尤其是MAX485的开关S7,必须关闭;RS232的开关S6必须打开。
3、开始下载程序前,关闭实验板的总电源,等待下载软件提示上电后,再打开实验板电源。
(二)程序运行1、将程序涉及到的元件开关打开,原则上关闭与程序无关的元件开关。
2、各元件的电源开关均靠近本元件。
(三)注意事项由于ADC0809采用了最简化设计,使用液晶模块12232F时,须将DAC0832和ADC0809的电源开关打开,选择开关S13,S14拨向ADC0809侧,同时,程序中将P1.1和P1.2清零。
2. LED显示可采用动态扫描或串行74LS164显示,采用一种显示方式时,须将另一种方式的电源关闭,以免发生冲突。
使用动态扫描显示时,拨码开关均拨向下方与地断开,由74LS14(反向驱动)控制位选;使用串行静态显示时,拨码开关拨向上方与地接通。
3.由于P2.5作了DS1302的片选控制,在电机调速模块应使其清零三、Keil软件使用简要说明1、建立工程文件:单击“工程”菜单中的“新工程”命令。
选择路径、输入项目名称,不需要扩展名。
在Select Device for Target窗口中,选择“Atmel”中的“89C**”系列。
2、工程对象选项设定:单击“工程”菜单中的“options for Target属性”命令。
单片机实验指导书
单片机实验指导书实验一拆字程序实验一、实验目的:掌握汇编语言程序设计方法。
二、实验内容:把8000H地址的内容拆开,高位送8001H地址的低位,低位送8002H地址的低位,8001H、8002H地址的高位清0。
本程序通常把数据送显示缓冲区时使用。
三、实验器材:计算机1台。
四、实验步骤:1、按流程图编写程序,以下是通过计算机交叉汇编得到的LST文件清单,供参考。
2、文件编译连接、装载,用鼠标点击[项目/重建所有目标文件],系统自动进行编译,并弹出信息窗口,若有错误则重新修改再编译;若无错误,点击[调试/启动/停止调试]后进入调试状态。
3、设置观察窗口:(1)用鼠标点击[视图/存储器窗口],在地址栏中输入:[x:0x8000];(2)在8000H写入任意数据:在地址栏内选定任意数据,[如:0x008000:00 00 00 00……](注:初始数据均为“00”)。
右键点击一初始数据“00”,在出现的对话框中点击“修改位于X:0x008000的内存”,在新弹出的对话框:[输入字节于X:0x008000]内输入任意数据,确定即完成数据的写入。
(3)单步执行观察寄存器8000H-8002H的变化。
六、实验程序:(51ASM\A8051.asm);把指定字节的高低位拆开分别存放,多用于显示字程序ORG 0000HMOV DPTR,#8000H ;指定的字节MOVX A,@DPTRMOV B,A ;暂存SW AP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,AINC DPTRMOV A,BANL A,#0FH ;指定字节的内容屏蔽高位MOVX @DPTR,ALOOP: SJMP LOOPEND ;结束汇编实验二拼字程序实验一、实验目的:1、进一步掌握汇编语言设计。
2、熟悉软件调试方法。
二、实验内容:把8000H、8001H两个字节的低位分别送入8002H的高位和低位。
本程序一般用于把显示缓冲区数据取出拼装成一个字节。
单片机实验指导书
实验一数制转换实验一、实验目的:(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”,则说明系统上电复位过程不正常。
此时按一下红色的手动复位按钮,系统就应当正常工作了。
如果系统还是有问题,甚至,显示器什么都不显示,处于黑屏状态,则立刻关掉稳压电源,然后请实验室老师来解决问题。
单片机实验指导书
实验注意事项1.实验前先不连仿真器,给实验箱通电,若实验箱上的八段数码显示器显示字母“P”,表示实验箱无故障。
2.必须断电插拔线。
3.程序存入c:\dice51\51asm\*.c,程序名必须以英文字母开头,扩展名为.c。
4.若实验出现故障,可用以下程序单步运行(按F7键实现单步运行)验证,实验一定时/计数实验一实验目的熟悉单片机内部定时/计数器的功能;掌握定时、计数程序的初始化编制方法。
二实验设备DICE—5203 K实验开发系统,计算机三实验内容(一)定时/计数器T0延时实验已知系统时钟频率fosc=12MHZ,用定时/计数器T0延时,编程使与P1.0口相连的发光二极管每隔1s发光状态改变,使与P1.1口相连的发光二极管每隔5s发光状态改变,循环不止。
(二)定时/计数器T1计数实验已知系统时钟频率fosc=12MHZ,用定时/计数器T1计数,编程使按键每闭合5次,与P1.0口相连的发光二极管发光状态改变(即T1每记录5个脉冲,P1.0取反一次)。
四、实验步骤(一)定时/计数器T0延时实验1、连接电源线和串行口数据线;2、用插针将P1.0孔与发光二极管L1孔相连,P1.1孔与发光二极管L2孔相连;3、打开DICE—5203 K实验开发系统的电源;4、启动计算机,打开桌面软件文件夹,选择MS51仿真开发系统图标双击,进入软件编程界面;5、编制程序,调试、运行;6、观察发光二极管状态。
(二)定时/计数器T1计数实验1.连接电源线和串行口数据线;2.用插针将P1.0孔与发光二极管L1孔相连,P3.5孔与单脉冲输出孔相连;3.打开DICE—5203 K实验开发系统的电源;4.启动计算机,打开桌面软件文件夹,选择MS51仿真开发系统图标双击,进入软件编程界面;5. 编制程序,调试、运行;6.反复扳动按键开关,观察发光二极管状态。
五.思考题:1.实验(一)中,如果用T1 延时,使与P1.0口相连的发光二极管每隔2s发光状态改变,程序将如何编制?2.实验(二)中,若使按键每闭合10次,与P1.1口相连的发光二极管发光状态改变,程序将如何编制?实验二定时、中断综合实验一、实验目的熟悉单片机定时、中断的功能;掌握定时、中断程序的初始化编制方法。
单片机实验指导书
单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备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 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。
第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。
通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。
本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。
在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。
通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。
在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。
单片机实验指导书(2)
实验四数据排序实验1.实验目的:(1)学习KEIL Uv2/Uv3集成调试环境下的编辑、编译、排错、调试方法。
(2)学习修改和观察变量的方法;综合使用单步、断点调试的方法。
2.实验内容:编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单字节无符号正整数,按从小到大的次序重新排列。
3.实验器材:(1)G2010+实验箱 1 台4.程序框图:6.思考问题:编一程序把50H-5AH中内容按从大到小排列。
7.软件清单:(实验例程\实验4\ASM51\EX4.ASM)(实验例程\实验4\C51\EX4.C)实验六 P1口输入输出实验1.实验目的:(1)掌握P1口作为IO口时的使用方法。
(2)理解读引脚和读锁存器的区别。
2.实验内容:P1.3脚的状态来控制P1.2的LED亮灭。
3.实验器材:(1)G2010+实验箱 1 台(2)连线若干根4.实验原理:由8051组成的单片机系统通常情况下,P0口分时复用作为地址、数据总线,P2口提供A15-A8即高8位地址,P3口用作第二功能,只有P1口通常用作I/0口。
P1口是8位准双向口,它的每一位都可独立地定义为输入或输出,因此既可作为8位的并行I/O 口,也可作为8位的输入输出端。
当工作在输入方式时,对应位的锁存器必须先置1,才能正确地读到引脚上的信号,否则,执行读引脚指令时,若对应位的锁存器的值为0,读的结果永远为0。
每个I/0端口都有两种读入,即读锁存器和读引脚,读引脚指令一般都是以I/0端口为源操作数的指令,如MOV C,P1.3,而读锁存器指令一般为“读-修改-写”指令,如ANL P1.3,C指令,请同学们在实验中体会。
图示中,P1.2作为输出口,P1.3作为输入口。
5.接线图案:“总线插孔”框中P1.2孔连“发光二极管组”的L0孔,P1.3孔连“开关量发生器”的K0孔。
6.程序框图:7.实验步骤:(1) 编写程序实现当P1.3为低电平时,发光管高;P1.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、单片机开发板:包含单片机芯片、外围电路和接口,如STC89C52 开发板。
3、编程器:用于将编写好的程序下载到单片机中。
4、示波器:用于观察电路中的信号波形。
5、万用表:用于测量电路中的电压、电流等参数。
三、实训要求1、学生应提前预习相关的理论知识,熟悉单片机的基本结构和编程方法。
2、实训过程中,要严格遵守实验室的规章制度,注意安全,爱护实验设备。
3、认真完成每个实训项目,按时提交实训报告。
4、培养团队合作精神,积极参与小组讨论和项目开发。
四、实训内容(一)单片机基础知识1、了解单片机的发展历程、应用领域和特点。
2、熟悉单片机的内部结构,包括中央处理器(CPU)、存储器(ROM、RAM)、输入输出端口(I/O 口)、定时器/计数器、中断系统等。
3、掌握单片机的指令系统和编程方法,能够使用汇编语言或 C 语言进行简单的程序编写。
(二)单片机开发环境搭建1、安装单片机编程软件,如 Keil C51。
2、学习编程软件的使用方法,包括创建工程、编写代码、编译调试等。
3、安装并使用下载软件,将编写好的程序下载到单片机开发板中。
(三)单片机 I/O 口控制实验1、学习单片机 I/O 口的工作原理和控制方法。
2、编写程序实现对单个 I/O 口的输出控制,如点亮 LED 灯。
3、实现对多个 I/O 口的组合控制,如流水灯效果。
(四)定时器/计数器实验1、了解单片机定时器/计数器的工作原理和计数模式。
2、利用定时器/计数器实现定时功能,如控制LED 灯闪烁的频率。
3、实现计数器功能,如对外部脉冲进行计数。
单片机实验指导书(汇编)
单片机实验指导书(汇编)实验一单片机认识实验一、实验目的:1、掌握WAVE6000软件的使用2、熟悉MCS-51系列单片机的指令系统。
二、实验仪器:PC机(WAVE6000软件)三、实验内容:在PC机上使用WAVE6000软件,分别输入下面两段程序并调试执行程序1 MOV 30H,#40H MOV R0,#30HMOV A,@R0 MOV R1,AMOV DPTR,#1000H MOVX @DPTR,A程序2MOV A,60HXCH A,70H MOV 60H,A 四、实验步骤1、启动WAVE6000软件2、输入练习程序3、保存程序4、汇编源程序5、程序执行前的检查6、运行,调试程序单步法运行程序断点法运行程序连续法运行程序 8、检查运行结果五、实验结果程序1 地址运行前内容运行后内容 30H 1000H 程序2 地址运行前内容运行后内容 60H 70H 第1页实验二顺序结构程序的调试一、实验目的:1、掌握顺序结构程序设计2、掌握WAVE软件调试程序的方法.二、实验内容:编写下列程序并调试: 1、将片内RAM的70H单元的内容拆开,高4位送71H 单元低4位,低4位送72H单元的低4位,71H、72H单元高4位清零。
2、将工作寄存器R2中数据的高4位和R3中的低4位拼成一个数,并将该数存入30H单元。
三、实验程序框图结束 70H单元内容送A (A)中高低4位交换屏蔽高4位后送71H 截取R3中的低4位 70H单元内容送A 开始开始截取R2中的高4位合并数据屏蔽高4位后送72H 结束程序1流程图程序2流程图三、实验步骤:程序1①启动WAVE软件,新建一个文件,保存并取名为LX1.ASM。
②输入源程序1,正确进行机器汇编③打开窗口菜单,选择数据窗口,检查70H、7lH和72H单元中的内容,并记录在下表左半边④用全速执行命令开始执行程序⑤检查7lH和72H单元中的内容,并记录在下表的右半边 70H 执行前的单元内容 71H 72H 执行后的单元内容 71H 72H 第2页⑥修改执行前70H、7lH和72H单元中的内容,重复执行④-⑤步骤,并记录程序执行后表格中的数据。
单片机实验指导书
目录实验一P1口输入、输出实验 (2)实验二继电器控制实验 (8)实验三音频控制实验 (11)实验四程序调试 (14)实验五5LED静态串行显示实验 (16)实验六6LED动态扫描显示实验 (21)实验七查询式键盘实验 (28)实验八阵列式键盘实验 (36)实验九计数器实验 (47)实验十定时器实验 (49)实验十一外部中断实验 (54)实验一P1口输入、输出实验一、实验目的1、学习P1口的使用方法2、学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。
三、实验内容及步骤实验(一):用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。
1、使用单片机最小应用系统1模块。
关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加P1_A.ASM源程序,进行编译,直到编译无误。
4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。
发光二极管单只从右到左轮流循环点亮。
实验(二):用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。
程序读取开关状态,并在发光二极管上显示出来。
1、用导线分别连接P1.0、P1.1到两个拨断开关,P1.2、P1.3到两个发光二极管。
2、添加 P1_B.ASM源程序,编译无误后,运行程序,拨动拨断开关,观察发光二极管的亮灭情况。
向上拨为熄灭,向下拨为点亮。
四、流程图及源程序1.流程图2.源程序:(一)实验一ORG 0000HLJMP STARTORG 0030HSTART: MOV A, #0FEHMOV R2,#8OUTPUT: MOV P1,ARL AACALL DELAYDJNZ R2,OUTPUTLJMP STARTDELAY: MOV R6,#0MOV R7,#0DELAYLOOP:;延时程序DJNZ R6,DELAYLOOPDJNZ R7,DELAYLOOPRETEND(二)实验二KEYLEFT BIT P1.0 ;定义KEYRIGHT BIT P1.1LEDLEFT BIT P1.2LEDRIGHT BIT P1.3ORG 0000HLJMP STARTORG 0030HSTART: SETB KEYLEFT ;欲读先置一SETB KEYRIGHTLOOP: MOV C,KEYLEFTMOV LEDLEFT,CMOV C,KEYRIGHTMOV LEDRIGHT,CLJMP LOOPEND五、思考题(1)对于本实验延时子程序Delay: MOV R6,0MOV R7, 0DelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET如使用12MHz晶振,粗略计算此程序的执行时间为多少?六、电路图实验二继电器控制实验一、实验目的1、学习I/O端口的使用方法2、掌握继电器的控制的基本方法3、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。
单片机实验指导手册
3.生成目标代码文件
通过菜单”Source” / “Build All” , 在”Program File ”栏中添加上面编译好的目标代码文件 DZC32.HEX。若编译失败,对程序修改调试至编译成功。
2.4.POTEUS 仿真 1.加载目标代码文件
打开单片机属性窗口,在”Program File” 栏中添加上面编译好的目标代码文件 DZC32.HEX;在”Clock Frequency” 栏中输入晶振频率 12MHZ。注意:时钟发生器中的晶 振要设置频率,单片机的晶振频率也要设置。
2.仿真
单击按钮 ,启动仿真。运行片段如图 2-2 所示。开关断开,输入引脚电平为高;
开关闭合,输入引脚电平为低。 若要更明白地看到引脚的电平高、低状态,可以单击菜单 ”Systm ”/”Set Animation Option…”,弹出如图 2-5 所示对话框,选中显示引脚逻辑状态(图中有√的项) 。此时的仿 真运行片段如图 2-2 所示。
④SW-SPST:带所存的单刀单掷开关,开关的合或断可单击向下或向上的知识箭头实现。
2.放置元器件、放置电源和地线、元器件属性设置、电气检测
所有操作都是在 ISIS 中进行,其设计与实验一相似,故不详述。 图 2-1 中的元器件 RN1、RN2 是 8 电阻的排阻。其中每个电阻的阻值都设置为 200 ,
脚 g 为高电平则不亮。
图 2-2 共阳数码管引脚布局及测试
注释:此时 p2=11110000 与后 A=0000 0000 调用子程序后 A=0000 0001 P1=1100 0000 即 C0 显示数字 0
图 2-3 共阳ቤተ መጻሕፍቲ ባይዱ码管引脚布局及测试
注释:此时 p2=11110001 与后 A=0000 0001 调用子程序后 A=0000 0010 P1=1111 1001 ⑤CAP、CAP-ELEC:电容,电解电容。 ⑥CRYSTAL:晶振。 即 F9 显示数字 1
单片机实验指导书
目录第一章开发流程、硬件设定一、软件开发流程--------------------------------------------------------2二、硬件接口及开关设置-----------------------------------------------3三、系统地址分配--------------------------------------------------------4 第二章软件实验实验一数据区传送子程序--------------------------------------------5 实验二数据排序实验-------------------------------------------------6实验三查找相同数个数----------------------------------------------7实验四脉冲计数(定时/计数器实验)--------------------------8第三章硬件实验实验一P1口亮灯实验--------------------------------------------------11实验二 P3口输入,P1口输出-----------------------------------------12实验三8255 PA口控制PB口---------------------------------------13实验四8255控制交通灯-----------------------------------------------14 实验五简单I/O口扩展------------------------------------------------17实验六A/D转换实验----------------------------------------------------18 实验七D/A转换----------------------------------------------------------21 实验八8279键盘显示实验--------------------------------------------23 第四章综合性设计实验实验一步进电机控制---------------------------------------------------27实验二128*64 LCD液晶显示----------------------------------------34第一章开发流程、硬件设定一、软件开发流程对于刚刚使用keil 的用户来讲,一般按照以下流程来完成开发任务。
单片机实验指导书
前言 (3)实验一熟悉µ’nSP™ IDE环境下的汇编程序的编写 (4)【实验目的】 (4)【实验设备】 (4)【实验步骤】 (4)【程序流程图】 (5)【程序范例】 (5)【程序练习】 (5)实验二熟悉µ’nSP™ IDE环境下的C语言的编写 (6)【实验目的】 (6)【实验设备】 (6)【实验步骤】 (6)【程序范例】 (6)【程序练习】 (6)实验三使用汇编语言实现A口的输出实验 (7)【实验目的】 (7)【实验设备】 (7)【实验原理】 (7)【实验步骤】 (7)【硬件连接图】 (7)【程序练习】 (8)实验四 FIQ中断实验 (9)【实验目的】 (9)【实验设备】 (9)【实验原理】 (9)【实验步骤】 (9)【程序流程图】 (9)【程序练习】 (10)实验五 A/D转换 (11)【实验目的】 (11)【实验设备】 (11)【实验原理】 (11)【实验步骤】 (11)【硬件连接图】 (12)【程序流程图】 (12)【程序练习】 (13)实验六双通道D/A (14)【实验目的】 (14)【实验设备】 (14)【实验原理】 (14)【实验步骤】 (14)【程序流程图】 (15)【程序练习】 (15)实验七一路输入的录音 (16)【实验目的】 (16)【实验设备】 (16)【实验原理】 (16)【实验步骤】 (16)【程序练习】 (16)实验八 32K Flash 读/写 (17)【实验目的】 (19)【实验设备】 (19)【实验原理】 (19)【硬件连接图】 (19)【实验步骤】 (19)【程序练习】 (20)实验九 0.5S定时刷新数码管显示 (21)【实验目的】 (21)【实验设备】 (21)【实验原理】 (21)【硬件连接图】 (22)【实验步骤】 (22)【程序练习】 (23)前言本教材是结合《µ’nSP™系列SPCE061A单片机基础与应用技术》一书而设计实验,与课堂教学内容结合紧密。
单片机实验指导书
实验一、输入输出接口编程一、实验目的1、掌握Keil软件的基本使用。
2、掌握单片机汇编语言基本编程。
二、实验内容1、学习用Keil软件进行51单片机的软件开发;学习Keil软件的一般操作,步骤为:项目建立、程序录入、添加文件、编译生成HEX文件、仿真调试。
(见参考程序一)2、霓虹灯控制程序设计用P1口控制8个LED,按P3口输入信号的不同模式选择4种16次循环点亮方式,用软件延时实现1秒的扫描周期。
将生成的HEX文件下载到实验板上验证。
(见参考程序二)三、实验原理1、Keil软件使用练习设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H,(22H)=0A0H,(25H)=0A0H,(26H)=6FH,(27H)=76H,执行程序后,问程序完成什么功能,写出运行结果。
(见参考程序一)2、霓虹灯控制程序设计电路原理图如下,所需元件为:AT89C51、SW-SPST、LED-RED图中用单片机的P1口作输出口接8个LED ,8个LED 按共阳极连接,端口逻辑值为0点亮LED ;P3口作输入口接2个SW-SPST 开关,P3口内含上拉电阻,当开关打开时逻辑值为1,开关闭合时逻辑值为0。
本实验中要实现循环输出,最常用的方法是循环计数实现循环次数控制,对计数器值进行查表转换得出输出值,输出到P1口进行显示,灯亮表示输出为“0”,灯灭表示输出为“1”。
本实验中的延时,用软件延时方法产生,延时时间=程序总机器周期数*循环次数*机器周期。
输出表格确定发光模式,实验中定义表格如下:TAB1:DB 01H,02H,04H,08H,10H,20H,40H,80H (SW3,SW4为:00) TAB2:DB 03H,06H,0CH,18H,30H,60H,0CH,81H (SW3,SW4为:01) TAB3:DB 80H,40H,20H,10H,08H,04H,02H,01H (SW3,SW4为:10) TAB4: DB 用户自己定义(SW3,SW4为:11)输入信号使用P3口的2个位,如P3.2和P3.3,可以确定4种模式。
单片机实验指导书
目录1、keil μVision2基本操作实验2、汇编程序设计实验3、在线编程脱机运行实验4、定时/计数器的应用实验5、中断应用实验6、I2C系统总线实验(E2PROM24C02 )7、串行AD转换实验(ADC0832)8、C51 简单程序设计实验9、C51综合程序设计实验附录 S51E单片机用户板介绍实验一 KeilμVision2基本操作实验一、实验目的1、熟悉KeilμVision2 集成开发环境2、初步掌握KeilμVision2的使用方法二、KeilμVision2使用方法介绍1、KeilμVision2启动从桌面上直接双击KeilμVision2的图标来启动软件。
KeilμVision2启动后,在程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs和Books,这三个标签分别显示当前项目的文件结构、CPU寄存器和部分特殊功能寄存器的值(只有在调试的时候才出现)和所选CPU的附加说明文件,如果是第一次启动KeilμVision2,这三个标签都是空的。
2、源文件的建立使用菜单“File→New”或点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入以下汇编语言源程序,ORG 0000HMOV A,#0FEHMAIN: MOV P1, ARL ALCALL DELAYAJMP MAINDELAY: MOV R7,#255DL: MOV R6,#255DJNZ R6,$DJNZ R7,DLRETEND保存该文件,注意必须加上扩展名(汇编语言源程序一般使用asm或a51为扩展名,假如是C语言源程序,扩展名为*.c),这里假定文件保存为text1.asm,3、新建一个工程在项目开发中,不仅有一个源程序就可以了,还要为这个项目选择CPU,确定编译、汇编、连接的参数,指定调试的方式,有些项目会友多个文件组成,为了管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译(汇编)和连接等操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理实验指导书》2013年03月单片机实验是学习单片机理论的重要实践环节。
其目的在于通过试验来验证和研究单片机理论,增强感性认识, 以促进认识的深化,培养学生科学的分析能力,使学生掌握单片机试验的操作方法和基本技能;培养学生严肃认真和实事求是的科学作风,锻炼科学实验的能力。
为了培养学生独立分析问题和解决问题的能力;培养学生的动手操作能力;为了更有效的完成每项实验,要求学生在实验前必须作充分预习。
除复习与实验有关的理论,还要认真研究实验指导书,了解实验目的、内容、弄清实验原理,掌握编程步骤、调试程序的方法。
本指导书是根据数控专业实验教学大纲的要求以及我校单片机实验室的现状编写的。
前言keil51软件使用简要说明---------------------------------------------------4实验一数据传送类指令实验----------------------------6实验二算术指令实验-----------------------------------9 实验三逻辑指令实验-----------------------------------------------------11 实验四控制转移和子程序调用实验-----------------------------------13 实验五典型程序设计-----------------------------------------------------14 实验六定时/计数器及中断实验---------------------------18keil51使用简要说明一、界面介绍(1)主要窗口1.编辑窗口2.工程窗口3.命令窗口4.输出窗口5.汇编代码显示窗口(2)菜单命令1.文件菜单2.编辑菜单3.视图菜单4.工程菜单5.调试菜单6.工具菜单7.外围器件菜单二、程序输入步骤1.新建项目,并选择要仿真的单片机型号,取名保存(默认文件类型为.uv2)。
2.新建源程序文件最好先取文件名,以.asm为后缀保存,再用汇编指令输入程序,输入完再保存一次。
3.在项目中添加刚才编好的源程序,并设置单片机的工作频率及选中生成.HEX 文件的选项。
4.编译源程序若输出窗口显示“0 Error(s) ,N Warning(s)”则表示通过汇编。
若提示有错误,则进入源程序修改,再保存,再编译,直到通过。
三、调试程序调试程序可采用全速运行、单步运行、断点运行。
1.全速运行(Run):程序从头到尾运行完,只能查看最终结果。
2.单步运行(Step into):一次只执行一条指令,可查看每条指令运行后的中间结果。
3.断点运行(Breakpoints):在程序中插入断点,按“全速运行”按钮,程序执行到断点处停下。
可查程序执行一段后的中间结果。
断点运行常用在子程序和延时程序的调试。
四、观察相关单元结果1.工作寄存器和特殊功能寄存器(在工程窗口)2.存储器(在存储窗口中)在存储窗口中可显示各种存储单元的内容。
通过在地址address后的编辑框中输入“字母:地址值”,按回车。
即可显示相应地址的内容。
其中:字母C 表示程序存储器单元字母D 表示片内数据存储器单元字母X 表示片外数据存储器单元地址值必须是十六进制数,以H结束。
3.并口(P0,P1,P2,P3)和串口在“peripherals(外围器件)”菜单下。
实验一数据传送类指令实验一、实验目的1.了解汇编程序的编写过程和调试过程。
2.掌握数据传送指令的使用和寻址方式的区别。
3.掌握不同传送指令与存储器的空间分布对应关系。
二、实验内容1.内部RAM的数据传送思考题将立即数48H送入内部RAM33H单元后,将其送到外部RAM 1000H单元,然后再将其读回送入内部RAM 50H单元。
编写程序上机调试,并指出33H、50H、1000H、A、DPTR各单元内容是多少?4.从ROM中取出数据分别给A赋不同的值(A的内容在0-7范围内变化),观察A和R1的变化。
思考题1.将立即数23H送入内部RAM30H单元,将立即数45H送入内部RAM40H单元,将立即数55H送入A,将A的内容与40H单元交换,结果放到R2,利用寄存器间接寻址的方法将A的内容与内部RAM30H地址内容交换并将其存储到寄存器R3中。
编写程序,观察程序执行过程。
2.将立即数23H送入R1,将立即数45H送入P1口,将立即数55H送入A,保持A的内容不变,将立即数03H输入到A并将A的内容送到P1口,恢复A、P1的内容后,将R1的结果送到A。
编写程序,观察程序执行过程中A、P1、R1的变化。
实验二算术指令实验一、实验目的1.了解算术指令的操作。
2.掌握加减法的使用,并上机调试观察运行结果。
3.了解乘除法指令的操作。
二、实验内容1.加减法实验1)将98H与DAH相加再与C8H相加计算其和。
和的低8位保存在R1,和的高82)将2384H减00FCH求其差。
差的低8位保存在R3,差的高8位保存在R4。
实验三逻辑指令实验一、实验目的1.了解如何运用逻辑运算指令进行数据循环移位、逻辑与、或、异或运算操作。
2.掌握逻辑运算程序的编写规则,上机调试并观察运行结果。
二、实验内容实验四控制转移和子程序调用实验一、实验目的1.了解如何利用控制转移指令和子程序调用指令进行程序转移。
2.掌握利用控制转移指令、子程序调用指令编制程序的方法。
二、实验内容实验五典型程序设计一、实验目的1.了解汇编伪指令与硬指令的区别。
2.掌握常用伪指令的应用。
3.掌握顺序程序、分支程序、循环程序和子程序的编写。
4.熟悉典型程序的设计。
二、实验内容1.多个单字节数累加把BLOCK单元开始存放的10个无符号数(单字节数)进行求和,并将结果存人SUM单元中。
(不考虑和大于255)源程序:ORG 0000HLJMP MAINORG 0030HLEN EQU 10SUM EQU 21HBLOCK EQU 22HMAIN: CLR AMOV R7, #LENMOV R0, #BLOCKLOOP: ADD A,@R0INC R0DJNZ R7,LOOPMOV SUM ,ASJMP $END2.多字节加法程序例三字节无符号数加法。
设一个加数存放在内部RAM的50H,51H,52H单元,另一个加数存放在内部RAM的53H, 54H, 55H单元,相加的结果存放在内部RAM的50H,51H,52H单元,进位存放在位寻址区的00H位中。
ORG 0000HLJMP MAINORG 0030HMAIN:MOV R0,#52H;一个加数的低字节地址MOV A,@R0;ADD A,@Rl;低字节相加MOV @R0,A;存低字节相加结果DEC R0;DEC Rl;MOV A,@R0;ADDC A, @Rl;中间字节带进位相加MOV @R0,A;存中间字节相加结果DEC R0;DEC Rl;MOV A, @R0;ADDC A,@R1;高字节带进位相加MOV @R0,A;存高字节相加结果MOV 00H,C;存进位SJMP $END思考:试用循环结构实现上述要求。
3.两个无符号数的比较设内部RAM40H和41H单元中有两个无符号数,要求找出其中的大数,并将其存入40H单元,小数存入41H单元。
源程序:ORG 0000HLJMP MAINORG 0030HMAIN: MOV A,40HCLR CSUBB A, 41HJNC WAITMOV A,40HXCH A,41HMOV 40H,AWAIT: SJMP $END4.统计字符串长度程序设字符串存放在内部RAM 21H开始的单元中,以“$”作为结束标志,现求该字AJMP MAINORG 0030HMAIN: CLR A;计数器清0MOV R0,#21H;R0为地址指针指向首地址LOOP: CJNE @R0,#24H,NEXT;取数与“$”比较SJMP COMP ;找到“$”结束NEXT: INC A;找不到“$”,继续INC R0SJMP LOOPCOMP: MOV 20H,A;存结果SJMP $END5.字符串传送将内部RAM中起始地址为data1的数串传送到外部RAM中起始地址为buffer的存储区域内,直到发现‘$’字符,停止传送。
源程序:ORG 0000HLJMP MAINORG 0030HDATA1 EQU 30HBUFFER EQU 1000HMAIN: MOV R0, #DATA1MOV DPTR ,#BUFFERLOOP1: MOV A,@R0CJNE A,#24H , LOOP2SJMP OVERLOOP2: MOVX @DPTR ,AINC R0INC DPTRSJMP LOOP1OVER: SJMP $END6. 查表程序编写程序,实现Z=X2+Y2。
设X,Y,Z分别存于内部RAM的20H, 21H, 22H三个单元中。
ORG 0000HX EQU 20HY EQU 21HZ EQU 22HSTART: MOV A,X;取XACALL SQR;调用查平方表求X2MOV R1,A;X2暂存于R1中MOV A,Y;取YACALL SQR;调用查平方表求Y2ADD A,Rl;X2+Y2存于A中MOV Z, A;结果存于SJMP $SQR: MOV DPTR,# TAB;子程序MOVC A, @A+DPTR;RETTAB: DB 0,1,4,9,16DB 25,36,49,64,81END7.流水灯程序用P1口连接的8个LED模拟霓虹灯的显示方式。
编程实现按照从P1.0到P1.7的顺序,依次点亮其连接的LED。
ORG 0000HLJMP STARTORG 0030HSTART: MOV R2, #08H ;设置循环次数MOV A, #0FEH ;从P1.0→P1.7使LED逐个亮过去点亮LEDNEXT: MOV P1,AACALL DELAY;调用延时RL A ;左移一位DJNZ R2, NEXT ;次数减1,不为零,继续点亮下一个LEDSJMP START ;反复点亮DELAY: MOV R7,#200;50ms延时子程序DEL1: MOV R6,#246NOPDEL2: DJNZ R6,DEL2DJNZ R7,DEL1RETEND实验六定时/计数器及中断实验一、实验内容1.了解定时/计数器的结构,掌握定时/计数器的初始化。
2.掌握单片机中断系统的设置。
3.掌握定时/计数器一般应用。
二、实验内容1.有一包装流水线,产品每计数24次时发出一个包装控制信号。
编写程序完成这一计数任务。
源程序:ORG 0000HLJMP MAIN ;跳到主程序ORG 000BH ;T0的中断入口地址LJMP DVT0 ;转向中断服务程序ORG 0030HMAIN: MOV TMOD,#06H ;置T0作计数器用,工作于方式2MOV TH0,#0E8H ;装入计数初值MOV TL0,#0E8HSETB ET0 ;T0开中断SETB EA ;CPU开中断SETB TR0 ;启动T0开始工作SJMP $ ;等待中断ORG 0050HDVT0: SETB P1.0 ;中断服务程序NOPNOPCLR P1.0RETI ;中断返回END2.利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统的晶振频率为12MHZ。