看“从单片机初学者迈向单片机工程师”文发现
时间:10-02
整理:3721RD
点击:
static void SendLedBitData(uint8 dat)
{
uint8 temp ;
temp = (0x01 << dat ) ; //根据要选通的位计算出位码
LED_PORT = temp ;
io_led_bit_cs = 1 ; //开位码锁存,送位码数据
io_led_bit_cs = 0 ;
}
后面来个SendLedBitData(8),
这段我就看不懂了,望大家帮我分析下
原文是http://bbs.elecfans.com/jishu_184829_1_1.html这里的是在第五章中间的 关于位码我看不懂怎么求出来的,那个SendLedBitData(8),
把8赋值进去会得到什么结果,会让全部数码管灭?
求大神指点啊
temp=0x01<<dat 是一左移位指令,将0x01左移dat位,dat取值0-7就可以分别对应位选的最高位到最低位(比如dat取1,移位后temp的值就是0x02,这样子就是选择了左面数第二位的数码管),从而实现了位选。如果dat取值为8的时候,就是将0x01左移8位,这时候,temp的值是0x00,即位选没有选择任何一位,就可以实现数码管全灭,不知道小编是不是想问这个地方。
非常感谢您为我解答,谢谢
想明白了
个人觉得 “从单片机初学者迈向单片机工程师”写的还是不错的,不过作者像是在给我们传达一个 实时操作的系统的 概念,为什么不直接学习一个小操作系统,像陈明计先生写的那个RTOS51就很不错。 避免了一般写用户程序 一边写 系统函数的情况~~~~
学习先,学习先
有空也要看看
学习学习
学习了
{:
请大家关注从单片机初学者迈向单片机工程师的第二版。目前正在慢慢着手重写。更加偏重实际工程开发思路,编程框架,编程思想等等。
在学习学习