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

正文內(nèi)容

基于stm32的led點(diǎn)陣光筆設(shè)計(jì)與實(shí)現(xiàn)——軟件部分-資料下載頁

2024-12-06 01:18本頁面

【導(dǎo)讀】基于STM32的LED點(diǎn)陣光筆設(shè)計(jì)與實(shí)現(xiàn)——軟件部分

  

【正文】 m_Line=Sm_Line+16。 }//行大于 16 if(Blzl == 1){Sm_Row=Sm_Row+8。 }//列大于 8 if(Blzl == 2){Sm_Row=Sm_Row+16。 }//列大于 16 if(Blzl == 3){Sm_Row=Sm_Row+24。 }//列大于 24 Sm_Line_Si = Sm_Line/10。 //坐標(biāo)送顯示 Sm_Line_Ge = Sm_Line%10。 Sm_Row_Ge = Sm_Row/10。 Sm_Row_Si = Sm_Row%10。 Zbxsbz=1。 //坐標(biāo)顯示標(biāo)志 EXTI_ClearITPendingBit(EXTI_Line3)。 } } void Lie_Xuan(unsigned char Num) { switch (Num) 27 { case 0: //第一個(gè)八位被選中 Gpioc_Ph = Gpioc_Ph|0xe00。 Gpioc_Ph = Gpioc_Phamp。0xeff。 break。 case 1: //第二個(gè)八位被選中 Gpioc_Ph = Gpioc_Ph|0xd00。 Gpioc_Ph = Gpioc_Phamp。0xdff。 break。 case 2: //第三個(gè)八位被選中 Gpioc_Ph = Gpioc_Ph|0xb00。 Gpioc_Ph = Gpioc_Phamp。0xbff。 break。 case 3: //第四個(gè)八位被選中 Gpioc_Ph = Gpioc_Ph|0x700。 Gpioc_Ph = Gpioc_Phamp。0x7ff。 break。 default: break。 } } /******************************************************* // // 點(diǎn)亮函數(shù) //功能:顯示光筆的運(yùn)行軌跡 // *******************************************************/ void Dian_liang() { unsigned char i,j。 for(j = 0。j16。j++) { for(i = 0。i 4。i++) { Lie_Xuan(i)。 Gpiod_Ph = Gpiod_Ph|S_Yle[j][i]。 GPIO_Write(GPIOD,Gpiod_Ph)。//輸出列 } Gpiod_Ph = Gpiod_Ph|0xd0。//行片選低位 28 Gpiod_Ph = Gpiod_Phamp。0xd0。//低四位清零 Gpiod_Ph = Gpiod_Ph|j。 GPIO_Write(GPIOD,Gpiod_Ph)。//輸出行 } for(。j32。j++) { for(i = 0。i 4。i++) { Lie_Xuan(i)。 Gpiod_Ph = Gpiod_Ph|S_Yle[j][i]。 GPIO_Write(GPIOD,Gpiod_Ph)。//輸出列 } Gpiod_Ph = Gpiod_Ph|0xe0。//行片選高位 Gpiod_Ph = Gpiod_Phamp。0xe0。//低四位清零 Gpiod_Ph = Gpiod_Ph|j。 GPIO_Write(GPIOD,Gpiod_Ph)。//輸出行 } } 顯示模塊的設(shè)計(jì) 1602液晶也叫 1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有若干個(gè) 5X7 或者 5X11 等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒茱@示圖形, n1602LCD 是指顯示的內(nèi)容為 16X2,即可以顯示兩行,每行 16 個(gè)字符液晶模塊(顯示字符和數(shù)字)。 有 微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧 等優(yōu)點(diǎn) ,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中 。 1602 寫操作的時(shí)序圖如圖表 13 所示 29 圖表 13 寫操作時(shí)序圖 下面進(jìn)入程序的編寫,主要思路是:當(dāng)光筆在點(diǎn)陣上的某一點(diǎn)時(shí),系統(tǒng)記錄下當(dāng)時(shí)的行列,并把行列坐標(biāo)送給 LCD顯示,此時(shí)在 LCD1602 把光筆在點(diǎn)陣屏上所處的位置,以數(shù)字的形式反應(yīng)在屏幕上。 當(dāng)光筆離開點(diǎn)陣屏?xí)r,系統(tǒng)啟動(dòng)自動(dòng)休眠模式,從預(yù)先設(shè)定是休眠時(shí)間開始倒數(shù)計(jì)時(shí),當(dāng)計(jì)時(shí)到零是如果仍沒動(dòng)作,系統(tǒng)就會(huì)進(jìn)入休眠模式,具體程序如下 : /******************************************************************/ /* LCD1602 寫入命令函數(shù) */ /******************************************************************/ void LCD_Write_Com(unsigned char Com) { RS_CLR。 Delay_Us(5)。 RW_CLR。 Delay_Us(5)。 EN_SET。 Delay_Us(5)。 GPIO_Write(GPIOE,Com)。 Delay_Us(300)。 EN_CLR。 } /******************************************************************/ /* lCD1602 寫入數(shù)據(jù)函數(shù) */ /******************************************************************/ void LCD_Write_Data(unsigned char Data) { RS_SET。 Delay_Us(5)。 RW_CLR。 Delay_Us(5)。 EN_SET。 Delay_Us(5)。 GPIO_Write(GPIOE,Data)。 Delay_Us(300)。 EN_CLR。 } /******************************************************************/ /* 清屏函數(shù) */ /******************************************************************/ void LCD_clear(void) { 30 LCD_Write_Com(0x01)。 Delay_Ms(5)。 } /******************************************************************/ /* LCD1602 初始化函數(shù) */ /******************************************************************/ void LCD_init(void) { LCD_Write_Com(0x38)。 /*顯示模式設(shè)置 */ Delay_Ms(5)。 LCD_Write_Com(0x38)。 Delay_Ms(5)。 LCD_Write_Com(0x38)。 Delay_Ms(5)。 LCD_Write_Com(0x38)。 Delay_Ms(5)。 LCD_Write_Com(0x08)。 /*顯示關(guān)閉 */ Delay_Ms(5)。 LCD_Write_Com(0x01)。 /*顯示清屏 */ Delay_Ms(5)。 LCD_Write_Com(0x06)。 /*顯示光標(biāo)移動(dòng)設(shè)置 */ Delay_Ms(5)。 LCD_Write_Com(0x0c)。 /*顯示開及光標(biāo)設(shè)置 */ } /***********************************************************************/ // LCD 顯示函數(shù) // 格式為 line: x 表示當(dāng)前所指表示行數(shù)為 x // row: y 表示當(dāng)前列數(shù)為 y // time: m 表示進(jìn)入休眠狀態(tài)前所剩的時(shí)間 /***********************************************************************/ void Display_Lcd() { LCD_Write_Com(0x80 + 0x00)。 LCD_Write_Data(0x4c)。 LCD_Write_Com(0x80 + 0x01)。 LCD_Write_Data(0x49)。 LCD_Write_Com(0x80 + 0x02)。 LCD_Write_Data(0x4e)。 LCD_Write_Com(0x80 + 0x03)。 LCD_Write_Data(0x45)。 LCD_Write_Com(0x80 + 0x04)。 31 LCD_Write_Data(0x3a)。 LCD_Write_Com(0x80 + 0x05)。 LCD_Write_Data(Sm_Line_Ge+0x30)。 LCD_Write_Com(0x80 + 0x06)。 LCD_Write_Data(Sm_Line_Si+0x30)。 LCD_Write_Com(0x80 + 0x40)。 LCD_Write_Data(0x52)。 LCD_Write_Com(0x80 + 0x41)。 LCD_Write_Data(0x4f)。 LCD_Write_Com(0x80 + 0x42)。 LCD_Write_Data(0x57)。 LCD_Write_Com(0x80 + 0x43)。 LCD_Write_Data(0x3a)。 LCD_Write_Com(0x80 + 0x44)。 LCD_Write_Data(Sm_Row_Ge+0x30)。 LCD_Write_Com(0x80 + 0x45)。 LCD_Write_Data(Sm_Row_Si+0x30)。 LCD_Write_Com(0x80+0x46)。 LCD_Write_Data(0x54)。 LCD_Write_Com(0x80+0x47)。 LCD_Write_Data(0x49)。 LCD_Write_Com(0x80+0x48)。 LCD_Write_Data(0x4d)。 LCD_Write_Com(0x80+0x49)。 LCD_Write_Data(0x45)。 LCD_Write_Com(0x80+0x4a)。 LCD_Write_Data(0x3a)。 LCD_Write_Com(0x80+0x4b)。 LCD_Write_Data(Sle_Min+0x30)。 32 LCD_Write_Com(0x80+0x4c)。 LCD_Write_Data(0x2d)。 LCD_Write_Com(0x80 + 0x4d)。 LCD_Write_Data(Sle_Second/10+0x30)。 LCD_Write_Com(0x80 + 0x4e)。 LCD_Write_Data(Sle_Second%10+0x30)。 Delay_Ms(250)。 } 33 第五章 系統(tǒng)測(cè)試與結(jié)果 光筆的測(cè)試
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1