當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]51單片機(jī)讀寫U盤,一個(gè)前輩們都玩剩下的東東了,暑假在家沒事干,大學(xué)嘛沒有暑假作業(yè)的,呵呵。故索性也來玩玩如何用51單片機(jī)讀寫U盤,聽著名 字真的感覺這么個(gè)東東有什么用呢,市場(chǎng)也沒有,創(chuàng)新更不提了,但是我想告

51單片機(jī)讀寫U盤,一個(gè)前輩們都玩剩下的東東了,暑假在家沒事干,大學(xué)嘛沒有暑假作業(yè)的,呵呵。故索性也來玩玩如何用51單片機(jī)讀寫U盤,聽著名 字真的感覺這么個(gè)東東有什么用呢,市場(chǎng)也沒有,創(chuàng)新更不提了,但是我想告誡學(xué)習(xí)單片機(jī)的朋友們,由于國內(nèi)的形式看來,我們只有一步一步的來,玩別人剩下的 東東來提高自己,硬件改一下,程序優(yōu)化一下都是改進(jìn)或者可以說是改良吧,要腳踏實(shí)地,不要想著直接開發(fā)一個(gè)多么有前景的項(xiàng)目之類的空想了!

一個(gè)系統(tǒng)的學(xué)習(xí)能讓你提高不少,按照硬件開發(fā)的基本流程來,這樣學(xué)習(xí)采系統(tǒng),每一個(gè)階段都需要做一個(gè)這樣的項(xiàng)目,才能逐漸提高自己的獨(dú)立開發(fā)水品!看一張效果圖先吧這是protel的3D效果圖:

系統(tǒng)很簡(jiǎn)單,但是程序比較復(fù)雜,呵呵硬件和軟件是可以相互彌補(bǔ)的嘛,這一點(diǎn)童鞋們應(yīng)該都知道了吧

以下就是主程序了,工程中需要添加的頭文件是相當(dāng)?shù)亩喟?,沒法一一貼出了,等下會(huì)在下面給個(gè)下載鏈接的,請(qǐng)朋友們多多留心下載鏈接??!

#include "common.h"
#include "AT89X52.H"
#include "SL811.H"
#include "TPBULK.H"
#include "HAL.H"
#include "HPI.H"
//#include "common.h"

XXGFLAGS bdata bXXGFlags;
extern unsigned char xdata DBUF[BUFFER_LENGTH];
/////////////////////////////////////////////////

void Init_Timer0(void)
{
TMOD &= 0xF0; /* clear Timer 0 */
TMOD |= 0x1;
TL0 = 0x0; /* value set by user */
TH0 = 0x0; /* value set by user */
ET0 = 1; /* IE.1*/
TR0 = 1; /* TCON.4 start timer */
// PT0 = 1;
}

void Init_SpecialInterrupts(void)
{
IT0 = 0;
EX0 = 1;
// PX0 = 0;
}

void Init_Port()
{
P0 = 0xFF;
P1 = 0xFF;
P2 = 0xFF;
P3 = 0xFF;
}

/*Serial Port */
/*Mode = 1 /8-bit UART
Serial Port Interrupt = Disabled */
/*Receive = Enabled */
/*Auto Addressing = Disabled */
void Init_COMM(void)
{
SCON = 0x53;
PCON = 0x80 | PCON;
//TMOD = 0x21;
// TCON = 0x69; /* TCON */
//TH1 = 0xfa; // 9600bps @ 11.0592MHz
//TR1 = 0;
T2CON=0x30;
RCAP2H=0xFF; // 57600 @ 24MHz: 24000000/(32*(65536-(RCAP2H,RCAP2L)))
RCAP2L=0xF3;
TI=0;
RI=0;
TR2=1;
ES = 1;
}

void main(void)
{
unsigned char temp;

Init_Timer0();
Init_SpecialInterrupts();
Init_Port();
Init_COMM();

MCU_LED0=1;
MCU_LED1=1;
MCU_LED2=1;
MCU_LED3=0;

//temp=SL811_GetRev();
//for(temp=0;temp<2;temp++)
DelayMs(254);
//temp=SL811Read(CtrlReg);
//SL811Write(CtrlReg,0);
//temp=SL811Read(CtrlReg);

//temp=SL811Read(IntStatus);
//SL811Write(IntStatus,INT_CLEAR);
//temp=SL811Read(IntStatus);
bXXGFlags.bits.bUartInDone=0;

SL811_Init();

for(temp=0;temp<64;temp++)
DBUF[temp]=0;

ENABLE_INTERRUPTS;

while(TRUE)
{
if (bXXGFlags.bits.bTimer){
DISABLE_INTERRUPTS;
bXXGFlags.bits.bTimer = 0;
ENABLE_INTERRUPTS;

//if(bXXGFlags.bits.bConfiguration)
check_key_LED();
}
if (bXXGFlags.bits.bCOM_ERR){

bXXGFlags.bits.bCOM_ERR=0;
ComErrRsp(COMERC_CMDERR);
}
if(bXXGFlags.bits.SLAVE_FOUND){
DISABLE_INTERRUPTS;
bXXGFlags.bits.SLAVE_FOUND=FALSE;
for(temp=0;temp<4;temp++)
DelayMs(250);
//DelayMs(50);
if(EnumUsbDev(1)) // enumerate USB device, assign USB address = #1
{
bXXGFlags.bits.SLAVE_ENUMERATED = TRUE; // Set slave USB device enumerated flag
MCU_LED0=0;
}
ENABLE_INTERRUPTS;
}
if(bXXGFlags.bits.SLAVE_REMOVED){
DISABLE_INTERRUPTS;
bXXGFlags.bits.SLAVE_REMOVED=FALSE;
MCU_LED0=1;
MCU_LED1=1;
bXXGFlags.bits.SLAVE_ENUMERATED = FALSE;
bXXGFlags.bits.SLAVE_IS_ATTACHED = FALSE;
//bXXGFlags.bits.bMassDevice=TRUE;
ENABLE_INTERRUPTS;
}
if(bXXGFlags.bits.bMassDevice){
DISABLE_INTERRUPTS;
bXXGFlags.bits.bMassDevice=FALSE;
if(EnumMassDev())
{
bXXGFlags.bits.SLAVE_IS_ATTACHED = TRUE;
MCU_LED1=0;
}
else
{
MCU_LED1=1;
bXXGFlags.bits.SLAVE_IS_ATTACHED = FALSE;
}
ENABLE_INTERRUPTS;
}
if(bXXGFlags.bits.bUartInDone){
DISABLE_INTERRUPTS;
bXXGFlags.bits.bUartInDone=0;
UartHandler();
ENABLE_INTERRUPTS;
}

}

}
電路圖也貼一下了,關(guān)于DDB格式的在下載鏈接中也有,還特地打印了一張PDF格式的,以免有些朋友連Protel都沒有啊(呵呵,也許是人家早就摒棄了這么個(gè)老土的EDA軟件了,最新版本好像是叫什么Atmel Design6.0吧,也不知道是不是)


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

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

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

倫敦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)易近期正在縮減他們對(duì)日本游戲市場(chǎ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)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) 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))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長三角投資(上海)有限...

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