历史上的今天
今天是:2025年03月25日(星期二)
2020年03月25日 | 51例程---流水灯改进版
2020-03-25 来源:eefocus
(1)首先定义变量unsigned char a,初值等于0x80(10000000)
(2)8个状态,其实就是a依次右移0-7位
(3)利用C语言中移位运算符实现移位
C语言中的移位运算符,>>可以右移,<<可以左移。(无符号数移位:移出去的位丢掉了,空出来的位用0补。有符号位另当别论。)
例如:12345678---右移 = 01234567
例程1:
#include void delay(void) { unsigned char i = 100; unsigned char j = 100; while(i--) { while(j--); } } //延时函数 void main(void) { unsigned char i = 0; unsigned char initial_value = 0x80; while(1) { for(i = 0; i < 8; i++) { P0 = (initial_value >> i); // 这儿的initial_value的值在整个循环中一直是0x80 delay(); } } } 例程2: void main(void) { unsigned char i = 0; while(1) { unsigned char initial_value = 0x80; for(i = 0; i < 8; i++) { initial_value = (initial_value >> i); //initial_value的值在每次循环中都会改变 P0 = initial_value; delay(); } } } 差别在于变量的作用域(请学习c语言)
史海拾趣
|
我在单片机中编程如下,SendKey_Protocl();是一个费时的操作,超过30ms,小于600ms,我得不到想要的结果,请问:--在中断处理服务程序中,如果费时的函数调用没有处理完是否在后台处理?还是被舍弃?。。。请问高手应该怎么处理? //TIMER0 ini ...… 查看全部问答> |
|
最近在修改eboot,(ep9315的cpu)现在发现有个擦flash的问题,运行到 Continue to Erase the rest of Flash. *pFlash = EA0003FF . ERROR: Error while erasing flash 就发生错误 不是硬件的问题,因为用自 ...… 查看全部问答> |
|
在下現在研二. 今年下半年就要找工作了,26岁生日的時候就應該在單位呆著了(如果找到了的話). 目前在我們實驗室的公司里打雜. 主要弄c/c++編程(PC ...… 查看全部问答> |
|
不是五系列的,想给1611做的一个系统增加usb功能,不知道应该选用什么样的usb控制芯片,做怎样的工作,需要增加多少代码,不知道1611的flash是不是够?希望高手指教… 查看全部问答> |
|
1. 正确选择单点接地通常,滤波电容公共端应是其它的接地点耦合到大电流的交流地的唯一连接点,同一级电路的接地点应尽量靠近,并且本级电路的电源滤波电容也应接在该级接地点上,主要是考虑电路各部分回流到地的电流是变化的,因实际流过的线路的 ...… 查看全部问答> |
|
TI Sitara AM335x系统之AM335X工控应用网络扩展技术详解-DM9000C AM335X工控应用网络扩展技术详解-DM9000C AM335X工控应用网络扩展技术详解-DM9000C 1.工业多以太网网络应用工控板在工业领域应用了10多年,应用领域广,技术成熟。但是局限性也越来越突出。越来越多的设备要求低功耗,无风扇,无散热器,更宽的温 ...… 查看全部问答> |




