首页资源分类嵌入式处理器51内核 > 单片机C语言教程

单片机C语言教程

已有 433002个资源

下载专区

上传者其他资源

文档信息举报收藏

标    签:单片机C教程

分    享:

文档简介

单片机C语言教程

程序很简单,用 P1 口做运算变量,P1.0-P1.7 对应 P1 变量的最低位到最高位,通过连接在 P1 口上的 LED 我们便能直观看到每个位运算后变量 是否有改变或如何改变。程序如下:

#include  <at89x51.h>

void  main(void)

{

unsigned  int  a;

unsigned  int  b;

unsigned  char  temp;  //临时变量

P1  =  0xAA;  //点亮 D1,D3,D5,D7  P1 口的二进制为 10101010,为 0 时点亮 LED

for  (a=0;a<1000;a++)

for  (b=0;b<1000;b++);  //延时

temp = P1 & 0x7; //单纯的写 P1|0x7 是没有意义的,因为没有变量被影响,不会被编译

//执行 P1|0x7 后结果存入temp,这个时候改变的是 temp,但 P1 不会被影响。

//这个时候 LED 没有变化,仍然是 D1,D3,D5,D7 亮

for  (a=0;a<1000;a++)

for  (b=0;b<1000;b++);  //延时 P1  =  0xFF;  //熄灭 LED

for  (a=0;a<1000;a++)

for  (b=0;b<1000;b++);  //延时

P1  =  0xAA;  //点亮 D1,D3,D5,D7  P1 口的二进制为 10101010,为 0 时点亮 LED

for  (a=0;a<1000;a++)

for  (b=0;b<1000;b++);  //延时

P1  =  P1  &  0x7;  //这个时候 LED 会变得只有 D2 灭

//因为之前 P1=0xAA=10101010

//与 0x7 位与    0x7=00000111

//结果存入 P1    P1=00000010  //位为 O 时点亮 LED,电路看第三课

for  (a=0;a<1000;a++)

for  (b=0;b<1000;b++);  //延时 P1  =  0xFF;  //熄灭 LED

while(1);

//大家能根据上面的程序去做位或,左移,取反等等。

}

...

文档预览

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱service(at)eeworld.com.cn 或通过站内短信息或QQ:616108587联系管理员okhxyyo,我们会尽快处理。