51 单片机 跑马灯2
生活随笔
收集整理的這篇文章主要介紹了
51 单片机 跑马灯2
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*-----------------------------------------------名稱:流水燈日期:2016.7.28修改:無內容:循環點亮P1口對應的8個LED燈,造成循環流水點亮的效果
------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
/*------------------------------------------------延時子程序
------------------------------------------------*/
void delay(unsigned int cnt)
{while(--cnt);
}
/*------------------------------------------------主函數
------------------------------------------------*/main()
{char flag = 0; //設置一個位變量
P1=0x7f; //給初始化值 換算成二進制是0111 1111while(1) //當為1時 則無限循環 當為0時 則一次都不執行
{ if (flag == 0) //判斷是否為0
{delay(30000); //延時程序P1 = P1 >> 1; //右移一位 該語句等效于 P1=P1>>1P1 |= 0x80; // 1000 0000if(P1==0xfe) //檢測是否移到最左端?"=="表示檢測符號2端的值是否相等
{ flag = 1; }}else if (flag == 1){delay(30000); //延時程序P1 = P1 << 2; //左移兩位 該語句等效于 P1=P1<<2P1 |= 0x03; // 0000 0011if(P1==0xbf) //檢測是否移到最左端?"=="表示檢測符號2端的值是否相等
{ flag = 2;}}else{P1 = 0x00; // 燈將會全亮delay(30000); //延時程序
P1 = 0x7f; // 0111 1111flag = 0;}}
}
?
轉載于:https://www.cnblogs.com/zengsf/p/5713757.html
總結
以上是生活随笔為你收集整理的51 单片机 跑马灯2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle按某个字段分组然后从每组取出
- 下一篇: 高斯消元法 专题