实验三 P1口亮灯实验
《单片机原理及接口技术》课程实验大纲
《单片机原理及接口技术》课程实验大纲课程名称:《单片机原理及接口技术》实验英文名称:《MCU principles and interface technologies》experiment课程性质:专业选修课程课程编号:0510085所属系部:机电工程学院总学时:14学时预备知识:电路、数字电子技术课程在教学计划中的地位作用:本课程是机械电子工程专业的一门重要专业选修课程。
目前单片机技术开发和应用水平已成为一个国家工业化发展水平的标志之一。
单片机原理及其应用已成为从事电子技术的工程技术人员必须掌握的基础理论和基本技能之一。
通过本课程的学习使学生实践上掌握单片计算机的基本组成、工作原理及常用接口技术,建立单片机系统整体概念,使学生具备单片机应用系统软、硬件开发的初步能力。
教学方式:理论与实践相结合教学的目的与要求:通过本课程的学习,使学生掌握单片机的硬件结构、MCS-51的指令系统、MCS-51汇编语言程序设计、MCS-51的中断系统、MCS-51的定时器/计数器、MCS-51的串行口、MCS-51单片机扩展存储器的设计、MCS-51扩展I/O接口的设计、MCS-51 与键盘、显示器的接口设计、MCS-51单片机与D/A转换器和A/D转换器的接口、MCS-51的功率接口、MCS-51的串行通信技术及其扩展接口。
进一步理解MCS-51单片机的开发装置、工作原理、编程方法,学会使用开发机进行程序。
课程教材:《单片机原理及接口技术》蔡美琴主编高等教育出版社参考书目:1.《单片机程序设计基础》周航慈主编北京航天航空大学出版社2. 《单片机原理及其接口技术》胡汉才主编清华大学出版社编写日期:2012年6月制定课程内容及学时分配:发光二极管显示各相状态。
要求:掌握步进电机控制系统的硬件设计方法;熟悉步进电机驱动程序的设计与调试,提高单片机应用系统设计和调试的能力。
正确连接电路,编写程序,调试运行。
实验一P1口亮灯实验一、实验目的1.学习P1口的使用方法;2.学习延时子程序的编写。
实验三 P3.3口输入,P1口输出
P3.3用导线连至K1开关,P1.0~P1.7导线连至L1~L8,K1拨动一次,L1~L8发光二极管按16进制方式加一点亮。
3、参考程序
四、思考题
1、如果要增加或者减少亮灯时间,应该如何修改程序?
在延时过程中,再加一次循环或减少一次循环,可以增加减少亮灯时间。
2、如果要使发光二极管以左移方式点亮,应该如何修改程序?
(可附页)
【单片机原理及应用】实验报告
班级:计13本2学号:姓名:
实验三P3.3口输入,P1口输出
实验类型
综合
实验日期
实验地点
实验时间(星期节次)
指导教师
实验组成员
一、实验目的及要求:
1、掌握P3口、P1口简单使用。
二、实验仪器:
计算机ቤተ መጻሕፍቲ ባይዱ
三、实验内容、步骤及程序
1、实验内容
P3.3口输入一脉冲,P1口按16进制加一方式点亮发光二极管。
将A寄存器的初值改为100H,将INC加一指令改为减一指令,
分析初值是100H而不是FF:因为DJNZ指令是在减一之后再判断为零,才跳转。
五、实验结果及总结:(你的实验过程用了多少时间?遇到了哪些难题?你是怎么解决的?你的收获有哪些?)刚开始,程序仿真只是不出来,仔细检查程序没问题,但就是出不来效果,最后是重启仿真软件,就好了可能是软件问题。
定时器中断实验报告
实验三运用定时中断方法控制P1口亮灯实验报告一、实验目的1学习内部定时/计数器的使用2学习定时中断处理程序的编程方法二、实验预备知识1.P1口是准双向口,可以定义为输入,也可以定义为输出2.本实验中延时子程序采用指令循环来实现。
3.延时时间的计算:延时时间=机器周期×指令所需机器周期数×循环次数其中循环次数可以采用多重循环来实现三、实验内容程序如下:一、外部中断选择边沿触发方式控制灯的状态ORG 00HLJMP MAINORG 03HLJMP INTERRUPTORG 30HMAIN: SETB EX0SETB IT0SETB EAMOV A,#00HMOV P1,ASJMP $INTERRUPT: INC AMOV P1,ARETI二、用定时器定时方式控制灯的状态 ORG 0000HLJMP MAINORG 000BHLJMP DISPLAYORG 0030HMAIN:MOV IE,#82HMOV TMOD,#01HMOV P1,#01HMOV TH0,#9EHMOV TL0,#58HMOV R7,#10SETB TR0SJMP$DISPLAY:MOV TH0,#9EHMOV TL0,#58HDJNZ R7,LOOPMOV A,P1RL AMOV P1,AMOV R7,#10LOOP:RETI三、实验心得及体会对于中断的设置用到P3口的第二功能,第一个实验中,我所设置的触发方式为边沿触发,中断输入的管脚应该为P3.2即外部中断0输入,因此给外加脉冲时应该给到P3.2。
第一次因未分清触发所给管脚导致脉冲加入时无反应。
编写中断及初始化程序时,中断地址的开辟要提前在主程序之前给出,以实现执行中断时指针的转移。
做有关定时程序之前要首先弄清楚晶振的大小,以确定一个机器周期的时间,在这次试验中,试验箱所用晶振为6MHZ,一个机器周期的时间为2us,总计数时间可以达到131ms,但是无法满足0.5s的时间要求,所以用R7预置循环次数,显得尤为重要。
单片机原理与应用实验教案
《单片机原理及应用》实验教学大纲课程编号:B04611016课程类别:专业课实验学时:16学时学分:2.5适用专业:计算机科学与技术一、实验教学目的和任务本课程是计算机及应用专业一门重要的专业课。
其教学内容直接面向生产。
同时,微机向小型化、超小型化方面发展愈来愈迅猛。
单片机应用已渗透社会各个领域,特别在通信技术中的应用,大大提高了通信技术水平。
学生应具备这方面的知识与技能,为今后参加工作,打下坚实的基础。
二、实验教学基本要求本课程是一门很注重实践的课程。
以研究MCS-51系列单片机入手,掌握其硬件结构、指令系统和程序设计,以及常用接口技术和典型应用实例。
三、实验教学内容实验项目一:清零程序1、实验目的及要求要求学生掌握软件的结构和键盘的调试。
2、实验内容及学时分配(2学时)(1)了解MCS-51软件的构造(2)掌握清零程序的输入方法(3)了解起始伪指令的输入方法实验项目二:拼字和拆字程序1、实验目的及要求要求学生掌握存储器分配和汇编语言的简单应用。
2、实验内容及学时分配(2学时)(1)进一步掌握MCS-51软件的基本使用方法(2)掌握指令的寻址方式(3)掌握数据传送指令和地址内容的分配实验项目三:数据区传送子程序1、实验目的及要求要求学生掌握RAM数据存储器实际操作。
2、实验内容及学时分配(2学时)(1)掌握MCS-51逻辑运算指令和位操作指令(2)进一步掌握数据传送子程序的简单方法(3)掌握查表程序的编写实验项目四:数据排序实验1、实验目的及要求要求学生掌握汇编语言的应用和实际操作。
2、实验内容及学时分配(2学时)(1)掌握MCS51逻辑运算指令和位操作指令(2)进一步掌握简单顺序程序的编写和调试方法(3)掌握查表程序的编写实验项目五:查找相同个数1、实验目的及要求熟悉汇编语言程序,使用环移指令和加1指令。
2、实验内容及学时分配(2学时)(1)掌握赋值指令(2)掌握带进位的环移指令和加1程序的编写实验项目六:双字节无符号数的乘法实验1、实验目的及要求要求学生掌握MCS-51汇编语言设计和调试方法。
实验3---P1口亮灯实验
Next:
Delay: MOV R6, #0A0H Lo1: MOV R7, #0FFH Lo2: DJNZ R7, LO2 DJNZ R6, LO1 RET
ቤተ መጻሕፍቲ ባይዱ
三、思考 •(1)改变延时常数,使发光二极管闪亮时间改变; •(2)修改程序,使发光二极管闪亮移位方向改变。
四、实验过程记录和描述 五、实验数据和处理 六、实验心得和体会
(2)实验电路
A2区的P10—P17用8芯排线连接到D1区的LED1—LED8, 运行程序后,观察发光二极管闪亮移位情况。
(3)P1口亮灯程序
ORG 8000H MOV P1, #0FFH MOV A, #0FEH MOV P1, A LCALL Delay RL A SJMP Next
;送P1口, 灭 ;点亮L1发光二极管 ;调用延时子程序 ;左移位 ;循环 ;延时子程序
实验3---P1口亮灯实验
一、实验目的
•(1)学习P1口的使用方法; •(2)学习延时子程序的编写。
二、实验方案设计 必须有硬件设计图和 程序流程框图!
(1)实验内容
P1 口作为输出口,接八只发光二极管,编写程序, 使发光二极管循环点亮。 •(1)P1口对准双向口,每一位都可独立地定义为输出 或输入。 •(2)本实验中延时子程序采用指令循环来实现。 延时=机器周期*指令所需机器周期数*循环次数
3P0,P1口应用试验
实验三 P0,P1口应用试验1.实验目的:学习并掌握单片机开发系统操作方法,练习P0,P1口应用。
2.实验内容:(1)万利仿真器开发环境Medwin使用练习。
(2)练习单片机对端口操作的方法和延时的方法。
3.实验仪器:PC机一台,万利仿真器一套及其开发环境,清华TMC-1开放式单片机实验系统一套。
4.试验要求:(1)P0口输入,P1口输出实验P0端口接逻辑电平开关(输入设备),P1口接LED显示电路(输出设备),无条件地将逻辑电平开关输入的数据传送给LED显示电路。
程序代码:ORG 0000HMAIN: MOV P0, #0FFH ;向p0端口锁存器写,0FFH,准备输入MOV A,P0 ;从p0口输入数据MOV P1,A ;将数据传送到p1口显示SJMP MAINEND(2)流水灯实验P1口作为输出,控制LED指示灯从左到右,然后从右到左依次循环显示。
程序代码:LED1 EQU P1.0 ;第1个数码管对应的引脚LED2 EQU P1.1 ;第2个数码管对应的引脚LED3 EQU P1.2 ;第3个数码管对应的引脚LED4 EQU P1.3 ;第4个数码管对应的引脚LED5 EQU P1.4 ;第5个数码管对应的引脚LED6 EQU P1.5 ;第6个数码管对应的引脚LED7 EQU P1.6 ;第7个数码管对应的引脚LED8 EQU P1.7 ;第8个数码管对应的引脚ORG 0000H ;程序开始LJMP MAIN ;跳转到主程序ORG 0030H ;主程序从30H开始MAIN: MOV SP, #30H ;初始化堆栈LCALL REST ;调用初始化程序,进行初始化LCALL PRO_LED ;调用LED显示程序LJMP MAINREST: MOV P0, #00H ;初始化程序MOV P1, #0FFHRETPRO_LED: SETB LED8 ;LED显示程序开始, 熄灭第一个LEDCLR LED1 ;显示后一个LEDLCALL DELAY ;延时SETB LED1 ;进入第二个循环,熄灭第二个LED CLR LED2 ;显示后一个LEDLCALL DELAY ;延时SETB LED2 ;如此反复,直到所有的LED都循环过CLR LED3LCALL DELAYSETB LED3CLR LED4LCALL DELAYSETB LED4CLR LED5LCALL DELAYSETB LED5CLR LED6LCALL DELAYSETB LED6CLR LED7LCALL DELAYSETB LED7CLR LED8LCALL DELAYSETB LED1 ;开始另外一种显示方式CLR LED8LCALL DELAYSETB LED8CLR LED7LCALL DELAYSETB LED7CLR LED6LCALL DELAYSETB LED6CLR LED5LCALL DELAYSETB LED5CLR LED4LCALL DELAYSETB LED4CLR LED3LCALL DELAYSETB LED3CLR LED2LCALL DELAYSETB LED2CLR LED1LCALL DELAYRETDELAY: PUSH PSW ;保护PSW寄存器CLR PSW.3SETB PSW.4 ;重新设置寄存器组别MOV R0, #02H ;延时常数MOV R1, #0F9H ;延时常数MOV R2, #02H ;延时常数DL1: DJNZ R0, DL1 ;延时循环1MOV R0, #0F9HDL2: DJNZ R1, DL1 ;延时循环2MOV R0, #0F9HMOV R1, #0F9HDL3: DJNZ R2, DL1 ;延时循环3NOP ;修正演示精度POP PSW ;恢复PSW寄存器RETEND问题: 1 若延时功能由定时器来实现,试改写程序。
实验三流水灯实验(io口和定时器实验)
实验三流水灯实验(I/O口和定时器实验)一、实验目的1.学会单片机I/O口的使用方法和定时器的使用方法;2.掌握延时子程序的编程方法、内部中断服务子程序的编程方法;3.学会使用I/O口控制LED灯的应用程序设计。
二、实验内容1.控制单片机P1口输出,使LED1~LED8右循环轮流点亮(即右流水),间隔时间为100毫秒。
2.控制单片机P1口输出,使LED1~LED8左循环轮流点亮(即左流水),间隔时间为100毫秒。
3.使用K1开关控制上面LED灯的两种循环状态交替进行;4. 用定时器使P1口输出周期为100ms的方波,使LED闪烁。
5.使用定时器定时,使LED灯的两种循环状态自动交替,每一种状态持续1.6秒钟(选作)。
三、实验方法和步骤1.硬件电路设计使用实验仪上的E1、E5和E7模块电路,把E1区的JP1(单片机的P1口)和E5区的8针接口L1~L8(LED的驱动芯片74HC245的输入端)连接起来,P1口就可以控制LED 灯了。
当P1口上输出低电平“0”时,LED灯亮,反之,LED灯灭。
E7区的K1开关可以接单片机P3.0口,用P3.0口读取K1开关的控制信号,根据K1开关的状态(置“1”还是置“0”),来决定LED进行左流水还是右流水。
综上,画出实验电路原理图。
2.程序设计实验1和实验2程序流程图如图3-1实验3程序流程图如图3-2所示。
图3-1 实验1,2程序流程图图3-2 实验3程序流程图实验4程序流程图如图3-3,3-4所示。
实验5程序流程图如图3-5,3-6所示。
图3-5 实验5主程序流程图图3-6 定时器中断服务子程序流程图图3-4 定时器中断服务子程序流程图图3-3 实验4主程序流程图编程要点:(1)Pl,P3口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
例如:MOV P1,A; P1口做输出MOV P1,#0FFHMOV A,P1;P1口做输入SETB P3.0MOV C,P3.1;从P3.1口读入数据(2)每个端口对应着一个寄存器,例:P1→90H(P1寄存器地址);P3→B0H(P3寄存器地址);寄存器的每一位对应着一个引脚,例:B0H.0→P3.0(3)对寄存器写入“0”、“1”,对应的外部引脚则输出“低电平”、“高电平”。
单片机实验报告
单片机实验报告班级:09050541学号:0905054116姓名:王昆鹏实验1 P1口实验一、实验目的:1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
二、实验设备:CPU挂箱、8051CPU模块三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。
作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。
软件延时,如果用c编程时,通过使用keil的软件模拟,调试观察子函数(delay)延时时间。
(具体延时可以自行设定)使用汇编语言的软件延时,可以计算其指令的周期数,大概估算其软件延时。
五、实验原理图:P1口输出、输入实验六、实验步骤:执行程序:P1.0~P1.7接发光二极管L1~L8。
七、程序框图:循环点亮发光二极管(具体延时可以自行设定)八、程序代码NAME T1_1ORG 0000HLJMP STARTORG 0030HSTART: MOV A,#0FEH //将1111 1110赋给A LOOP: RL A //A循环左移MOV P1,A //把A赋给端口P1LCALL DELAY //延时0.16sJMP LOOP //循环;延时函数DELAY: MOV R1,#200DEL1: MOV R2,#200DEL2: DJNZ R2,DEL2DJNZ R1,DEL1RETEND实验2 中断口实验一、实验目的:1.学习外部中断技术的基本使用方法。
2.学习中断处理程序的编程方法。
二、实验设备:CPU挂箱、8051CPU模块三、实验内容:通过设定两个中断使能和触发方式,并编写相应的中断服务子函数,改变led灯的变化情况。
当按下KEYBOARD的按键时8个led都灭,当把k1向上拉再复位后,4个led亮,4个灭。
四、实验原理:参考《单片机原理及接口技术》第三版,北京航空航天大学出版社。
P1口转弯灯实验报告
P1口转弯灯实验一、实验目的了解P1口的使用,学习汇编语言编程方法与调试技巧。
二、实验内容P1.0开关接5V 时右转弯灯闪亮,P1.1开关接5V 时左转弯灯闪亮,P1.0、P1.1开关同时接5V 或接地时,转弯灯均不闪亮。
标志位为1表示现在有灯亮。
四、实验接线图7047五、实验步骤P1.0,P1.1分别接拨动开关JP40的某两位,P1.4~P1.7依次接LED 指示灯JP32的某四位,连续运行本程序;应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序(例如可把延时程序第一个字节改成返回指令22H ),以便观察。
六、实验程序ORG 0000HLJMP PX00ORG 0C30HPX00: MOV P1, #0FFH ;初始化PX03: MOVA,P1MOV B,AANL A,#03HCJNE A, #01H, PX01 ;满足只是P1.0为高条件吗?JB 00H, PX04 ;闪烁标志位CLRP1.4CLR P1.5 ;开右灯SETB P1.6SETB P1.7 ;关左灯MOV R2,#20HLCALL DELY ;延时SETB 00H ;置标志位LJMP PX03 ;继续查状态PX04: SETB P1.4SETBP1.5SETB P1.6 ;关灯SETB P1.7MOV R2,#20HLCALL DELY ;延时CLR 00H ;清标志位AJMP PX03 ;继续查状态PX01: CJNE A,#02H,PX02 ;满足只是P1.1为高条件吗?JB 01H, PX05 ;判标志位SETB P1.4SETB P1.5 ;开左灯CLR P1.6CLR P1.7 ;关右灯MOV R2, #20H ;延时LCALL DELYSETB 01H ;置标志位LJMP PX03 ;继续查状态PX05: SETB P1.4SETB P1.5SETB P1.6 ;关灯SETB P1.7MOV R2,#20HLCALL DELY ;延时CLR 01H ;清标志位LJMP PX03 ;继续查状态PX02: SETB P1.4SETB P1.5SETB P1.6 ;关灯SETB P1.7LJMP PX03 ;继续ORG 0213HDELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02H ;延时DEL4: DJNZ R2, DEL4POP 02HDJNZ R2, DEL3POP 02HDJNZ R2, DEL2POP 02HDJNZ R2, DELYRETEND七、实验现象与结论实验现象:P1.0开关接5V时右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮,P1.0、P1.1开关同时接5V或接地时,转弯灯均不闪亮。
实验三 P1口输入输出实验
实验三 P1口输入输出实验一、实验要求1.P1口做输入口,接八个扭子开关,以实验机上74LS273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。
2.将K1作为输入数据标志,将前后输入的两个数相加,并通过发光二极管显示出来,并保持一段时间。
3.讨论延时子程序的延时计算。
二、实验目的1.学习P1口的使用方法2.学习延时子程序的编写和使用3.进一步增强分支程序的设计能力三、实验电路及连线接线说明:P1.0~P1.7接K1~K8;PO0~PO7接DL1~DL8。
/CS接8300H四、实验说明1.P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.本实验按照要求,应该按如下步骤操作:1)将8个扭子全拨动至L(下),L1闪烁,其他7LED灭,准备输入第一个数(例如76H)2)输入数据时,先从最低位输入,然后到最高位,对应的扭子是从K8到K2。
3)确定拨动的扭子没问题后,将K1拨动到H(上),并马上拨回到L(下),表示第一个数输入完成。
4)L1灯灭,其他7LED灯显示刚刚输入的数2秒钟,然后等待输入第二个数(例如6DH)5)输入数据时,同第1)和2) 步,通过K1的上下拨动,表示第二个数输入完成,并显示该数据2秒钟。
6)同时闪烁8个发光二极管后,稳定显示前后两个数的相加结果。
请手工将K2~K8扭子全部拨动到L(下)。
7)若此时K1再次上下拨动,这回到第1) 步重复进行。
3.本实验要求必须画出程序的流程图,并根据流程图编写代码。
4.请把输入的数据和显示的结果分别记录在实验数据中。
五、实验框图六、实验代码七、实验数据八、实验小结。
电子琴实验接线表
实验五(8255方波)
无
实验六(8255PA,PB)
PA0~PA7→K1~K8,PB0~PB7→L1~L8
实验七(8255交通灯)
PB3~PB0→L1~L4,PA7~PA0→L5~L12
实验八(I/O)
0Y~Y7→K1~K8,Q0~Q7→L0~L8
一、51部分实验接线表
实验名称
接线步骤
实验一(P1口亮灯)
P1.0~P1.7→L1~L8
实验二(P1口转弯灯)
P1.0→K1,P1.1→K2
P1.4→L1,P1.5→L4,P1.6→L7,P1.7→L10
实验三(P3.3口,P1口)
P3.3→K1
P1.0~P1.7→L1~L8
实验四(工业控制)
P3.4→K1,P3.3→K2
P1.0→JIN,JZ→地,JK→L1,JB→L2
实验十九(步进电机)
P1.0~P1.3→HA~HD
实验二十(8253)
8MHZ→T,T2→CLK0,GATE0→5V,CS3→FF80H
实验二十一(直流电机)
CS5→FF80H,JX2→JX0,AOUT→DJ
实验二十二(LED)
JLPA→JX9,JLPB→JX15,JHPC→JX16,JLP1→JX10
SW3~SW5置ON,CZ11用户通信口→PC机串口
实验十七(LED点阵)
1B90H
JLPA→JX9,JLPB→JX15,JHPC→JX16,JX7→JX17,
CS2→FF80H,JX7→JX17,JQ→JHQ。
实验十八(12864LCD)
22E0H;
2FE0H
JX9→JX12,JX16→JX14
单片机交通灯实验代码
;======================P1口亮灯实验========================= ORG 0790H;----------------------------------------------------------SE18: MOV P1,#0FFH ;送P1口LO34: MOV A,#0FEH ;L1发光二极管点亮LO33: MOV P1,ALCALL SE19 ;延时RL A ;左移位SJMP LO33 ;循环;----------------------------------------------------------SE19: MOV R6,#0A0HLO36: MOV R7,#0FFHLO35: DJNZ R7,LO35DJNZ R6,LO36 ;延时RET;----------------------------------------------------------END;==================== 8255控制交通灯========================== ORG 0BB0HJOD0: MOV SP,#60HMOV DPTR,#0FFDBHMOV A,#88HMOVX @DPTR,A ;8255初始化MOV DPTR,#0FFD8HMOV A,#0B6HMOVX @DPTR,AINC DPTRMOV A,#0DHMOVX @DPTR,A ;点亮4个红灯MOV R2,#25H ;延时LCALL DEL YJOD3: MOV DPTR,#0FFD8HMOV A,#75HMOVX @DPTR,AINC DPTRMOV A,#0DHMOVX @DPTR,A ;东西绿灯亮,南北红灯亮MOV R2,#55HLCALL DEL Y ;延时MOV R7,#05H ;闪烁次数JOD1: MOV DPTR,#0FFD8HMOV A,#0F3HMOVX @DPTR,AINC DPTRMOV A,#0CHMOVX @DPTR,A ;东西黄灯亮,南北红灯亮MOV R2,#20HLCALL DEL Y ;延时MOV DPTR,#0FFD8HMOV A,#0F7HMOVX @DPTR,AINC DPTRMOV A,#0DHMOVX @DPTR,A ;南北红灯亮MOV R2,#20HLCALL DEL Y ;延时DJNZ R7,JOD1 ;闪烁次数未到继续MOV DPTR,#0FFD8HMOV A,#0AEHMOVX @DPTR,AINC DPTRMOV A,#0BHMOVX @DPTR,A ;东西红灯亮,南北绿灯亮MOV R2,#55HLCALL DEL Y ;延时MOV R7,#05H ;闪烁次数JOD2: MOV DPTR,#0FFD8HMOV A,#9EHMOVX @DPTR,AINC DPTRMOV A,#07HMOVX @DPTR,A ;东西红灯亮,南北黄灯亮MOV R2,#20HLCALL DEL Y ;延时MOV DPTR,#0FFD8HMOV A,#0BEHMOVX @DPTR,AINC DPTRMOV A,#0FHMOVX @DPTR,A ;东西红灯亮MOV R2,#20HLCALL DEL Y ;延时DJNZ R7,JOD2 ;闪烁次数未到继续LJMP JOD3 ;循环;---------------------------------------------DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02H ;延时DEL4: DJNZ R2,DEL4POP 02HDJNZ R2,DEL3POP 02HDJNZ R2,DEL2POP 02HDJNZ R2,DEL YRET;---------------------------------------------END;===================== 工业顺序控制======================== ORG 0000HLJMP PO10ORG 0013HLJMP PO16;----------------------------ORG 0190HPO10: MOV P1,#7FHORL P3,#00HPO11: JNB P3.4,PO11 ;开工吗?ORL IE,#84HORL IP,#01HMOV PSW,#00H ;初始化MOV SP,#53HPO12: MOV P1,#7EH ;第一道工序ACALL PO1BMOV P1,#7DH ;第二道工序ACALL PO1BMOV P1,#7BH ;第三道工序ACALL PO1BMOV P1,#77H ;第四道工序ACALL PO1BMOV P1,#6FH ;第五道工序ACALL PO1BMOV P1,#5FH ;第六道工序ACALL PO1BMOV P1,#0FH ;第七道工序ACALL PO1BSJMP PO12;----------------------------PO16: MOV B,R2 ;保护现场PO17: MOV P1,#7FH ;关输出MOV 20H,#0A0H ;振荡次数PO18: SETB P1.7 ;振荡ACALL PO1A ;延时CLR P1.7 ;停振ACALL PO1A ;延时DJNZ 20H,PO18 ;不为0转CLR P1.7ACALL PO1A ;停振JNB P3.3,PO17 ;故障消除吗?MOV R2,B ;恢复现场RETIPO1A: MOV R2,#06HACALL DEL Y ;延时RETPO1B: MOV R2,#30HACALL DEL Y ;延时RET;----------------------------DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02H ;延时DEL4: DJNZ R2,DEL4POP 02HDJNZ R2,DEL3POP 02HDJNZ R2,DEL2POP 02HDJNZ R2,DEL YRET;----------------------------END;=================== A/D转换实验======================== ORG 05A0HSE11: MOV SP,#53HMOV 7EH,#00HMOV 7DH,#08HMOV 7CH,#00HMOV 7BH,#09HMOV 7AH,#10HMOV 79H,#10H ;显示缓冲区初值LO18: CALL DIS ;显示MOV A,#00HMOV DPTR,#0FFE0HMOVX @DPTR,A ;0809的0通道采样CALL DIS ;SSEEMOVX A,@DPTR ;取出采样值mov dptr,#0ffe4h ;new add --> 138 Y1cpl a ;new addmovx @dptr,a ;new add --> 驱动发光二极管cpl a ;new addMOV R0,#79HCALL PTDS ;采样值送显示缓冲区SJMP LO18 ;循环;---------------------------PTDS: MOV R1,A ;拆送显示缓冲区ACALL PTDS1MOV A,R1SW AP APTDS1: ANL A,#0FHMOV @R0,AINC R0RET;---------------------------DIS: PUSH DPHPUSH DPLSETB RS1MOV R0,#7EHMOV R2,#20HMOV R3,#00HMOV DPTR,#LS0LS2: MOV A,@R0MOVC A,@A+DPTRMOV R1,#0DCHMOVX @R1,AMOV A,R2inc R1MOVX @R1,ALS1: DJNZ R3,LS1CLR CRRC AMOV R2,ADEC R0JNZ LS2movx @r0,adec r0cpl amovx @r0,aCLR RS1POP DPLPOP DPHRET;-------------------------------------LS0: DB 0C0H,0F9H,0A4H,0B0H,99H,92HDB 82H,0F8H,80H,90H,88H,83H,0C6HDB 0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH;--------------------------------------END===================== D/A输出方波=========================;注意:进行本实验前,请先装载运行D/A 0V输出(调基准电压)程序Asm51\da_0v.asm ;使D/A输出端“AOUT”输出电压为0V,再进行本实验。
跑马灯1秒间隔闪烁---运用定时中断方法控制P1口亮灯实验
实验三运用定时中断方法控制P1口亮灯实验姓名:郑旅军学号:0656061指导老师:邹慧兰成绩:一、实验目的1学习内部定时/计数器的使用2学习定时中断处理程序的编程方法二、实验内容P1口作为输出口,接发光二极管,编写相应的程序使发光二极管点亮。
发光二极管亮灭的时间间隔可以由定时中断子程序进行控制。
要求0.5S中亮一个。
三、实验预备知识1.P1口是准双向口,可以定义为输入,也可以定义为输出2.本实验中采用定时器来实现中断四、程序框图五、实验电路图P1.0--------LED0P1.1--------LED1P1.2--------LED2P1.3--------LED3P1.4--------LED4P1.5--------LED5P1.6--------LED6P1.7--------LED7六、实验步骤1.按要求编写相应的程序#include "reg51.h"#include "intrins.h"#define uchar unsigned char#define uint unsigned intuint num=4;uchar XX=0x01;void timer0() interrupt 1{n um--;TH0=0x0B;T L0=0xDC; //重新设置初值i f(num==0){XX=_crol_(XX,1); //或者是 XX=XX<<1num=4;}}void main(){T MOD=0x01; // set model oneT H0=0x0B;T L0=0xDC; //设置初值E A=1; //总中断允许E T0=1; //定时中断允许TR0=1; //定时开始f or(;;){P1=XX; //计时溢出时,退出循环,跳到中断子程序}}由于晶振是6 MHz ,所以机器周期为 s μ2,延时0.5 S,则是延时ss μ25.0=250000个机器2,所以考虑将250000分开4次循环计时,设置计数器num。
实验三P3.3口输入、P1口输出实验
实验三 4.1 P3.3口输入、P1口输出实验系别专业:电子系12级电信2班学号:3121003210姓名:李书杰指导老师:刘志群老师4.1.1 实验要求1. 复习Keil C51调试硬件的操作方法。
2. 复习单片机作为通用I/O口的注意事项。
3. 复习单片机操作I/O口的程序设计方法。
4.1.2 实验设备PC 机一台,TD-NMC+教学实验系统4.1.3 实验目的1. 熟悉单片机仿真实验软件Keil C51调试硬件的方法。
2. 了解P3、P1口作通用I/O口的使用方法。
3. 掌握延时子程序的编写和使用方法。
4. 了解单片机对简单I/O的扩展方法。
4.1.4 实验内容实验1根据TD-NMC+实验平台的单元电路,构建一个硬件系统,并编写实验程序实现如下功能:将P1口的低4位定义为输出,高4位定义为输入,数字量从P1口的高4位输入,从P1口的低4位输出控制发光二极管的亮灭。
程序如下:KEY:MOV P1,#0F0H ;令所有行为低电平KEY1:MOV R7,#0FFH ;设置计数常数DJNZ R7,KEY1 ;延时MOV A, P1 ;读取P1口的列值ANL A,#0F0H ;判别有键值按下吗?CPL A ;求反后,有高电平就有键按下JZ EKEY ;无键按下时退出LCALL DEL20 ms ;延时20 ms去抖动SKEY:MOV A,#00 ;下面进行行扫描,1行1行扫MOV R0,A ;R0作为行计数器,开始为0MOV R1,A ;R1作为列计数器,开始为0MOV R3 #0FEH ;R3暂存行扫描字,低4位为行扫描字SKEY2:MOV A,R3MOV P1,A ;输出行扫描字,高4位全1NOPNOPNOPMOV A,P1 ;读列值MOV R1,A ;暂存列值ANL A,#0F0H ;取列值CPL A ;高电平则有键闭合S123:JNZ SKEY3 ;有键按下转SKEY3INC R0 ;行计数器加1SETB C ;准备将行扫描左移1位,;形成下一行扫描字,C=1保证输出行扫描字中高4位全为1,;为列输入作准备,低4位中只有1位为0MOV A,R3 ;R3带进位C左移1位RLC AMOV R3,A ;形成下一行扫描字→R3MOV A,R0CJNE A,#04H,SKEY1 ;最后一行扫(4次)完了吗?EKEY:RET;列号译码SKEY3:MOV A,R1JNB ACC.4,SKEY5JNB ACC.5,SKEY6JNB ACC.6,SKEY7JNB ACC.7,SKEY8AJMP EKEYSKEY5:MOV A,#00HMOV R2,A ;存0列号AJMP DKEYSKEY6:MOV A,#01HMOV R2,A ;存1列号AJMP DKEYSKEY7:MOV A,#02HMOV R2,A ;存2列号AJMP DKEYSKEY8:MOV A,#03HMOV R2,A ;存3列号AJMP DKEY;键位置译码DKEY:MOV A,R0 ;取行号ACALL DECODEAJMP EKEY;键值(键号)译码DECODE:MOV A,R0 ;取行号送AMOV B,#04H ;每一行按键个数MUL AB ;行号×按键数ADD A,R2 ;行号×按键数+列号=键值RET实验2根据TD-NMC+实验平台的单元电路,构建一个硬件系统,并编写实验程序实现如下功能:将P3.3口作状态输入口(接一个逻辑开关,即拨码开关),P1口做输入口(接八只发光二极管D0~D7)。
重庆交通大学单片机实验报告
实验四 数码管显示实验
一、 实验目的 1、掌握单片机数码管显示原理。 2、编程实现数码管的动态、静态显示。
二、实验器材 PC 机一台 单片机开发板一套
三、实验内容
图 4-1 实验原理图
任务一:查看开发板上电路图,6 个数码管同时循环显示 0-9 数字,
时间间隔 0.2 秒。(静态显示)
实验代码:
#include<reg52.h> //包含文件 #define uint unsigned int #define uchar unsigned char sbit dula=P2^6;
任务一:在 P1.0 端口上接一个发光二极管 D1 实验代码:
#include <reg52.H> sbit Led1=P1^0; void main(void) { while(1) { Led1=0; } }
9 / 35
实验结果:
图 3-2 仿真结果
图 3-3 实验结果
任务二:在 P1.0 端口上接一个发光二极管 D1,使 D1 在不停地一亮
//宏定义位 P1.5
sbit led3 = P1^2;
//宏定义位 P1.2
sbit key3 = P1^6;
//宏定义位 P1.6
sbit led4 = P1^3;
//宏定义位 P1.3
sbit key4 = P1^7;
//宏定义位 P1.7
void main(void)
//主函数
{
while(1)
4.实验结果:
图 2-8 仿真结果 7 / 35
图 2-9 实验结果 8 / 35
实验三、P1 口亮灯实验
一、实验目的 通过实验了解单片机最小系统;掌握 P1 口作为输入输出方式使
实验二 P1口亮灯实验
修改A的初值为0,将循环条件该为A即可。将RL左移指令改为自增指令。
五、实验结果及总结:(你的实验过程用了多少时间?遇到了哪些难题?你是怎么解决的?你的收获有哪些?)
亮灯实验,遇到在源程序输入时,出现了一些字符状态打错的现象,在今后的试验中一定要注意,该问题。
2、学习P1口的使用方法;
3、学习延时子程序的编写。
二、实验仪器:
计算机
三、实验内容、步骤及程序
1、实验内容
P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2、实验步骤
P1.0-P1.7用导线连至L1-L8,运行程序后,观察发光二极管闪亮移位情况。
3、参序?
实验二p1口亮灯实验实验类型验证实验日期920实验地点2s实验时间星期指导教师实验组成员一实验目的及要求
【单片机原理及应用】实验报告
班级:计13本2学号:姓名:
实验二P1口亮灯实验
实验类型
验证
实验日期
9,20
实验地点
2S—
实验时间(星期节次)
指导教师
实验组成员
一、实验目的及要求:
1、掌握单片机实验系统的硬件组成及仿真软件的编程、汇编、仿真、修改、下载调试的整个过程;
(A=09H)循环条件改为00H自增改为自减,去掉SJMP的跳转指令,就可以实现9到1
自减倒计时功能。
具体代码:
(可附页)
任务3键控灯亮实验报告模板
“任务三键控灯亮”实验报告
专业班级:姓名:
学号:实验日期:
一、实验目的
1. 了解MCS-51单片机4个并行I/O口的结构、功能和使用;
2. 掌握C51选择结构程序的设计。
二、实验内容
1. 利用开关控制LED的点亮与熄灭:当开关拨到1时,LED点亮;开关拨到0时,LED熄灭。
2. 利用开关控制LED的闪烁与点亮:当开关拨到1时,LED闪烁;当开关拨到0时,LED点亮。
3. 利用开关控制LED的闪烁与流水:当开关拨到1时,LED流水;当开关拨到0时,LED闪烁。
硬件连接:
外设单片机引脚
开关K0 P2.0
LED P1
三、实验结果
1. 画出单片机与开关、LED的连接原理图(请附上自己画的Proteus图的截图)。
2. 开关控制LED点亮与熄灭的程序(请附上C语言源程序的截图,并说明实验结果)。
3. 开关控制LED闪烁与点亮的程序(请附上C语言源程序的截图,并说明实验结果)。
4. 利用开关控制8个LED闪烁与流水的切换程序(请附上C语言源程序的截图,并说明实验结果)。
四、实验思考题
1. 若用单片机分别驱动继电器、蜂鸣器,电路如何设计?请查找资料,画出相应的电路原理图,并说明电路工作原理。
2. 单片机的准双向口和双向口的区别是什么?P0~P3口分别是准双向口还是双向口?
五、实验总结
请写一下实验心得体会,以及调试过程中遇到的问题,分析原因,如何解决?
1。
控制P1口的8只LED灯每0.5秒闪亮一次
单片机课程设计论文题目:控制P1口的8只LED灯每0.5秒闪亮一次系部电子信息工程学院专业通信工程学号姓名指导教师程亮亮2015年6月25日摘要现当今,单片机的应用无处不在。
利用单片机控制灯具的实例也不胜枚举,可控制灯具的芯片也相当之多,而利用单片机控制灯具,达到人们预想效果的方法最为广泛。
它有功能多、价格优、外部电路简单的特点,深受单片机爱好者及灯具控制制造商的青昧,用80C51 单片机及少数外部电路控制LED灯光,使LED灯产生明暗效果,并在灯光达到最亮与最暗时伴随响亮的告警音。
通过硬件电路的制作以及软件程序的编制,使灯光的亮度与告警音配合得当。
LED又称为发光二极管,是一种新型光源,具有高效节能、绿色环保、使用寿命长等其他光源无法比拟的优点。
作为绿色照明光源产品,国家绿色照明推广使用的产品,代表着未来照明技术的发展方向。
本文介绍了以STC89C52为控制核心,利用PWM调光技术,通过调整PWM的周期、PWM的占空比从而控制电流,进而达到对LED进行光度亮暗的控制调节的效果,实现对LED灯的PWM调光控制。
关键词:单片机;LED灯;软件程序AbstractNowadays, the application of single chip microcomputer. SCM is used to control the lamps and lanterns of examples are numerous, control the lamps and lanterns of chip is quite much, and using single chip computer control lamps and lanterns, achieve expected effect of the method is the most widely used. It has multi functions, excellent prices, the characteristics of the external circuit is simple, by the Qing Mei single-chip lovers and lamp control manufacturers, with 80C51 microcontroller and a few external circuit to control the LED light, LED lamp has the effect of light and shade, and the light to the brightest and darkest with loud alarm sound. Through the production of the hardware circuit and software program, the brightness of the lighting and sound alarm.LED is also known as light-emitting diode, is a new type of light source, with high efficiency, energy saving, environmental protection, long service life and other light source can not match the advantages. As a green light source products, national green lighting to promote the use of products, representing the development direction of future lighting technology. STC89C52 as control core, using PWM dimming technology, by adjusting the PWM cycle, PWM accounted for empty than to control electric current, thus achieving the photometric light and dark control and regulation of the effect of the LED, LED lamp dimming with PWM control is introduced in this paper.Key words: single chip microcomputer; LED; software program目录摘要 (Ⅱ)Abstract (Ⅲ)目录 (Ⅳ)前言 (1)1:制P1口8只LED灯每0.5秒闪亮一次原理图 (2)1.1原理图 (2)1.2原理图器件 (2)1.3原理图参数设置说明 (3)1.4 PCB板图 (4)2:制P1口8只LED灯每0.5秒闪亮一次程序 (5)2.1 程序 (5)2.2 程序原理详细介绍 (5)3:件流程图 (7)3.1流程图的优点 (7)3.2流程图采用的符号 (7)3.3软件流程图制作软件 (7)3.4流程图 (7)4:软件仿真 (9)4.1 Proteus仿真原理图 (9)参考文献 (11)前言:单片机技术飞速发展,单片机的应用已经渗透到了国民经济的各个领域,处处影响着人们的生活,它的出现给现代工业测控领域带来了一次新的技术革命。
单片机P1口输入输出实验
单片机P1口输入输出实 验
单片机可靠的复位是保证单片机正常运行的关键因素。 因此,在设计复位电路时,通常要使RST引脚保持10ms以 上的高电平。当RST从高电平变为低电平之后,单片机就从 0000H地址开始执行程序。本电路是上电自动复位。
将8个LED接在单片机P1端口的P1.0-P1.7引脚上,注意 LED有长短两个引脚,分别表示正负极,其中较短的负极接 单片机,较长的为正极,通过限流电阻R与Vcc相连。
单片机P1口输入输出实 验
单片机端口是集数据输入缓冲、数据输出驱动及 锁存等多项功能一体I/O的电路,特别是把握它准 双向、多功能的特点。单片机4个并行端口是P0、 P1、P2、P3。本实验只讨论P1端口。
1、实验目的
通过实验了解P1口作为输入输出方式使用 时,CPU对P1口操作方式。
•1
单片机P1口输入输出实 2、验实验要求(1)、2)为必做,3)为选做)
•11
单片机P1口输入输出实验
图3 P1端口的一位结构
•12
单片机P1口输入输出实验
5、程序设计
P1口输出控制程序的设计主要包括控制输出程序设计与延时程序设计。 (1)输出控制:当P1.5端口输出低电平,即P1.5=0,这时LED亮,反 之,LED灭,可以使用P1.5=0指令使P1.5端口输出低电平,同样利用指 令使P1.5端口输出高电平。
灭;
状态3:8个LED发光二极管
全灭后,从左右两边开始同时点亮LED发光二极管,全亮
后,8个LED发光二极管再明暗一起闪烁2次 ?
•3
单片机P1口输入输出实 验
3、实验设备与仪器 单片机应用与仿真开发实验台,PC机,
E6000/L仿真器+POD-51仿真头、 Wave软硬件仿真软件。
MCS-51实验指导书
单片机仿真实验系统MCS-51实验指导书南昌大学本实验指导是为适应单片机原理与应用方面的课程需做大量软硬件实验的需要而编写的,供学生编程用。
完成本实验指导中的实验,可使学生基本掌握MCS-51单片机的结构原理、接口技术、程序设计技巧。
实验指导书中详细叙述了各实验的目的、内容,列出了接线图、程序框图和实验步骤。
单片机实验注意事项:1:主CPU为8032,需要扩充一片6264作为数据区,连接6264的读写信号到CPU的读写信号,连接CS1到A15;连接数据线,连接地址高低线;2:实验仪上的波段开关必须选择9600波特率,和51系统;3:接线和拔线时必须断电, PC微机必须与本实验系统保持联机状态,即软件界面右上角有编译进度条,确定连机状态才可调试程序;4:通过RS232通信接口,利用上位机实现用户程序的编辑、编译和调试运行。
在软件的设置栏内,点击仿真模式,选择系统、系统;注意:上位机的存盘文件名只能用英文字母和数字组合,长度不能超过8位且存盘路径必须在默认的C 盘DAIS目录下;5:系统接口实验电路为单元电路方式,数据总线以8芯扁平线形式引出,硬件学生连线为电路图上粗实线。
部分机器硬件介绍可参考微机原理实验指导书。
目录软件实验部分:实验一清零程序实验二拆字程序实验三拼字程序实验四数据区传送子程序实验五数据排序实验实验六查找相同数个数实验七无符号双字节快速乘法子程序实验八多分支程序实验九脉冲计数(定时/计数器实验)实验十电脑时钟(定时器、中断综合实验)硬件实验部分:实验一 P1口亮灯实验实验二 P1口转弯灯实验实验三 P3.3口输入,P1口输出实验四工业顺序控制实验五继电器控制实验六 8255控制交通灯实验七 LED16×16点阵显示实验实验八串并转换实验实验九 A/D转换实验实验十 D/A转换实验十一电子音响实验十二步进电机控制实验十三 8032串行口应用实验㈠——双机通信实验十四小直流电机调速实验软件实验部分本节共编了十个软件实验,通过这些实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三、P1口亮灯实验
一、实验目的:
a)掌握keil及proteus的联合仿真方法
b)掌握并口的操作方法
c)掌握延时程序的编写
二、实验内容:
P1口做输出口,接八只发光二极管(低电平时发光),P0口接七段数码管,编
写程序,使发光二极管循环点亮。
请根据系统电路图,编写相应的程序并给予适
当的注释。
(一)实验要求:
z基本要求:
a)每个二极管每次点亮持续的时间约为一秒钟,假设使用的系统时钟频率为
12MHZ;
b)其中时间控制可以利用延时程序实现,也可以利用定时器实现;
c)正确连接电路,编写程序,调试运行,使发光二极管能够循环点亮;
d)通过Proteus7软件观察实验结果。
z提高要求:能够通过按键控制彩灯循环的模式。
(二)实验基本步骤:
1.打开Keil,新建工程:Project/New Project,输入工程名,并保存
2.选项选择器件:Atmel 的89C51
3.新建程序文本,并另存为该文件为汇编文件格式: (1)“File/New”,(2) File/Save
As/键入欲使用的文件名及后缀名,即“文件名.asm”。
再单击“保存”
4.添加该文件该工程:回到编辑界面后,单击“Target 1”前面的“+”号,然后
在“Source Group 1”上单击右键,单击“Add File to Group ‘Source Group 1’”
选择刚才新建的汇编文件。
5.设置工程该的options选项:projec / options for project,(1)output 选项卡中Create
HEX File 前打勾;(2)Debug 选项卡选择use“Proteus VSM simulator”。
6.用proteus的ISIS打开电路图P1.DSN
7.将proteus 里DEBUG /use remote debug monitor打勾
8.在keil的汇编文件中输入程序代码,并编译,调试。
(1)写完代码后单击“Project”
菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),编译成
功后(0个errors),(每次修改程序后都要重新编译下,才能生效)。
(2)再单击
“Debug”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷
键Ctrl+F5),点击RUN进行运行。
9.观察运行结果:在proteus中点击运行按键,观测二极管是否循环点亮。
基本要求的参考代码
ORG 0000H
MAIN
LJMP
ORG
0030H
MAIN: MOV A, #01H
LP: MOV P1,A ; 点亮LED
LCALL DELAY; 延时
RL A;否则A左移,下一个灯闪烁
SJMP LP;循环不止
Delay: MOV R5,#0FH;;延时子程序DELAY1: MOV R3, #0FFH
DEL2: MOV R4,#0FFH
DJNZ R4, $
DJNZ R3, DEL2
DJNZ R5,DELAY1
RET
END。