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

正文內(nèi)容

數(shù)字fm電臺(tái)設(shè)計(jì)開(kāi)發(fā)課程設(shè)計(jì)(編輯修改稿)

2025-04-04 00:36 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 lm TransistorLiquid Crystal Display。 TFTLCD 與無(wú)源 TNLCD、 STNLCD 的簡(jiǎn)單 矩陣不同,它在液晶顯示屏的每一個(gè)象素上都設(shè)置有一個(gè)薄膜晶體管( TFT),可有效地克服非選通時(shí)的串?dāng)_,使顯示液晶屏的靜態(tài)特性與掃描線(xiàn)數(shù)無(wú)關(guān),因此大大提高了圖像質(zhì)量。 TFTLCD 也被叫做真彩液晶顯示器。 上一章介紹了 OLED 模塊,本章,我們給大家介紹 ALIENTEK TFTLCD 模塊,該模塊有如下特點(diǎn): 1, ’/’/’3 種大小的屏幕可選。 2, 320240 的分辨率( ’ 分辨率為 :320*480)。 3, 16 位真彩顯示。 4,自帶觸摸屏,可以用來(lái)作為控制輸入。 本章,我們以 寸的 ALIENTEK TFTLCD 模塊為例介紹,該模塊支持 65K色顯示,顯示分辨率為 320240 ,接口為 16 位的 80 并口,自帶觸摸屏。 圖 ALIENTEK 寸 TFTLCD 外觀(guān)圖數(shù)字 FM 電臺(tái)設(shè)計(jì)開(kāi)發(fā) 10 第 2章 硬件設(shè)計(jì)及模塊功能實(shí)現(xiàn) FM 電臺(tái)設(shè)計(jì)框圖 本文設(shè)計(jì) SD 卡音源和 MIC 音源兩種音源輸入,經(jīng)音頻選擇, CPU 處理之后輸出 硬件設(shè)計(jì) 實(shí)驗(yàn)設(shè)計(jì)為 FM 發(fā)射模式,設(shè)計(jì)發(fā)射頻率為 ,開(kāi)機(jī)顯示發(fā)射頻率,KEY_UP 鍵選擇音源輸入等信息。按一下 KEY_UP 鍵即進(jìn)入 SD 卡音源輸入模式,這時(shí) KEY0:M+(下一曲) KEY2:M(上一曲)起效,再按第二下進(jìn)入 MIC 音源模式,這時(shí) KEY_DOWN 鍵起效,可以用它來(lái)選擇直接播放或者錄音儲(chǔ)存后播放模式。同時(shí)用 DS0 提示程序正在運(yùn)行。 所要用到的部分硬件資源如下: 1) 指示燈 DS0 2) KEY0、 KEY KEY2 和 WK_UP 等四個(gè)按鍵 3) TFTLCD 模塊 4) SD卡 5) RDA5820 6) 74HC4052 7) VS1053B RDA5820 與 STM32 的連接電路 這里 RDA5820用 IIC總線(xiàn),接在 STM32的 PB10和 PB11兩個(gè)腳上, 下 圖中 OUTL和 OUTR 接在 RDA5820 的 LIN 和 RIN, OUTR 和 OUTL 是來(lái)自音頻選擇器( 74HC4052)的輸出端,作為 FM 發(fā)送時(shí)的音源輸入。 數(shù)字 FM 電臺(tái)設(shè)計(jì)開(kāi)發(fā) 11 圖 RDA5820 與 STM32 的連接圖 VS1053 解碼芯片電路原理 VS1053 通過(guò) 7 根線(xiàn)同 STM32 連接,他們是: VS_MISO、 VS_MOSI、 VS_SCK、VS_XCS、 VS_XDCS、 VS_DREQ 和 VS_RST。這 7 根線(xiàn)同 STM32 的連接關(guān)系如表 所示: 表 VS1053 各信號(hào)線(xiàn)與 STM32 連接關(guān)系 其中 VS_RST是 VS1053的復(fù)位信號(hào)線(xiàn),低電平有效。 VS_DREQ是一個(gè)數(shù)據(jù)請(qǐng)求信號(hào),用來(lái)通知主機(jī), VS1053 可以接收數(shù)據(jù)與否。 VS_MISO、 VS_MOSI 和VS_SCK 則是 VS1053 的 SPI 接口他們?cè)?VS_XCS 和 VS_XDCS 下面來(lái)執(zhí)行不同的操作。從上表可以看出, VS1053 的 SPI 是接在 STM32 的 SPI1 上面的。 1) 復(fù)位 VS1053 這里包括了硬復(fù)位和軟復(fù)位,是為了讓 VS1053 的狀態(tài)回到原始狀態(tài),準(zhǔn)備解碼下一首歌曲。 數(shù)字 FM 電臺(tái)設(shè)計(jì)開(kāi)發(fā) 12 2) 配置 VS1053 的相關(guān)寄存器 這 里我們配置的寄存器包括 VS1053 的模式寄存器( MODE)、時(shí)鐘寄存器( CLOCKF)、音調(diào)寄存器( BASS)、音量寄存器( VOL)等。 圖 VS1053B 音頻解碼模塊原理圖 3) 發(fā)送音頻數(shù)據(jù) 當(dāng)經(jīng)過(guò)以上兩步配置以后,我們剩下來(lái)要做的事情,就是往 VS1053 里面扔音頻數(shù)據(jù)了,只要是 VS1053 支持的音頻格式,直接往里面丟就可以了, VS1053會(huì)自動(dòng)識(shí)別,并進(jìn)行播放。不過(guò)發(fā)送數(shù)據(jù)要在 DREQ 信號(hào)的控制下有序的進(jìn)行,不能亂發(fā)。這個(gè)規(guī)則很簡(jiǎn)單:只要 DREQ 變高,就向 VS1053 發(fā)送 32個(gè)字節(jié)。 然后繼續(xù)等待 DREQ 變高,直到音頻數(shù)據(jù)發(fā)送完。經(jīng)過(guò)以上三步,我們就可以播放音樂(lè)了。 SD 卡接口和 STM32 的連接 我們用跳線(xiàn)帽將 P10 的 SD_DT SD_CMD、 SD_SCK、 SD_DT0 分別同 P12 的SD_CS、 SPI2_MOSI、 SPI2_SCK、 SPI2_MISO 連接起來(lái),即實(shí)現(xiàn) SD 卡的 SPI 模式連接。硬件連接示意圖如圖 所示: 數(shù)字 FM 電臺(tái)設(shè)計(jì)開(kāi)發(fā) 13 圖 SD 卡接口與 STM32 連接原理圖 圖 SD 卡 SPI 方式硬件連接示意圖 將圖中所示的 4處,用跳線(xiàn)帽短接,接口 實(shí)現(xiàn) SD卡與 STM32的 SPI連接。最后,你還得自備一個(gè) SD卡,將其插入板子下面的 SD 卡接口。 數(shù)字 FM 電臺(tái)設(shè)計(jì)開(kāi)發(fā) 14 TFTLCD 顯示模塊 模塊原理圖如圖 : 圖 ALIENTEK 寸 TFTLCD 模塊原理圖 TFTLCD模塊采用 2*17的 ,接口定義如圖 : 圖 ALIENTEK 寸 TFTLCD 模塊接口圖 從圖 , ALIENTEK TFTLCD模塊采用 16位的并方式與外部連接,數(shù)字 FM 電臺(tái)設(shè)計(jì)開(kāi)發(fā) 15 之所以不采用 8 位的方式,是因?yàn)椴势恋臄?shù)據(jù)量 比較大,尤其在顯示圖片的時(shí)候,如果用 8 位數(shù)據(jù)線(xiàn),就會(huì)比 16 位方式慢一倍以上,我們當(dāng)然希望速度越快越好,所以我們選擇 16位的接口。圖 ,關(guān)于觸摸屏本章我們不多介紹,后面的章節(jié)會(huì)有詳細(xì)的介紹。該模塊的 80 并口有如下一些信號(hào)線(xiàn): CS: TFTLCD 片選信號(hào)。 WR:向 TFTLCD 寫(xiě)入數(shù)據(jù)。 RD:從 TFTLCD 讀取數(shù)據(jù)。 D[15: 0]: 16 位雙向數(shù)據(jù)線(xiàn)。 RST:硬復(fù)位 TFTLCD。 RS:命令 /數(shù)據(jù)標(biāo)志( 0,讀寫(xiě)命令; 1,讀寫(xiě)數(shù)據(jù))。 80 并口在上一節(jié)我們已經(jīng)有詳細(xì)的介紹了, 這里我們就不再介紹,需要說(shuō)明的是, TFTLCD 模塊的 RST 信號(hào)線(xiàn)是直接接到 STM32 的復(fù)位腳上,并不由軟件控制,這樣可以省下來(lái)一個(gè) IO 口。另外我們還需要一個(gè)背光控制線(xiàn)來(lái)控制TFTLCD 的背光。所以,我們總共需要的 IO 口數(shù)目為 21 個(gè)。這里還需要注意,我們標(biāo)注的 DB1~DB8, DB10~DB17,是相對(duì)于 LCD控制 IC標(biāo)注的,實(shí)際上大家可以把他們就等同于 D0~D15,這樣理解起來(lái)就比較簡(jiǎn)單一點(diǎn)。 TFTLCD 顯示需要的相關(guān)設(shè)置步驟如下: 1)設(shè)置 STM32 與 TFTLCD 模塊相連接的 IO。 這一步,先將我們與 TFTLCD 模塊相連的 IO 口進(jìn)行初始化,以便驅(qū)動(dòng) LCD。這里我們用到的是 FSMC, FSMC 將在 節(jié)向大家詳細(xì)介紹。 2)初始化 TFTLCD 模塊。 其實(shí)這里就是上和上面 OLED模塊的初始化過(guò)程差不多。通過(guò)向 TFTLCD寫(xiě)入一系列的設(shè)置,來(lái)啟動(dòng) TFTLCD 的顯示。為后續(xù)顯示字符和數(shù)字做準(zhǔn)備。 3) 通過(guò)函數(shù)將字符和數(shù)字顯示到 TFTLCD 模塊上。 模塊功能實(shí)現(xiàn) SD 卡模塊指令 SD卡的命令格式,如表 : 字節(jié) 1 字節(jié) 25 字節(jié) 6 7 6 5 0 31 0 7 1 0 0 1 mand 命令參數(shù) CRC 1 表 SD 卡命令格式 SD 卡的指令由 6 個(gè)字節(jié)組成,字節(jié) 1 的最高 2 位固定為 01,低 6 位為命令號(hào)(比如 CMD16,為 10000 即 16 進(jìn)制的 0X10,完整的 CMD16,第一個(gè)字節(jié)為01010000,即 0X10+0X40)。 數(shù)字 FM 電臺(tái)設(shè)計(jì)開(kāi)發(fā) 16 字節(jié) 2~5 為命令參數(shù),有些命令是沒(méi)有參數(shù)的。 字節(jié) 6的高七位為 CRC 值,最低位恒定為 1。 SD卡的命令總共有 12類(lèi),分為 Class0~Class11, 下面 幾個(gè)比較重要的命令,如表 所示: 命令 參數(shù) 回 應(yīng) 描述 CMD0(0X00) NONE R1 復(fù)位 SD卡 CMD8(0X08) VHS+Check pattern R7 發(fā)送接口狀態(tài)命令 CMD9(0X09) NONE R1 讀取卡特定數(shù)據(jù)寄存器 CMD10(0X0A) NONE R1 讀取卡標(biāo)志數(shù)據(jù)寄存器 CMD16(0X10) 塊大小 R1 設(shè)置塊大小(字節(jié)數(shù)) CMD17(0X11) 地址 R1 讀取一個(gè)塊的數(shù)據(jù) CMD24(0X18) 地址 R1 寫(xiě)入一個(gè)塊的數(shù)據(jù) CMD41(0X29) NONE R3 發(fā)送給主機(jī)容量支持信息和激活 卡初始化過(guò)程 CMD55(0X37) NONE R1 告訴 SD卡,下一個(gè)是特定應(yīng)用命令 CMD58(0X3A) NONE R3 讀取 OCR寄存器 表 SD 卡部分命令 上表中,大部分的命令是初始化的時(shí)候用的。表中的 R R3 和 R7 等是 SD卡的回應(yīng), SD 卡和單片機(jī)的通信采用發(fā)送應(yīng)答機(jī)制,如圖 所示: 圖 SD 卡命令傳輸過(guò)程 每發(fā)送一個(gè)命令, SD 卡都會(huì)給出一個(gè)應(yīng)答,以告知主機(jī)該命令的執(zhí)行情況,或者 返回主機(jī)需要獲取的數(shù)據(jù)。 SPI 模式下, SD 卡針對(duì)不同的命令,應(yīng)答可以使 R1~R7, R1 的應(yīng)答,各位描述如表 所示: R1響應(yīng)格式 位 7 6 5 4 3 2 1 0 含義 開(kāi)始位 始終為 0 參數(shù) 錯(cuò)誤 地址 錯(cuò)誤 擦除序列 錯(cuò)誤 CRC錯(cuò)誤 非法 命令 擦除 復(fù)位 閑置 狀態(tài) 表 R1響應(yīng)各位描述 TFTLCD 模塊 控制 數(shù)字 FM 電臺(tái)設(shè)計(jì)開(kāi)發(fā) 17 我們僅以 ILI9320 控制器為例進(jìn)行介紹,其他的控制基本都類(lèi)似 。 ILI9320 液晶控制器自帶顯存,其顯存總大小為 172820( 240*320*18/8),即 18 位模式( 26 萬(wàn)色)下的顯存量。模塊的 16 位數(shù)據(jù)線(xiàn)與顯寸的對(duì)應(yīng)關(guān)系為565 方式,如圖 所示: 圖 16位數(shù)據(jù)與顯存對(duì)應(yīng)關(guān)系圖 最低 5位代表藍(lán)色,中間 6位為綠色,最高 5位為紅色。數(shù)值越大,表示該顏色越深。 接下來(lái),我們介紹一下 ILI9320 的幾個(gè)重要命令,因?yàn)?ILI9320 的命令很多,我們這里不可能一一介紹,有興趣的大家可以找到 ILI9320 的 datasheet看看。里面對(duì)這些命令有詳細(xì)的介紹。這里我們要介紹的命令列表如表 所示: 表 ILI9320 常用命令表 R0,這個(gè)命令,有兩個(gè)功能,如果對(duì)它寫(xiě),則最低位為 OSC,用于開(kāi)啟或關(guān)閉振蕩器。而如果對(duì)它讀操作,則返回的是控制器的型號(hào)。這個(gè)命令最大的功能就是通過(guò)讀它可以得到控制器的型號(hào),而我們代碼在知道了控制器的型號(hào)之后,可以針對(duì)不同型號(hào)的控制器,進(jìn)行不同的初始化。因?yàn)?93xx 系列的初始化,其實(shí)都比較類(lèi)似,我們完全可以用一個(gè)代碼兼容好幾個(gè)控制器。 R3,入口模式命令。我們重點(diǎn)關(guān)注的是 I/D0、 I/D AM這 3個(gè)位,因?yàn)檫@ 3個(gè)位控制了屏幕的顯示方向。 AM:控制 GRAM 更新方向。當(dāng) AM=0 的時(shí)候 ,地址以行方向更新。當(dāng) AM=1 的時(shí)候,地址以列方向更新。 I/D[1: 0]:當(dāng)更新了一個(gè)數(shù)據(jù)之后,根據(jù)這兩個(gè)位的設(shè)置來(lái)控制地址計(jì)數(shù)器自動(dòng)增加 /減少 1, 其關(guān)系如圖 所示 : 數(shù)字 FM 電臺(tái)設(shè)計(jì)開(kāi)發(fā) 18 圖 GRAM 顯示方向設(shè)置圖 通過(guò)這幾個(gè)位的設(shè)置,我們就可以控制屏幕的顯示方向了,這種方法雖然簡(jiǎn)單,但是不是很通用,比如不同的液晶,可能這里差別就比較大,有的甚至無(wú)法通用!比如 9341 和 9320 就完全不通用。 R7,顯示控制命令。該命令 CL位用來(lái)控制是 8 位彩色,還是 26萬(wàn)色。為 0時(shí) 26 萬(wàn)色,為 1 時(shí)八位色。 D D0、 BASEE 這三個(gè)位用來(lái)控制顯示開(kāi)關(guān)與否的。當(dāng)全部設(shè)置為 1的時(shí)候開(kāi)啟顯示,全 0是關(guān)閉。我們一般通過(guò)該命令的設(shè)置來(lái)開(kāi)啟或關(guān)閉顯示器,以降低功耗。 R32, R33,設(shè)置 GRAM 的行地址和列地址。 R32 用于設(shè)置列地址( X 坐標(biāo),0~239), R33 用于設(shè)置行地址( Y 坐標(biāo), 0~319)。當(dāng)我們要在某個(gè)指定點(diǎn)寫(xiě)入一個(gè)顏色的時(shí)候,先通過(guò)這兩個(gè)命令設(shè)置到改點(diǎn),然后寫(xiě)入顏色值就可以了。 R34,寫(xiě)數(shù)據(jù)到 GRAM命令,當(dāng)寫(xiě)入了這個(gè)命令之后,地址計(jì)數(shù)器才會(huì)自動(dòng)的增加和減少。該命令是我們要介紹的這一組命令里面唯一的單個(gè)操作的命令,只需要寫(xiě)入 該值就可以了,其他的都是要先寫(xiě)入命令編號(hào),然后寫(xiě)入操作數(shù)。 R80~R83,行列 GRAM 地址位置設(shè)置。這幾個(gè)命令用于設(shè)定你顯示區(qū)域的大小,我們整個(gè)屏的大小為 240*320,但是有時(shí)候我們只需要在
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1