只需一步,快速開始
熱門: 51單片機 | 24小時必答區(qū) | 單片機教程 | 單片機DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機樂園 | Arduino | 嵌入式OS | 程序設計
程序如下:#include<reg52.h> //52單片機頭文件#include <intrins.h> //包含有左右循環(huán)移位子函數(shù)的庫#define uint unsigned int //宏定義#define uchar unsigned char //宏定義void delay(uint z) //延時函數(shù),z的取值為這個函數(shù)的延時ms數(shù),如delay(200);大約延時200ms.{ //delay(500);大約延時500ms. uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }void main() //主函數(shù){ uchar a; while(1) //大循環(huán) { a++ ; P1=~a; delay(200); }}
前面那個delay是延時,但主函數(shù)這部分我看不懂,請高手指點,謝謝啦
使用道具 舉報
它這個程序的電路圖可能是當p1口低電平是 LED 等被點亮. 8位2進制數(shù)累加既是:00000000— 00000001— 00000010— 000000011..... 11111111 .
開始的a=0 , 進入循環(huán)后,a=1, 既是00000001, 取反后 p1=~a;則P1=FFFFFFF0, 因為是低電平有效 這個時候 P1口的8個LED燈的 最后一個被點亮。。然后
以此類推。 呃,我個人認為是這樣的哈, 呵呵 ,希望能幫到你.
本版積分規(guī)則 發(fā)表回復 回帖后跳轉到最后一頁
小黑屋|51黑電子論壇 | 管理員QQ:125739409;技術交流QQ群281945664
Powered by 單片機教程網(wǎng)