51微控制器學習歷程(二)快速入門51微控制器
有些學生覺得微控制器很難學其實掌握入門方法也不難
開發環境搭建,不用多說,看網上教程
拿到51微控制器該如何做?
首先開啟看51微控制器的管腳分佈,51微控制器是8個引腳一組,為什麼是8個一組呢?
因為它是8位微控制器,正好一個位元組8位可以控制它
51微控制器有4組(P1,P2,P3,P4)通用管腳,所以51微控制器有4*8=32個通用管腳
管腳有那麼可怕嗎?
其實通用管腳不就類似於開關,初學者先當開關用
點燈也不難
看下原理圖,看開發板上的LED接到了哪個管腳,也就類似於接到了哪個開關
例如LED接到了P1.0腳
怎麼點亮呢?
家裡麵點燈不就是把開關打上嗎?
微控制器也一樣啊,給相應管腳輸出高(1),或者(0)不就相當於把開關打上了嗎
只是這裡的開關打上是相對而言的,看自己的原理圖上的LED燈是怎麼接線的
如果LED燈一段接了正(VCC),那麼另一端(管腳)輸出(0)低電平,這樣一高一低不就導通了嗎
反之,管腳輸出(1)導通
程式怎麼寫
如果按純粹的c語言來寫
#include "stdio.h"
void main() //void沒有返回值 所以不用return
{
int LED;
LED=0; //假設(低電平)導通
}
以上程式看似正確,大家有沒有想過LED代表什麼?
有的人可能會不假思索的說,不就是開關嘛,(管腳)
的確沒錯,但是LED在這裡只是一個普通變數哦
問題:怎麼辦呢?
答案 :這就是微控制器c語言和普通c語言的不同,sbit 位定義
微控制器c語言多了一個位定義:sbit LED=P1^0
這樣LED不再是普通變數了,它就可以代表一個管腳
問題:P1^0哪裡來的?
答案:P1^0來自一個標頭檔案 reg51.h或者reg52.h(區別不大)
這樣就出來了一個完整的LED微控制器程式
#include "stdio.h"
#include "reg52.h"
sbit LED=p1^0;
void main() //void沒有返回值 所以不用return
{
LED=0; //假設(低電平)導通
while(1);
}
問題:為什麼要加while(1)?
答案:因為,我們是要燈一直點亮,所以要死迴圈,
有的會說:我不加死迴圈也是一直亮啊
答案:那是你的程式又再次重啟了一遍,為了讓程式一直執行就加上死迴圈
問題:如果我要點亮多個LED燈,一個一個定義那不要累死嗎
答案:不會累死的,因為剛開始是一位一位操作,我們還可以用一個位元組直接控制一組LED(8)個燈
因為微控制器不是8位的嗎,所以直接給LED=00000000; 這樣就可以控制8個燈了,沒有8個燈也沒關係,只要找到對應的管腳(對應的位輸出(0或者1))
#include "stdio.h"
#include "reg52.h"
#define LED p1 //這裡不再是位定義 P1包含在了reg52.h裡面,其實P1就是一個地址而已,以後對地址有概念了再去深究
void main() //void沒有返回值 所以不用return
{
LED=00000000; //假設(低電平)導通 如果8位二進位制麻煩,可以把它轉換成十六進位制
while(1);
}
如果要燈流動(花樣流水)怎麼辦
答案:其實不就是把相應的燈開啟關閉而已嘛
為了流水方便,程式好寫一點,可以看看(邏輯運算)(例如:移位,按位與(或)) 等知識
最後建議:
1、先拿著例程燒錄的開發板上去,建立自信
2、看接線原理圖分析例程,不懂可以看 視訊教程,
2、建議可以買一本郭天祥的51微控制器書籍看看(視訊別看,不咋地)
3、看懂之後修改例程,按位元組理解的思路寫程式,搞點與例程不同的
4、學了一段時期(兩三週)後,制定小目標:做個小作品(交通路燈)啥的
5、多問個究竟(為什麼是這樣的),網上找原因,比如(csdn,電子發燒友,51黑電子什麼的)
5、學會做筆記(寫部落格),把自己理解的寫上去,便於以後檢視
相關文章
- 快速入門51微控制器
- 51微控制器學習跳轉
- 51微控制器入門:LED燈控制(01)
- 51微控制器入門:數碼管(3)
- 51微控制器入門:獨立按鍵(02)
- 2020-10-31 51微控制器學習
- 51微控制器學習資料書籍分享
- 51微控制器紅外接收
- 51微控制器彙編教程
- 51微控制器實現流水燈
- 51微控制器序列通訊原理
- 51微控制器學習筆記——STC15W201S系列筆記
- 簡單的51微控制器多工作業系統(C51)作業系統
- python、51微控制器、百度ai介面PythonAI
- 基於51微控制器的定時器定時器
- 51、52微控制器使用矩陣鍵盤矩陣
- 51微控制器系列(三)51 微控制器遊戲設計 —— 雙人對戰小遊戲(石頭剪刀布)遊戲設計
- 51微控制器實現數碼管顯示
- 51微控制器程式框架之矩陣按鍵框架矩陣
- 51微控制器程式框架之組合按鍵框架
- 基於STC51微控制器的霓虹燈
- 基於51微控制器的矩陣按鍵矩陣
- 51微控制器程式下載失敗原因排查
- 51微控制器定時器數碼管顯示定時器
- 1、51微控制器實現LED燈的閃爍
- 51微控制器mcp4728驅動程式原始碼原始碼
- 2024-03-08 51微控制器開發筆記筆記
- 51微控制器程式框架之LED閃爍_方法1框架
- 51微控制器流水燈電路以及C程式碼C程式
- 基於51微控制器的智慧溫控風扇
- 基於51微控制器液晶萬年曆設計
- 輕鬆玩轉51微控制器C語言pdfC語言
- 51微控制器win10無法識別怎麼解決_51微控制器win10無法識別如何修復Win10
- 【微控制器彙編實戰】基於51微控制器的搶答器設計
- C51微控制器——紅外遙控 驅動程式
- 51微控制器非常簡潔的矩陣掃描程式矩陣
- 51微控制器彙編程式,溫溼度報警專案
- 51微控制器:P3.3口輸入/P 1口輸出實驗