日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀] 一、前言之前花了一點時間閱讀了編譯器sdcc的man文檔,算是對這款交叉編譯器有了基本的了解。但要寫重新寫單片機程序,還要對相應(yīng)的知識做進一步的復(fù)習(xí)。下面我將閱讀芯片的datasheet和application gui

一、前言

之前花了一點時間閱讀了編譯器sdcc的man文檔,算是對這款交叉編譯器有了基本的了解。但要寫重新寫單片機程序,還要對相應(yīng)的知識做進一步的復(fù)習(xí)。下面我將閱讀芯片的datasheet和application guide,結(jié)合一些實際的應(yīng)用,對單片機的知識進行復(fù)習(xí)。我開發(fā)板上的芯片是stc90c51,不同型號的51芯片可能會略有差異。

二、外圍電路

要使單片機正常工作,需要在VCC腳上給予5v/3.3v的電壓,將GND腳接地。為了濾波 ,VCC和GND之間接兩個電容。XTAL上接一個外部振蕩器,RST腳上接外部復(fù)位電路。

雖然這些都已經(jīng)標(biāo)準(zhǔn)化,無關(guān)編程。但在某些特殊情況下(比如晶振、穩(wěn)壓芯片壞了,虛焊等等),需要配合示波器等作出硬件故障的排除,就需要檢查外圍電路的工作狀態(tài)。

三、片內(nèi)資源3.1 特殊功能寄存器&相關(guān)模塊

這里貼一下sdcc下c51通用的頭文件??梢郧逦每吹娇刂艷PIO,定時器,中斷,串口的相關(guān)寄存器。

#ifndef REG8051_H

#define REG8051_H


/* BYTE Register */

__sfr __at (0x80) P0 ;

__sfr __at (0x81) SP ;

__sfr __at (0x82) DPL ;

__sfr __at (0x83) DPH ;

__sfr __at (0x87) PCON ;

__sfr __at (0x88) TCON ;

__sfr __at (0x89) TMOD ;

__sfr __at (0x8A) TL0 ;

__sfr __at (0x8B) TL1 ;

__sfr __at (0x8C) TH0 ;

__sfr __at (0x8D) TH1 ;

__sfr __at (0x90) P1 ;

__sfr __at (0x98) SCON ;

__sfr __at (0x99) SBUF ;

__sfr __at (0xA0) P2 ;

__sfr __at (0xA8) IE ;

__sfr __at (0xB0) P3 ;

__sfr __at (0xB8) IP ;

__sfr __at (0xD0) PSW ;

__sfr __at (0xE0) ACC ;

__sfr __at (0xF0) B ;



/* BIT Register */

/* P0 */

__sbit __at (0x80) P0_0 ;

__sbit __at (0x81) P0_1 ;

__sbit __at (0x82) P0_2 ;

__sbit __at (0x83) P0_3 ;

__sbit __at (0x84) P0_4 ;

__sbit __at (0x85) P0_5 ;

__sbit __at (0x86) P0_6 ;

__sbit __at (0x87) P0_7 ;


/* TCON */

__sbit __at (0x88) IT0 ;

__sbit __at (0x89) IE0 ;

__sbit __at (0x8A) IT1 ;

__sbit __at (0x8B) IE1 ;

__sbit __at (0x8C) TR0 ;

__sbit __at (0x8D) TF0 ;

__sbit __at (0x8E) TR1 ;

__sbit __at (0x8F) TF1 ;


/* P1 */

__sbit __at (0x90) P1_0 ;

__sbit __at (0x91) P1_1 ;

__sbit __at (0x92) P1_2 ;

__sbit __at (0x93) P1_3 ;

__sbit __at (0x94) P1_4 ;

__sbit __at (0x95) P1_5 ;

__sbit __at (0x96) P1_6 ;

__sbit __at (0x97) P1_7 ;


/* SCON */

__sbit __at (0x98) RI ;

__sbit __at (0x99) TI ;

__sbit __at (0x9A) RB8 ;

__sbit __at (0x9B) TB8 ;

__sbit __at (0x9C) REN ;

__sbit __at (0x9D) SM2 ;

__sbit __at (0x9E) SM1 ;

__sbit __at (0x9F) SM0 ;


/* P2 */

__sbit __at (0xA0) P2_0 ;

__sbit __at (0xA1) P2_1 ;

__sbit __at (0xA2) P2_2 ;

__sbit __at (0xA3) P2_3 ;

__sbit __at (0xA4) P2_4 ;

__sbit __at (0xA5) P2_5 ;

__sbit __at (0xA6) P2_6 ;

__sbit __at (0xA7) P2_7 ;


/* IE */

__sbit __at (0xA8) EX0 ;

__sbit __at (0xA9) ET0 ;

__sbit __at (0xAA) EX1 ;

__sbit __at (0xAB) ET1 ;

__sbit __at (0xAC) ES ;

__sbit __at (0xAF) EA ;


/* P3 */

__sbit __at (0xB0) P3_0 ;

__sbit __at (0xB1) P3_1 ;

__sbit __at (0xB2) P3_2 ;

__sbit __at (0xB3) P3_3 ;

__sbit __at (0xB4) P3_4 ;

__sbit __at (0xB5) P3_5 ;

__sbit __at (0xB6) P3_6 ;

__sbit __at (0xB7) P3_7 ;


__sbit __at (0xB0) RXD ;

__sbit __at (0xB1) TXD ;

__sbit __at (0xB2) INT0 ;

__sbit __at (0xB3) INT1 ;

__sbit __at (0xB4) T0 ;

__sbit __at (0xB5) T1 ;

__sbit __at (0xB6) WR ;

__sbit __at (0xB7) RD ;


/* IP */

__sbit __at (0xB8) PX0 ;

__sbit __at (0xB9) PT0 ;

__sbit __at (0xBA) PX1 ;

__sbit __at (0xBB) PT1 ;

__sbit __at (0xBC) PS ;


/* PSW */

__sbit __at (0xD0) P ;

__sbit __at (0xD1) F1 ;

__sbit __at (0xD2) OV ;

__sbit __at (0xD3) RS0 ;

__sbit __at (0xD4) RS1 ;

__sbit __at (0xD5) F0 ;

__sbit __at (0xD6) AC ;

__sbit __at (0xD7) CY ;


/* BIT definitions for bits that are not directly accessible */

/* PCON bits */

#define IDL 0x01

#define PD 0x02

#define GF0 0x04

#define GF1 0x08

#define SMOD 0x80


/* TMOD bits */

#define T0_M0 0x01

#define T0_M1 0x02

#define T0_CT 0x04

#define T0_GATE 0x08

#define T1_M0 0x10

#define T1_M1 0x20

#define T1_CT 0x40

#define T1_GATE 0x80


#define T0_MASK 0x0F

#define T1_MASK 0xF0


/* Interrupt numbers: address = (number * 8) + 3 */

#define IE0_VECTOR 0 /* 0x03 external interrupt 0 */

#define TF0_VECTOR 1 /* 0x0b timer 0 */

#define IE1_VECTOR 2 /* 0x13 external interrupt 1 */

#define TF1_VECTOR 3 /* 0x1b timer 1 */

#define SI0_VECTOR 4 /* 0x23 serial port 0 */


#endif


3.2 內(nèi)部Ram&Rom

最初的51單片機有128byte的片內(nèi)Ram和4K的片內(nèi)的Rom,現(xiàn)在的51單片機可以有1K的片內(nèi)Ram和64K片內(nèi)的Rom。至于如何選擇芯片型號要根據(jù)項目的實際需要和成本,參考選型指南、供應(yīng)市場的具體情況作出。


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

在單片機的世界里,“字節(jié)”(Byte)是一個貫穿始終的核心概念。從存儲數(shù)據(jù)到執(zhí)行指令,從變量定義到外設(shè)通信,字節(jié)無處不在。很多初學(xué)者在學(xué)習(xí)單片機時,往往更關(guān)注復(fù)雜的程序邏輯和外設(shè)驅(qū)動,卻忽略了字節(jié)這個基礎(chǔ)知識點,導(dǎo)致在后...

關(guān)鍵字: 單片機 字節(jié)

在單片機的數(shù)字邏輯中,我們通常最關(guān)注的是高電平和低電平兩種狀態(tài),它們構(gòu)成了二進制數(shù)字世界的基礎(chǔ)。然而,除了這兩種狀態(tài)之外,還有一種至關(guān)重要但常常被忽視的狀態(tài)——高阻態(tài)(High Impedance State)。高阻態(tài)就...

關(guān)鍵字: 單片機 高阻態(tài)

對于PIC入門者來說,不需要盲目追求高端開發(fā)板,一塊功能均衡、資料豐富的入門款就能滿足需求。比如Microchip官方推出的PIC16F84A開發(fā)板,它搭載經(jīng)典的8位PIC內(nèi)核,引腳布局清晰,自帶LED、按鍵等基礎(chǔ)外設(shè),...

關(guān)鍵字: PIC 單片機

該低功耗器件支持5V運行,在實現(xiàn)高性能的同時,能有效保障系統(tǒng)簡潔性與成本效益

關(guān)鍵字: MCU 單片機 工業(yè)自動化

CH558T 采用 BASIC-52 系統(tǒng),并具備藍(lán)牙連接功能。CH558T 的運行頻率為 48 MHz,擁有 4KB 的 xRAM,足以滿足常規(guī)應(yīng)用需求。

關(guān)鍵字: 單片機 BASIC-52 系統(tǒng) CH558T

RGB顯示屏憑借高分辨率、真彩色顯示優(yōu)勢,在工業(yè)控制、智能終端、消費電子等領(lǐng)域應(yīng)用廣泛。裸屏RGB顯示屏無內(nèi)置驅(qū)動電路,需搭配專用LCD驅(qū)動芯片才能與單片機協(xié)同工作,其核心作用是將單片機輸出的圖像數(shù)據(jù)轉(zhuǎn)換為屏幕可識別的R...

關(guān)鍵字: 顯示屏 驅(qū)動芯片 單片機

在嵌入式系統(tǒng)開發(fā)中,單片機(MCU)作為控制核心,廣泛應(yīng)用于工業(yè)自動化、智能家居等領(lǐng)域。然而,當(dāng)需要控制繼電器或電磁閥等大功率負(fù)載時,直接連接單片機引腳往往會導(dǎo)致系統(tǒng)故障甚至硬件損壞。

關(guān)鍵字: 單片機 MCU

在嵌入式系統(tǒng)領(lǐng)域,單片機作為核心控制單元,其軟硬件結(jié)合機制是理解電子設(shè)備運行邏輯的關(guān)鍵。

關(guān)鍵字: 單片機 CPU?

物聯(lián)網(wǎng)與智能控制蓬勃發(fā)展,溫度傳感器作為感知環(huán)境溫度變化的關(guān)鍵元件,廣泛應(yīng)用于工業(yè)生產(chǎn)、智能家居、醫(yī)療設(shè)備等眾多領(lǐng)域。而單片機憑借其強大的控制能力和靈活的編程特性,成為處理溫度傳感器數(shù)據(jù)的理想平臺。下面將深入剖析單片機程...

關(guān)鍵字: 單片機 溫度傳感器

在醫(yī)療科技飛速發(fā)展的當(dāng)下,便攜式醫(yī)療設(shè)備以其便捷、高效的特點,逐漸成為人們?nèi)粘=】倒芾淼闹匾ぞ摺F渲?,便攜式心率監(jiān)測儀憑借其實時監(jiān)測心率、為健康狀況提供關(guān)鍵數(shù)據(jù)的功能,受到了廣泛關(guān)注。而單片機程序開發(fā)作為便攜式心率監(jiān)測...

關(guān)鍵字: 單片機 醫(yī)療設(shè)備
關(guān)閉