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

正文內(nèi)容

秦昌麗_基于arm控制的小車顯示系統(tǒng)(編輯修改稿)

2025-02-13 03:14 本頁面
 

【文章內(nèi)容簡介】 type,uchar transdata){ uchar firstbyte = 0xf8。//synchronizing bit string uchar temp。 uchar i,j = 3。 if(type) { firstbyte |= 0x02。 } GPIOPinWrite(cy_PORT, cyCS, 0xFF)。 GPIOPinWrite(cy_PORT, cyCLK, 0x00)。 while(j 0) { if(j == 3) temp = firstbyte。 //Synchronizing bit string else if(j == 2) temp = transdataamp。0xf0。 //1st byte = Higher Data else temp = (transdata 4) amp。 0xf0。 //2st byte = Lower Data for(i = 8。i 0。i) { if(temp amp。 0x80) GPIOPinWrite(cy_PORT, cySID, 0xFF)。 else { GPIOPinWrite(cy_PORT, cySID, 0x00)。 } GPIOPinWrite(cy_PORT, cyCLK, 0xFF)。 temp = 1。 GPIOPinWrite(cy_PORT, cyCLK, 0x00)。 } if(j == 3) SysCtlDelay(600 * (TheSysClock/ 3000000))。 // 延時約600us else SysCtlDelay(200 * (TheSysClock/ 3000000))。 // 延時約200us j。 } GPIOPinWrite(cy_PORT, cySID, 0x00)。 GPIOPinWrite(cy_PORT, cyCS, 0x00)。} 漢字顯示在12864顯示模塊中,帶有中文字庫,可以顯示漢字,下面的程序就是漢字顯示的主程序,它顯示的是8行漢字,由于12864顯示模塊為128*64,即可以顯示四行漢字,每行可以顯示八個漢字,所以通過循環(huán)顯示,每次顯示四行,完成八行漢字的顯示。void main(void){ jtagWait()。 // 防止JTAG失效,重要! clockInit()。 // 時鐘初始化:晶振,6MHz //初始化指針數(shù)組 ptr[0] = h0。 ptr[1] = h1。 ptr[2] = h2。 ptr[3] = h3。 ptr[4] = h4。 ptr[5] = h5。ptr[6] = h6。Ini_Lcd()。 // 初始化液晶 unsigned char tmp。 for(。) { tt++。 if(tt == 0x02) { Disp_HZ(0x80,ptr[d1],8)。 Disp_HZ(0x90,ptr[d2],8)。 Disp_HZ(0x88,ptr[d3],8)。 Disp_HZ(0x98,ptr[d4],8)。 tmp = d4。 d4++。 if(d4 == 7) { d4 = 0。 } d1 = d2。 d2 = d3。 d3 = tmp。 tt = 0。 } SysCtlDelay(1000 * (TheSysClock/ 3000))。 // 延時約1000ms }} 圖片顯示 12864顯示模塊可以顯示圖片,由于在顯示圖片的過程中,需要根據(jù)圖片的內(nèi)容來控制128*64個點(diǎn)的每個點(diǎn)的高低電平,從而達(dá)到顯示圖片的效果,在這里我非常感謝曉奇提供的液晶顯示字模提取系統(tǒng),給予了我很大的方便,在實(shí)現(xiàn)顯示延大?;盏臅r候,通過圖形編輯器對圖片進(jìn)行處理處理,先用魔棒對圖片部分進(jìn)行選擇,再根據(jù)需要調(diào)整圖片的飽和度、色度以及黑白、銳化等,最終使用曉奇提供的液晶顯示字模提取工具對圖片進(jìn)行字模提取,在圖片編輯和提取的過程中,需要注意的是圖片的大小必須是128*64的,在提取的界面中,參數(shù)書設(shè)定為128*64,才可以得到正確的顯示內(nèi)容,否則會出現(xiàn)顯示器顯示出來為亂碼的情況,如圖20是字模提取的顯示結(jié)果: 圖20 提取的圖片 按鍵中斷控制時間顯示 在小車顯示系統(tǒng)的設(shè)計(jì)中,根據(jù)需要,對時間的顯示是必不可少的一部分內(nèi)容,其中要對總時間顯示。在時間顯示中,需要用到的功能主要為定時器,在定時的過程中,把秒轉(zhuǎn)換成我們平時所見的時分秒的形式,由于是小車時間顯示,所以需要在小車啟動的時候,開始計(jì)時,在小車停止的時候,停止計(jì)時。所以就需要設(shè)置按鍵,在按下鍵時,開始計(jì)時,再次按鍵時,停止計(jì)時,在三次按鍵時,由于對變量eiTi進(jìn)行清零處理,因此從零開始再計(jì)時。從而達(dá)到可以計(jì)出每次小車運(yùn)行的總時間。如下是按鍵計(jì)時的流程圖和部分源程序:if(t==0) t=1。if(t==1) t=0。t=1啟 動 動GPIO中斷處理停止t=0按 鍵計(jì) 時圖21 按鍵計(jì)時void GPIO_Port_B_ISR(void) { unsigned char ucVal。 unsigned long ulStatus。 ulStatus = GPIOPinIntStatus(KEY_PORT, true)。 //讀取中斷狀態(tài) GPIOPinIntClear(KEY_PORT, ulStatus)。 //清除中斷狀態(tài),重要 if (ulStatus amp。 KEY_PIN) //如果KEY的中斷狀態(tài)有效 { SysCtlDelay(10 * (TheSysClock /3000))。 //延時約10ms,消除按鍵抖動 while (GPIOPinRead(KEY_PORT, KEY_PIN) == 0x00) 。 SysCtlDelay(10 * (TheSysClock /3000))。 //延時約10ms,消除松鍵抖動 if(t==0) { t=1。 TimerLoadSet(TIMER0_BASE, TIMER_A, 60000)。 //定時1s TimerEnable(TIMER0_BASE, TIMER_A)。 //使能Timer計(jì)數(shù) GPIOPinWrite(LED_PORT, LED_PIN, 0xFF)。//點(diǎn)亮LED,定時開始 eiTi=0。 //三次按鍵后時間清零 } else if(t==1) t=0。 }}eiTi換算為時分秒的形式 進(jìn)入程序for定 時1S按 鍵中斷處理eiTi++否是顯 示 按 鍵停 止 圖22 時間顯示流程 在啟動程序之后,對GPIO、定時器、中斷進(jìn)行一系列的設(shè)置,再通過for循環(huán)顯示出小車運(yùn)行的總時間,再通過處理使得時間以x時x分x秒的形式顯示出來。進(jìn)入for循環(huán)之后,第一次按鍵之后,設(shè)置定時器定時為1秒,即每隔一秒進(jìn)入中斷一次,變量eiTi將增加1,LED將翻轉(zhuǎn)一次,計(jì)時器開始計(jì)時。流程圖見圖22:// 計(jì)算并顯示 eiHo=eiTi / 3600。 n=eiTi %3600。 eiMi=n/60。 eiSe=n%60。 Disp_HZ(0x88,cstr,8)。 sprintf(cbuf, 時間:%dS,%d , eiTi,i)。 sprintf(cstr, 時鐘%2d時%2d分%2d秒 ,eiHo,eiMi,eiSe)。 { Disp_HZ(0x98,cbuf,8)。 i++。 }void Timer0A_ISR(void) { unsigned char ucVal。 unsigned long ulStatus。 ulStatus = TimerIntStatus(TIMER0_BASE, true)。 // 獲取當(dāng)前中斷狀態(tài) TimerIntClear(TIMER0_BASE, ulStatus)。 //清除全部中斷狀態(tài) if (ulStatus amp。 TIMER_TIMA_TIMEOUT) //如果是超時中斷 { ucVal = GPIOPinRead(LED_PORT, LED_PIN)。 //反轉(zhuǎn)LED GPIOPinWrite(LED_PORT, LED_PIN, ~ucVal)。 } ++eiTi。 } “小車狀態(tài)”動態(tài)顯示在實(shí)現(xiàn)顯示的過程中,我做了“小車狀態(tài)”的動態(tài)顯示,由于一個漢字要占兩個字節(jié),因此在編寫程序的過程中,需要一次移位兩個字節(jié),如果只移一位,顯示出的結(jié)果是亂碼。下面是實(shí)現(xiàn)動態(tài)顯示的過程:首先把第一個漢字的兩個字節(jié)賦給兩個臨時變量,然后把第二個漢字的兩個字節(jié)按高低字節(jié)放入第一個漢字原占的單元中,第三個漢字放入第二個漢字的單元中,依此類推,直到最后一個放入倒數(shù)第二個漢字的單元中,再把第一個漢字的兩個臨時變量中的內(nèi)容放入最后一個漢字原來占的單元中,至此完成了第一個循環(huán),如此一直下去,則可完成漢字的動態(tài)(循環(huán)往左)顯示。 if(i%10==0) { psl=strlen(cstr1)。 ctemp=cstr1[0]。 ctemp1=cstr1[1]。 for(j=0。jpsl2。) { cstr1[j]=cstr1[j+2]。 cstr1[j+1]=cstr1[j+3]。 j=j+2。 } if(j=psl3) { cstr1[j]=ctemp。 cstr1[j+1]=ctemp1。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1