freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

mcs51mcu讀寫sd卡版(單片機論文)畢業(yè)論文-文庫吧在線文庫

2025-07-23 12:56上一頁面

下一頁面
  

【正文】 常。開始程序全部設置為輸出引腳了,這樣對SD卡的讀取全部無效,導致應答命令始終不對,程序始終不工作。第5章 結(jié)束語 總結(jié)論文的基本目標:實現(xiàn)51單片機對SD卡的讀寫并把讀寫過程進行顯示。通過以上的各個實驗進一步加深了對原理和協(xié)議的理解,增加了實際動手能力,對所學的知識進一步鞏固。還要感謝所有本科期間在學習、生活上給予我關(guān)心、支持、鼓勵和熱心幫助我的老師、同學和朋友。define MCLK 11059200L //定義CPU主頻(Hz)define BAUD_RATE 9600L //設置波特率define Uart_Interrupt_Set(flag) (ES = flag)//設置串口中斷void Uart_Send_Arrays(INT8S buffer[], INT32U length)。//讀取SD響應unsigned char SD_WriteCommand(const unsigned char Command, unsigned long date, const char CRC)。//布爾變量 typedef unsigned char INT8U。//雙精度浮點數(shù)(64位長度) typedef bit BOOL。 //設置輸入輸出方式 0:輸入 1:輸出 PUCR1 = 0xff。 //初始化SD卡 Uart_Send_String(SD卡初始化完畢\r\n)。//從SD卡的第ADDR扇 //區(qū)中讀取512個字節(jié)的數(shù)據(jù)到數(shù)據(jù)緩沖區(qū) Uart_Send_String(從SD卡的7632扇區(qū)讀取數(shù)據(jù):)。 /*設置波特率*/ TR1 = 1。 INT32U length = strlen(string) 1。 } else { Uart_Send_Char(string[i])。 Uart_Send_String( )。}/************************************************* 函數(shù): Uart_Interrupt_Service.* 描述: 串口中斷服務程序.* 輸入: 無.* 輸出: 無.* 返回: 無.*************************************************/void Uart_Interrupt_Service() interrupt 4 using 1{ ES = 0。}//延時毫秒.void Delay_ms(INT32U ms){ INT32U i = 0。 unsigned char i=0。ij。 unsigned char i = 0。 //數(shù)據(jù)輸入sbit SD_SDO = P1^0。//SPI先傳送最高位 byte = 1。unsigned char ret = 0。 if(SD_SDO) { ret |= 0x01。 } count++。 i = 0。 i SD_CMD_LENGTH。}/****************************** 函數(shù): SD_Reset.* 描述: 復位SD卡進入SPI模式.* 輸入: 無* 輸出: 無.* 返回: 如果操作成功返回SD_SUCCESS.********************************/unsigned char SD_Reset(void){ unsigned char response = 0xff。 do { //發(fā)送復位命令CMD0,將SD卡設置為SPI模式 response = SD_WriteCommand(SD_RESET,0,0x95)。 } SD_Disable()。//發(fā)送復位命 //令,將SD卡設置為SPI模式 timeout++。 SD_WriteByte(0xff)。if(0x0 != response) { Uart_Send_String(初始化失敗\r\n)。 unsigned char i = 0。 (timeout TRY_TIME))。 for(i = 0。 }while((temp==0xff)amp。 SD_Disable()。 unsigned char timeout = 0。}/***************************** 函數(shù): SD_ReadResponse.* 描述: 讀SD卡響應.* 輸入: 無* 輸出: 無.* 返回: 讀取的數(shù)據(jù).********************************/unsigned char SD_ReadResponse(void){ unsigned char count = 0。 BitCounter 8。 Delay_us(100)。 //使能片 for(BitCounter = 0。 fact *= 10。 } string[i] = 0。 i++。 i++) { for(j = 0。}/*********************************************** 函數(shù): UART_Send_Enter.* 描述: 此函數(shù)就是發(fā)送0d 0a這兩個字節(jié)。 SBUF = ch。 /*清除中斷標志位*/ for(i = 0。 i++) { Uart_Send_Char(string[i])。 /* 定時器溢出率除以2 PCON|=0x80。a39。 for(i=0。 //串口中斷使能 Uart_Send_String(串口設置完畢\r\n)。 //ifdef _DEBUG_ PCR0 = 0xFF。//有符號16位整型變量 typedef unsigned int INT32U。//寫扇區(qū)unsigned char SD_ReadSector(unsigned char *buffer, unsigned long address)。 //串口初始化void Uart_Send_Enter(void)。//延時微秒void Delay_ms(INT32U ms)。周老師對我的畢業(yè)設計傾注了大量的心血,使我在獲取知識的同時,綜合能力得到較大的提高。(2)SD扇區(qū)讀寫的實現(xiàn)。通過WinHex的觀察,數(shù)據(jù)確實寫入了SD卡的7632扇區(qū)。首先檢查程序的波特率是否和串口調(diào)試助手的波特率是否一致,檢查是一致的,后面我把中文改為英文,正常顯示,猜想可能是串口調(diào)試助手版本太低,下載高版本串口調(diào)試助手問題解決。如果不正常工作,首先檢查硬件原理圖是否正確,TXD和RXD是否接反,波特率是否設置正確,串口調(diào)試助手的打開的端口是否和實際端口不一致。首先,如果結(jié)果都正確,則表明電源模塊部分正確。圖37 串口初始化串口的發(fā)送接收程序比較簡單,串口發(fā)送程序只需把要發(fā)送的數(shù)據(jù)賦給串口數(shù)據(jù)緩沖寄存器,當數(shù)據(jù)發(fā)送完成后,發(fā)送中斷標志有硬件置1,申請中斷,CPU響應后發(fā)送下一幀數(shù)據(jù),該中斷發(fā)送標志位必須有軟件清0。 SD_Disable()。 (timeout TRY_TIME))。 unsigned char response = 0xff。 } /*等到SD卡不忙數(shù)據(jù)被接受以后,SD卡要將這些數(shù)據(jù)寫入到 自身的FLASH中,需要一個時間忙時,讀回來的值為0x00,不忙時,為 0xff*/ while(0 == SD_ReadByte())。 } SD_WriteByte(0xff)。amp。具體C程序?qū)崿F(xiàn)如下:unsigned char SD_WriteSector(unsigned char *buffer, unsigned long address){ unsigned int count = 0。其流程圖如圖34所示。根據(jù)SD卡的手冊說明,在初始化過程中,SPI的時鐘不能太快,否則會造初始化失敗。例如CMD0命令參數(shù)就為0。軟件模擬SPI協(xié)議讀寫字節(jié)如圖31和32。(5)開關(guān),滑動電阻器等手工調(diào)整元件應該放在合適手工調(diào)整的地方,盡量放 在板子邊緣,可調(diào)旋鈕應朝外。在PCB布線之前先對原理圖進行了電氣規(guī)則檢查,在檢查正確無誤的情況下開始布線,布線采用手工布線完成,其中元器件的封裝參考了標準封裝庫,對于一些Protel中沒有自帶封裝的元器件按照數(shù)據(jù)手冊上的規(guī)范進行制作,并對二極管、三極管等極性元件,以及一些非對稱性元件的引腳定義做了仔細的檢查。對于接收端:電壓低于3V表示1,高于+3V表示O。單片機與PC機之間采用RS232方式的串行通信。而在SD卡向單片機傳輸數(shù)據(jù)時可以直接連接,因為它們之間的電平剛好滿足上述的電平兼容原則,既經(jīng)濟又實用。本文用SPI總線模式讀寫SD卡。電路如圖25所示:圖25 晶振復位電路 SD卡電路設計應用單片機讀寫SD卡有兩點需要注意。其中OPOP2與電阻網(wǎng)絡一起組成一個帶256級增益控制的差分輸入可編程增益控制器PGA,PGA的輸出送到一個起調(diào)零作用的運算放大器OP3,經(jīng)調(diào)零電路調(diào)整后輸出到ADC的模擬通道3(AIN3)。PWM口:PWM0、PWMPWM2為PWM輸出口。這就允許在軟件尚未讀取前一個數(shù)據(jù)字節(jié)的情況下開始接收第二個輸入數(shù)據(jù)字節(jié)。I/O口:MXT8051F04A共提供一個8位雙向口P0、兩個5位雙向口P1,P2,每個口通過口控制寄存器控制輸入輸出,通過上拉控制寄存器控制內(nèi)部上拉電阻,P2具有第二功能,通過方式控制寄存器控制P2口的第二功能。同時提供調(diào)試和編程軟件包。ASM1117前后并行接了多個濾波、退藕電容,以進一步穩(wěn)定線性電源的平滑度,減小電源的紋波,提高電源的帶負載能力和瞬態(tài)響應。SD卡電路:SD卡使用的是存儲容量為2G的金士頓SD卡。在系統(tǒng)硬件設計方面,包括硬件電路的設計;在軟件設計方面,包括SD卡讀寫程序,串口程序。大小猶如一張郵票的SD記憶卡,重量只有2克左右,但卻擁有高記憶容量、快速數(shù)據(jù)傳輸率、極大的移動靈活性以及很好的安全性。因此,如何解決51單片機應用系統(tǒng)存取SD卡大容量數(shù)據(jù)就顯得很有實際意義。系統(tǒng)實現(xiàn)了對SD卡扇區(qū)的讀寫,達到了設計的要求和目的。這就要求對SD卡的硬件與讀寫時序進行研究。第2章 單片機讀寫SD卡的硬件電路設計 系統(tǒng)硬件平臺組成圖21 系統(tǒng)硬件平臺如圖21所示系統(tǒng)硬件平臺配置如下:控制器:時代民芯科技有限公司的MXT8051F04A單片機,運行頻率可達80M。本系統(tǒng)采用9V電源供電。電路擁有豐富的外設,包括PWM、UART、WDT,Timer等,大容量存儲器,內(nèi)嵌32Kx8可在線編程Flash,10位AD,8位DA,若干OP,36x4 LCD driver、POR以及可編程增益放大器(PGA)等模擬電路。外部晶體振蕩器和內(nèi)部振蕩器提供主時鐘,(CKSEL)來選擇。UART 是一個能進行異步傳輸?shù)拇锌凇ART有兩個中斷源:一個發(fā)送中斷標志TI()(數(shù)據(jù)字節(jié)發(fā)送結(jié)束時置位)和一個接收中斷標志RI()(接收完一個數(shù)據(jù)字節(jié)后置位)。 JTAG接口:MXT8051F04A包含一個片內(nèi)JTAG接口和邏輯,提供在線編程和在調(diào)試所需要的邊界掃描功能,支持FLASH的讀和寫操作以及非侵入式在系統(tǒng)調(diào)試。電阻串將參考電源分成256等份,輸入數(shù)據(jù)經(jīng)譯碼器譯碼后,控制模擬開關(guān)選擇合適的電壓經(jīng)輸出緩沖器輸出。在SD卡數(shù)據(jù)讀寫時間要求不是很嚴格的情況下,選用SPI模式可以說是一種最佳的解決方案。一般來說,通用的電平轉(zhuǎn)換方案是采用類似SN74ALVC4245的專用電平轉(zhuǎn)換芯片,這類芯片不僅可以用作升壓和降壓,而且允許兩邊電源不同步。引腳排列如圖27。為增加信號在線路上的傳輸距離和提高抗干擾能力,RS232提高了信號的傳輸電平。具有+15KVESD保護,RS232收發(fā)器體積小,應用方便,外圍電路簡單。(2)發(fā)熱量大的元件不能放在底層,底層不方便放置散熱片。 模擬SPI協(xié)議SD卡的SPI通信接口使其可以通過SPI通道進行數(shù)據(jù)讀寫。其命令格式如表31。表32 SPI模式下常用命令命令號功能CMD0復位SD卡CMD1讀OCR寄存器CMD9讀CSD寄存器CMD10讀CID寄存器CMD12停止讀多塊時的數(shù)據(jù)傳輸CMD16設置塊的長度CMD17寫單塊CMD18讀多塊,直到主機發(fā)送CMD12為止CMD24寫單塊CMD25寫多塊CMD32設置擦出塊的起始地址CMD33設置擦出塊的終止地址CMD38擦出所選的塊CMD55狀態(tài)每一個命令都有自己命令應答格式。主機還可以繼續(xù)通過CMD10讀取SD卡的CID寄存器,通過CMD16設置數(shù)據(jù)Block長度,通過CMD9讀取卡的CSD寄存器。單塊寫入時,命令為CMD24,當應答為0時說明可以寫入數(shù)據(jù),大小為512 字節(jié)。 do { response = SD_WriteCommand(0x18, address, 0xff)。 //寫入開始字節(jié) 0xfe for(count = 0。 if(0x05 != response) { SD_Di
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1