SFR地址操作点亮LED

发布者:京玩儿最新更新时间:2016-10-27 来源: eefocus关键字:SFR  地址操作  点亮LED 手机看文章 扫描二维码
随时随地手机看文章
//实例7:通过对P0口地址的操作流水点亮8位LED

#include   //包含单片机寄存器的头文件
//sfr x=0x80;   //P0口在存储器中的地址是80H, 通过sfr可定义8051内核单片机
          //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P0口的操作
sfr x=0x90;   //P1口在存储器中的地址是90H, 通过sfr可定义8051内核单片机
          //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的操作
/****************************************
函数功能:延时一段时间
*****************************************/
void delay(void)
   {
   unsigned char i,j;
    for(i=0;i<250;i++)
   for(j=0;j<250;j++)   
     ;   //利用循环等待若干机器周期,从而延时一段时间
   }
/*****************************************
函数功能:主函数 
******************************************/
void main(void)
{
    while(1)
   {
      x=0xfe;   //第一个灯亮
    delay();  //调用延时函数
     x=0xfd;  //第二个灯亮
    delay();  //调用延时函数
    x=0xfb;  //第三个灯亮
    delay();  //调用延时函数
    x=0xf7;  //第四个灯亮
    delay();  //调用延时函数
   x=0xef;   //第五个灯亮
     delay();  //调用延时函数
   x=0xdf;   //第六个灯亮
      delay();  //调用延时函数
   x=0xbf;   //第七个灯亮
     delay();  //调用延时函数
   x=0x7f;   //第八个灯亮
     delay();  //调用延时函数    
 }

 }

关键字:SFR  地址操作  点亮LED 引用地址:SFR地址操作点亮LED

上一篇:利用循环左移函数流水灯---单片机C语言编程
下一篇:不同数据类型的延时函数控制LED灯闪烁

推荐阅读最新更新时间:2024-03-16 15:17

11-固件库点亮LED
固件库点亮LED 前提条件 建立一个固件库工程模板可以参考以下博客 https://blog.csdn.net/cainaiolin/article/details/52012786 硬件基础 我的开发板上面一共有三个led灯 我选择点亮PB5这个灯 话不多说看代码:新建一个文件名字为“bsp_led.h” BoardSupport Packet 的缩写(板级支持包) 多用在用户自己定义的文件中 #ifndef __BSP_LED_H #define __BSP_LED_H //R红色的灯 /*-----LED 灯的 GPIO 端口、GPIO 引脚号以及 GPIO 端口时钟----*/ #define LED1_
[单片机]
11-固件库<font color='red'>点亮</font><font color='red'>LED</font>
编程控制8位LED循环点亮
8个LED正极通过1千欧的限流电阻接到电源正极,负极接单片机控制端P0口。只要P0口管脚输出低电平,对应的LED就会被点亮。原理图如下: 单片机控制外部器件是通过I/O口的操作来实现的,因此对外围器件的操作,实际上是对I/O口的操作。 编程如下: 1、循环左移 #include reg51.h //51系列单片机头文件包含对单片机内部寄存器等的定义 #include intrins.h //本征函数头文件,包含此头文件可以在程序中直接调用本征函数_crol_(a,n) #define uchar unsigned char /*以下三句属宏定义语句,以#define LED P0为例,它
[单片机]
编程控制8位<font color='red'>LED</font>循环<font color='red'>点亮</font>
单片机sfr和sbit关键字,详解
sfr用于将一个单片机的特殊功能寄存器(special function register)赋值给一个变量,这样在后面的程序中就可以中这个变量指引(refer to)该寄存器。 sbit与sfr用法类似,只是sbit是位操作,用于将某个sfr中具体位赋值给一个变量,这样后面程序就可用通过该变量为该位清0或置1。 STC该系列单片机的特殊功能寄存器布局如下: 看过图1这么多特殊功能寄存器之后可能会产生一些困扰,我们用sfr P0 = 0×80表示P0,用sfr SP = 0×81表示SP,这个没有歧义。有困扰的是:假如用sbit P0_1 = 0×81表示P0口的第一位,那么我想表示SP寄存器的第0位怎么办呢?如果
[单片机]
单片机<font color='red'>sfr</font>和sbit关键字,详解
LPC1768 GPIO中断实验 八个LED轮流点亮100毫秒
路虎LPC1768开发板 GPIO实验 这个例程是将路虎开发板上的八个LED轮流点亮100毫秒, 采用SYStick 定时器中断方式做延时 系统时钟设置在100MHZ 使用时,短路JP8跳线使能LED。 单片机源程序如下: /**************************************************************************//** * @file main.c * @brief CMSIS Cortex-M3 GPIO example * a LED using CM3 SysTick * @version V1.30 * @date 24. Jan 2
[单片机]
STM32Hal库学习(一)CubeMx学习点亮LED
cubemx安装: MDK5安装+破解+pack 言归正传 新建工程选择是STM32型号,进入芯片页面 1.首先必备的SYS和RCC选择外部晶振、配置LED引脚,因板子而异PE5 PE6 2.在clock configuration中配置HCLK 72MHz 3.配置configuration中的GPIO 4.在project中配置路径名称,编译工具 生成工程文件,打开工程,编译文件,创建.hex文件烧录此时LED点亮,再编写一个流水灯程序 感觉直接生成的代码框架有点混乱,之前用的都是标准库,这个就感觉不熟悉还是先创建一个文件夹放自己的程序,然后编写自己的my_system.cpp,my_
[单片机]
STM32Hal库学习(一)CubeMx学习<font color='red'>点亮</font><font color='red'>LED</font>灯
使用寄存器点亮第一个LED
一、硬件设计 相同网络标号表示它们是连接在一起的,因此 DS0、DS1 发光二极管阴极是连接在 STM32 的 PB5、PE5 管脚上。 如果要使 DS0 指示灯亮,只需要控制 PB5 管脚输出低电平,如果要使 DS0 指示灯灭,只需控制 PB5 输出高电平。对于其他的 LED 控制方法一样。如果使用的是其他板子,连接 LED 的管脚和极性不一样,那么只需要在程序中修改对应的 GPIO 管脚和输出电平状态即可,原理是一样的。 点亮 DS0 发光二极管,即让 STM32 的 PB5 管脚输出一个低电平。 二、软件设计 2.1、 startup_stm32f10x_hd.s 启动文件 启动文件里边是使用汇编语言写
[单片机]
使用寄存器<font color='red'>点亮</font>第一个<font color='red'>LED</font>
Micro-LED点亮显示技术未来
近日,又一家科技巨头涉足Micro-LED:瑞典媒体Rapidus透露,谷歌已向Glo公司投资了1500万美元,而Glo是一家从瑞典隆德大学孵化出来的公司,正致力于为手机、智能手表以及VR/AR提供基于纳米线的LED显示屏。 此前,索尼、苹果、Facebook等科技巨头或通过自研或通过投资、收购等方式切入Micro-LED领域,让Micro-LED概念持续火热,成为显示产业的新亮点。 友达光电董事长彭双浪认为,Micro-LED是非常好的技术,因为它是TFT背板和LED固态发光体的结合,而这两个技术现在非常成熟,成本也在大幅降低。而且最近有消息指出,苹果和PlayNitride今年年底将有可能小批量量产Micro-LED。面对Mi
[手机便携]
使用STM32寄存器点亮LED
事先声明哦,我也是最近才开始学32的,不过我会尽可能详细的讲解这些小知识点 我们口中常说的LED灯其实是指LED发光二极管,关于这一点涉及到的知识点,我已经在51单片机教程中提及(同点亮LED灯),故而不再详述。 刚开始接触STM32的时候,觉得他的操作明显区别于51,比如我们点亮一个LED灯,直接控制相应的IO口即可;但32不一样,我们需要先设置时钟控制寄存器 RCC_APB2ENR|=1 4; //一共32位 然后设置它的工作方式,输出速度。 GPIOC_CRL&=~(0x0f (4*i)); //控制第i+1个led GPIOC_CRL|=(3 (4*i)); //3可以表示为0011,然后在它的前面补零,凑
[单片机]
使用STM32寄存器<font color='red'>点亮</font><font color='red'>LED</font>灯
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved