0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用单片机控制LED的源代码详细说明

Wildesbeast 来源:单片机教程网 作者:单片机教程网 2020-06-13 11:13 次阅读

1.实验任务

做单一灯的左移右移,硬件电路如图4.4.1所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。

系统板上硬件连线

把“单片机系统”区域中的P1.0-P1.7用8芯排线连接到“八路发光二极管指示模块”区域中的L1-L8端口上,要求:P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。

4.程序设计内容

我们可以运用输出端口指令MOVP1,A或MOVP1,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。

汇编源程序

ORG 0

START: MOV R2,#8

MOV A,#0FEH

SETB C

LOOP: MOV P1,A

LCALL DELAY

RLC A

DJNZ R2,LOOP

MOV R2,#8

LOOP1: MOV P1,A

LCALL DELAY

RRC A

DJNZ R2,LOOP1

LJMP START

DELAY: MOV R5,#20 ;

D1: MOV R6,#20

D2: MOV R7,#248

DJNZ R7,$

DJNZ R6,D2

DJNZ R5,D1

RET

END

7.C语言源程序

#include

unsigned char i;

unsigned char temp;

unsigned char a,b;

void delay(void)

{

unsigned char m,n,s;

for(m=20;m》0;m--)

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

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

}

void main(void)

{

while(1)

{

temp=0xfe;

P1=temp;

delay();

for(i=1;i《8;i++)

{

a=temp<<i;

b=temp》》(8-i);

P1=a|b;

delay();

}

for(i=1;i《8;i++)

{

a=temp》》i;

b=temp《《(8-i);

P1=a|b;

delay();

}

}

}

This program is designed for learners to learn more about the I/O port of mcs-51 series. Besides it is all free for you to use ,but i take none of the responsibility that caused by the program .And more information can get from Http:c51.redpill.cn. Designed by Chen lee,QQ:619725717

该程序适合初学者使用,并以此来了解MCS-51系列单片机的I/O控制。该程序完全免费,使用者可以放心使用,但由此所产生的一些不良后果将不由本人负责。另外,如果想了解更多单片机方面的资料,欢迎访问Http:c51.redpill.cn 作者:Chen lee ,QQ:619725717

按键控制LED的亮灭:程序的设计思路为:当P0.0=0时,将P1,P2,P3口的LED全部打开;当P0.1=0时,将上述所有的LED 关闭。。。,该程序可以在我们公司的51扳上模拟。具体参考程序如下:

orG 0000H ;程序从地址0开始执行

JMP START ;跳转到START处

START:

MOV P0,#0FFH ;先关闭所有的P0口,作好准备

LOOP:JNB P0.0,ON ;判断P0.0=0 ?

JNB P0.1,OFF ;判断P0.1=0 ?

JMP LOOP ;跳转到LOOP处形成一个循环

ON:MOV P1,#00H ;开所有P1,P2,P3口的LED

MOV P2,#00H ;

MOV P3,#00H ;

ON_1:JB P0.0,LOOP ;

JMP ON_1 ;

OFF:MOV P1,#0FFH ;关闭所有的P1,P2,P3口的LED

MOV P2,#0FFH ;

MOV P3,#0FFH ;

OFF_1:JB P0.1,LOOP ;

JMP OFF_1 ;

END;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    240

    文章

    23130

    浏览量

    658341
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632796
  • 硬件电路
    +关注

    关注

    39

    文章

    240

    浏览量

    29189
收藏 人收藏

    评论

    相关推荐

    如何写出稳定的单片机代码

    这篇文章分享怎么写出稳定的单片机代码。     我对优秀代码的理解,大体分为两个部分:高效和稳定。   两者都能做到很好的,如果靠自己摸索,没有刻意去练习,可能需要花10年,甚至更久
    的头像 发表于 11-15 16:40 258次阅读
    如何写出稳定的<b class='flag-5'>单片机</b><b class='flag-5'>代码</b>

    基于51单片机无线温度传输控制设计

    本资源内容概要:       这是基于51单片机无线温度传输控制设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单(excel表格打开
    发表于 06-26 10:50 0次下载

    基于51单片机DS18B20温度采集控制风扇设计

    本资源内容概要:       这是基于51单片机DS18B20温度采集控制风扇设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单
    发表于 06-26 10:43 0次下载

    基于51单片机数字时钟闹钟设计

    本资源内容概要:       这是基于51单片机数字时钟闹钟设计包含了PDF版本电路图、C语言程序源代码(keil软件打开)、proteus仿真。本资源适合人群:      单片机爱好者、电子
    发表于 06-25 10:17 0次下载

    基于51单片机热释红外报警设计

    本资源内容概要:       这是基于51单片机热释红外报警设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单(excel表格打开
    发表于 06-25 10:15 0次下载

    基于51单片机DS18B20水箱水温检测控制设计

    本资源内容概要:       这是基于51单片机DS18B20水箱水温检测控制设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单
    发表于 06-25 10:04 0次下载

    第三讲:单片机STC89C52+RA8889驱动控制彩屏 代码的压缩(Keil编译器)

    51单片机驱动控制芯片RA8889,源代码函数冗余较多,移植时可能会碰到输出程序过大,这里介绍压缩代码的方法。
    的头像 发表于 06-05 11:05 491次阅读
    第三讲:<b class='flag-5'>单片机</b>STC89C52+RA8889驱动<b class='flag-5'>控制</b>彩屏 <b class='flag-5'>代码</b>的压缩(Keil编译器)

    第二讲:单片机STC89C52+RA8889驱动控制彩屏 代码移植介绍

    介绍51单片机如何移植RA8889的代码进行彩屏驱动与控制
    的头像 发表于 06-04 10:36 822次阅读
    第二讲:<b class='flag-5'>单片机</b>STC89C52+RA8889驱动<b class='flag-5'>控制</b>彩屏 <b class='flag-5'>代码</b>移植介绍

    单片机如何通过代码控制硬件:一名工程师的分享

    今天跟大家聊聊单片机是怎样通过代码来操控硬件的。作为一名单片机工程师,我们平时的工作就像是给单片机编写“指令集”,让它按照我们的意图去驱动各种硬件设备。
    的头像 发表于 03-06 14:46 1384次阅读
    <b class='flag-5'>单片机</b>如何通过<b class='flag-5'>代码</b><b class='flag-5'>控制</b>硬件:一名工程师的分享

    单片机代码自动生成器程序

    单片机代码自动生成器是一种能够帮助开发人员快速生成单片机代码的工具。它利用了现代计算机技术和算法,能够根据用户提供的输入和需求,自动生成符合规范和要求的
    的头像 发表于 01-08 14:12 2892次阅读

    单片机控制和plc控制的优缺点

    单片机控制和PLC控制是工业自动化领域中常用的两种控制方式。它们各自具有一定的优缺点,下面将对它们的优缺点进行详细的分析和比较。 一、
    的头像 发表于 12-30 11:14 5093次阅读

    单片机解析g代码的方法

    单片机是一种完整的计算机系统,它集成了处理器、存储器、输入输出接口等基本的计算机组成部分。单片机应用广泛,可以用于控制各种电子设备。在单片机中,G
    的头像 发表于 12-22 14:15 1655次阅读

    pic单片机汇编程序实例

    。 以下是一个简单的PIC单片机汇编程序示例,这个程序将实现一个LED闪烁的功能。 配置PIC单片机的引脚 在PIC单片机中,每个引脚都可以配置为输入或输出。在这个例子中,我们将使用一
    的头像 发表于 12-14 11:01 1774次阅读

    STM32单片机常用的引脚及功能

    单片机中,引脚是连接外部设备和单片机内部模块的接口,通过引脚可以将输入信号传递给单片机,或将单片机处理后的信号输出到外部设备。在本文中,我们将介绍STM32
    的头像 发表于 12-07 16:22 2.1w次阅读

    三菱 FX3U 底层源代码单片机STM32程序实现

    三菱 FX3U 底层源代码单片机STM32 程序实现,更新到V10
    发表于 12-07 09:48 51次下载