日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

51单片机学习历程(二)快速入门51单片机

發(fā)布時間:2023/12/9 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 51单片机学习历程(二)快速入门51单片机 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

有些學(xué)生覺得單片機很難學(xué)其實掌握入門方法也不難

開發(fā)環(huán)境搭建,不用多說,看網(wǎng)上教程

拿到51單片機該如何做?

首先打開看51單片機的管腳分布,51單片機是8個引腳一組,為什么是8個一組呢??
因為它是8位單片機,正好一個字節(jié)8位可以控制它?
51單片機有4組(P1,P2,P3,P4)通用管腳,所以51單片機有4*8=32個通用管腳

管腳有那么可怕嗎?

其實通用管腳不就類似于開關(guān),初學(xué)者先當(dāng)開關(guān)用

點燈也不難

看下原理圖,看開發(fā)板上的LED接到了哪個管腳,也就類似于接到了哪個開關(guān)?
例如LED接到了P1.0腳

怎么點亮呢?

家里面點燈不就是把開關(guān)打上嗎??
單片機也一樣啊,給相應(yīng)管腳輸出高(1),或者(0)不就相當(dāng)于把開關(guān)打上了嗎?
只是這里的開關(guān)打上是相對而言的,看自己的原理圖上的LED燈是怎么接線的?
如果LED燈一段接了正(VCC),那么另一端(管腳)輸出(0)低電平,這樣一高一低不就導(dǎo)通了嗎?
反之,管腳輸出(1)導(dǎo)通

程序怎么寫

如果按純粹的c語言來寫

#include "stdio.h" void main() //void沒有返回值 所以不用return {int LED;LED=0; //假設(shè)(低電平)導(dǎo)通 }

以上程序看似正確,大家有沒有想過LED代表什么?

有的人可能會不假思索的說,不就是開關(guān)嘛,(管腳)

的確沒錯,但是LED在這里只是一個普通變量哦

問題:怎么辦呢?

答案 :這就是單片機c語言和普通c語言的不同,sbit 位定義

單片機c語言多了一個位定義:sbit LED=P1^0?
這樣LED不再是普通變量了,它就可以代表一個管腳

問題:P1^0哪里來的?

答案:P1^0來自一個頭文件 reg51.h或者reg52.h(區(qū)別不大)

這樣就出來了一個完整的LED單片機程序

#include "stdio.h" #include "reg52.h" sbit LED=p1^0; void main() //void沒有返回值 所以不用return {LED=0; //假設(shè)(低電平)導(dǎo)通while(1); }

問題:為什么要加while(1)?

答案:因為,我們是要燈一直點亮,所以要死循環(huán),

有的會說:我不加死循環(huán)也是一直亮啊

答案:那是你的程序又再次重啟了一遍,為了讓程序一直執(zhí)行就加上死循環(huán)

問題:如果我要點亮多個LED燈,一個一個定義那不要累死嗎

答案:不會累死的,因為剛開始是一位一位操作,我們還可以用一個字節(jié)直接控制一組LED(8)個燈

因為單片機不是8位的嗎,所以直接給LED=00000000; 這樣就可以控制8個燈了,沒有8個燈也沒關(guān)系,只要找到對應(yīng)的管腳(對應(yīng)的位輸出(0或者1))

#include "stdio.h" #include "reg52.h" #define LED p1 //這里不再是位定義 P1包含在了reg52.h里面,其實P1就是一個地址而已,以后對地址有概念了再去深究 void main() //void沒有返回值 所以不用return {LED=00000000; //假設(shè)(低電平)導(dǎo)通 如果8位二進(jìn)制麻煩,可以把它轉(zhuǎn)換成十六進(jìn)制while(1); }

如果要燈流動(花樣流水)怎么辦

答案:其實不就是把相應(yīng)的燈打開關(guān)閉而已嘛

為了流水方便,程序好寫一點,可以看看(邏輯運算)(例如:移位,按位與(或)) 等知識

最后建議:

1、先拿著例程燒錄的開發(fā)板上去,建立自信?
2、看接線原理圖分析例程,不懂可以看 視頻教程,?
2、建議可以買一本郭天祥的51單片機書籍看看(視頻別看,不咋地)?
3、看懂之后修改例程,按字節(jié)理解的思路寫程序,搞點與例程不同的?
4、學(xué)了一段時期(兩三周)后,制定小目標(biāo):做個小作品(交通路燈)啥的?
5、多問個究竟(為什么是這樣的),網(wǎng)上找原因,比如(csdn,電子發(fā)燒友,51黑電子什么的)?
5、學(xué)會做筆記(寫博客),把自己理解的寫上去,便于以后查看

總結(jié)

以上是生活随笔為你收集整理的51单片机学习历程(二)快速入门51单片机的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。