跑馬燈從左到右依次點亮,全亮之后,再從左到右依次點滅,自己用keil仿真原創。
全部資料下載地址:
paomadeng.rar
(19.9 KB, 下載次數: 42)
2017-8-8 15:33 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
- #include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
- #include<math.h>
- typedef unsigned int u16; //對數據類型進行聲明定義
- typedef unsigned char u8;
- #define uint unsigned int
- #define uchar unsigned char
- /*******************************************************************************
- * 函 數 名 : delay
- * 函數功能 : 延時函數,i=1時,大約延時10us
- *******************************************************************************/
- void delay(u16 i)
- {
- while(i--);
- }
- /*******************************************************************************
- * 函 數 名 : main
- * 函數功能 : 主函數
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void main()
- {
- unsigned char n;
- double i,j,k;
- delay(50000); //大約延時450ms
- while(1) //無限循環
- {
- n=0x00; //初始值為0000 0000
- for(i=0;i<8;i++) //從左向右依次點亮
- {
- k=pow(2,i); //調用math.h中的冪函數
- n=n+k;
- P2=n;
- delay(50000); //延時450ms
- }
- for(j=7;j>=0;j--)
- {
- k=pow(2,j);
- n=n-k; //此時n=1111 1111-1000 0000=0111 1111
- P2=n;
- delay(50000);
- }
- }
- }
復制代碼
|