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

正文內(nèi)容

基于stm32的led點(diǎn)陣光筆設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文軟件部分(參考版)

2024-11-16 15:03本頁面
  

【正文】 LCD_Write_Data(Sle_Min+0x30)。 LCD_Write_Data(0x3a)。 LCD_Write_Data(0x45)。 LCD_Write_Data(0x4d)。 LCD_Write_Data(0x49)。 LCD_Write_Data(0x54)。 LCD_Write_Data(Sm_Row_Si+0x30)。 LCD_Write_Data(Sm_Row_Ge+0x30)。 LCD_Write_Data(0x3a)。 LCD_Write_Data(0x57)。 LCD_Write_Data(0x4f)。 LCD_Write_Data(0x52)。 LCD_Write_Data(Sm_Line_Si+0x30)。 LCD_Write_Data(Sm_Line_Ge+0x30)。 30 LCD_Write_Data(0x3a)。 LCD_Write_Data(0x45)。 LCD_Write_Data(0x4e)。 LCD_Write_Data(0x49)。 LCD_Write_Data(0x4c)。 LCD_Write_Com(0x0c)。 LCD_Write_Com(0x06)。 LCD_Write_Com(0x01)。 LCD_Write_Com(0x08)。 LCD_Write_Com(0x38)。 LCD_Write_Com(0x38)。 LCD_Write_Com(0x38)。 } /******************************************************************/ /* LCD1602 初始化函數(shù) */ /******************************************************************/ void LCD_init(void) { LCD_Write_Com(0x38)。 } /******************************************************************/ /* 清屏函數(shù) */ /******************************************************************/ void LCD_clear(void) { 29 LCD_Write_Com(0x01)。 Delay_Us(300)。 Delay_Us(5)。 Delay_Us(5)。 Delay_Us(5)。 EN_CLR。 GPIO_Write(GPIOE,Com)。 EN_SET。 RW_CLR。 當(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。 有 微功耗、體積小、顯 示內(nèi)容豐富、超薄輕巧 等優(yōu)點(diǎn) ,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。//輸出行 } } 顯示模塊的設(shè)計(jì) 1602液晶也叫 1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有若干個(gè) 5X7 或者 5X11 等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。//低四位清零 Gpiod_Ph = Gpiod_Ph|j。//行片選高位 Gpiod_Ph = Gpiod_Phamp。 GPIO_Write(GPIOD,Gpiod_Ph)。i++) { Lie_Xuan(i)。j++) { for(i = 0。//輸出行 } for(。//低四位清零 Gpiod_Ph = Gpiod_Ph|j。//行片選低位 27 Gpiod_Ph = Gpiod_Phamp。 GPIO_Write(GPIOD,Gpiod_Ph)。i++) { Lie_Xuan(i)。j++) { for(i = 0。 for(j = 0。 default: break。0x7ff。 case 3: //第四個(gè)八位被選中 Gpioc_Ph = Gpioc_Ph|0x700。0xbff。 case 2: //第三個(gè)八位被選中 Gpioc_Ph = Gpioc_Ph|0xb00。0xdff。 case 1: //第二個(gè)八位被選中 Gpioc_Ph = Gpioc_Ph|0xd00。0xeff。 } } void Lie_Xuan(unsigned char Num) { switch (Num) 26 { case 0: //第一個(gè)八位被選中 Gpioc_Ph = Gpioc_Ph|0xe00。 Zbxsbz=1。 Sm_Row_Ge = Sm_Row/10。 }//列大于 24 Sm_Line_Si = Sm_Line/10。 }//列大于 8 if(Blzl == 2){Sm_Row=Sm_Row+16。 //行小于 16,列大于 24小于 32 } } } } if(Bhzl){Sm_Line=Sm_Line+16。 //行小于 16,列大于 16小于 24 } else if(3 == Blzl) { S_Yle[Sm_Line][3] = S_Yle[Sm_Line+16][3]amp。 //行小于 16,列大于 8小于 16 } else if(2 == Blzl) { S_Yle[Sm_Line][2] = S_Yle[Sm_Line+16][2]amp。 //行小于 16,列小于 8 } else if(1 == Blzl) { S_Yle[Sm_Line][1] = S_Yle[Sm_Line+16][1]amp。 //行大于 16,列大于 24 小于 32 } } else { if(0 == Blzl) { S_Yle[Sm_Line][0] = S_Yle[Sm_Line+16][0]amp。 //行大于 16,列大于 16 小于 24 } else if(3 == Blzl) { 25 S_Yle[Sm_Line+16][3] = S_Yle[Sm_Line+16][3]amp。 //行大于 16,列大于 8 小于 16 } else if(2 == Blzl) { S_Yle[Sm_Line+16][2] = S_Yle[Sm_Line+16][2]amp。 //行大于 16,列小于 8 } else if(1 == Blzl) { S_Yle[Sm_Line+16][1] = S_Yle[Sm_Line+16][1]amp。 //行小于 16,列大于 24小于 32 } } } else { if(Bhzl) { if(0 == Blzl) { S_Yle[Sm_Line+16][0] = S_Yle[Sm_Line+16][0]amp。 //行小于 16,列大于 16小于 24 } else if(3 == Blzl) { S_Yle[Sm_Line][3] = S_Yle[Sm_Line+16][3]amp。 //行小于 16,列大于 8小于 16 } else if(2 == Blzl) { S_Yle[Sm_Line][2] = S_Yle[Sm_Line+16][2]amp。 //行小于 16,列小于 8 } else if(1 == Blzl) { S_Yle[Sm_Line][1] = S_Yle[Sm_Line+16][1]amp。 //行大于 16,列大于 24 小于 32 } } 24 else { if(0 == Blzl) { S_Yle[Sm_Line][0] = S_Yle[Sm_Line+16][0]amp。 //行大于 16,列大于 16 小于 24 } else if(3 == Blzl) { S_Yle[Sm_Line+16][3] = S_Yle[Sm_Line+16][3]amp。 //行大于 16,列大于 8 小于 16 } else if(2 == Blzl) { S_Yle[Sm_Line+16][2] = S_Yle[Sm_Line+16][2]amp。 //行大于 16,列小于 8 } else if(1 == Blzl) { S_Yle[Sm_Line+16][1] = S_Yle[Sm_Line+16][1]amp。 if(Bhzl) { if(0 == Blzl) { S_Yle[Sm_Line+16][0] = S_Yle[Sm_Line+16][0]amp。 //左移到當(dāng)前列位 if(Zbw == 0x100)Zbw = 1。 if(0 == Zbxsbz) { Zbw = 1。 //光筆所指的坐標(biāo) Sle_Second = 0。EXTI_InitStructure)。 = ENABLE。 = EXTI_Mode_Interrupt。 GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource8)。 光筆碰觸點(diǎn)陣屏,遇到發(fā)光點(diǎn)時(shí),輸出信號(hào)由高電平變?yōu)榈碗娖剑?stm32 外部中斷檢測到翻轉(zhuǎn)電平,觸發(fā)中斷,由于中斷程序優(yōu)先執(zhí)行,打斷微亮掃描過程,在中斷服務(wù)程序中根據(jù)此時(shí)的行列掃描的序號(hào),就可判斷光點(diǎn)的坐標(biāo),并保存該坐標(biāo),同時(shí)把行列坐標(biāo)送液晶屏顯示,同時(shí)消除中斷標(biāo)志, 等待接收下一個(gè)信號(hào),進(jìn)而為其他功能的實(shí)現(xiàn)提供依據(jù)。可以看出,光敏三極管利用普通半導(dǎo)體三極管的放大作用,將光敏二極管的光電流放大了 ( I + hFE) 倍。 22 圖表 12 光敏三極管電路 當(dāng)有光照射在基區(qū)時(shí),激發(fā)產(chǎn)生的電子 空穴對(duì)增加了少數(shù)載流子的濃度,使集電結(jié)反向飽和電流大大增加,這就是光敏三極管集電結(jié)的光 生電流。當(dāng)無光照射時(shí),流過光敏三極管的電流,就是正常情況下光敏三極管集電極與發(fā)射極之間的穿透電流 Iceo 它也是光敏三極管的暗電流,其大小為 Iceo =(1 + hFE) I 式中 : Icbo集電極與基極間的飽和電流 。和光敏二極管一樣,當(dāng)光照射時(shí),光線通過透鏡集中照射在 芯片上。 光敏三極管的結(jié)構(gòu)如圖表 10所示。 } 21 } 光筆檢測模塊的設(shè)計(jì) 光筆主要用
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1