C51 keil v4 流水灯简单代码的编写

发布者:legend9最新更新时间:2020-05-16 来源: eefocus关键字:keil  流水灯 手机看文章 扫描二维码
随时随地手机看文章

#include

#include"intrins.h"

typedef unsigned char u8;/*char 为1字节,8位  */

typedef unsigned int u16;

/*一般情况下用int,因为unsigned char取值范围为0~255;而int为65535;

用u16,u8使代码的可移植性高   */

#define led P0

//sbit led=P0^0;

//两种表示方式

void delay(u16 i)

{

while(i--);

}//运用延时函数达到使led灯闪烁的目的

void main()

{

/*

while(1)

{

led=1;

delay(50000);//i=1时,约等于是10us,所以50000是500ms

led=0;

delay(50000);

}

//这段代码实现一个led灯的闪烁。即亮了0.5秒后,暗0.5秒。但是由于delay函数是不精确的,所以时间不是准确的0.5s

*/

 

 

        /*u8 i;

        led=0x01;//表示16进制,第一个led灯   0000  0001

        delay(50000);  

while(1)

{

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

        {

        led=(0x01<        delay(50000);

        }

}

        //这段代码实现了八个led灯的依次点亮,实现了流水灯的功能

*/

 

         u8 i;

led=0x01;

delay(50000);

while(1)

{

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

                {

                led=_crol_(led,1);

        delay(50000);

        }

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

        {

        led=_cror_(led,1);

        delay(50000);

        }

}

        

 

         /*这段代码实现了走马灯的功能1~8依次亮,接着8~1亮

        因为运用了_cror_(a,b)函数,所以需要引用头文件instrins.h

        至于为什么上一段代码是i<8,这一段是i<7;

        其实是根据具体操作来的,亲故可以自行体验下他的用法

        第二段代码是led=(0x01<        最后一段代码是led=_crol_(led,1);是运用了左移函数,且赋值给了led,所以led每次循环的起始源是不同的。

        值在i=0循环的时候就变成了0010起始,而上一段还是0001起始。    */

}

关键字:keil  流水灯 引用地址:C51 keil v4 流水灯简单代码的编写

上一篇:51单片机教程 第一个51程序 :点亮一个发光二极管
下一篇:51单片机实验(一)定时/计数器及其中断

推荐阅读最新更新时间:2024-11-17 00:47

C51---2.4 led流水灯(自定义延时)
原理图 main函数 实现LED1-LED8以100ms的延时速度流水灯闪烁 #include REGX52.H // 0 num 65535 void Delay_ms(unsigned int num) //@12.000MHz { unsigned char i, j; while(num) { i = 2; j = 239; do { while (--j); } while (--i); num--; } } void main() { P2=0XFE;//1111 1110 Delay_ms(100); P2=0XFD;//1111 1
[单片机]
C51---2.4 led<font color='red'>流水灯</font>(自定义延时)
S5PV210进行LED流水灯实验总结(基于九鼎科技开发板)
/* * 文件:LED.s * 作者:周金宝 * 描述:实现开发板上4颗LED的流水灯效果 */ #define GPD0CON 0xE02000A0 //这里要注意,芯片手册上为了美观,地址是0xE020_00A0 中间加了个“-”,复制粘帖的时候要去掉,要不然会报错 #define GPD0DAT 0xE02000A4 #define GPJ0CON 0xE0200240 #define GPJ0DAT 0xE0200244 .global _start //把_start的链接属性改为外部,消除警告 _start: ldr r0, =0X11111111 //将GPJ0所有引脚定义为output模式 ldr r1,
[单片机]
STM32开发笔记20: STM32L053R8T6的keil配置
单片机型号:STM32L053R8T6 使用STM32CubeMX生成STM32L053R8T6相关的应用程序代码后,使用Keil开发环境第1次下载的时候,提示如下错误,我使用F0和F4的单片机,没有遇到过。 仔细查看工程设置,原因在工程设置中,我们需加入相应的Flash配置信息,如下图所示,具体的选择,要根据单片机的类型,我们可以仔细查看数据手册。 但下载的时候,偶尔还会提示如下错误: 这件事情网上说了很多的解决方法,我自己测试,更改2处Keil的设置既可以解决,如下图所示。 此2处更改后,反复下载程序,亦不再报错。
[单片机]
STM32开发笔记20: STM32L053R8T6的<font color='red'>keil</font>配置
PIC单片机LED流水灯程序
P IC 单片机 LED 流水灯程序 ;************************************************************* include p16f877.inc ;************************************************** __CONFIG 3F39H;设置配置位中振荡方式为XT,其它全部禁止或关闭 ;*---- MODESEL equ 20h MODESELB equ 21h Count equ 22h Count1 equ 23h Count2 equ 24h PORTDB equ 25h ;*----- org
[单片机]
KEIL C编译器常见警告与错误信息的解决办法
对于函数的自变量、局部变量和全局变量声明如果没有指定内存类型,则内存模式将成为内定的内存类型。如果 指定了内存类型的变量,则不理会内存模式,完全有所指定的内存类型为主。 SMALL模式:小模式 所有的变量,局部变量或全局变量都指定存在内部RAM的 0—0x7F 的地址范围,此模式如同将所有的 变量都定义成 data 类型的内存。 COMPACT模式:压缩模式 所有的变量将被指定到其地址范围为 0—0xFF 的外部数据存储器,此模式如同将所有的变量都定义 成 pdata 类型的内存。 LARGE模式:大模式 所有的变量将被指定到其地址范围为 0—0xFFFF 的外部数据存储器,此模式如同将所有的变量都定义 成
[单片机]
STM32在Keil MDK5环境下RAM上代码调试
步骤与图示: 1.先给个CPU的数据,需要注意的是三个红圈的地方,架构,型号,Flash和SRAM大小如图1 (STM32F107VC 256KB FLASH,64KB SRAM) 图1 2.Target的设置 1)勾上可以用微库,减小生成代码的大小 2,3)分别定义ROM区位置及大小和RAM区位置和大小。在这里需要说明的是,Cortex-M3的架构有4G的寻址空间,而Flash的起始地址在0x08000000,RAM地址在0x20000000,在这里进行了第一次相关地址的更改;如图2 0x1000为4K,这里的0xc000则为48K的ROM分配;RAM的为16K;基本上移植个uCOS-II都够用了 图2
[单片机]
STM32在<font color='red'>Keil</font> MDK5环境下RAM上代码调试
Keil 的辅助工具和部份高级技巧
在前面的几讲中我们介绍了工程的建立方法,常用的调试方法,除此之外,Keil 还提供 了一些辅助工具如外围接口、性能分析、变量来源分析、代码作用分析等,帮助我们了解程 的性能、查找程序中的隐藏错误,快速查看程序变量名信息等,这一讲中将对这些功工具作 一介绍,另外还将介绍Keil 的部份高级调试技巧。 一、 辅助工具 这部份功能并不是直接用来进行程序调试的,但可以帮助我们进行程序的调试、程序性 能的分析,同样是一些很有用的工具。 1、外围接口 为了能够比较直观地了解单片机中定时器、中断、 并行端口、串行端口等常用外设的使用情况,Keil 提 供了一些外围接口对话框,通过Peripherals 菜单选择, 该菜单的下拉菜单内容与你建立项
[单片机]
<font color='red'>Keil</font> 的辅助工具和部份高级技巧
keil的软件逻辑分析仪( logic analyzer)使用教程
keil的软件逻辑分析仪( logic analyzer)使用教程 在keil MDK中软件逻辑分析仪很强的功能,可以分析数字信号,模拟化的信号,CPU的总线(UART、IIC等一切有输出的管脚),提供调试函数机制,用于产生自定义的信号,如Sin,三角波、澡声信号等,这些都可以定义。     以keil里自带的stm32的CPU为例,对PWM波形跟踪观测,打开C:KeilARMBoardsKeilMCBSTM32PWM_2目录下的stm32的Dome,第一步:进行仿真配置,如图: 把开工程中的Abstract.txt文件有对工程的描述,PWM从PB0.8和PB0.9输出,稍后将它加入软件逻辑分析仪里。 The &#
[单片机]
<font color='red'>keil</font>的软件逻辑分析仪( logic analyzer)使用教程
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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