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

正文內(nèi)容

基于單片機(jī)的多功能數(shù)碼相框設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁(yè)

2025-08-19 17:54本頁(yè)面

【導(dǎo)讀】審查意見(jiàn),并作為畢業(yè)論文工作檢查的主要依據(jù)。系統(tǒng)的功能切換由KEY_ENTER、KEY_NEXT、KEY_PRE、KEY_UP、KEY_DOWN_EXIT完成。KEY_ENTER為“確認(rèn)”鍵,當(dāng)滿足一定條件時(shí),按下此鍵進(jìn)入相應(yīng)功能程序,。KEY_UP為“向上”按鍵,實(shí)現(xiàn)鼠標(biāo)向上移動(dòng)。向下移動(dòng)或退出功能。Protothreads簡(jiǎn)稱pt)進(jìn)行切換的,pt是一個(gè)占用內(nèi)存極小的C語(yǔ)言封裝宏函數(shù)庫(kù),為一種無(wú)堆。而使程序?qū)崿F(xiàn)多線程操作。的解碼顯示速度上要求刷新一幅圖片所需時(shí)間在5秒以下。計(jì)算功能外,還具有靈活強(qiáng)大的控制功能,以便實(shí)時(shí)檢測(cè)系統(tǒng)的輸入量、控制系統(tǒng)的輸出量,專用復(fù)位電路等功能,內(nèi)部資源非常豐富,flash容量和RAM容量可選范圍寬。采用STC12C5A60S2單片機(jī),它具有60k的程序存儲(chǔ)空間,1280Byte的RAM空間,在保證本系。SD卡設(shè)計(jì)成功后,將SD卡中的圖片數(shù)據(jù)讀出通過(guò)單片機(jī)控制彩屏顯示出來(lái),從而實(shí)現(xiàn)電子相冊(cè)的功能。[16]李偉,張利華.BMP文件解碼的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2020,:1180-1182.

  

【正文】 于使程序運(yùn)行出錯(cuò)。一般是 RST引腳出現(xiàn) 5ms以上的高電平時(shí),單片機(jī)就可以完成復(fù)位過(guò)程。復(fù)位有上電復(fù)位、開(kāi)關(guān)復(fù)位。本設(shè)計(jì)同時(shí)使用了上電復(fù)位和開(kāi)關(guān)復(fù)位。上電復(fù)位是上電時(shí)使單片機(jī)復(fù)位,而開(kāi)關(guān)復(fù)位是在電源接通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)生死機(jī),用按鈕開(kāi)關(guān)操作使單片機(jī)復(fù)位。如圖 43復(fù)位電路增加了二極管,在電源電壓 出現(xiàn)跳變 時(shí) 加快 電容 放電,一定寬度的電源毛刺 也可令系統(tǒng)可靠復(fù)位。 通常復(fù)位電容和復(fù)位電阻的值為 C1=10~30uF, R2=1~10K。單片機(jī)最小系統(tǒng)復(fù)位電路如圖 33所示: 圖 33 單片機(jī)最小系統(tǒng)復(fù)位電路 電源電路 在本系統(tǒng)中,各個(gè)模塊的工作電壓不盡相同, TFT液晶顯示屏和 SD卡工作電壓為 ,而單片機(jī)工作電壓為 5V。為了完成各模塊電壓匹配問(wèn)題,需要設(shè)計(jì)一個(gè)電源電路,完成電壓轉(zhuǎn)換。其電路圖如圖 34所示: 宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì) 5 圖 34 電源電路 在單片機(jī)系統(tǒng)中 ,電源轉(zhuǎn)換一般都是選用 。 AMS1117是一個(gè)正向低壓降三 端穩(wěn)壓器,其內(nèi)部集成過(guò)熱保護(hù)和限流電路,體積小,穩(wěn)壓特性好,輸出電壓精度高, 是便攜電子產(chǎn)品中最常用的穩(wěn)壓芯片。 在本設(shè)計(jì)中選擇該穩(wěn)壓芯片,簡(jiǎn)化了電路設(shè)計(jì)與制作,同時(shí)又能解決整個(gè)系統(tǒng)電壓不匹配的問(wèn)題。在設(shè)計(jì)中加入了濾波電容 C C C C6,使輸出電壓更平穩(wěn)。 SD 卡 接口 電路 SD卡( Secure Digital Memory Card)中文 名稱 為安全 數(shù)碼卡 ,是一種 基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備, 存儲(chǔ)容量大,數(shù)據(jù)傳輸快,使用方便且安全可靠。 它被廣泛地 用于 便攜式裝置上使用,例如數(shù)碼相機(jī)、 手機(jī) 和 MP MP4等 多媒體播放器。 SD卡有兩種通信協(xié)議, SD模式和 SPI模式。 SD模式允許強(qiáng)大的一線到四線數(shù)據(jù)信號(hào)設(shè)置。當(dāng)默認(rèn)的上電后, SD卡使用 DAT0。初始化之后,主機(jī)可以改變決定是使用多少根數(shù)據(jù)線,一般使用四根線,既 DAT0~DAT3,還要使用一根時(shí)鐘線 CLK和命令線 CMD。 SD總線上通信的命令和數(shù)據(jù)比特流從一個(gè)起始位開(kāi)始,以停止位中止。采用 SD模式時(shí)傳輸速度非???,但是 傳輸?shù)拿罴皡f(xié)議復(fù)雜。SPI模式則一般采用 4線制,即時(shí)鐘線 CLK、片選線 CS、主機(jī)輸出,從機(jī)輸入線 MOSI以及從機(jī)輸出,主機(jī)輸入線 MISO。由于在傳輸期間,每次只使用一條數(shù)據(jù) ,傳輸速率低,但是相比于 SD模式而言,其傳輸協(xié)議及命令簡(jiǎn)單,易于實(shí)現(xiàn)。而且, SD模式需要微處理器帶有相對(duì)應(yīng)的控制器接口,而 51單片機(jī)是不支持 SD卡模式的,選用 SD模式則要增加硬件成本。相反, SPI總線接口很多 51單片機(jī)都帶有,選擇該模式不但可以簡(jiǎn)化主機(jī)和程序的設(shè)計(jì),還降低成本。雖然 SPI模式相對(duì)于 SD模式速率較低,但是在帶 有 SPI接口的 單片機(jī)上用 SPI模式讀取 SD卡里面的圖片數(shù)據(jù)在速度上還是能滿足本設(shè)計(jì)要求的,而且它只需要四根線,連接簡(jiǎn)單,軟硬件設(shè)計(jì)方便。因此,在本設(shè)計(jì)中使用 SPI模式是最好的選擇。 SD卡接口電路如圖 35所示: 圖 35 SD 卡 接口 電路 SD卡的 CS、 MOSI、 MISO、 CLK分別與單片機(jī)的 、 ~。 SD卡的工作電壓為 ,而單片機(jī)的工作電壓一般為 5V,所以要進(jìn)行電平轉(zhuǎn)換 , 實(shí)現(xiàn)各功能模塊間的電平匹配,電平轉(zhuǎn)換右電源電路實(shí)現(xiàn)。 按鍵電路 因?yàn)楸菊n題設(shè)計(jì)了幾個(gè)功能,為了方便的 在各個(gè)功能件進(jìn)行切換,使用了五個(gè)按鍵,分別是左宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì) 6 移 KEY_PRE、右移 KEY_NEXT、上移 KEY_UP、下移 /退出 KEY_DOWN_EXIT、確定 KEY_ENTER五個(gè)按鍵。按鍵一般有矩陣按鍵和獨(dú)立按鍵,由于設(shè)計(jì)使用的按鍵不多,只有五個(gè), I/O 口充足,所以使用獨(dú)立按鍵設(shè)計(jì)。 KEY_PRE、 KEY_NEXT、 KEY_DOWN_EXIT、 KEY_UP、 KEY_ENTER分別和單片機(jī)的 、 、 、 、 連接,當(dāng)按下按鍵時(shí),單片機(jī)相應(yīng)引腳電平被拉低(為 0),通過(guò)檢測(cè)相應(yīng)引腳電平狀態(tài)就可 以確定是哪個(gè)按鍵按下,從而執(zhí)行相對(duì)應(yīng)的功能,操作方便,容易實(shí)現(xiàn)。按鍵電路如圖 36 所示: 圖 36 按鍵電路 LCD 液晶顯示電路 TFT(Thin Film Transistor)薄膜場(chǎng)效應(yīng)晶體管,是值液晶顯示器上的每一個(gè)像素點(diǎn)都是 由集成在其后的薄膜晶體管來(lái)驅(qū)動(dòng)。 從而可以做到高速高亮高對(duì)比度顯示液晶屏上的信息, TFT 液晶顯示屏是現(xiàn)在常用顯示器中的一種,普遍應(yīng)用于手機(jī)、筆記本電腦、 MP MP4 等電子產(chǎn)品。 本系統(tǒng)采用的 TFT 彩屏為 英寸的 24 位真彩數(shù)字屏,由 ILI9325 控制器控制,分辨率 為240X320,數(shù)據(jù)傳輸是采用 8 位數(shù)據(jù)方式,通過(guò) 8 根數(shù)據(jù)線與單片機(jī)連接進(jìn)行通信。顯示時(shí),一個(gè)像素用 16 位表示,即采用 565RGB 方式,紅色分量用 5 位表示,綠色分量用 6 位表示,藍(lán)色分量用 5 位表示。要想液晶顯示屏正常工作,還要通過(guò)片選 CS、寫(xiě)入 WR、數(shù)據(jù)命令選擇 RS、復(fù)位 RST、RD 寫(xiě)五根線與單片機(jī)連接進(jìn)行控制。液晶彩屏顯示電路如圖 37所示。系統(tǒng)整個(gè)電路圖設(shè)計(jì)見(jiàn)附錄1。 圖 37 LCD 液晶顯示電路 4 數(shù)碼相框的軟件設(shè)計(jì) 軟件總體設(shè)計(jì) 整個(gè)數(shù)碼相框的軟件系統(tǒng)可以分為三個(gè)功能模塊:系 統(tǒng)主任務(wù)、系統(tǒng)菜單顯示任務(wù)、系統(tǒng)時(shí)間顯示任務(wù)。 在主函數(shù)前,先創(chuàng)建三個(gè)以上三個(gè)任務(wù)。系統(tǒng)主任務(wù)主要完成的是系統(tǒng)各種設(shè)備的初始化操作以及不停的進(jìn)行按鍵的掃描,通過(guò)按鍵掃描來(lái)確定鼠標(biāo)移動(dòng)到液晶顯示屏的哪個(gè)位置,從而調(diào)用相關(guān)函數(shù),按下確定鍵后轉(zhuǎn)到按鍵處理程序執(zhí)行對(duì)應(yīng)的功能;系統(tǒng)菜單顯示任務(wù)主要完成的是菜單的選擇與 GUI 窗口的顯示以及各種應(yīng)用程序的選擇處理程序;系統(tǒng)時(shí)間顯示任務(wù)主要完成的是系統(tǒng)時(shí)間的顯示功能,通過(guò)調(diào)用相關(guān)函數(shù)實(shí)現(xiàn)時(shí)間的顯示。 創(chuàng)建了以上三個(gè)任務(wù)以后,主函數(shù)在 while(1)死循環(huán)中調(diào)用三個(gè)任務(wù),不停 的循環(huán)執(zhí)行,等待宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì) 7 某個(gè)事件發(fā)生再轉(zhuǎn)到相應(yīng)程序處理。程序流程圖如圖 41 所示: N Y N Y N Y 圖 41 主程序流程圖 Protothreads 極輕量級(jí)系統(tǒng) 介紹 Protothreads 是一種在小 RAM 單片機(jī)上實(shí)現(xiàn)多線程的方法,使用 Protothreads 可以很方便的在單片機(jī)上實(shí)現(xiàn)多任務(wù)操作,使得每個(gè)任務(wù)都有自己?jiǎn)为?dú)的 while(1)循環(huán)。對(duì)于單片機(jī)這樣的小 RAM微處理器不能進(jìn)行移植操作系統(tǒng),而使用 Protothreads 可以輕松實(shí)現(xiàn),達(dá)到一樣的效果,大大簡(jiǎn)化了程序的設(shè)計(jì)。 Protothreads 最大的特點(diǎn)是占用內(nèi)存非常小,每個(gè) Protothreads 只需占用 2 字節(jié)的RAM,而且代碼非常短,移植很方便,只需在工程中包含三個(gè)頭文件 、 、 即可。主函數(shù)中創(chuàng)建的三個(gè)任務(wù)就是利用 protothreads 創(chuàng)建的。以下幾個(gè)函數(shù)是 Protothreads 中比較重要的幾個(gè)函數(shù),分別對(duì)其進(jìn)行說(shuō)明 [11]: PT_INIT(pt): 初始化任務(wù)變量,只 需 在初始化函數(shù)中執(zhí)行一次 即可。 PT_BEGIN(pt): 啟動(dòng) 任務(wù)處理,放在函數(shù) 的 開(kāi)始處 。 PT_END(pt): 結(jié)束任務(wù),放在函數(shù)的最后 。 PT_WAIT_UNTIL(pt, condition): 等待某個(gè)條件(條件可以為時(shí)鐘或其它變量, IO 等)成立,否則直接退出本函數(shù),下一次進(jìn)入本函數(shù)就直接跳到 這個(gè)位置運(yùn)行, 再次判斷運(yùn)行條件是否滿足,并執(zhí)行后續(xù)程序或繼續(xù)阻塞。 開(kāi)始 初始化任務(wù) MAINTASK 初始化任務(wù) MENUTASK 初始化任務(wù) OSTIMETASK maintaskt==100? 運(yùn)行任務(wù) MainTask() 運(yùn)行任務(wù) MenuTask() menutaskt==200? 運(yùn)行任務(wù) OSTime() timetaskt==100? 宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì) 8 驅(qū)動(dòng)程序設(shè)計(jì) SPI 驅(qū)動(dòng)程序設(shè)計(jì) SPI 總線接口是 STC12C5A60S2 單片機(jī)提供的高速串行外設(shè)接口, SPI 接口是一種 高速、 全雙工、同步的 串行 通信總線。與 SPI通信相關(guān)的特殊功能寄存器 主要有三個(gè):控制寄存器 SPCTL、狀態(tài)寄存器 SPSTAT 以及數(shù)據(jù)寄存器 SPDAT。 ( 1)控制寄存器 SPCTL:確定單片機(jī)作為主機(jī)還是從機(jī),使能 SPI,設(shè)定 SPI發(fā)送和接收的位順序以及設(shè)定 SPI 傳輸數(shù)據(jù)的時(shí)鐘速率。 ( 2)狀態(tài)寄存器 SPSTAT:用來(lái)判斷 SPI數(shù)據(jù)有沒(méi)有傳輸完成以及檢測(cè)是否對(duì)數(shù)據(jù)寄存器 SPDAT進(jìn)行寫(xiě)操作。 ( 3)數(shù)據(jù)寄存器 SPDAT:所要傳輸?shù)?8 位數(shù)據(jù),為 Bit7~Bit0。 SPI 驅(qū)動(dòng)程序主要包括四個(gè)函數(shù): SPI 初始化函數(shù)主要對(duì)以上三個(gè)寄存器進(jìn)行初始化操作; SPI時(shí)鐘速率設(shè)置函數(shù)用來(lái)設(shè)置 數(shù)據(jù)傳輸時(shí)的速率,為高速模式還是低速模式; SPI 發(fā)送數(shù)據(jù)函數(shù)用來(lái)發(fā)送指定數(shù)據(jù)到 SPI 總線上; SPI 接收數(shù)據(jù)函數(shù)則是用來(lái)接收來(lái)自 SPI 總線上的數(shù)據(jù)。 SD 卡驅(qū)動(dòng)程序設(shè)計(jì) SD 卡是在單片機(jī)的控制下進(jìn)行通信的,單片機(jī)發(fā)送特定指令給 SD卡,并且接收來(lái)自 SD 卡的響應(yīng)并確定 SD 卡是否初始化完成,再進(jìn)行下一步的命令操作。 在對(duì) SD 卡操作之前,應(yīng)該首先確保單片機(jī)已選擇 SD卡,即將 SD卡的片選線 CS 置為低電平 , 再 發(fā)送相關(guān)命令 對(duì) SD 卡進(jìn)行讀寫(xiě) 。單片機(jī)與 SD 卡之間通信的命令有幾十個(gè),但是常用的只有 19 個(gè),每個(gè)命令都會(huì)產(chǎn) 生不同的響應(yīng)碼,用以判斷 SD 卡處于什么狀態(tài)。 SD 卡驅(qū)動(dòng)程序設(shè)計(jì)主要有兩個(gè)函數(shù): SD 卡初始化函數(shù)和 SD 卡讀扇區(qū)函數(shù)。 ( 1) SD 卡初始化函數(shù):初始化函數(shù)主要完成 SD 卡的上電復(fù)位并將 SD 卡初始化為 SPI模式。初始化程序流程圖如 42 所示: N Y N Y 圖 42 SD 卡初始化流程圖 開(kāi)始 發(fā)送 74 個(gè)時(shí)鐘周期 發(fā) 送復(fù)位命令 CMD0 進(jìn)入 SPI 低速模式 應(yīng)答信號(hào) =01? 發(fā)送激活命令 CMD1 應(yīng)答信號(hào) =00? 結(jié)束 宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì) 9 當(dāng)單片機(jī)檢測(cè)到 SD 卡插入卡槽后,單片機(jī)會(huì)給 SD 卡發(fā)送至少 74 個(gè)時(shí)鐘周期,以便完成 SD卡的上電過(guò)程,然后再發(fā)送 SD 卡的復(fù)位命令 CMD0。如果此時(shí) SD 卡的片選信號(hào)為低電平,則 SD卡進(jìn)入 SPI模式,否則 SD 卡一直處于 SD模式。進(jìn)入 SPI 模式后,單片機(jī)發(fā)送 CMD1,如果接收到的響應(yīng)碼為 0,則說(shuō)明 SD 卡初始化已經(jīng)完成,此時(shí) SD 卡處于空閑狀態(tài),等待單片機(jī)給 SD卡發(fā)送下一個(gè)命令,否則單片機(jī)不停地給 SD 卡發(fā)送 CMD1 命令,直到返回的響應(yīng)碼為 0。 ( 2) SD 卡讀扇區(qū)函數(shù): SD 卡有讀單個(gè)扇區(qū)和多個(gè)扇區(qū)的命令,分別為 CMD17 和 CMD18,一般單個(gè)扇區(qū)的大小為 512 個(gè)字節(jié)。 SD 卡讀扇區(qū)函數(shù)的流程圖如圖 43 所示 N Y N Y 圖 43 SD 卡讀扇區(qū)流程圖 ILI9325 驅(qū)動(dòng)程序設(shè)計(jì) 在進(jìn)行 TFT 彩屏的 顯示之前首先必須的進(jìn)行初始化操作,配置 TFT 彩屏的各種寄存器, ILI9325控制的彩屏的寄存器有恨多個(gè),每個(gè)都要正確配置,才有可能驅(qū)動(dòng)彩屏顯示各種字符、漢字、圖片。下面就 ILI9325 中的幾個(gè)重要的寄存器進(jìn)行說(shuō)明 [12]: ( 1) R0 寄存器:這個(gè)寄存器的命令有兩個(gè)功能,對(duì)它寫(xiě)則最低位為振蕩周期,啟動(dòng)振蕩器。如果對(duì)它讀,則讀取到的是彩屏控制器的型號(hào),有了控制器的型號(hào)就能方便的進(jìn)行彩屏的初始化操作了。 ( 2) R1 寄存器:這個(gè)命令是驅(qū)動(dòng)器輸出控制命令,控制輸出轉(zhuǎn)變方向是從 S1 到 S720還是從S720 到 S1。 ( 3) R3 寄存器:入口模式命令。對(duì)這個(gè)命令中的幾個(gè)重要位進(jìn)行設(shè)置,就可以設(shè)置屏幕的顯開(kāi)始 發(fā)送命令 CMD17 響應(yīng)為 0xFE? 返回 接收 512 字節(jié)數(shù)據(jù) 接收 2 字節(jié) CRC 碼 CRC 校正碼對(duì)嗎? 結(jié)束 宜春學(xué)院物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計(jì) 10 示方向,是從左開(kāi)始寫(xiě)入還是從右開(kāi)始寫(xiě)入,是從上開(kāi)始寫(xiě)入還是從下開(kāi)始寫(xiě)入。這個(gè)寄存器很重要,如果配置不正確,會(huì)導(dǎo)致字符、漢字、圖片顯示不出來(lái)或者是顯示出來(lái)的是倒置的,漢字可能是左右倒置或者是上下倒置,致使整個(gè)工程的顯示界面不正常。 ( 4) 水平和垂直位置的 RAM 地址 寄存器 (R50h, R51h,R52h, R53h):這 4 個(gè) 寄存器主要用來(lái)設(shè)置水平、垂直的起止位置,給 4 個(gè)寄存器配置不同的值,設(shè)定的顯示窗口的大小就不同,如果要顯
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1