历史上的今天
今天是:2025年05月16日(星期五)
2020年05月16日 | C51 keil v4 流水灯简单代码的编写
2020-05-16 来源:eefocus
#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起始。 */ }
史海拾趣
|
现在个人能够想到的就是这些啦,可能还是受到了很多的限制,自己了解的有限,以后也主要是弄这一块的,这个板块你希望还看到什么话题,希望找到什么的,我们会尽量满足,大家提提,还有这么多的版主一定能够解决你的疑问的!… 查看全部问答> |
|
看到DIY示波器的礼品是Shuffle,眼馋了好一阵子呢,看到了一篇文章,给大伙看看,实际上,别看外观那么好话,拆解完也没啥(吃不着葡萄说下葡萄酸),嘿嘿 第1页:跟U盘一样大 新iPod shuffle曝光 苹果昨天发布了第三代iPod shuffle超迷你音乐播 ...… 查看全部问答> |
|
自己编了个wince 6.0的模拟器,下载了一个flash播放器,在开发板的真实硬件环境可以跑起来并且运行flash,但是在模拟器上只能运行flash播放器,无法运行flash文件,请问是不是需要什么库或者组件的支持?谢谢!!… 查看全部问答> |
|
非常期待能够申请到板子。我是深圳清华研究院电子信息研究所的,最近所里有物联网的项目研究,这要是智能家居部分,看看能不能用这块板子作为开发平台 [ 本帖最后由 fqzxw 于 2010-10-18 09:56 编辑 ]… 查看全部问答> |
|
:)小弟初次用STM32做的板子,请高人看看如何才能做到8位机的 小弟年前匆匆忙忙帮朋友做的小东西, 当时还没完工时的照片. 请大家看看是否做到了类似配置的8位机的成本: 6 开关量输入 6 继电器接点出 6&n ...… 查看全部问答> |




