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
    +关注

    关注

    243

    文章

    24436

    浏览量

    687443
  • 单片机
    +关注

    关注

    6074

    文章

    45340

    浏览量

    663574
  • 硬件电路
    +关注

    关注

    39

    文章

    263

    浏览量

    30143
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    51单片机RS485编程实例资料

    详细介绍51单片机RS485通信接线和编程代码
    发表于 10-20 14:57 2次下载

    单片机原理及应用详解

    单片机(Microcontroller Unit, MCC)  是一种集成计算机核心功能(CPU、存储器、I/O接口等)的微型芯片,广泛应用于嵌入式系统中。以下是其原理及应用的详细介绍: 一、单片机
    的头像 发表于 08-11 13:57 1546次阅读

    单片机采用什么电流控制

    单片机作为电子系统的控制核心,其电流控制涉及自身工作电流管理与外部设备电流驱动两个层面。由于单片机内部电路的特性,其自身工作电流较小,而控制
    的头像 发表于 07-30 10:07 546次阅读

    单片机怎么控制转速

           在工业自动化、智能家居、机器人等领域,单片机控制电机转速是实现精准运动控制的核心技术。通过结合硬件电路设计与软件算法优化,单片机可根据不同应用场景灵活调整电机转速。以下从
    的头像 发表于 07-25 13:58 654次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现稳定
    的头像 发表于 07-25 09:31 439次阅读

    单片机是怎么控制

    单片机作为电子系统的控制核心,通过接收外部信号、执行预设程序、驱动外部设备的方式实现控制功能,其控制过程涉及信号输入、数据处理和指令输出三个关键环节,每个环节的协同配合决定了整体
    的头像 发表于 07-23 13:59 478次阅读

    单片机怎么烧程序

    单片机烧程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是单片机应用开发中不可或缺的环节。无论是简单的灯光
    的头像 发表于 07-23 11:47 651次阅读

    给予单片机的温度控制系统设计

    在工业生产、智能家居等领域,温度的稳定控制至关重要,基于单片机的温度控制系统凭借灵活、高效的特点被广泛应用,其设计原理与实现方式值得深入探讨。 基于单片机的温度
    的头像 发表于 07-16 10:57 453次阅读

    单片机和伺服有什么区别

    单片机和伺服的区别 单片机(Microcontroller)和伺服(Servo System)是两种完全不同的技术概念,分别属于 控制系统硬件 和 运动控制执行系统 。以下是它们的
    的头像 发表于 05-26 09:18 582次阅读

    开源闭环步进电机控制器(原理图+源代码

    开源闭环步进电机控制器(原理图+源代码),采用PID算法控制,AS5047磁性角度检测传感器,高效防失步,快速学习PIDS算法,掌握单片机系统开发。 纯分享贴,有需要可以直接下载附件
    发表于 03-20 13:32

    单片机C语言编程宝典大全,初学必备【强推下载!】

    (400页PPT) 6. 单片机程序设计实例 7. 单片机应用程序设计技术_周航慈.pdf 8. 8051单片机C语言彻底应用 9. C语言程序实例大全-220个详细程序
    发表于 03-14 11:03

    160个51单片机案例源代码汇总资源(建议下载!)

    资料包含160个51单片机案例源代码,部分截图如下:
    发表于 03-13 14:26

    基于瑞萨RA8单片机的智能小车项目方案 附源代码

    基于瑞萨RA8单片机,e2studio开发环境,给大家讲述一下智能小车项目的方案,并附上主要的源代码
    的头像 发表于 03-07 14:36 2083次阅读
    基于瑞萨RA8<b class='flag-5'>单片机</b>的智能小车项目方案 附<b class='flag-5'>源代码</b>

    单片机学习—C51源代码和Proteus仿真文件

    单片机学习—C51源代码和Proteus仿真文件.zip, 有各种例子
    发表于 02-10 13:46 2次下载

    怎么提升单片机代码执行效率

    ​ 提升单片机代码执行效率需要从多个方面入手,包括代码优化、硬件资源利用、编译器设置、中断处理优化以及其他技巧等。在实际应用中,需要根据具体需求和硬件条件综合考虑这些因素,以实现最佳的性能表现。 ​
    的头像 发表于 01-10 11:06 940次阅读