性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

ReCclay
認證:VIP會員
所在專題目錄 查看專題
【藍橋杯單片機組模塊】1、硬件電路基礎知識 與 蜂鳴器模塊上手
【藍橋杯單片機組】兩種外設訪問方式:IO編程和MM編程
【藍橋杯單片機組模塊】2、以 LED 流水燈為例,熟悉 CT107D 外設驅動套路
【藍橋杯單片機組模塊】3、上手 CT107D 外設驅動之數(shù)碼管模塊
【藍橋杯單片機組模塊】4、按鍵模塊
【藍橋杯單片機組模塊】5、EEPROM模塊
作者動態(tài) 更多
【FPGA基礎】基于 Pango Design Suite(PDS) 的FPGA開發(fā)流程
2021-05-14 11:22
【FPGA基礎】基于Quartus Prime 17.1 的FPGA開發(fā)流程
2021-05-08 17:49
【AD快速入門】8051最小系統(tǒng)繪制
2021-04-22 10:03
藍橋嵌入式之 ADC電壓采集與顯示
2021-04-14 11:48
藍橋嵌入式之 實時時鐘RTC
2021-04-13 14:50

【藍橋杯單片機組模塊】1、硬件電路基礎知識 與 蜂鳴器模塊上手

? 導讀:《藍橋杯單片機組》專欄文章是博主2018年參加藍橋杯的單片機組比賽所做的學習筆記,在當年的比賽中,博主是獲得了省賽一等獎,國賽二等獎的成績。成績雖談不上最好,但至少問心無愧。如今2021年回頭再看該系列文章,仍然感觸頗多。為了能更好地幫助到單片機初學者,今年特地抽出時間對當年的文章邏輯和結構進行重構,以達到初學者快速上手的目的。需要指出的是,由于本人水平有限,如有錯誤還請讀者指出,非常感謝。那么,接下來讓我們一起開始愉快的學習吧。

一、硬件電路基礎知識

工欲善其事必先利其器,閱讀電路原理圖是單片機開發(fā)的基礎,正式開始寫程序之前,我們先來補充一下藍橋單片機組這個原理圖的基礎知識吧。硬件電路總體來說并不太難,這里僅拿74HC573和ULN2003組成的電路做重點介紹。

1.1、74HC573 電路

藍橋的這塊板子主要靠74HC573 電路和74HC138撐起外設的門面,74HC138數(shù)電常講(詳情看這里),這里不再重復。74HC573可能有點陌生,其實也沒啥,記住一點它是個鎖存器,存狀態(tài)的器件就行了。

非得深入了解的話,可以看看這里,了解完之后對付這個比賽也完全夠用了。

如果程序中使用完573后,記得及時的禁止使能!在程序中,可以這樣寫:

注:看到后面會發(fā)現(xiàn)這樣寫不太好,因為容易影響IO的其他位,這里僅僅為了方便入門!

P2 = P2 & 0x1F;

1.2、ULN2003 電路

這個可得好好說說,感覺挺好使的,其內部電路示意圖如下所示。

主要記住幾個信息:

  • 特點①、它是個驅動芯片,可以驅動諸如繼電器和電機此類感性負載!
  • 特點②、輸出端可達500mA/50V.

注:感性負載的緣故,輸出端具有的二極管學名續(xù)流二極管。

ULN2003的9腳是COM口,為內部7個續(xù)流二極管負極的公共端,各二極管的正極分別接各達林頓管的集電極。

用于感性負載時,該腳接負載電源正極,實現(xiàn)續(xù)流作用。如果該腳接地,實際上就是達林頓管的集電極對地接通。所以最好接上VCC!

注:達林頓管是兩個三極管接在一起,極性只認前面的三極管

  • 特點③、ULN2003是一個非門電路

若要深入了解ULN2003的具體參數(shù)信息,可以看這里,但是還是那句話,上面介紹的足矣應付這個比賽。

1.3、了解IO控制原理 - 以驅動蜂鳴器為例

干說的話,有點不直觀,先來看看怎么驅動蜂鳴器吧。板載蜂鳴器為有源蜂鳴器,只要兩端有壓差就會響!板載電路原理圖如下所示:

通過電路圖,不難看出,也就是說我們只需要控制 N_BUZZ 是低電平就OK了,那么再順藤摸瓜就可以找到N_BUZZ是連接到那個IO引腳。

聽起來那豈不是so easy的事么,確實如此...

繼續(xù)往下走咯~

順藤摸瓜的原理圖見上。

再提醒一下 ULN2003 驅動芯片是個非門

故順藤摸瓜可得:想要OUT7=0,那么只能IN7=1了;IN7對應到鎖存器573,不改變狀態(tài),再對應到IO口就是P06了,也就是我們讓 P0^6=1 , 這時候蜂鳴器就會響了。

確實是這樣的,但是別忘了573上面的LE,是需要使能的。也就是Y5C=1 開啟使能,再根據(jù)上面的思路,順藤摸瓜就來到了74HC02這個或非

WR是J13上的,當我們是IO編程的時候,J13的2、3腳是相連的。

關于IO編程這個概念,后面會繼續(xù)深入的。

J13是個3腳排針,它的3腳連接的是GND。那么2、3腳是相連,也即是說WR是接地的。

74HC02同時還是個非門,想要Y5C=1,那么Y5=0即可,Y5又是38譯碼器的輸出,Y5等于0就是38譯碼器選中對應的引腳,因為它是低電平輸出(數(shù)電有講)。

也即是讓C/B/A=1/0/1,C/B/A又分別對應P2口的P27/P26/P25,如下圖所示。

那么一切就理清楚了,若想驅動有源蜂鳴器,只需要讓P2 = (P2&0x1F|0xA0)即可。

二、實驗寫代碼

代碼如下

#include <stc15.h>

sbit Buzz=P0^6;

void main()
{

	P2 = ((P2&0x1F)|0xA0); 
	Buzz = 1;	
	P2 = P2 & 0x1F;
	while(1);
}

關于繼電器,它和蜂鳴器一樣都是Y5C所在寄存器使能控制,只需改變相應的IO口,就可以實現(xiàn)控制繼電器,直接上代碼。

#include <stc15.h>

sbit Buzz = P0^6;
sbit Relay = P0^4;

void main()
{

	P2 = ((P2&0x1F)|0xA0); //使能573
	Buzz = 0;	//關閉蜂鳴器
	Relay = 0; //關閉繼電器
	P2 = P2 & 0x1F;	//禁止573
	while(1);
}

LED燈不過是換成了Y4C,對應選中Y4就可以操作LED了,上代碼。

#include <stc15.h>

sbit Buzz = P0^6;
sbit Relay = P0^4;

void main()
{

	P2 = ((P2&0x1F)|0xA0); //使能573
	Buzz = 0;	//關閉蜂鳴器
	Relay = 0; //關閉繼電器
	P2 = P2 & 0x1F;	//禁止573
	
	P2 = ((P2&0x1F)|0x80);
	P0 = 0x00; //點亮所有LED
	P2 = P2 & 0x1F;
	while(1);
}

三、總結

后期當不使用 LED、繼電器和蜂鳴器 的時候,記得直接關閉,亂響的話很容易影響心情的?。èq(╯^╰)╮)

關閉代碼模板如下:

void CloseFucker()
{
	P2 = (P2 & 0x1F) | 0x80;//關閉LED
	P0 = 0xFF;
	P2 = 0x00;
	
	P2 = (P2 & 0x1F) | 0xA0;//關閉蜂鳴器繼電器
	P0 = P0 & 0xAF;
	P2 = 0x00;
}

小結:本篇文章從藍橋單片機板子的硬件電路入手,詳細介紹了74HC573和ULN2003這兩個不那么熟悉的器件電路功能及作用。接著以驅動蜂鳴器為例,介紹了單片機IO的控制方式。最后舉一反三,介紹了單片機IO控制LED和繼電器的方式。

希望大家多多支持我的原創(chuàng)文章。如有錯誤,請大家及時指正,非常感謝。

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
本篇所含全部資料,點擊此處留下郵箱我會發(fā)給你
資料明細:該資料包含本篇文章介紹到的蜂鳴器、LED和繼電器控制代碼以及藍橋單片機板子的原理圖。
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 352
收藏 342
關注 431
成為作者 賺取收益
全部留言
0/200
  • dy-i2UfRuvP 2021-05-19 13:23
    精彩,很多東西還沒接觸到
    回復
  • dy-iipPZRPN 2021-05-13 22:45
    思路清晰,受益匪淺
    回復
  • dy-3EbVR6Ei 2021-05-13 22:37
    講的真好!
    回復
  • dy-Xq2JxpfN 2021-05-13 22:19
    不亞于看了一篇高質量論文
    回復
  • dy-9g42stbW 2021-05-13 22:11
    對我很有幫助
    回復
  • dy-mLj7kl5v 2021-05-13 20:44
    請教一下
    回復
  • dy-apcih3c1 2021-05-13 20:27
    圍觀學習
    回復
  • dy-k78ZHtFD 2021-05-13 20:09
    講的真好!
    回復
  • dy-nAWdnPGS 2021-05-13 18:57
    圍觀學習
    回復
  • dy-prSX6RBY 2021-05-13 18:48
    對我很有幫助
    回復
  • dy-jqGVYqsF 2021-05-13 16:53
    比論文強一萬倍
    回復
  • dy-VIQ9auhf 2021-05-13 15:07
    精彩,很多東西還沒接觸到
    回復
  • dy-VIQ9auhf 2021-05-13 15:07
    大開眼界,真是好文
    回復
  • dy-7mura2gg 2021-05-13 14:50
    圍觀學習
    回復
  • dy-YN3DYTeH 2021-05-13 14:42
    講的真好!
    回復
  • dy-9hjGevyn 2021-05-13 13:59
    感謝分享
    回復
  • dy-H1WY5jXH 2021-05-13 13:27
    講的真好!
    回復
  • dy-wVQjSHHX 2021-05-13 13:10
    講的真好!
    回復
  • dy-88VlYaFf 2021-05-12 15:54
    對我很有幫助
    回復
  • dy-9QTV6UZW 2021-05-12 15:30
    講的真好!
    回復