資料介紹
方案介紹
? ? ? ?本程序適合單片機初學入門(新手)練習用,程序注解詳細,非常容易看明白。資料免費,有需要者可以免費獲取單片機Keil4軟件工程文件及仿真文件。
單片機源程序:
#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;?? ??? ??? ?//定義延時變量
uchar n;?? ??? ?//定義方向標志位 n=1,從上到下;n=0,從下到上?? ? ?
/* 函數(shù)申明 -----------------------------------------------*/
void delay(uint z);?? ?//延時函數(shù) ??
void key();?? ??? ??? ?//按鍵處理函數(shù)?
/*
********************************************************************************
** 函數(shù)名稱 : main(void)
** 函數(shù)功能 : 主函數(shù)
********************************************************************************
*/
void main()
{
?? ?uchar ?num;?? ??? ? ??? ??? ?//定義變量
?? ?delay(500);?? ??? ??? ??? ??? ? ??? ??? ?//延時
?? ?t=300;?? ??? ??? ??? ??? ??? ? ??? ??? ?//初始速度 值大,速度慢,值小,速率快
?? ?n=1;?? ??? ??? ??? ??? ??? ? ??? ??? ?//從上到下
?? ?GND=0;?? ??? ??? ??? ??? ??? ? ??? ??? ?//置按鍵接地端低電平
?? ?while(1)?? ??? ??? ??? ??? ? ??? ??? ?//主循環(huán)
?? ?{?? ??? ??? ??? ??? ??? ??? ? ?
?? ??? ?if(n==1)?? ??? ??? ??? ? ??? ??? ?//從上到下
?? ??? ?{
?? ??? ??? ?num++;?? ??? ??? ??? ??? ??? ?//循環(huán)變量加1
?? ??? ??? ?if(num>=3)?? ??? ??? ??? ??? ?//判斷循環(huán)變量大于3時 ,將循環(huán)變量置0
?? ??? ??? ?num=0;?? ??? ??? ??? ??? ??? ?//將循環(huán)變量置0
?? ??? ??? ?if(num==0)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于0時.點亮1,4,7
?? ??? ??? ?P0=0x6D;?? ??? ??? ??? ??? ?//點亮1,4,7 即01101101?
?? ??? ??? ?else
?? ??? ??? ?if(num==1)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于1時.點亮2,5,8
?? ??? ??? ?P0=0xB6;?? ??? ??? ??? ??? ?//點亮2,5,8 即10110110?
?? ??? ??? ?else
?? ??? ??? ?if(num==2)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于1時.點亮3,6
?? ??? ??? ?P0=0xDB;?? ??? ??? ??? ??? ?//點亮3,6 即11011011
?? ??? ??? ?delay(t); ? ?? ??? ??? ??? ?//延時
?? ??? ??? ?key();?? ??? ??? ??? ? ? ?? ??? ?//調(diào)用按鍵處理子程序
?? ??? ?}
?? ??? ?else?? ??? ??? ??? ??? ??? ? ? ?//從下到上
?? ??? ?{?
?? ??? ??? ?num++;?? ??? ??? ??? ??? ??? ?//循環(huán)變量加1
?? ??? ??? ?if(num>=3)?? ??? ??? ??? ??? ?//判斷循環(huán)變量大于3時 ,將循環(huán)變量置0
?? ??? ??? ?num=0;?? ??? ??? ??? ??? ??? ?//將循環(huán)變量置0
?? ??? ??? ?if(num==0)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于0時.點亮3,6
?? ??? ??? ?P0=0xDB;?? ??? ??? ??? ??? ?//點亮3,6 即11011011
?? ??? ??? ?else
?? ??? ??? ?if(num==1)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于1時.點亮2,5,8
?? ??? ??? ?P0=0xB6;?? ??? ??? ??? ??? ?//點亮2,5,8 即10110110?
?? ??? ??? ?else
?? ??? ??? ?if(num==2)?? ??? ??? ??? ??? ?//判斷循環(huán)變量等于1時.點亮1,4,7
?? ??? ??? ?P0=0x6D;?? ??? ??? ??? ??? ?//點亮1,4,7 即01101101 ?? ?
?? ??? ??? ?delay(t); ? ?? ??? ??? ??? ?//延時
?? ??? ??? ?key();?? ??? ??? ??? ? ? ?? ??? ?//調(diào)用按鍵處理子程序
?? ??? ?}
?? ?}
}
/*
********************************************************************************
** 函數(shù)名稱 : delay(uint z)
** 函數(shù)功能 : 延時函數(shù)
********************************************************************************
*/
void delay(uint z)
{
? ? uchar j;?? ??? ??? ??? ??? ??? ? //定義延時變量
? ? for(z;z>0;z--)?? ??? ??? ??? ??? ? //延時第一層循環(huán)
? ? ? ? for(j=200;j>0;j--);?? ??? ??? ? //延時第二層循環(huán)
}
void key()?? ??? ??? ?//按鍵處理函數(shù)?
{
? ? 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;?? ??? ??? ??? ?//限制延時系數(shù)1000
?? ?}
? ? if(k4==0)?? ??? ??? ??? ?//按鍵按下
?? ?{
?? ??? ?t=t-10;?? ??? ??? ??? ?//延時速度減10
?? ??? ?if(t<200)?? ??? ??? ?//限制延時速度最快為10
?? ??? ?t=200;?? ??? ??? ??? ?//限制延時系數(shù)10
?? ?}
}
- 基于51單片機的流水燈設計資料源程序文件 4次下載
- 基于AT89C51單片機的流水燈走馬燈 4次下載
- 51單片機流水燈實驗(改)
- 51單片機流水燈現(xiàn)象2
- 一個基于51單片機的流水燈程序
- 51單片機流水燈—keil5+Proteus仿真
- 51單片機流水燈實驗
- 51單片機 流水燈
- 51單片機流水燈教程。
- 【單片機基礎篇】51單片機流水燈原理
- 51單片機流水燈從原理圖到PCB轉(zhuǎn)化
- C51單片機流水燈C代碼
- AT89C51單片機流水燈c語言程序及詳解(掃盲教程)
- 基于51單片機的流水燈參考案例下載 43次下載
- 51單片機流水燈程序 170次下載
- 基于單片機的流水燈電路設計 5048次閱讀
- 如何使用51單片機制作一個心形流水燈 5402次閱讀
- 利用51單片機流水燈和LCD1602實現(xiàn)表白功能 1804次閱讀
- 基于51單片機按鍵控制流水燈設計 5307次閱讀
- 單片機控制輪流交替閃爍跑馬燈設計 2418次閱讀
- 利用單片機點亮流水燈實例解析 1w次閱讀
- 如何通過FPGA實現(xiàn)一個流水燈? 8213次閱讀
- 51單片機通過I/O口對LED進行控制的設計 5460次閱讀
- AT89C51單片機的流水燈控制設計 8938次閱讀
- 實現(xiàn)51單片機流水燈的三種詳細資料說明 6228次閱讀
- 51單片機如何實現(xiàn)流水燈?51單片機實現(xiàn)流水燈的三種方法詳細分析 9.7w次閱讀
- 單片機控制花樣流水燈原理圖及程序 5.5w次閱讀
- 51單片機流水燈電路圖大全(六款單片機流水燈電路圖介紹) 19.3w次閱讀
- 單片機C語言程序設計之TIMER0控制流水燈 4563次閱讀
- 如何更高效地實現(xiàn)51單片機流水燈? 1w次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網(wǎng)絡安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論