當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]一般說1T 4T 6T 12T的單片機(jī)是指的什么?標(biāo)準(zhǔn)51是12T的,就是說12個(gè)時(shí)鐘周期(晶振周期,例如12M的,周期是1/12M,單位秒),機(jī)器做一個(gè)指令周期,剛好就是1/12M*12=1uS,常見指令例如nop就是一個(gè)周期,剛好1uS,其他的

一般說1T 4T 6T 12T的單片機(jī)是指的什么?

標(biāo)準(zhǔn)51是12T的,就是說12個(gè)時(shí)鐘周期(晶振周期,例如12M的,周期是1/12M,單位秒),機(jī)器做一個(gè)指令周期,剛好就是1/12M*12=1uS,常見指令例如nop就是一個(gè)周期,剛好1uS,其他的大多多于一個(gè)周期,乘除法更多。所以如果計(jì)算指令時(shí)間可以這樣算。

而現(xiàn)在很多51核的單片機(jī)工藝質(zhì)量上去后,頻率大大提高,增強(qiáng)型51有6T的,如果接12M的話,一個(gè)nop就只需要0.51uS,如果是STC的部分單片機(jī)12T的話,那只需要1/12uS。

單片機(jī)的晶振不是隨便選,要看技術(shù)手冊,看最高頻率,看支持類型等等。一般12M,接串口的話11.0592M。如果是PIC,很多4M,8M。

不是越高越好,對很多不需要大量處理,只是控制的情況,為了增加可靠性,降低編程難度,降低功耗,往往可選用低頻的,例如實(shí)時(shí)時(shí)鐘的32768晶振。

外接晶體引腳

XTAL1 是片內(nèi)振蕩器的反相放大器輸入端,XTAL2 則是輸出端,使用外部振蕩器

時(shí),外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2 懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF 左右。

每個(gè)8051處理周期包括12 個(gè)振蕩周期每12 個(gè)振蕩周期用來完成一項(xiàng)操作如取指令和計(jì)算指令執(zhí)行時(shí)間可把時(shí)鐘頻率除以12 取倒數(shù)然后指令執(zhí)行所須的周期數(shù)。因此如果你的系統(tǒng)時(shí)鐘是11.059MHz 除以12 后就得到了每秒執(zhí)行的指令個(gè)數(shù)為921583條指令取倒數(shù)將得到每條指令所須的時(shí)間1.085ms。

復(fù)位 RST

在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24 個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腿時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51 芯片便循環(huán)復(fù)位。復(fù)位后P0-P3 口均置1 引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR 全部清零。當(dāng)復(fù)位腳由

高電平變?yōu)榈碗娖綍r(shí),芯片為ROM 的00H 處開始運(yùn)行程序,復(fù)位操作不會(huì)對內(nèi)部 RAM 有所影響。

輸入輸出引腳

(1) P0 端口[P0.0-P0.7] P0 是一個(gè)8 位漏極開路型雙向I/O 端口,端口置1(對端口寫1)時(shí)作高阻抗輸入端。作為輸出口時(shí)能驅(qū)動(dòng)8 個(gè)TTL。對內(nèi)部Flash 程序存儲器編程時(shí),接收指令字節(jié);校驗(yàn)程序時(shí)輸出指令字節(jié),要求外接上拉電阻。在訪問外部程序和外部數(shù)據(jù)存儲器時(shí),P0 口是分時(shí)轉(zhuǎn)換的地址(低8 位)/數(shù)據(jù)

總線,訪問期間內(nèi)部的上拉電阻起作用。

(2) P1 端口[P1.0-P1.7] P1 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/0 端口。輸出時(shí)可驅(qū)動(dòng)4 個(gè)TTL。端口置1 時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部 Flash 程序存儲器編程時(shí),接收低8 位地址信息。

(3) P2 端口[P2.0-P2.7] P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/0 端口。輸出時(shí)可驅(qū)動(dòng)4 個(gè)TTL。端口置1 時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash 程序存儲器編程時(shí),接收高8 位地址和控制信息。在訪問外部程序和16 位外部數(shù)據(jù)存儲器時(shí),P2 口送出高8 位地址。而在訪問8

位地址的外部數(shù)據(jù)存儲器時(shí)其引腳上的內(nèi)容在此期間不會(huì)改變。

(4) P3 端口[P3.0-P3.7] P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/0 端口。輸出時(shí)可驅(qū)動(dòng)4 個(gè)TTL。端口置1 時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash 程序存儲器編程時(shí),接控制信息。除此之外P3 端口還用于一些專門功能,具體請看

P3 引腳兼用功能

P3.0 串行通訊輸入(RXD)

P3.1 串行通訊輸出(TXD)

P3.2 外部中斷0( INT0)

P3.3 外部中斷1(INT1)

P3.4 定時(shí)器0 輸入(T0)

P3.5 定時(shí)器1 輸入(T1)

P3.6 外部數(shù)據(jù)存儲器寫選通WR

P3.7 外部數(shù)據(jù)存儲器寫選通RD

波特率與比特率:

波特率是指數(shù)據(jù)信號對載波的調(diào)制速率,它用單位時(shí)間內(nèi)載波調(diào)制狀態(tài)改變的次數(shù)來表示,其單位是波特(Baud)。比特率:每秒鐘傳送的二進(jìn)制位數(shù),用 b / s 表示(b表示bit)波特率與比特率的關(guān)系是比特率=波特率X單個(gè)調(diào)制狀態(tài)對應(yīng)的二進(jìn)制位數(shù)。

兩相調(diào)制(單個(gè)調(diào)制狀態(tài)對應(yīng)1個(gè)二進(jìn)制位)的比特率等于波特率;四相調(diào)制(單個(gè)調(diào)制狀態(tài)對應(yīng)2個(gè)二進(jìn)制位)的比特率為波特率的兩倍;八相調(diào)制(單個(gè)調(diào)制狀態(tài)對應(yīng)3個(gè)二進(jìn)制位)的比特率為波特率的三倍;依次類推。

晶振可以根據(jù)自己的情況使用,一般實(shí)驗(yàn)板上是用11.0592MHz 或12MHz,使用前者的好外是可以產(chǎn)生標(biāo)準(zhǔn)的串口波特率,后者則一個(gè)機(jī)器周期為1 微秒,便于做精確定時(shí)。在自己做實(shí)驗(yàn)里,注意的是VCC 是+5V 的,不能高于此值,否則將損壞單片機(jī),太低則不能正常工作。在31 腳要接高電平,這樣我們才能執(zhí)行片內(nèi)的程序,如接低電平則使用片外的程序存儲器。

KEIL uVision2 C51 編譯器所支持的數(shù)據(jù)類型

數(shù)據(jù)類型長度值域

Unsigned char單字節(jié)0~255

Signed char單字節(jié)-128~+127

Unsigned int雙字節(jié)0~65535

Signed int雙字節(jié)-32768~+32767

Unsigned long四字節(jié)0~4294967295

Signed long四字節(jié)-2147483648~+2147483647

float四字節(jié)±1.175494E-38~±3.402823E+38

bit1位0或1

sfr單字節(jié)0~255

sfr16雙字節(jié)0~65535

Sbit1位0或1

變量的定義可以使用所有C51 編譯器支持的數(shù)據(jù)類型,而常量的數(shù)據(jù)類型只有整型、浮點(diǎn)型、字符型、字符串型和位標(biāo)量

長整型就在數(shù)字后面加字母L,如104L,034L,0xF340 等。浮點(diǎn)型常量可分為十進(jìn)制和指數(shù)表示形式(12e5表示12*10^5)

8051 結(jié)構(gòu)提供給用戶3 個(gè)不同的存儲空間

第一個(gè)存儲空間是代碼段(CODE)用來存放可執(zhí)行代碼被16 位尋址空間可達(dá)64K;除了可執(zhí)行代碼還可在代碼段中存儲查尋表為達(dá)此目的8051 提供了通過數(shù)據(jù)指針DPTR 或程序計(jì)數(shù)器加上由累加器提供的偏移量進(jìn)行尋址的指令這樣就可以把表頭地址裝入DPTR 中把表中要尋址的元素的偏移量裝入累加器中8051 在執(zhí)行指令時(shí)的過程中把這兩者相加由此可節(jié)省不少指令周期。

第二個(gè)存儲區(qū)是8051 內(nèi)128 字節(jié)的內(nèi)部RAM 或8052 的前128 字節(jié)內(nèi)部RAM 這部分主要是作為數(shù)據(jù)段稱為DATA 區(qū)指令用一個(gè)或兩個(gè)周期來訪問數(shù)據(jù)段訪問DATA 區(qū)比訪問XDATA 區(qū)要快因?yàn)樗捎弥苯訉ぶ贩绞蕉L問XDATA 須采用間接尋址必須先初始化DPTR 通常我們把使用比較頻繁的變量或局部變量存儲在DATA 段中但是必須節(jié)省使用DATA 段因?yàn)樗目臻g畢竟有限。在數(shù)據(jù)段中也可通過R0 和R1 采用間接尋址R0 和R1 被作為數(shù)據(jù)區(qū)的指針將要恢復(fù)或改變字節(jié)的地址放入R0 或R1 中根據(jù)源操作數(shù)和目的操作數(shù)的不同執(zhí)行指令需要一個(gè)或兩個(gè)周期。數(shù)據(jù)段中有兩個(gè)小段第一個(gè)子段包含四組寄存器組每組寄存器組包含八個(gè)寄存器共32 個(gè)寄存器可在任何時(shí)候通過修改PSW 寄存器的RS1 和RS0 這兩位來選擇四組寄存器的任意一組作為工作寄存器組8051 也可默認(rèn)任意一組作為工作寄存器組工作寄存器組的快速切換不僅使參數(shù)傳遞更為方便而且可在8051 中進(jìn)行快速任務(wù)轉(zhuǎn)換另外一個(gè)子段叫做位尋址段BDATA 包括16 個(gè)字節(jié)共128 位每一位都可單獨(dú)尋址8051 有好幾條位操作指令這使得程序控制非常方便并且可幫助軟件代替外部組合邏輯這樣就減少了系統(tǒng)中的模塊數(shù)位尋址段的這16 個(gè)字節(jié)也可像數(shù)據(jù)段中其它字節(jié)一樣進(jìn)行字節(jié)尋址。[!--empirenews.page--]

8051 系列的一些單片機(jī)如8052 有附加的128 字節(jié)的內(nèi)部RAM 位于從80H 開始的地址空間中被稱為IDATA 因?yàn)镮DATA 區(qū)的地址和SFRs (特殊功能寄存器)的地址是重疊的通過區(qū)分所訪問的存儲區(qū)來解決地址重疊問題因?yàn)镮DATA 區(qū)只能通過間接尋址來訪問。8051 的最后一個(gè)存儲空間為64K 和CODE 區(qū)一樣采用16 位地址尋址稱作外部數(shù)據(jù)區(qū)簡稱XDATA 區(qū)這個(gè)區(qū)通常包括一些RAM 如SRAM 或一些需要通過總線接口的外圍器件。

8051 可對存儲區(qū)直接或間接尋址這些是典型的尋址方式直接尋址是在指令中直接

包含所須尋址的字節(jié)地址直接尋址只能在DATA 區(qū)和SFR 中進(jìn)行。

SBUF 串行緩沖區(qū) DPTR 數(shù)據(jù)指針 MOVX 讀入或?qū)懭胪獠考拇嫫鞯臄?shù)據(jù)

fosc (frequency oscillate)晶振頻率

指針寄存器而不是直接使用地址

中斷系統(tǒng)

基本的8051 支持6 個(gè)中斷源兩個(gè)外部中斷兩個(gè)定時(shí)/計(jì)數(shù)器中斷一個(gè)串行口輸

入/輸出中斷中斷發(fā)生后處理器轉(zhuǎn)到將五個(gè)中斷入口處之一執(zhí)行中斷處理程序中斷向

量位于代碼段的最低地址出串行口輸入輸出中斷共用一個(gè)中斷向量

reg51.h 詳細(xì)說明

是c51(用于單片機(jī)開發(fā)的一種c語言)的頭文件。類似于頭文件AT89X52.h。這兩個(gè)頭文件基本是一樣的,只是在使用時(shí)對位的定義不一樣,at89x52.h文件中對P1.1的操作是寫成P1_1;reg52.h文件中的操作則寫成P1^1。表示方法不一樣而已。另外前者是特指ATMEL公司的52系列單片機(jī),后者指所有52系列的單片機(jī)。

LED3.C(8): error C141: syntax error near '='

在c51單片機(jī)里面不可以用#define LED1 P0^1

正確的使用sbit LED1=P0^1;

還有keil編譯器不支持像P0^1=0;或P0^1=1;這樣的賦值

本征庫函數(shù)(intrinsic routines)和非本征證庫函數(shù)

C51提供的本征函數(shù)是指編譯時(shí)直接將固定的代碼插入當(dāng)前行,而不是用ACALL和LCALL語句來實(shí)現(xiàn),這樣就大大提供了函數(shù)訪問的效率,而非本征函數(shù)則必須由ACALL及LCALL調(diào)用。

C51的本征庫函數(shù)只有9個(gè),數(shù)目雖少,但都非常有用,列如下:

_crol_(_cror_):將char型變量循環(huán)向左(右)移動(dòng)指定位數(shù)后返回

_iror_(_irol_):將int型變量循環(huán)向左(右)移動(dòng)指定位數(shù)后返回

_lrol_(_lror_):將long型變量循環(huán)向左(右)移動(dòng)指定位數(shù)后返回

_nop_: 相當(dāng)于插入NOP “空指令”,在x86的CPU中機(jī)器碼為0x90(144)。

_testbit_: 相當(dāng)于JBC bitvar測試該位變量并跳轉(zhuǎn)同時(shí)清除。

_chkfloat_: 測試并返回源點(diǎn)數(shù)狀態(tài)。

使用時(shí),必須包含#inclucle 一行。

如不說明,下面談到的庫函數(shù)均指非本征庫函數(shù)。

TMOD:定時(shí)器/計(jì)數(shù)器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER)

定時(shí)器/計(jì)數(shù)器模式控制寄存器TMOD是一個(gè)逐位定義的8位寄存器,但只能使用字節(jié)尋址,其字節(jié)地址為89H。

其格式為:

工作原理

其中低四位(即D0 ~ D3)定義定時(shí)器/計(jì)數(shù)器T0,高四位(即D4 ~ D7)定義定時(shí)器/計(jì)數(shù)器T1。各位的說明:

Ⅰ,GATE——門控制。

●GATE=1時(shí),由外部中斷引腳INT0、INT1來啟動(dòng)定時(shí)器T0、T1。

當(dāng)INT0引腳為高電平時(shí)TR0置位,啟動(dòng)定時(shí)器T0;

當(dāng)INT1引腳為高電平時(shí)TR1置位,啟動(dòng)定時(shí)器T1。

●GATE=0時(shí),僅由TR0,TR1置位分別啟動(dòng)定時(shí)器T0、T1。

Ⅱ,C/T——功能選擇位

C/T=0時(shí)為定時(shí)功能,C/T=1時(shí)為計(jì)數(shù)功能。

置位時(shí)選擇計(jì)數(shù)功能,清零時(shí)選擇定時(shí)功能。

Ⅲ,M0、M1——方式選擇功能

由于有2位,因此有4種工作方式:

M1M0工作方式功能說明

00方式013位定時(shí)器/計(jì)數(shù)器

01方式116位定時(shí)器/計(jì)數(shù)器

10方式2自動(dòng)重裝8位定時(shí)器/計(jì)數(shù)器

11方式3T0分為2個(gè)8位獨(dú)立計(jì)數(shù)器,T1停止計(jì)數(shù)

TR0,TR1:分別為T0,T1的運(yùn)行控制位。1啟動(dòng),0停止。

GATE:門控制位。GATE=0,由TR0或TR1啟動(dòng)定時(shí)器;GATE=1,只有TR0或TR1為1且INT0 或INT1 為高電平時(shí)才能啟動(dòng)定時(shí)器。

單片機(jī)中的TH0 TL0

TH0和TL0是控制定時(shí)/計(jì)數(shù)器T0的,TH1和TL1是針對T1的。也就是用TH0和TL0中的數(shù)來控制T0到底定時(shí)多久或計(jì)數(shù)多少再進(jìn)入中斷,TH1和TL1也一樣。

16位定時(shí)器/計(jì)數(shù)器的高低位,TL0是低八位,TH0=是高八位,當(dāng)?shù)桶宋挥?jì)數(shù)記滿了之后,向高八位進(jìn)一位,計(jì)數(shù)器,由于51單片機(jī)是8位機(jī),所以要分成兩個(gè)八位的寄存器來存儲16位的計(jì)數(shù)器!

單片機(jī) TH0=0xd8;TL0=0xf0是什么意思

這是為 T0 計(jì)數(shù)器賦初值,(高位)TH0=0xd8(0xffd8,初始地址為0xffff),(低位)TL0=0xf0(0xfff0)

換成 10 進(jìn)制是:55536

那么 65536-55536=10000

表明 T0 計(jì)數(shù)器 計(jì)數(shù) 10000 個(gè)機(jī)器周期后溢出。

如果使用 12M 晶振,那么計(jì)數(shù) 10000 個(gè)機(jī)器周期使用 10ms,可以作為定時(shí)用。

由于TH0和TL0已知,那么可得T0寄存器中為:0xFF00(16)=65280(10)

X=65536-T0=65536-65280=256,,X即為定時(shí)機(jī)器周期數(shù)

如果是12MHz的話,機(jī)器周期=1us,那么定時(shí)為256us

如果是6MHz的話,機(jī)器周期=2us,那么定時(shí)時(shí)間為512us

機(jī)器周期=12*晶振周期,晶振周期=1/晶振頻率

指令周期是看一條指令包含有多少個(gè)機(jī)器周期,如_nop_就一個(gè)機(jī)器周期

延時(shí)函數(shù)delay()

c語言里不是那么算的,編譯的時(shí)候轉(zhuǎn)匯編了用匯編才算的出,不用糾結(jié)這個(gè)的精確延時(shí)的話也都用定時(shí)器,大致的延時(shí)的話用軟件去算就行了

void delay_ms(unsigned int x)

{

unsigned int i,j;

for(i=0;i

for(j=0;j<125;j++);

}

AJMP

是無條件跳轉(zhuǎn)指令之一,叫做絕對跳轉(zhuǎn)。 主要是用來改變程序執(zhí)行的路線,到需要的指令或程序去執(zhí)行。 AJMP的范圍為正負(fù)2K單元。使用時(shí)注意跳的目的地和當(dāng)前地址的距離范圍不能超過上述值,否則,就會(huì)跳過不去。

$

$代表它自己所在位置的地址

中斷允許寄存器IE[!--empirenews.page--]

中斷允許控制寄存器寄存器地址A8H,位尋址AFH~A8H。

中斷的允許或禁止是由片內(nèi)可進(jìn)行位(什么是位,大家可別到現(xiàn)在還說不知道哦)尋址的 8位中斷允許寄存器 IE 來控制的,單片機(jī)中斷系統(tǒng)中有兩種不同類型的中斷:一種稱為非屏蔽中斷;另一種稱為屏蔽中斷。對于非屏蔽中斷,用戶不能用軟件方法加以禁止,一旦有中斷申請,CPU 將根據(jù)自然優(yōu)先級予以響應(yīng)。這里主要講屏蔽中斷,對于屏蔽中斷,我們可以通過軟件的方法來予以控制(允許中斷我們把它稱為中斷開放,不允許中斷我們把它稱之為中斷屏蔽),如何操作,說穿了其實(shí)很簡單,就是通過對 IE 的相應(yīng)位的置“1”或請“0”來允許或禁止某個(gè)中斷,請看下面的表格:

EA × × ES ET1 EX1 ET0 EX0

(1)EA:總中斷允許開關(guān)。它是個(gè)總開關(guān),凡是要設(shè)置中端都得先通過它。EA=1,開放所有的中斷;EA=0,則所有中斷都被禁止。

(2)ES:串行口中斷控制位。ES=1,允許中斷;ES=0,禁止中斷。

(3)ET1:定時(shí)/計(jì)數(shù)器 1 中斷控制位。ET1=1,允許中斷;ET1=0,禁止中斷。

(4)EX1:外中斷 1 中斷控制位。EX1=1,允許中斷;EX1=0,禁止中斷。

(5)ET0:定時(shí)器 0 中斷控制位。ET0=1,允許中斷;ET0=0,禁止中斷。

(6)EX0:外中斷 0 中斷控制位。EX0=1,允許中斷;EX0=0,禁止中斷。

SETB

SETB是匯編指令,意思是把其后面的那個(gè)寄存器的位置1。

DJNZ ,

功能:減1,若非0則跳轉(zhuǎn)

說明:DJNE指令首先將第1個(gè)操作數(shù)所代表的變量減1,如果結(jié)果不為0,則轉(zhuǎn)移到第2個(gè)操作數(shù)所指定的地址去執(zhí)行。如果第1個(gè)操作數(shù)的值為00H,則減1后變?yōu)?FFH。該指令不影響標(biāo)志位。跳轉(zhuǎn)目標(biāo)地址的計(jì)算:首先將PC值加2(即指向下一條指令的首字節(jié)),然后將第2操作數(shù)表示的有符號的相對偏移量加到PC上去即可。byte所代表的操作數(shù)可采用寄存器尋址或直接尋址。

為什么要通過了74HC14把持ULN2003 驅(qū)動(dòng)芯片驅(qū)動(dòng)蜂鳴器

74HC14是六反相施密特觸發(fā)器集成電路,其基礎(chǔ)作用就是反相器,一般用于信號輸入電路,用施密特觸發(fā)器對輸入信號進(jìn)行波形整形,對干擾信號有必定的克制作用,其輸出為標(biāo)準(zhǔn)的TTL電平。ULN2003 的每一對達(dá)林頓都串聯(lián)一個(gè)2.7K 的基極電阻,在5V 的工作電壓下它能與TTL 和CMOS 電路直接相連,可以直接處理本來需要標(biāo)準(zhǔn)邏輯緩沖器來處理的數(shù)據(jù)。所以,ULN2003 是通過74HC14把持的,而74HC14是反相器,不加是不行的。。。

ULN2003 是高耐壓、大電流復(fù)合晶體管陣列,由七個(gè)硅NPN 復(fù)合晶體管組成。ULN2003 工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時(shí)承受50V 的電壓,可以在高負(fù)載電流并行運(yùn)行。 74HC14實(shí)現(xiàn)了6路施密特觸發(fā)反相器。 蜂鳴器和繼電器是電流型驅(qū)動(dòng)的器件,直接用單片機(jī)的引腳驅(qū)動(dòng)的話電流不夠,所以用ULN2003 進(jìn)行驅(qū)動(dòng),74HC14是反向器,也就是把輸入的1變?yōu)?

2003是反向的三極管輸出陣列(有7路),但是,其集電極是開路輸出的。輸入高就輸出低;輸入低時(shí),其輸出三極管截止,電平懸浮,高電平靠外部負(fù)載上的電源V+實(shí)現(xiàn)。

2003的第8腳,通常接地;第9腳COM接電源V+,可以為負(fù)載電流在斷流時(shí)提供續(xù)流通路.

2003的電流驅(qū)動(dòng)能力就相當(dāng)于是多個(gè)普通的分離的三極管,總電流可達(dá)五百毫安。加74HC14主要是確保上電后2003無輸出,否則上電后蜂鳴器會(huì)先叫一聲。

繼電器的引腳怎么接

2和6是常開,1和6是常閉,3和4是線圈,5和6是連著的,用哪個(gè)都行。

其實(shí)不用看引腳圖,用萬能表一測便知。

把萬能表跳到電阻X1K檔,有一定值的是線圈,等于0的是常閉,無窮大的是常開,一試就知道了

74HC與74LS的區(qū)別

LS的驅(qū)動(dòng)能力要比HC的強(qiáng)一些,所以如果后級的負(fù)載比較重的話,要選LS的.同時(shí),LS的功耗也比HC的大一些.HC采用高速CMOS工藝制作,自身功耗低,輸出高低電平范圍寬。 LS采用早期的雙極型工藝,驅(qū)動(dòng)能力相對較大些。

74系列集成電路大致可分為6大類:l 74××(標(biāo)準(zhǔn)型);l 74LS××(低功耗肖特基);l 74S××(肖特基);l 74ALS××(先進(jìn)低功耗肖特基);l 74AS××(先進(jìn)肖特基);l 74F××(高速)。近年來還出現(xiàn)了高速CMOS電路的74系列,該系列可分為3大類:l HC為COMS工作電平;l HCT為TTL工作電平,可與74LS系列互換使用;l HCU適用于無緩沖級的CMOS電路。這9種74系列產(chǎn)品,只要后邊的標(biāo)號相同,其邏輯功能和管腳排列就相同。根據(jù)不同的條件和要求可選擇不同類型的74系列產(chǎn)品,比如電路的供電電壓為3V就應(yīng)選擇74HC系列的產(chǎn)品。

TTL和CMOS有什么區(qū)別

1,TTL電平:

輸出高電平>2.4V,輸出低電平<0.4V。在室溫下,一般輸出高電平是3.5V,輸出低電平是0.2V。最小輸入高電平和低電平:輸入高電平>=2.0V,輸入低電平<=0.8V,噪聲容限是0.4V。

2,CMOS電平:

邏輯電平電壓接近于電源電壓,0邏輯電平接近于0V。而且具有很寬的噪聲容限。

3,電平轉(zhuǎn)換電路:

因?yàn)門TL和COMS的高低電平的值不一樣(ttl 5v<==>cmos 3.3v),所以互相連接時(shí)需要電平的轉(zhuǎn)換:就是用兩個(gè)電阻對電平分壓,沒有什么高深的東西。

4, OC門,即集電極開路門電路,OD門,即漏極開路門電路,必須外界上拉電阻和電源才能將開關(guān)電平作為高低電平用。否則它一般只作為開關(guān)大電壓和大電流負(fù)載,所以又叫做驅(qū)動(dòng)門電路。

5,TTL和COMS電路比較:

1)TTL電路是電流控制器件,而coms電路是電壓控制器件。

2)TTL電路的速度快,傳輸延遲時(shí)間短(5-10ns),但是功耗大。

COMS電路的速度慢,傳輸延遲時(shí)間長(25-50ns),但功耗低。

COMS電路本身的功耗與輸入信號的脈沖頻率有關(guān),頻率越高,芯片集越熱,這是正?,F(xiàn)象。

3)CMOS是場效應(yīng)管構(gòu)成,TTL為雙極晶體管構(gòu)成

4)COMS的邏輯電平范圍比較大(5~15V),TTL只能在5V下工作

5)CMOS的高低電平之間相差比較大、抗干擾性強(qiáng),TTL則相差小,抗干擾能力差

數(shù)碼管的8位二進(jìn)制是高位在前底位在后[!--empirenews.page--]

74HC573本身能提供20mA的電流,足以使數(shù)碼管點(diǎn)亮,不必再用三極管驅(qū)動(dòng)了。

關(guān)于ULN2003

ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢的二極管,可用來驅(qū)動(dòng)繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅(qū)動(dòng)電壓=50V,電流=500mA,輸入電壓=5V,適用于TTL COMS,由達(dá)林頓管組成驅(qū)動(dòng)電路。 ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢的二極管,它的輸出端允許通過電流為200mA,飽和壓降VCE 約1V左右,耐壓BVCEO 約為36V。用戶輸出口的外接負(fù)載可根據(jù)以上參數(shù)估算。采用集電極開路輸出,輸出電流大,故可直接驅(qū)動(dòng)繼電器或固體繼電器,也可直接驅(qū)動(dòng)低壓燈泡。通常單片機(jī)驅(qū)動(dòng)ULN2003時(shí),上拉2K的電阻較為合適,同時(shí),COM引腳應(yīng)該懸空或接電源。

ULN2003是一個(gè)非門電路,包含7個(gè)單元,但獨(dú)每個(gè)單元驅(qū)動(dòng)電流最大可達(dá)350mA.資料的最后有引用電路,9腳可以懸空。

比如1腳輸入,16腳輸出,你的負(fù)載接在VCC與16腳之間,不用9腳。

uln2003的作用:

ULN2003是大電流驅(qū)動(dòng)陣列,多用于單片機(jī)、智能儀表、PLC、數(shù)字量輸出卡等控制電路中??芍苯域?qū)動(dòng)繼電器等負(fù)載。

輸入5VTTL電平,輸出可達(dá)500mA/50V。

ULN2003是高耐壓、大電流達(dá)林頓陳列,由七個(gè)硅NPN達(dá)林頓管組成。 該電路的特點(diǎn)如下: ULN2003的每一對達(dá)林頓都串聯(lián)一個(gè)2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路 直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器。

ULN2003 是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大功率驅(qū)動(dòng)的系統(tǒng)。

lcd12864與1602的區(qū)別

一般12864的控制芯片通常有ST7920、KS0108和T6963C等;但1602是字符的模塊控制芯片是KS0066等,1602它現(xiàn)在的芯片也有不少,但都是可以兼容的;簡單的來說:12864是圖形點(diǎn)陣,是顯示圖形和漢字,當(dāng)然也是可以顯示字母和阿拉伯?dāng)?shù)字了;但1602只能顯示字母和阿拉伯?dāng)?shù)字;同時(shí)他們的芯片不一樣,所以他們的編程上中的程序也是不一樣!

1602是指的16字符2行的那種吧。如果是,其點(diǎn)陣是這樣的結(jié)構(gòu)。其IC帶有字庫。想顯示字符,只需要輸入對應(yīng)字的地址。

而12864的點(diǎn)陣是連續(xù)的。一般不帶有字庫。想寫一個(gè)圓點(diǎn),都要自己想好要寫那些位置。屏上每個(gè)點(diǎn)都對應(yīng)字IC內(nèi)部RAM中一個(gè)BIT.

12864 顧名思義像素是128*64,能顯示8*4個(gè)漢字,因型號不同,有的帶漢字庫,有的不帶,能顯示圖像效果,功能比1602強(qiáng)大,1602只能顯示字母、數(shù)字和符號能顯示16*2個(gè)字符,但寄存器不止32個(gè),具體也忘了,有一些顯示效果,如字符一個(gè)個(gè)顯示、字符從左到右或從右到左顯示等等,顯示效果簡單,價(jià)格低,大約6塊錢,而12864最少40塊錢一塊,在編程使用方面,兩者難度差不多,原理差不多,都是寫指令、寫地址、寫數(shù)據(jù)等等。

頭文件INTRINS.H的作用(轉(zhuǎn)自http://blog.csdn.net/sky0829/article/details/6043230)

在C51單片機(jī)編程中,頭文件INTRINS.H的函數(shù)使用起來,就會(huì)讓你像在用匯編時(shí)一樣簡便.

內(nèi)部函數(shù) 描述

_crol_ 字符循環(huán)左移

_cror_ 字符循環(huán)右移

_irol_ 整數(shù)循環(huán)左移

_iror_ 整數(shù)循環(huán)右移

_lrol_ 長整數(shù)循環(huán)左移

_lror_ 長整數(shù)循環(huán)右移

_nop_ 空操作8051 NOP 指令

_testbit_ 測試并清零位8051 JBC 指令

函數(shù)名: _crol_,_irol_,_lrol_

原 型: unsigned char _crol_(unsigned char val,unsigned char n);

unsigned int _irol_(unsigned int val,unsigned char n);

unsigned int _lrol_(unsigned int val,unsigned char n);

舉例:

_crol_,_cror_:將char型變量循環(huán)向左(右)移動(dòng)指定位數(shù)后返回

_testbit_: 相當(dāng)于JBC bitvar測試該位變量并跳轉(zhuǎn)同時(shí)清除。

_chkfloat_: 測試并返回源點(diǎn)數(shù)狀態(tài)。

就是匯編中的子函數(shù)。

_crol_,_cror_:如國二進(jìn)制數(shù)為01010101 那么_crol_(1) 左移1位后將高位補(bǔ)低位。

結(jié)果10101010。

功 能:_crol_,_irol_,_lrol_以位形式將val 左移n 位,該函數(shù)與8051“RLA”指令相關(guān),上面幾個(gè)函數(shù)不同于參數(shù)類型。

例:

#include

main()

{

unsigned int y;

C-5 1 程序設(shè)計(jì) 37

y=0x00ff;

y=_irol_(y,4);

}

函數(shù)名: _cror_,_iror_,_lror_

原 型: unsigned char _cror_(unsigned char val,unsigned char n);

unsigned int _iror_(unsigned int val,unsigned char n);

unsigned int _lror_(unsigned int val,unsigned char n);

功 能:_cror_,_iror_,_lror_以位形式將val 右移n 位,該函數(shù)與8051“RRA”指令相關(guān),上面幾個(gè)函數(shù)不同于參數(shù)類型。

例:

#include

main()

{

unsigned int y;

y=0x0ff00;

y=_iror_(y,4);

}

函數(shù)名: _nop_

原 型: void _nop_(void);

功 能:_nop_產(chǎn)生一個(gè)NOP 指令,該函數(shù)可用作C 程序的時(shí)間比較。C51 編譯器在_nop_函數(shù)工作期間不產(chǎn)生函數(shù)調(diào)用,即在程序中直接執(zhí)行了NOP 指令。

例:

P()=1;

_nop_();

P()=0;

函數(shù)名: _testbit_

原 型:bit _testbit_(bit x);

功 能:_testbit_產(chǎn)生一個(gè)JBC 指令,該函數(shù)測試一個(gè)位,當(dāng)置位時(shí)返回1,否則返回0。如果該位置為1,則將該位復(fù)位為0。8051 的JBC 指令即用作此目的。_testbit_只能用于可直接尋址的位;在表達(dá)式中使用是不允許的。

在C51單片機(jī)編程中,頭文件INTRINS.H的函數(shù)使用起來,就會(huì)讓你像在用匯編時(shí)一樣簡便.

內(nèi)部函數(shù) 描述

_crol_ 字符循環(huán)左移

_cror_ 字符循環(huán)右移

_irol_ 整數(shù)循環(huán)左移

_iror_ 整數(shù)循環(huán)右移

_lrol_ 長整數(shù)循環(huán)左移

_lror_ 長整數(shù)循環(huán)右移

_nop_ 空操作8051 NOP 指令[!--empirenews.page--]

_testbit_ 測試并清零位8051 JBC 指令

函數(shù)名: _crol_,_irol_,_lrol_

原 型: unsigned char _crol_(unsigned char val,unsigned char n);

unsigned int _irol_(unsigned int val,unsigned char n);

unsigned int _lrol_(unsigned int val,unsigned char n);

舉例:

_crol_,_cror_:將char型變量循環(huán)向左(右)移動(dòng)指定位數(shù)后返回

_testbit_: 相當(dāng)于JBC bitvar測試該位變量并跳轉(zhuǎn)同時(shí)清除。

_chkfloat_: 測試并返回源點(diǎn)數(shù)狀態(tài)。

就是匯編中的子函數(shù)。

_crol_,_cror_:如國二進(jìn)制數(shù)為01010101 那么_crol_(1) 左移1位后將高位補(bǔ)低位。

結(jié)果10101010。

功 能:_crol_,_irol_,_lrol_以位形式將val 左移n 位,該函數(shù)與8051“RLA”指令相關(guān),上面幾個(gè)函數(shù)不同于參數(shù)類型。

例:

#include

main()

{

unsigned int y;

C-5 1 程序設(shè)計(jì) 37

y=0x00ff;

y=_irol_(y,4);

}

函數(shù)名: _cror_,_iror_,_lror_

原 型: unsigned char _cror_(unsigned char val,unsigned char n);

unsigned int _iror_(unsigned int val,unsigned char n);

unsigned int _lror_(unsigned int val,unsigned char n);

功 能:_cror_,_iror_,_lror_以位形式將val 右移n 位,該函數(shù)與8051“RRA”指令相關(guān),上面幾個(gè)函數(shù)不同于參數(shù)類型。

例:

#include

main()

{

unsigned int y;

y=0x0ff00;

y=_iror_(y,4);

}

函數(shù)名: _nop_

原 型: void _nop_(void);

功 能:_nop_產(chǎn)生一個(gè)NOP 指令,該函數(shù)可用作C 程序的時(shí)間比較。C51 編譯器在_nop_函數(shù)工作期間不產(chǎn)生函數(shù)調(diào)用,即在程序中直接執(zhí)行了NOP 指令。

例:

P()=1;

_nop_();

P()=0;

函數(shù)名: _testbit_

原 型:bit _testbit_(bit x);

功 能:_testbit_產(chǎn)生一個(gè)JBC 指令,該函數(shù)測試一個(gè)位,當(dāng)置位時(shí)返回1,否則返回0。如果該位置為1,則將該位復(fù)位為0。8051 的JBC 指令即用作此目的。_testbit_只能用于可直接尋址的位;在表達(dá)式中使用是不允許的。

擴(kuò)展閱讀:單片機(jī)最小系統(tǒng)制作

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉