单片机跑马灯实验

时间:2024.5.2

实验一、输入输出实验

实验目的:

1、体验单片机的程序编写和运行过程

2、掌握汇编语言的设计编译和运行

实验内容:

用P0端口作输入,P1端口做输出。程序循环从P0端口读入数据,从P1端口输出。输出用LED灯显示。

实验步骤和方法:

1、      搭电路。输入端口的6个口接开关接口,输出6个接口接LED灯。

2、      编写程序

3、      调试程序

实验要求:

1、先用proteus软件搭建电路,编写程序作仿真。

2、在软件里验证好程序再上实验平台验证


I/O实验程序:

        ORG  0000H

MAIN:  MOV  P0,#0FFH

LOOP:  MOV  A,P0    

        MOV  P1,A  

        LJMP  LOOP 

END


实验二、跑马灯

实验目的:

1、掌握单片机的输出

2、掌握子程序的调用方法

3、掌握定时的设置方法

实验内容:

8个LED灯轮流点亮,点亮间隔为1秒。

定时方法采用子程序调用,延时子程序已经编写好。

实验步骤和方法:

1、搭电路。P1作输出端口,接LED灯。

2、编写程序

3、调试程序

实验要求:

1、先用proteus软件搭建电路,编写程序作仿真。

2、在软件里验证好程序再上实验平台验证。

附:延时子程序

DELAY:       MOV     R3,#20         ;延时0.2s

D1: MOV     R4,#20

D2: MOV     R5,#248

       DJNZ    R5,$

       DJNZ    R4,D2

       DJNZ    R3,D1

       RET      


跑马灯 延时子程序

       ORG   00H

        JMP   MAIN

       ORG   30H

MAIN:

       MOV   A,#0FFH

        CLR   C

       MOV   R2,#08H     ;循环八次

LOOP: 

       RLC   A           ;带进位左移

       MOV   P2,A

       MOV   R7,#05H

LOOP1:

      CALL   DELAY

      DJNZ   R7,LOOP1

      DJNZ   R2,LOOP      ;反复循环

       JMP   MAIN

DELAY:                    ;延时0.2s子程序

      MOV   R3,#20  

D1:   MOV   R4,#20

D2:   MOV   R5,#248

     DJNZ   R5,$

     DJNZ   R4,D2

     DJNZ   R3,D1

      RET

END
          实验三、跑马灯

实验目的:

1、掌握单片机的输出

2、掌握定时器中断和查询的使用方法

实验内容:

8个LED灯轮流点亮,点亮间隔为1秒。

定时方法采用8051定时器,分别使用查询和中断编写两个程序。

实验步骤和方法:

1、搭电路。P1作输出端口,接LED灯。

2、编写程序

3、调试程序

实验要求:

1、先用proteus软件搭建电路,编写程序作仿真。

2、在软件里验证好程序再上实验平台验证。

下面的亮灯顺序12 …… 7812 ……

跑马灯 中断程序

    ORG  0000H

    LJMP  MAIN

    ORG  000BH

    LJMP  T0_INT

    ORG  0050H

MAIN:

    MOV  TMOD, #01       ;令T0定时方式1 

    MOV  TH0, #3CH

    MOV  TL0, #0B0H      ;50ms@12MHz

    SETB  TR0             ;启动T0

    MOV  IE,  #82H       ;允许中断

    MOV  R7,  #20

    MOV  A,   #7FH

    MOV  P2,  A

M_LOOP:                  ;主程序, 空循环

    SJMP  M_LOOP

T0_INT:                  ;50ms执行一次

    MOV  TL0, #0B0H

    MOV  TH0, #3CH

   DJNZ  R7, T0_END      ;中断20次?

   MOV  R7,  #20        ;才到1s

     RR  A

   MOV  P2,  A

T0_END:

   RETI

END

跑马灯 查询程序

    ORG  0000H

    LJMP  MAIN

ORG  0050H

MAIN:

    MOV  TMOD, #01       ;令T0定时方式1    

    MOV  TH0, #3CH

    MOV  TL0, #0B0H      ;50ms@12MHz

    SETB  TR0             ;启动T0 

    MOV  R7,  #20

    MOV  A,   #7FH

    MOV  P2,  A

M_LOOP:

    JNB  TF0, M_LOOP     ;T0没有溢出,就在此循环不止 

    CLR  TF0

   MOV  TL0, #0B0H

   MOV  TH0, #3CH

   DJNZ  R7, M_LOOP      ;溢出20次?

   MOV  R7,  #20        ;才到1s

     RR   A

   MOV  P2,  A

   SJMP  M_LOOP

END

下面的亮灯顺序12 …… 787 …… 2 12 ……

    ORG  0000H

   LJMP  MAIN

    ORG  000BH

   LJMP  T0_INT

    ORG  0050H

MAIN:

    MOV  TMOD, #01        

    MOV  TH0, #3CH

    MOV  TL0, #0B0H     

   SETB  TR0             

    MOV  IE,  #82H      

    MOV  R7,  #20

    MOV  R2,  #07H

    MOV  R0,  #00H

    MOV  A,   #0FEH

    MOV  P2,  A

    SJMP  $

T0_INT:              

    MOV  TL0, #0B0H

    MOV  TH0, #3CH

   DJNZ  R7, T0_END     

    MOV  R7,  #20

   CJNE  R0,  #0, LOOP

     RL  A

    MOV  P2,  A

   DJNZ  R2,  T0_END

    MOV  R2,  #07H

    MOV  R0,  #01H

   AJMP  T0_END

LOOP:

     RR  A

    MOV  P2,  A

   DJNZ  R2,  T0_END

    MOV  R2,  #07H

    MOV  R0,  #00H

T0_END:

   RETI

END

    ORG  0000H

   LJMP  MAIN

    ORG  0050H

MAIN:

    MOV  TMOD, #01H       

    MOV  TH0, #3CH

    MOV  TL0, #0B0H      

   SETB  TR0              

    MOV  R7,  #20

    MOV  R2,  #07H

    MOV  R0,  #00H   

    MOV  A,   #0FEH

    MOV  P2,  A

M_LOOP:

    JNB  TF0, M_LOOP      

    CLR  TF0

    MOV  TL0, #0B0H

    MOV  TH0, #3CH

   DJNZ  R7, M_LOOP      

    MOV  R7,  #20

   CJNE  R0,  #00H,LOOP

     RL  A

    MOV  P2,  A

   DJNZ  R2,  M_LOOP

    MOV  R2,  #07H

    MOV  R0,  #01H

   SJMP  M_LOOP

LOOP:          

    RR   A

    MOV  P2,  A

   DJNZ  R2,  M_LOOP

    MOV  R2,  #07H

    MOV  R0,  #00H

   SJMP  M_LOOP

END


附录一、实验报告封面与格式

目录

实验一:xxxxxxxxxxxxxxxxxxxxxxxxx

实验二:xxxxxxxxxxxxxxxxxxxxxxxxx

每次实验包含如下内容

一、            实验目的和要求

1、xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

2、xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

………………………………………………

二、            实验内容描述

………………………………………………

三、            程序文档说明与程序源代码

四、            实验结果


第二篇:(原创)51单片机C语言程序设计--速学教程实例(入门篇)之流水灯(跑马灯)


/******************************************************************//*名称:流水灯(跑马灯)演示程序*//*作者:苏涛*//*时间:2011-01-11*//*单位:安徽建筑工业学院电子与信息工程学院*//*07级电子信息工程专业二班*//******************************************************************/#include<reg52.h>//头文件调用,写程序时都要加上

#include<intrins.h>//cror以及crol函数被此头文件包含,需要加上#defineuintunsignedint//宏定义,为了后面定义变量书写简便#defineucharunsignedchar

/******************************************************************//*名称:延时函数*//*功能:C语言中常用的for循环延时方法*//*延时长短可以通过变量初值来改变*//******************************************************************/voiddelay(void)

{

ucharm,n,s;

for(m=10;m>0;m--)

for(n=20;n>0;n--)

for(s=248;s>0;s--);

}

/******************************************************************//*名称:主函数*//*功能:利用循环左移函数以及循环右移函数*//*对P1端口进行操作,低电平灯亮*//******************************************************************/voidmain(void)

{

uchari,mm;

while(1)

{

mm=0xfe;

P1=mm;

delay();

for(i=0;i<3;i++)

{mm=_crol_(mm,1);P1=mm;delay();}

for(i=0;i<3;i++)

{mm=_cror_(mm,1);P1=mm;delay();}

for(i=0;i<4;i++)

{mm=_cror_(mm,1);P1=mm;delay();}

for(i=0;i<4;i++)

{mm=_crol_(mm,1);P1=mm;delay();}for(i=0;i<15;i++)

{mm=_crol_(mm,1);P1=mm;delay();}for(i=0;i<15;i++)

{mm=_cror_(mm,1);P1=mm;delay();}for(i=0;i<8;i++)

{mm=_crol_(mm,2);P1=mm;delay();}for(i=0;i<8;i++)

{mm=_cror_(mm,2);P1=mm;delay();}P1=0x00;

delay();

P1=0xff;

delay();

P1=0x00;

delay();

P1=0xff;

delay();

}

}

更多相关推荐:
单片机跑马灯实训报告

目录一了解跑马灯2二AT89C52单片机3三识别与检测元器件4四电路设计41单片机最小应用系统4364彩灯仿真图75彩灯布局图8五焊接电路8六程序流程9七跑马灯程序10八下载调试程序10九实训总结11十微控制器...

单片机跑马灯实验报告

20##年中职骨干教师国家级培训单片机焊接与调试实验报告学员姓名:专业:电子电器应用与维修单位:山西省临猗县第一职业中学时间:20##年7月23日实验一熟悉最小单片机组装及keil的使用实验题目:用P1口的P1…

单片机跑马灯(流水灯)控制实验报告

单片机实验报告姓名:学号:一、实验实现功能:1:计数器功能2:流水灯二、具体操作:1、计数器功能数码管的动态显示。每按一次K2键计数器加1通过数码管显示出来,计数器可以实现从0计数到9999。2、流水灯当在计数…

单片机实验报告

一实验目的1熟练单片机的结构组成及原理2软硬兼施采用硬件电路的焊接搭建和软件的设计调试下载亲自动手对硬件系统加深了解的同时软件编程也能得心应手3了解如何从硬件和软件上分析问题排除故障二实验内容MCS51MCS5...

单片机跑马灯实习报告

毕业实习报告班级学号姓名指导老师一实习说明实习时间20xx年2月20日至20xx年3月31日实习地点太原理工大学阳泉学院实习性质毕业实习二实习过程1了解过程在生活和生产的各领域中凡是有自动控制要求的地方都会有单...

嵌入式系统实验报告-跑马灯

嵌入式系统基础实验报告

单片机实验报告(BUPT)

实验课程名称自动控制综合实验2》姓名学院自动化学院专业班级学号、班内序号指导教师20##年月单片机部分一、仿真软件的使用以及跑马灯的设计1.实验目的:1)掌握仿真软件的使用方法。2)掌握MCS-51单片机的P0…

单片机课程设计报告-跑马灯

武汉纺织大学单片机课程设计报告设计课题跑马灯指导教师刘丰姓名颜珊班级应电单片机课程设计报告第1页共10页曹坤092一设计任务利用单片机制作让LED灯依次闪烁时间间隔为05S二次后时间加快为02S并循环闪烁的跑马...

简易倒计时跑马灯实验报告

简易倒计时跑马灯的设计与制作报告专业班级09电子信息工程2班学号姓名指导教师占华林20xx年12月26日倒计时简易跑马灯一实验目的为了让大家掌握所学的知识为了丰富大家的课余生活提高学生实践动手能力通过实用性强的...

单片机原理实验报告

单片机原理实验报告实验一:仿真软件的使用以及跑马灯的设计实验目的1.掌握仿真软件的使用方法2.掌握MCS-51单片机的P0、P1、P2口的使用方法3.掌握实现发光二极管的移动、闪烁程序的编写方法实验仪器1、计算…

单片机实验报告

HefeiUniversity单片机原理及接口技术报告课题名称单片机原理及接口技术姓名学号指导教师储忠老师完成时间20xx531目录实验一构建单片机最小系统和实验环境熟悉1实验二跑马灯实验及74HC138译码器...

单片机应用技术课程实验报告

摘要单片机应用技术课程为一门理论与实践相结合的课程本课程安排的实验旨在培养学生软硬件开发能力用编程语言及硬件设备实现串并行通讯计数定时ADDA等硬件接口的功能进一步加深对常用硬件芯片的了解和应用以及学习用单片机...

单片机跑马灯实验报告(27篇)