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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7122|回復: 1
打印 上一主題 下一主題
收起左側

單片機入門之流水燈制作

[復制鏈接]
跳轉到指定樓層
樓主
       單片機入門之流水燈制作教程,從硬件角度用視頻方法介紹了單片機流水燈制作詳細過程,流水燈制作,是單片機入門級的制作,很多學習單片機的人都進行這這樣的制作,下面介紹一下這個電子小制作的源程序、仿真文件、視頻,供單片機學習愛好者進行學習,讓愛好者自己動手,實踐一下這樣的電子小制作實例。由于視頻較大,本壇上傳不了,只好放在百度網盤。鏈接: https://pan.baidu.com/s/1lpKSP9xXZy9kHB_mwH-sMQ 提取碼: qhts


#include<reg52.h>    //包含單片機寄存器的頭文件
#define uchar unsigned char
#define uint unsigned int
sbit k1=P1^1;         //從上到下按鍵  
sbit k2=P1^2;         //從下到上按鍵
sbit k3=P1^3;         //加速按鍵
sbit k4=P1^4;         //減速按鍵
sbit GND=P1^0;                               
uint t;                        //定義延時變量
uchar n;                //定義方向標志位 n=1,從上到下;n=0,從下到上          
/* 函數申明 -----------------------------------------------*/
void delay(uint z);        //延時函數   
void key();                        //按鍵處理函數
/*
********************************************************************************
** 函數名稱 : main(void)
** 函數功能 : 主函數
********************************************************************************
*/
void main()
{
        uchar  num;                                  //定義變量
        delay(500);                                                          //延時
        t=300;                                                                  //初始速度 值大,速度慢,值小,速率快
        n=1;                                                                  //從上到下
        GND=0;                                                                  //置按鍵接地端低電平
        while(1)                                                          //主循環
        {                                                          

                if(n==1)                                                  //從上到下
                {
                        num++;                                                //循環變量加1
                        if(num>=3)                                        //判斷循環變量大于3時 ,將循環變量置0
                        num=0;                                                //將循環變量置0
                        if(num==0)                                        //判斷循環變量等于0時.點亮1,4,7
                        P0=0x6D;                                        //點亮1,4,7 即01101101
                        else
                        if(num==1)                                        //判斷循環變量等于1時.點亮2,5,8
                        P0=0xB6;                                        //點亮2,5,8 即10110110
                        else
                        if(num==2)                                        //判斷循環變量等于1時.點亮3,6
                        P0=0xDB;                                        //點亮3,6 即11011011
                        delay(t);                                   //延時
                        key();                                                   //調用按鍵處理子程序
                }
                else                                                    //從下到上
                {
                        num++;                                                //循環變量加1
                        if(num>=3)                                        //判斷循環變量大于3時 ,將循環變量置0
                        num=0;                                                //將循環變量置0
                        if(num==0)                                        //判斷循環變量等于0時.點亮3,6
                        P0=0xDB;                                        //點亮3,6 即11011011

                        else
                        if(num==1)                                        //判斷循環變量等于1時.點亮2,5,8
                        P0=0xB6;                                        //點亮2,5,8 即10110110
                        else
                        if(num==2)                                        //判斷循環變量等于1時.點亮1,4,7
                        P0=0x6D;                                        //點亮1,4,7 即01101101        

                        delay(t);                                   //延時
                        key();                                                   //調用按鍵處理子程序
                }
        }
}

/*
********************************************************************************
** 函數名稱 : delay(uint z)
** 函數功能 : 延時函數
********************************************************************************
*/
void delay(uint z)
{
    uchar j;                                                 //定義延時變量
    for(z;z>0;z--)                                         //延時第一層循環
        for(j=200;j>0;j--);                         //延時第二層循環
}

void key()                        //按鍵處理函數
{
    if(k1==0)                                //按鍵按下
        {
                delay(20);                    //延時消除按鍵抖動
                while(k1==0);                //等待按鍵松開
                n=1;                                //從上到下
        }
    if(k2==0)                                //按鍵按下
        {
                delay(20);                    //延時消除按鍵抖動
                while(k1==0);                //等待按鍵松開
                n=0;                                //從下到上
        }                 
    if(k3==0)                                //按鍵按下
        {
                t=t+10;                                //延時速度加10
                if(t>600)                        //限制延時速度最慢為1000
                t=600;                                //限制延時系數1000
        }
    if(k4==0)                                //按鍵按下
        {
                t=t-10;                                //延時速度減10
                if(t<200)                        //限制延時速度最快為10
                t=200;                                //限制延時系數10
        }
}

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:764663 發表于 2020-5-29 22:08 | 只看該作者
學習了,不錯         
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美三级视频在线观看 | 亚洲精品日韩一区二区电影 | 久久精品一 | 欧美一级在线观看 | 福利视频一区二区 | 天天干天天干 | 91视频三区 | 日韩看片 | 成人免费影院 | 精品视频一区二区三区四区 | 一区二区av | 国产精品久久久久久久久久 | 精品久久久久久国产 | 午夜电影网 | 91高清免费| 另类视频在线 | 国产激情在线 | 国内成人免费视频 | www久久久| 亚洲人成人一区二区在线观看 | 一区二区免费高清视频 | 日日操夜夜操天天操 | 精品国产成人 | 爱爱综合网 | 理伦毛片 | 欧美情趣视频 | 福利视频网站 | 日韩久久精品 | 欧美成人a∨高清免费观看 老司机午夜性大片 | 黄色片免费 | 一区二区久久电影 | 国产99免费视频 | 欧美大片在线观看 | 日韩高清电影 | www.久久| 亚洲精品欧洲 | a级黄色网| 日韩美香港a一级毛片免费 国产综合av | 亚洲视频在线观看 | 亚州春色| 男人av的天堂 |