資料介紹
方案介紹
? ? ? ?本程序適合單片機(jī)初學(xué)入門(mén)(新手)練習(xí)用,程序注解詳細(xì),非常容易看明白。資料免費(fèi),有需要者可以免費(fèi)獲取單片機(jī)Keil4軟件工程文件及仿真文件。
單片機(jī)源程序:
#include
#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;?? ??? ??? ?//定義延時(shí)變量
uchar n;?? ??? ?//定義方向標(biāo)志位 n=1,從上到下;n=0,從下到上?? ? ?
/* 函數(shù)申明 -----------------------------------------------*/
void delay(uint z);?? ?//延時(shí)函數(shù) ??
void key();?? ??? ??? ?//按鍵處理函數(shù)?
/*
********************************************************************************
** 函數(shù)名稱 : main(void)
** 函數(shù)功能 : 主函數(shù)
********************************************************************************
*/
void main()
{
?? ?uchar ?num;?? ??? ? ??? ??? ?//定義變量
?? ?delay(500);?? ??? ??? ??? ??? ? ??? ??? ?//延時(shí)
?? ?t=300;?? ??? ??? ??? ??? ??? ? ??? ??? ?//初始速度 值大,速度慢,值小,速率快
?? ?n=1;?? ??? ??? ??? ??? ??? ? ??? ??? ?//從上到下
?? ?GND=0;?? ??? ??? ??? ??? ??? ? ??? ??? ?//置按鍵接地端低電平
?? ?while(1)?? ??? ??? ??? ??? ? ??? ??? ?//主循環(huán)
?? ?{?? ??? ??? ??? ??? ??? ??? ? ?
?? ??? ?if(n==1)?? ??? ??? ??? ? ??? ??? ?//從上到下
?? ??? ?{
?? ??? ??? ?num++;?? ??? ??? ??? ??? ??? ?//循環(huán)變量加1
?? ??? ??? ?if(num>=3)?? ??? ??? ??? ??? ?//判斷循環(huán)變量大于3時(shí) ,將循環(huán)變量置0
?? ??? ??? ?num=0;?? ??? ??? ??? ??? ??? ?//將循環(huán)變量置0
?? ??? ??? ?if(num==0)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于0時(shí).點(diǎn)亮1,4,7
?? ??? ??? ?P0=0x6D;?? ??? ??? ??? ??? ?//點(diǎn)亮1,4,7 即01101101?
?? ??? ??? ?else
?? ??? ??? ?if(num==1)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于1時(shí).點(diǎn)亮2,5,8
?? ??? ??? ?P0=0xB6;?? ??? ??? ??? ??? ?//點(diǎn)亮2,5,8 即10110110?
?? ??? ??? ?else
?? ??? ??? ?if(num==2)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于1時(shí).點(diǎn)亮3,6
?? ??? ??? ?P0=0xDB;?? ??? ??? ??? ??? ?//點(diǎn)亮3,6 即11011011
?? ??? ??? ?delay(t); ? ?? ??? ??? ??? ?//延時(shí)
?? ??? ??? ?key();?? ??? ??? ??? ? ? ?? ??? ?//調(diào)用按鍵處理子程序
?? ??? ?}
?? ??? ?else?? ??? ??? ??? ??? ??? ? ? ?//從下到上
?? ??? ?{?
?? ??? ??? ?num++;?? ??? ??? ??? ??? ??? ?//循環(huán)變量加1
?? ??? ??? ?if(num>=3)?? ??? ??? ??? ??? ?//判斷循環(huán)變量大于3時(shí) ,將循環(huán)變量置0
?? ??? ??? ?num=0;?? ??? ??? ??? ??? ??? ?//將循環(huán)變量置0
?? ??? ??? ?if(num==0)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于0時(shí).點(diǎn)亮3,6
?? ??? ??? ?P0=0xDB;?? ??? ??? ??? ??? ?//點(diǎn)亮3,6 即11011011
?? ??? ??? ?else
?? ??? ??? ?if(num==1)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于1時(shí).點(diǎn)亮2,5,8
?? ??? ??? ?P0=0xB6;?? ??? ??? ??? ??? ?//點(diǎn)亮2,5,8 即10110110?
?? ??? ??? ?else
?? ??? ??? ?if(num==2)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于1時(shí).點(diǎn)亮1,4,7
?? ??? ??? ?P0=0x6D;?? ??? ??? ??? ??? ?//點(diǎn)亮1,4,7 即01101101 ?? ?
?? ??? ??? ?delay(t); ? ?? ??? ??? ??? ?//延時(shí)
?? ??? ??? ?key();?? ??? ??? ??? ? ? ?? ??? ?//調(diào)用按鍵處理子程序
?? ??? ?}
?? ?}
}
/*
********************************************************************************
** 函數(shù)名稱 : delay(uint z)
** 函數(shù)功能 : 延時(shí)函數(shù)
********************************************************************************
*/
void delay(uint z)
{
? ? uchar j;?? ??? ??? ??? ??? ??? ? //定義延時(shí)變量
? ? for(z;z>0;z--)?? ??? ??? ??? ??? ? //延時(shí)第一層循環(huán)
? ? ? ? for(j=200;j>0;j--);?? ??? ??? ? //延時(shí)第二層循環(huán)
}
void key()?? ??? ??? ?//按鍵處理函數(shù)?
{
? ? if(k1==0)?? ??? ??? ??? ?//按鍵按下
?? ?{
?? ??? ?delay(20);?? ??? ? ? ?//延時(shí)消除按鍵抖動(dòng)
?? ??? ?while(k1==0);?? ??? ?//等待按鍵松開(kāi)
?? ??? ?n=1;?? ??? ??? ??? ?//從上到下
?? ?}
? ? if(k2==0)?? ??? ??? ??? ?//按鍵按下
?? ?{
?? ??? ?delay(20);?? ??? ? ? ?//延時(shí)消除按鍵抖動(dòng)
?? ??? ?while(k1==0);?? ??? ?//等待按鍵松開(kāi)
?? ??? ?n=0;?? ??? ??? ??? ?//從下到上
?? ?}?? ??? ??
? ? if(k3==0)?? ??? ??? ??? ?//按鍵按下
?? ?{
?? ??? ?t=t+10;?? ??? ??? ??? ?//延時(shí)速度加10
?? ??? ?if(t>600)?? ??? ??? ?//限制延時(shí)速度最慢為1000
?? ??? ?t=600;?? ??? ??? ??? ?//限制延時(shí)系數(shù)1000
?? ?}
? ? if(k4==0)?? ??? ??? ??? ?//按鍵按下
?? ?{
?? ??? ?t=t-10;?? ??? ??? ??? ?//延時(shí)速度減10
?? ??? ?if(t<200)?? ??? ??? ?//限制延時(shí)速度最快為10
?? ??? ?t=200;?? ??? ??? ??? ?//限制延時(shí)系數(shù)10
?? ?}
}
- 基于51單片機(jī)的流水燈設(shè)計(jì)資料源程序文件 7次下載
- 基于AT89C51單片機(jī)的流水燈走馬燈 4次下載
- 51單片機(jī)流水燈實(shí)驗(yàn)(改)
- 51單片機(jī)流水燈現(xiàn)象2
- 一個(gè)基于51單片機(jī)的流水燈程序
- 51單片機(jī)流水燈—keil5+Proteus仿真
- 51單片機(jī)流水燈實(shí)驗(yàn)
- 51單片機(jī) 流水燈
- 51單片機(jī)流水燈教程。
- 【單片機(jī)基礎(chǔ)篇】51單片機(jī)流水燈原理
- 51單片機(jī)流水燈從原理圖到PCB轉(zhuǎn)化
- C51單片機(jī)流水燈C代碼
- AT89C51單片機(jī)流水燈c語(yǔ)言程序及詳解(掃盲教程)
- 基于51單片機(jī)的流水燈參考案例下載 43次下載
- 51單片機(jī)流水燈程序 174次下載
- 基于單片機(jī)的流水燈電路設(shè)計(jì) 7.1k次閱讀
- 如何使用51單片機(jī)制作一個(gè)心形流水燈 7.8k次閱讀
- 利用51單片機(jī)流水燈和LCD1602實(shí)現(xiàn)表白功能 2.7k次閱讀
- 基于51單片機(jī)按鍵控制流水燈設(shè)計(jì) 6.5k次閱讀
- 單片機(jī)控制輪流交替閃爍跑馬燈設(shè)計(jì) 3.3k次閱讀
- 利用單片機(jī)點(diǎn)亮流水燈實(shí)例解析 1.2w次閱讀
- 如何通過(guò)FPGA實(shí)現(xiàn)一個(gè)流水燈? 9k次閱讀
- 51單片機(jī)通過(guò)I/O口對(duì)LED進(jìn)行控制的設(shè)計(jì) 6.1k次閱讀
- AT89C51單片機(jī)的流水燈控制設(shè)計(jì) 9.4k次閱讀
- 實(shí)現(xiàn)51單片機(jī)流水燈的三種詳細(xì)資料說(shuō)明 6.9k次閱讀
- 51單片機(jī)如何實(shí)現(xiàn)流水燈?51單片機(jī)實(shí)現(xiàn)流水燈的三種方法詳細(xì)分析 9.9w次閱讀
- 單片機(jī)控制花樣流水燈原理圖及程序 5.7w次閱讀
- 51單片機(jī)流水燈電路圖大全(六款單片機(jī)流水燈電路圖介紹) 19.7w次閱讀
- 單片機(jī)C語(yǔ)言程序設(shè)計(jì)之TIMER0控制流水燈 4.9k次閱讀
- 如何更高效地實(shí)現(xiàn)51單片機(jī)流水燈? 1.1w次閱讀
下載排行
本周
- 1矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書(shū) Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費(fèi)
- 2HT81696H 內(nèi)置升壓的30W立體聲D類音頻功放數(shù)據(jù)手冊(cè)
- 1.21 MB | 1次下載 | 免費(fèi)
- 3HTA6863 3W超低噪聲超低功耗單聲道D類音頻功率放大器數(shù)據(jù)手冊(cè)
- 0.87 MB | 次下載 | 免費(fèi)
- 4南芯 Southchip SC8802C 充電控制器 規(guī)格書(shū) Datasheet 佰祥電子
- 88.16 KB | 次下載 | 免費(fèi)
- 5矽力杰 Silergy SY7065 同步升壓轉(zhuǎn)換器 規(guī)格書(shū) Datasheet 佰祥電子
- 910.67 KB | 次下載 | 免費(fèi)
- 6矽力杰 Silergy SY7066 同步升壓轉(zhuǎn)換器 規(guī)格書(shū) Datasheet 佰祥電子
- 989.14 KB | 次下載 | 免費(fèi)
- 7WD6208A產(chǎn)品規(guī)格書(shū)
- 631.24 KB | 次下載 | 免費(fèi)
- 8NB685 26 V,12 A,低靜態(tài)電流,大電流 同步降壓變換器數(shù)據(jù)手冊(cè)
- 1.64 MB | 次下載 | 2 積分
本月
- 1EMC PCB設(shè)計(jì)總結(jié)
- 0.33 MB | 12次下載 | 免費(fèi)
- 2PD取電芯片 ECP5702規(guī)格書(shū)
- 0.88 MB | 5次下載 | 免費(fèi)
- 3矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書(shū) Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費(fèi)
- 4氮化鎵GaN FET/GaN HEMT 功率驅(qū)動(dòng)電路選型表
- 0.10 MB | 3次下載 | 免費(fèi)
- 5PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊(cè)
- 0.88 MB | 3次下載 | 免費(fèi)
- 6SY50655 用于高輸入電壓應(yīng)用的偽固定頻率SSR反激式穩(wěn)壓器英文資料
- 1.01 MB | 3次下載 | 免費(fèi)
- 7怎么為半導(dǎo)體測(cè)試儀選擇精密放大器
- 0.65 MB | 2次下載 | 免費(fèi)
- 8SY52341 次級(jí)側(cè)同步整流英文手冊(cè)
- 0.94 MB | 2次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191469次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81606次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73832次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論