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

正文內(nèi)容

基于stm32μcos-ii貪吃蛇的設(shè)計課程設(shè)計-文庫吧

2025-06-12 18:48 本頁面


【正文】 。這里我們可以記住幾個常用的配置,比如0X0表示模擬輸入模式(ADC用)、0X3表示推挽輸出模式(做輸出口用,50M速率)、0X8表示上/下拉輸入模式(做輸入口用)、0XB表示復(fù)用輸出(使用IO口的第二功能,50M速率)。CRH的作用和CRL完全一樣,只是CRL控制的是低8位輸出口,而CRH控制的是高8位輸出口。IDR是一個端口輸入數(shù)據(jù)寄存器,只用了低16位。該寄存器為只讀寄存器,并且只能以16位的形式讀出。該寄存器各位的描述如下圖所示:要想知道某個IO口的狀態(tài),你只要讀這個寄存器,再看某個位的狀態(tài)就可以了。ODR是一個端口輸出數(shù)據(jù)寄存器,也只用了低16位。該寄存器為可讀寫,從該寄存器讀出來的數(shù)據(jù)可以用于判斷當(dāng)前IO口的輸出狀態(tài)。而向該寄存器寫數(shù)據(jù),則可以控制某個IO口的輸出電平。該寄存器的各位描述如下圖所示:ALIENTEK MiniSTM32開發(fā)板板載的LED硬件連接: 按鍵 ALIENTEK MiniSTM32 開發(fā)板總共有 3 個按鍵,其原理圖如下: KEY0 和 KEY1 用作普通按鍵輸入,分別連接在 PC5 和 PA15 上,其中 PA15 和 JTDI 共用了,所以,在使用 KEY0 和 KEY1 的時候,就不能使用 JTAG 來調(diào)試了,但是可以用 SWD 調(diào)試,這點(diǎn)在使用的時候要注意。KEY0 和 KEY1 還和 PS/2 的 DAT 和 CLK 線共用。 WK_UP 按鍵連接到 PA0(STM32 的 WKUP 引腳),它除了可以用作普通輸入按鍵外,還可以用作 STM32 的喚醒輸入。該按鍵是高電平觸發(fā)的。由于 PA0 還是 DS18B20 的輸入引腳,而18B20 是有上拉電阻的,所以在使用 WK_UP 按鍵的時候,請一定要斷開 PA0 和 DS18B20 的跳線帽。 TFTLCD 模塊 TFTLCD即薄膜晶體管液晶顯示器。其英文全稱為:Thin Film TransistorLiquid Crystal Display。TFTLCD與無源TNLCD、STNLCD的簡單矩陣不同,它在液晶顯示屏的每一個象素上都設(shè)置有一個薄膜晶體管(TFT),可有效地克服非選通時的串?dāng)_,使顯示液晶屏的靜態(tài)特性與掃描線數(shù)無關(guān),因此大大提高了圖像質(zhì)量。TFTLCD也被叫做真彩液晶顯示器。該模塊有如下特點(diǎn):1,’/’兩種大小的屏幕可選。2,320240的分辨率。3,16位真彩顯示。4,自帶觸摸屏,可以用來作為控制輸入。5,通用的接口,除了ALIENTEK MiniSTM32開發(fā)板,該液晶模塊還可以使用在優(yōu)異特、STMSKY、紅牛等開發(fā)板上。ALIENTEK MiniSTM32開發(fā)板的該模塊采用的是顯尚光電的DST2001PH TFTLCD,DST2001PH的控制器為ILI9320,采用26萬色的TFTLCD屏,分辨率為320240,采用16位的80并口。CS:TFTLCD片選信號。WR:向TFTLCD寫入數(shù)據(jù)。RD:從TFTLCD讀取數(shù)據(jù)。D[15:0]:16位雙向數(shù)據(jù)線。RST:硬復(fù)位TFTLCD。RS:命令/數(shù)據(jù)標(biāo)志(0,讀寫命令;1,讀寫數(shù)據(jù))。80并口在上一節(jié)我們已經(jīng)有詳細(xì)的介紹了,這里我們就不在介紹,需要說明的是,TFTLCD模塊的RST信號線和OLED模塊一樣,也是直接接到STM32的復(fù)位腳上,并不由軟件控制,這樣可以省下來一個IO口。另外我們還需要一個背光控制線來控制TFTLCD的背光。所以,我們總共需要的IO口數(shù)目為21個。模塊的控制器為ILI9320(可能為其他型號,但是他們的設(shè)置很相似,除了初始化序列有些區(qū)別,其他大都是一摸一樣的,這里僅以9320為例介紹),該控制器自帶顯存,其顯存總大小為172820(240*320*18/8),即18位模式(26萬色)下的顯存量。模塊的16位數(shù)據(jù)線與顯寸的對應(yīng)關(guān)系為565方式,如下圖所示:最低5位代表藍(lán)色,中間6位為綠色,最高5位為紅色。數(shù)值越大,表示該顏色越深。接下來,我們介紹一下ILI9320的幾個重要命令,因?yàn)镮LI9320的命令很多,我們這里不可能一一介紹,有興趣的大家可以找到ILI9320的datasheet看看。里面對這些命令有詳細(xì)的介紹。這里我們要介紹的命令列表如下:這個命令,有兩個功能,如果對它寫,則最低位為OSC,用于開啟或關(guān)閉振蕩器。而如果對它讀操作,則返回的是控制器的型號。這個命令最大的功能就是通過讀它可以得到控制器的型號,而我們代碼在知道了控制器的型號之后,可以針對不同型號的控制器,進(jìn)行不同的初始化。因?yàn)?3xx系列的初始化,其實(shí)都比較類似,我們完全可以用一個代碼兼容好幾個控制器。R3,入口模式命令。我們重點(diǎn)關(guān)注的是I/D0、I/DAM這3個位,因?yàn)檫@3個位控制了屏幕的顯示方向。AM:控制GRAM更新方向。當(dāng)AM=0的時候,地址以行方向更新。當(dāng)AM=1的時候,地址以列方向更新。I/D[1:0]:當(dāng)更新了一個數(shù)據(jù)之后,根據(jù)這兩個位的設(shè)置來控制地址計數(shù)器自動增加/減少1,其關(guān)系如下圖:通過這幾個位的設(shè)置,我們就可以控制屏幕的顯示方向了。R7,顯示控制命令。該命令CL位用來控制是8位彩色,還是26萬色。為0時26萬色,為1時八位色。DD0、BASEE這三個位用來控制顯示開關(guān)與否的。當(dāng)全部設(shè)置為1的時候開啟顯示,全0是關(guān)閉。我們一般通過該命令的設(shè)置來開啟或關(guān)閉顯示器,以降低功耗。R32,R33,設(shè)置GRAM的行地址和列地址。R32用于設(shè)置列地址(X坐標(biāo),0~239),R33用于設(shè)置行地址(Y坐標(biāo),0~319)。當(dāng)我們要在某個指定點(diǎn)寫入一個顏色的時候,先通過這兩個命令設(shè)置到改點(diǎn),然后寫入顏色值就可以了。R34,寫數(shù)據(jù)到GRAM命令,當(dāng)寫入了這個命令之后,地址計數(shù)器才會自動的增加和減少。該命令是我們要介紹的這一組命令里面唯一的單個操作的命令,只需要寫入該值就可以了,其他的都是要先寫入命令編號,然后寫入操作數(shù)。R80~R83,行列GRAM地址位置設(shè)置。這幾個命令用于設(shè)定你顯示區(qū)域的大小,我們整個屏的大小為240*320,但是有時候我們只需要在其中的一部分區(qū)域?qū)懭霐?shù)據(jù),如果用先寫坐標(biāo),后寫數(shù)據(jù)這樣的方式來實(shí)現(xiàn),則速度大打折扣。此時我們就可以通過這幾個命令,在其中開辟一個區(qū)域,然后不停的丟數(shù)據(jù),地址計數(shù)器就會根據(jù)R3的設(shè)置自動增加/減少,這樣就不需要頻繁的寫地址了,大大提高了刷新的速度。3 系統(tǒng)軟件設(shè)計 LED驅(qū)動// //LED IO初始化void LED_Init(void){ RCCAPB2ENR|=12。 //使能PORTA時鐘 RCCAPB2ENR|=15。 //使能PORTD時鐘 GPIOACRHamp。=0XFFFFFFF0。 GPIOACRH|=0X00000003。//PA8 推挽輸出 GPIOAODR|=18。 //PA8 輸出高 GPIODCRLamp。=0XFFFFF0FF。 GPIODCRL|=0X00000300。// GPIODODR|=12。 // } 按鍵驅(qū)動//按鍵初始化函數(shù)//特別注意:在該函數(shù)之后,JTAG將無法使用(SWD也無法使用)//如果想JTAG仿真,可以屏蔽該函數(shù)。// 設(shè)置成輸入void KEY_Init(void){ RCCAPB2ENR|=12。 //使能PORTA時鐘 GPIOACRLamp。=0XFFFFFFF0。//PA0設(shè)置成輸入 GPIOACRL|=0X00000008。 GPIOACRHamp。=0X0F0FFFFF。//PA13,15設(shè)置成輸入 GPIOACRH|=0X80800000。 GPIOAODR|=113。 //PA13上拉,PA0默
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1