欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 請求高手指點一下,51單片機程序 [打印本頁]

作者: dianye8717944    時間: 2010-2-18 21:32
標題: 請求高手指點一下,51單片機程序

 

1.例題:用8個發光管演示出8位二進制數累加過程。

 

程序如下:
#include<reg52.h>  //52單片機頭文件
#include <intrins.h> //包含有左右循環移位子函數的庫
#define uint unsigned int    //宏定義
#define uchar unsigned char  //宏定義
void delay(uint z)  //延時函數,z的取值為這個函數的延時ms數,如delay(200);大約延時200ms.
{     //delay(500);大約延時500ms.
 uint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--); 
}
void main()      //主函數
{
 uchar a;
 while(1)        //大循環
 {
  a++ ;
  P1=~a;
  delay(200); 
 }
}

 

前面那個delay是延時,但主函數這部分我看不懂,請高手指點,謝謝啦


作者: ngyg12    時間: 2010-3-6 10:41

它這個程序的電路圖可能是當p1口低電平是  LED 等被點亮.   8位2進制數累加既是:00000000— 00000001— 00000010— 000000011.....  11111111 .

 

  開始的a=0 , 進入循環后,a=1,  既是00000001, 取反后 p1=~a;則P1=FFFFFFF0, 因為是低電平有效  這個時候 P1口的8個LED燈的  最后一個被點亮。。然后

 以此類推。  呃,我個人認為是這樣的哈, 呵呵 ,希望能幫到你.


作者: dianye8717944    時間: 2010-4-17 03:01
好久沒上這個論壇,現在才看到,太謝謝你了
作者: li334505330    時間: 2010-5-31 21:06
很好,慢慢來,我也是新手




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1