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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

单片机简介 & 点亮LED & 流水灯 & 电路基础

發(fā)布時間:2023/12/15 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 单片机简介 & 点亮LED & 流水灯 & 电路基础 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

視頻地址:https://www.bilibili.com/video/av10765766

超詳細!!!!!!

單片機內(nèi)部三大資源

【資源:單片機可提供使用的東西】

FLASH

可以重復(fù)擦寫
斷電后數(shù)據(jù)不丟失

RAM

存儲中間運算過程中產(chǎn)生和需要的數(shù)據(jù)
數(shù)據(jù)斷電丟失
讀寫速度非常快
無限次擦寫

SFR

單片機內(nèi)部的功能對應(yīng)一個或多個SFR
對SFR的讀寫、配置來實現(xiàn)單片機各種功能

啥是51單片機?

兼容Inter的MCS-51體系架構(gòu)的一系列單片機

選擇的STC89C52的數(shù)據(jù)

想讓單片機運行程序——> 需要外圍電路

單片機最小系統(tǒng)——>用最少元器件搭建的可以工作的系統(tǒng)

XTAL 晶振電路 提供基準步調(diào)

VCC 電源 40腳 正極

GND 接地 20腳 負極

RST 復(fù)位

電壓有 5v 3.3v

STC89C52用5v供電

LED發(fā)光二極管

點亮一個LED發(fā)光二極管【用程序】

通過控制P0.0電位的高低來控制LED亮滅

【即告訴編程軟件 P0,就在0x80 的位置上】

可以直接 #include<reg52.h>

但,有些擴展的特殊功能寄存器在這個庫里是沒有的,可通過sfr 來定義其位置

控制一位:

即P0.0引腳

每一個功能對應(yīng)一個工程

點亮LED:

#include <reg52.h>
#define uint unsigned int
sbit led = P2^0;
void light(uint x);
void main()
{
 led=0;
 light(1);
 led=1;
 light(2);
 P2=0xaa;
 light(3);
 P2=55;
    light(3);
}
void light(uint x)
{
  uint i,j;
  for(i=x*1000;i>0;i--)
  for(j=110;j>0;j--);
}

【保存為.c文件】

生成HEX文件

顯示下方則完成

燒錄程序

流水燈:

#include <reg52.h>
#include <intrins.h>   //包含_crol_函數(shù)的頭文件
#define uint unsigned int
#define uchar unsigned char
void delayms(uint);
uchar aa;//賦值用
void main()
{
   aa=0xfe;//11111110
  while(1)
  {
   P2=aa;
  delayms(500);//延時500ms
  aa=_crol_(aa,1);//將aa循環(huán)左移1位并將結(jié)果賦值給aa
  }
}
void delayms(uint xms)
{
 uint i,j;
 for(i=xms;i>0;i--)
  for(j=110;j>0;j--);
}

單片機編寫程序是根據(jù)硬件電路圖編寫的

硬件基礎(chǔ)

大電容低頻濾波

小電容高頻濾波

低頻濾波電容作用:

(1)保護: 相當于直接用水管澆花和用花灑澆花

(2)穩(wěn)定:功耗不是一成不變的

【比如點亮1個LED,然后點亮所有LED,造成電流瞬間加大,瞬間電壓拉低,使有些元件無法正常工作,加上低頻濾波電容后,可以穩(wěn)定這一過程,以適應(yīng)系統(tǒng)慢慢增加電壓過程,避免停機】

電容參數(shù)的選取:

(1)耐壓值:比如一個5V的系統(tǒng),則此電容的耐壓值必須高于5V

【通常是電壓的1.5~2倍】

(2)電壓容值:根據(jù)后端電路功耗情況+功耗突然變化的情況選取

【比如,5V系統(tǒng)加上100μF的電容,功耗變化電壓降至4V,部分元件無法工作,但加490μF的電容就可以保證該系統(tǒng)在功耗突然變化時,使得全部元件仍然正常工作】

(3)類型:

性能:鋁<鉭tan<陶瓷電容【尤其在通信鄰域】

但同樣的特征,鋁電解電容很便宜,體積大

陶瓷和鉭體積較小

高頻濾波電容:

把靜電消耗掉,防止進入芯片內(nèi)部

用的時候直接用104電容【10*10^4】即0.1微法的電容就可以了【5V系統(tǒng)里足夠用】

都是陶瓷的,也有磁片

三極管

在PNP型三極管中,基極比發(fā)射極電壓0.7V即可導(dǎo)通

用P1.0的高低電平【差0.7V】控制三極管導(dǎo)通來控制小燈亮滅

單片機其實就是 控制器件【電流輸出能力很差】——起四兩撥千斤的作用

驅(qū)動能力——電流輸出能力

單片機的 IO 電流輸出能力有限

普通IO口,內(nèi)部上拉電阻比較大,輸出電流幾十微安---上百微安

所以,不會采取下圖方式:

總線上:是一一對應(yīng)連接一起的關(guān)系,而不是全部都連一起

LED本身就有2V的壓降

IO口作為低電平時,輸入的電流不能一直太大,還受到單片機整體IO口【50mA的限制,即高于50mA會造成傷害】

解決辦法:

是雙向緩沖器,也是電流緩沖器

O-E- 使能引腳 低電平有效,使74HC245正常工作

DIR 方向引腳 接高電平的話 A1【輸入】 ——> B1【輸出】 .....一一對應(yīng)

        接低電平的話 B1【輸入】——> A1 【輸出】 .....一一對應(yīng)

如果讓所有的LED點亮,DB_0 ~ DB_7全部輸出低電平,形成八路共64mA的電流,但單片機整體IO口【50mA的限制,即高于50mA會造成傷害】,所以接74HC245緩沖器【70mA】,可起到電流緩沖的作用

還加三極管的目的是保證 電流輸出能力【就像水管中較窄的地方,水流速度變慢】,邏輯上A1...和B1...是導(dǎo)通的,只是起到電流緩沖的作用

74HC138電路 ----- 拓展單片機IO口【數(shù)字擴展芯片】

又叫三八譯碼器 ———— 由三個輸入來控制八個輸出口的狀態(tài)

即減小電流,通過小電流來控制大電流

點亮LED整體工作過程:【視屏教學(xué)中的程序,,我用的實驗板是普中的,不一樣】

其中ADDR0 ADDR1 ADDR2 ADDR3分別通過跳線帽與 P1^0 P1^1 P1^2 P1^3引腳相連

觀察下方的ENABLE使能引腳和74HC138真值表

所以,程序中將ADDR3 = 1 ENABLE=0 【兩條線】,使74HC138有效

# 有無效是指外界是否對其有影響 如當使能引腳不是100時,所有的輸出引腳都是H,即1,輸入引腳對其無影響,故無效

通過ADDR0 ADDR1 ADDR2 為011,使Y6引腳輸出低電平

從而使Y6引腳輸出低電平,即LEDS6輸出低電平,從而使三極管導(dǎo)通

從而,只要使DB_0 輸出低電平【即程序中的LED = P0^0 = 0】,DB0 也即低電平,從而使LED電路DB0為低電平,從而電路導(dǎo)通,電流沿著LED2流入74HC245的GND

【單片機IO口默認是高電平,所以別的DB1~7都是高電平,電流不導(dǎo)通,LED不亮】

總結(jié)

以上是生活随笔為你收集整理的单片机简介 &amp; 点亮LED &amp; 流水灯 &amp; 电路基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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