久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

單片機單按鍵控制LED發光的程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2009年07月02日   【字體:

   51單片機單按鍵控制LED發光的程序,就是用一個與P3_0引腳連接的按鍵控制P2_0相連LED的亮和滅兩種狀態。按一次按鍵燈亮,再按一次按鍵燈滅。再按一次又亮,再按一次燈又滅,本程序出自單片機網:http://m.zg4o1577.cn,經過測試已經可以成功運行。
#include "AT89X51.H"
void main(void) // 主程序
{
bit mark;        //定義位變量
unsigned int n;  //定義循環變量
while(1)         //無限循環
{
if (P3_0==0)    //如果按鍵按下
{
for(n=0;n<1000;n++); //延時一段時間,等待按鍵完全按下
mark=~mark;         //翻轉標記
while(!P3_0)        //等待按鍵彈起
for(n=0;n<1000;n++); //等待按鍵完全彈起
}
P2_0=mark;  //點亮或是關滅LED燈
}}
while(1)  //無限循環
{  
if(ldelay==1 ) //若是時間溢出標記為1,處理如下語句
{
ldelay=0;     //清除時間溢出標記
P2=ledp[ledi]; //讀出一個表格值送到P2口
ledi++;        //指向下一個表格值
if(ledi==4)    
{
ledi=0;    //到了最后一個燈就換到第一個
sp--;       //速度級別減1
if (sp==3) //如果速度級別減到3
sp=23;     // 恢復速度最慢的級別23
}}}}
timer0() interrupt 1   //定時器0中斷服務程序
{
static unsigned int kk;   //定義靜態局部變量
kk++;    //每次中斷服務,kk加1
if(kk==(100*sp))     //最少次數為100*sp=300,時間為300次*0.25ms
//最多次數為2300次,時間為2300次*0.25ms
//如果kk=(100*sp),執行如下語句
{
kk=0; 
ldelay=1;         //當kk值與100*sp值相等,將ldelay標記置1,則處理燈亮與顯示速度
} }
 

關閉窗口
主站蜘蛛池模板: 色噜噜狠狠一区二区三区 | 免费看黄色大片 | 三级黄色网 | 日韩欧美中文在线 | 成人在线一区二区 | 亚洲国产成人精品女人久久久 | 国产午夜精品久久 | 欧美日韩四区 | 视频一区二区三区在线观看 | 午夜爽爽影院 | 国产福利在线视频 | 国产黄色在线播放 | 91精品国产成人观看 | 二级黄色片 | 黄色大片在线免费观看 | 黄色三级网 | 手机看片福利永久 | 国产一级黄色 | 欧美视频在线观看免费 | 亚洲www啪成人一区二区麻豆 | 欧美午夜精品久久久久免费视 | 国产视频成人 | 日本一级一片免费视频 | 久久久久女教师免费一区 | 色天堂影院| 天天操天天干天天操 | 午夜视频福利 | 欧美大片一区二区 | 亚洲天堂网在线观看 | 三上悠亚一区二区 | 成人在线一区二区 | 三级在线观看视频 | 欧美久久网 | 亚洲精品乱码久久久久 | 欧美日韩免费在线观看 | 亚洲砖区区免费 | 亚洲国产精品va在线看黑人 | 国产午夜激情 | 九色视频丨porny丨丝袜 | 三级黄网站| 91av精品|