PIC單片機(jī)綜合實(shí)例課件_第1頁
PIC單片機(jī)綜合實(shí)例課件_第2頁
PIC單片機(jī)綜合實(shí)例課件_第3頁
PIC單片機(jī)綜合實(shí)例課件_第4頁
PIC單片機(jī)綜合實(shí)例課件_第5頁
已閱讀5頁,還剩121頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

【學(xué)習(xí)目標(biāo)】了解字符式液晶的顯示原理;掌握字符式液晶的初始化方法;掌握根據(jù)時(shí)序圖編程程序的方法;掌握LED點(diǎn)陣顯示屏電路設(shè)計(jì)思想;理解漢字顯示原理;掌握LED點(diǎn)陣顯示屏的編程方法;掌握光耦的用途和控制方法;12/9/20221機(jī)械工業(yè)出版社【學(xué)習(xí)目標(biāo)】了解字符式液晶的顯示原理;12/9/20221機(jī)第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏原理及應(yīng)用2電子密碼鎖控制器的設(shè)計(jì)312/9/20222機(jī)械工業(yè)出版社第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏原理及應(yīng)用2電子密碼鎖控制器的設(shè)計(jì)312/9/20223機(jī)械工業(yè)出版社第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏液晶分類筆段式液晶字符式液晶圖像式液晶漢字圖像式液晶彩屏液晶12/9/20224機(jī)械工業(yè)出版社液晶分類筆段式液晶12/9/20224機(jī)械工業(yè)出版社字符式液晶模塊12/9/20225機(jī)械工業(yè)出版社字符式液晶模塊12/9/20225機(jī)械工業(yè)出版社16字符×2行顯示的字符液晶顯示屏簡介內(nèi)置HD44780控制器:可直接產(chǎn)生192種常見字符圖形;字符編碼與ASCII兼容,并且允許用戶自編字符用于顯示;只需單一的+5V供電即可工作;重量輕:≤100g;體積?。骸?1mm厚;功耗低:10-15mw;指令功能強(qiáng):可組合成各種輸入、顯示、移位方式以滿足不同的要求;接口簡單方便:可與8位微處理器或微控制器相聯(lián);工作溫度寬:-20℃-70℃;可靠性高:壽命為50,000小時(shí)(25℃)。12/9/20226機(jī)械工業(yè)出版社16字符×2行顯示的字符液晶顯示屏簡介內(nèi)置HD44780控制硬件連接圖12/9/20227機(jī)械工業(yè)出版社硬件連接圖12/9/20227機(jī)械工業(yè)出版社引腳信號(hào)表序號(hào)符號(hào)名稱功能1VSS接地0V2VDD電路電源5V±10%3VEE液晶驅(qū)動(dòng)電壓保證VDD-VEE有4.5到5V電壓差4RS寄存器選擇信號(hào)H:數(shù)據(jù)寄存器L:指令寄存器5R/W讀/寫信號(hào)H:讀L:寫6E片選信號(hào)下降沿觸發(fā),鎖存數(shù)據(jù)7-14DB0-DB7數(shù)據(jù)線數(shù)據(jù)傳輸12/9/20228機(jī)械工業(yè)出版社引腳信號(hào)表序號(hào)符號(hào)名稱功能1VSS接地0V寄存器選擇功能表RSR/W操作00指令寄存器(IR)寫入01忙標(biāo)志和地址計(jì)數(shù)器讀出10數(shù)據(jù)寄存器(DR)寫入11數(shù)據(jù)寄存器讀出12/9/20229機(jī)械工業(yè)出版社寄存器選擇功能表RSR/W操作00指令寄存器(IR)寫入信號(hào)操作時(shí)序圖12/9/202210機(jī)械工業(yè)出版社信號(hào)操作時(shí)序圖12/9/202210機(jī)械工業(yè)出版社關(guān)鍵信號(hào)時(shí)間寬度名稱功能描述要求Tas地址建立時(shí)間最小值140nsTw使能信號(hào)脈沖寬度最小值450nsTdsw數(shù)據(jù)建立時(shí)間最小值195nsTcycE使能信號(hào)周期最小值1000ns12/9/202211機(jī)械工業(yè)出版社關(guān)鍵信號(hào)時(shí)間寬度名稱功能描述要求Tas地址建立時(shí)間對(duì)于時(shí)間要求的說明對(duì)于上表中的數(shù)據(jù)在用軟件編寫操作時(shí)序時(shí)必須遵守,否則可能無法完成正確操作。例如當(dāng)PIC16F877主頻為20MHz時(shí),一條指令周期僅為0.2us,即200ns,這樣在用程序?qū)崿F(xiàn)此操作時(shí)序時(shí)在使能信號(hào)E置1后要延時(shí)3個(gè)指令周期(用C語言可以加入三個(gè)NOP函數(shù)),保證高電平持續(xù)時(shí)間大于使能信號(hào)脈沖寬度Tw的最小值450ns的要求。12/9/202212機(jī)械工業(yè)出版社對(duì)于時(shí)間要求的說明對(duì)于上表中的數(shù)據(jù)在用軟件編寫操作時(shí)序時(shí)必須例題:求向液晶的數(shù)據(jù)寄存器寫入’A’題意分析:題目要求向液晶的數(shù)據(jù)寄存器寫入內(nèi)容。查前表可知,RS信號(hào)為1,R/W信號(hào)為0,根據(jù)圖中的連接方法可知,RC5應(yīng)輸出1,RC6應(yīng)輸出0。當(dāng)E信號(hào)產(chǎn)生一個(gè)脈沖后數(shù)據(jù)被打入到液晶的數(shù)據(jù)寄存器中。數(shù)據(jù)由PORTD提供,E信號(hào)由RC7提供。根據(jù)時(shí)序圖可得到以上信號(hào)的輸出順序。用C語言描述如下。12/9/202213機(jī)械工業(yè)出版社例題:求向液晶的數(shù)據(jù)寄存器寫入’A’題意分析:12/9/20LCD_CMD_W_Timing(){TRISD=0;//PORTD用于輸出數(shù)據(jù)TRISC5=0;//RC5用于輸出RS信號(hào)。TRISC6=0;//RC6用于輸出R/W信號(hào)。TRISC7=0;//RC7用于輸出E信號(hào)。RC7=1;//E信號(hào)初值是0RC5=1;//RS=1RC6=0;//R/W=0PORTD=‘A’;//要打入的數(shù)據(jù)放到PORTD中RC7=1;//E信號(hào)由低變高,由于每條指令時(shí)200ns,已經(jīng)保證了Tas要求。NOP();NOP();NOP();//三個(gè)NOP滿足Tw最小時(shí)間寬度RC7=0;//E信號(hào)再由高變低,打入數(shù)據(jù)。由于數(shù)據(jù)早已經(jīng)賦值,所以Tdsw肯定滿足 NOP(); NOP();//滿足TcycE最小時(shí)間長度要求。E由低變高執(zhí)行至此已經(jīng)消耗了1200ns(6條指令)}12/9/202214機(jī)械工業(yè)出版社LCD_CMD_W_Timing()12/9/202214字符液晶的指令集對(duì)字符液晶的控制命令就是通過的特定信號(hào)組合而成,下表列出了某種字符液晶能夠識(shí)別的幾條指令。更多內(nèi)容請參考教材。名稱指令碼說明執(zhí)行周期*RSR/WDB7~DB0清屏0000000001清除屏幕,置AC為零1.64msDDRAM地址設(shè)置001ADD設(shè)DDRAM地址40us寫數(shù)據(jù)

10寫數(shù)據(jù) 寫數(shù)據(jù)到CG或DDRAM40us12/9/202215機(jī)械工業(yè)出版社字符液晶的指令集對(duì)字符液晶的控制命令就是通過的特定信號(hào)組合指令集的實(shí)現(xiàn)//向LCD寫指令voidLCD_Write_CMD(unsignedcharLCD_CMD){ LCD_DATA=LCD_CMD; LCD_CMD_W_Timing(); DelayMS(1) ; }12/9/202216機(jī)械工業(yè)出版社指令集的實(shí)現(xiàn)//向LCD寫指令12/9/202216機(jī)械工向LCD寫數(shù)據(jù)//向LCD寫數(shù)據(jù)voidLCD_Write_Data(unsignedcharLCD_CMD){LCD_DATA=LCD_CMD; LCD_DAT_W_Timing(); DelayMS(1) ; }12/9/202217機(jī)械工業(yè)出版社向LCD寫數(shù)據(jù)//向LCD寫數(shù)據(jù)12/9/202217機(jī)械工向LCD輸出一個(gè)字符//向LCD輸出一個(gè)字符voidLCD_Put_Char(unsignedcharLCD_Char){ LCD_Write_Data(LCD_Char);}12/9/202218機(jī)械工業(yè)出版社向LCD輸出一個(gè)字符//向LCD輸出一個(gè)字符12/9/20字符液晶的初始化液晶模塊正確初始化后,即可接收命令來顯示字符。12/9/202219機(jī)械工業(yè)出版社字符液晶的初始化液晶模塊正確初始化后,即可接收命令來顯示字字符顯示字符通過DDRAM(動(dòng)態(tài)顯示內(nèi)存區(qū))來顯示,每個(gè)字符位都對(duì)應(yīng)一個(gè)DDRAM地址。第一行地址:00、01、~~~、0F第二行地址:40、41、~~~、4F12/9/202220機(jī)械工業(yè)出版社字符顯示字符通過DDRAM(動(dòng)態(tài)顯示內(nèi)存區(qū))來顯示,每個(gè)字字符液晶能顯示常見的數(shù)字、字母和英文標(biāo)點(diǎn)12/9/202221機(jī)械工業(yè)出版社字符液晶能顯示常見的數(shù)字、字母和英文標(biāo)點(diǎn)12/9/2022常用函數(shù)的實(shí)現(xiàn):Set_Cursor//設(shè)置顯示坐標(biāo)//Row=(0or1)//Column=(0to15)voidLCD_Set_Cursor(unsignedcharRow,unsignedcharColumn){ LCD_Write_CMD(DD_RAM_BASE+Row*0x40+Column); DelayMS(1);}12/9/202222機(jī)械工業(yè)出版社常用函數(shù)的實(shí)現(xiàn):Set_Cursor//設(shè)置顯示坐標(biāo)12/9向LCD輸出字符串,字符串在RAM中voidLCD_Put_String(char*Str){unsignedcharStr_Temp;while(1){Str_Temp=*Str; if(Str_Temp!=0x00) {LCD_Write_Data(Str_Temp); Str++; } elsereturn;}}12/9/202223機(jī)械工業(yè)出版社向LCD輸出字符串,字符串在RAM中voidLCD_Put第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏原理及應(yīng)用2電子密碼鎖控制器的設(shè)計(jì)312/9/202224機(jī)械工業(yè)出版社第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏12/9/202225機(jī)械工業(yè)出版社12/9/202225機(jī)械工業(yè)出版社典型LED點(diǎn)陣顯示屏電路設(shè)計(jì)LED點(diǎn)陣顯示屏的基本顯示元件是8×8LED顯示塊,如圖所示。其原理與數(shù)碼管類似,由64個(gè)LED排成8行8列。同一行的LED陰極連在一起;同一列的LED陽極連在一起。12/9/202226機(jī)械工業(yè)出版社典型LED點(diǎn)陣顯示屏電路設(shè)計(jì)LED點(diǎn)陣顯示屏的基本顯示元件要在8×8LED顯示屏上顯示字母E12/9/202227機(jī)械工業(yè)出版社要在8×8LED顯示屏上顯示字母E12/9/202227機(jī)用0代表滅的點(diǎn),用1代表亮的點(diǎn)0000000000111100001000000011110000100000001000000011110000000000{0x0,0x3C,0x20,0x3C,0x20,0x20,0x3C,0x0};12/9/202228機(jī)械工業(yè)出版社用0代表滅的點(diǎn),用1代表亮的點(diǎn)0000000012/9/2編程控制8×8顯示屏K1顯示字母E的字形12/9/202229機(jī)械工業(yè)出版社編程控制8×8顯示屏K1顯示字母E的字形12/9/2022題意分析H0到H7表示行選信號(hào),用PORTD控制。在實(shí)際電路中由于LED顯示塊耗電量比較大,單片機(jī)無法直接驅(qū)動(dòng)太多的顯示塊。所以在實(shí)際電路中應(yīng)該為每個(gè)行選信號(hào)上加入驅(qū)動(dòng)電路。L0到L7是用來顯示每行的字形數(shù)據(jù)端口,通過PORTB輸出。要想顯示E的字形,根據(jù)掃描法思想,就是先把表示E字形的第一行二進(jìn)制數(shù)送L0到L7,而后僅點(diǎn)亮第1行;依次再把表示E字形的第二行二進(jìn)制數(shù)送L0到L7,而后僅點(diǎn)亮第2行;…..。12/9/202230機(jī)械工業(yè)出版社題意分析H0到H7表示行選信號(hào),用PORTD控制。在實(shí)際電關(guān)鍵代碼constunsignedcharZiXing[8]={0x0,0x3C,0x20,0x3C,0x20,0x20,0x3C,0x0};#defineLIE_DIRTRISB//列端口方向位,#defineLIE_PORTPORTB//列端口#defineHANG_DIRTRISD//行端口方向位,#defineHANG_PORTPORTD//行端口for(Hang=0;Hang<8;Hang++){LIE_PORT=ZiXing[Hang];//字形碼送列端口顯示HANG_PORT=~((unsignedchar)1<<Hang);//指定行DelayMS(2);//短暫延時(shí)造成視覺暫留現(xiàn)象HANG_PORT=0b11111111;//在送新數(shù)據(jù)前關(guān)閉顯示}12/9/202231機(jī)械工業(yè)出版社關(guān)鍵代碼constunsignedcharZiXing顯示漢字的原理12/9/202232機(jī)械工業(yè)出版社顯示漢字的原理12/9/202232機(jī)械工業(yè)出版社“中”的字型碼{0x01,0x00,0x01,0x00,0x21,0x08,0x3F,0xFC,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00};12/9/202233機(jī)械工業(yè)出版社“中”的字型碼{0x01,0x00,0x01,0x00,0x行譯碼電路:4-16譯碼器12/9/202234機(jī)械工業(yè)出版社行譯碼電路:4-16譯碼器12/9/202234機(jī)械工業(yè)出版列電路:串聯(lián)的移位寄存器12/9/202235機(jī)械工業(yè)出版社列電路:串聯(lián)的移位寄存器12/9/202235機(jī)械工業(yè)出版社組合后的電路12/9/202236機(jī)械工業(yè)出版社組合后的電路12/9/202236機(jī)械工業(yè)出版社實(shí)例:在LED點(diǎn)陣顯示屏上顯示漢字題意分析由于PIC單片機(jī)具有硬件的移位輸出接口SPI,所以本例中列信號(hào)L0:L15由DS、SH_CP和ST_CP控制。DS和SH_CP分別連接到PIC硬件SPI模塊的SDO和SCK引腳。ST_CP由RC1控制,出現(xiàn)上升沿時(shí)74HC595的移位寄存器內(nèi)容才會(huì)輸出到其輸出引腳上。CS_N由RC0控制。由此可見C口的控制信號(hào)都是輸出狀態(tài)即可。行選擇信號(hào)H0:H15由DB0:DB3和CS_N控制。DB3:DB0用RD3:RD0控制,所以PORTD應(yīng)為輸出狀態(tài)。12/9/202237機(jī)械工業(yè)出版社實(shí)例:在LED點(diǎn)陣顯示屏上顯示漢字題意分析12/9/20題意分析續(xù)要想顯示漢字“中”的字形,根據(jù)掃描法思想,把表示“中”字字形碼數(shù)組的第一和第二個(gè)字節(jié)依次輸出到L0:L15,這可以通過SPI方式順序發(fā)送字形碼數(shù)組中的前兩個(gè)字節(jié)來實(shí)現(xiàn);而后僅點(diǎn)亮第1行;再把字形碼數(shù)組的第三和第四個(gè)字節(jié)通過SPI方式發(fā)送到L0:L15,而后僅點(diǎn)亮第2行;…..。12/9/202238機(jī)械工業(yè)出版社題意分析續(xù)要想顯示漢字“中”的字形,根據(jù)掃描法思想,把表示關(guān)鍵代碼#defineCTRL_DIRTRISC//控制字節(jié)方向位,#defineCTRLBYTEPORTC//控制字節(jié)#defineSH_CPRC3//shiftclcokpluse移位時(shí)鐘 #defineDSRC5//SerialData串行數(shù)據(jù) #defineST_CPRC1//storeclockpluse鎖存脈沖,下降沿鎖存#defineCS_NRC0//74138片選信號(hào),低電平有效#defineLINESELPORTD//行選擇,低4位有效#defineLINESEL_DIRTRISD//行選擇方向位12/9/202239機(jī)械工業(yè)出版社關(guān)鍵代碼#defineCTRL_DIRTRISC//SPIInit()voidSPIInit(){TRISC3=0;//RC3/SCK為輸出TRISC5=0;//RC5/SDO為輸出TRISC1=0;//RC1用來控制74HC595的鎖存信號(hào)SSPIF=0;//清空標(biāo)志位CKE=0;//上升沿發(fā)送數(shù)據(jù),為了與74HC595時(shí)序匹配CKP=1;//空閑為高電平SSPEN=1;//使能MSSP模塊SSPM3=0;SSPM2=0;SSPM1=1;SSPM0=0;//SSPM=0010,工作模式為SPI主控}12/9/202240機(jī)械工業(yè)出版社SPIInit()voidSPIInit()12/9/20SPISendvoidSPISend(unsignedchardata){SSPBUF=data;//把要發(fā)送的數(shù)據(jù)放在SSPBUF中while(SSPIF==0)//SSPIF為0說明未發(fā)送完成{}//循環(huán)退出說明發(fā)送完畢SSPIF=0;//SSPIF必須手動(dòng)清零}12/9/202241機(jī)械工業(yè)出版社SPISendvoidSPISend(unsignedc顯示字形的代碼for(Line=0;Line<16;Line++){SPISend(ZiXing[Line<<1]);//低八位SPISend(ZiXing[(Line<<1)+1]);//高八位LINESEL=Line;//選擇要顯示的行ST_CP=1;//產(chǎn)生上升沿使595芯片輸出數(shù)據(jù)ST_CP=0;//回到低電平,為下次上升沿做準(zhǔn)備CS_N=0;//使能74LS138芯片輸出DelayMS(2);//延時(shí)產(chǎn)生視覺暫留現(xiàn)象CS_N=1;//關(guān)閉74LS138芯片輸出}12/9/202242機(jī)械工業(yè)出版社顯示字形的代碼for(Line=0;Line<16;Line第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏原理及應(yīng)用2電子密碼鎖控制器的設(shè)計(jì)312/9/202243機(jī)械工業(yè)出版社第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏電子密碼鎖控制器:需求分析不需要鑰匙,開鎖者輸入密碼即可控制鎖打開,鎖的關(guān)閉是手動(dòng)或自動(dòng)的;開鎖者有權(quán)利修改自己的密碼;為了防止開鎖者窮舉密碼,密碼輸入錯(cuò)誤三次后即報(bào)警,5分鐘后方能繼續(xù)使用;為了提示開鎖者正確操作,應(yīng)該用顯示設(shè)備輸出相關(guān)提示信息;當(dāng)開鎖者有誤操作時(shí)應(yīng)該有聲音警告;電池供電;12/9/202244機(jī)械工業(yè)出版社電子密碼鎖控制器:需求分析不需要鑰匙,開鎖者輸入密碼即可控制硬件設(shè)備需求為了輸入密碼,需要設(shè)計(jì)按鍵輸入電路,為了提高安全性,又考慮到密碼鎖的空間,一般的系統(tǒng)都是數(shù)字密碼,這里可以采用4×4矩陣鍵盤來實(shí)現(xiàn)。為了防止斷電后密碼丟失,需要把用戶密碼記錄在非易失性存儲(chǔ)器中,例如EEPROM中。由于PIC單片機(jī)大都內(nèi)置EEPROM,可以省略外掛EEPROM。為了實(shí)現(xiàn)報(bào)警和誤操作提示,可以采用簡單的聲音報(bào)警。為了降低成本,一般采用簡單的5V壓電式蜂鳴器來實(shí)現(xiàn)聲音的播放,這種蜂鳴器驅(qū)動(dòng)電流在10mA左右,用PIC單片機(jī)的I/O引腳可以直接驅(qū)動(dòng)。12/9/202245機(jī)械工業(yè)出版社硬件設(shè)備需求為了輸入密碼,需要設(shè)計(jì)按鍵輸入電路,為了提高安全硬件設(shè)備需求續(xù)由于提示信息由很多種。為了能讓使用者看明白,這里采用字符式液晶來顯示,在實(shí)際應(yīng)用中,讀者可以購買內(nèi)置中文字庫的液晶來代替字符式液晶。單純的電子鎖的種類很多,但其控制原理都是通過輸入信號(hào)的導(dǎo)通和斷開來實(shí)現(xiàn)鎖的開關(guān),一般的電子鎖都需要10V乃至更高的驅(qū)動(dòng)電壓。這樣無法用一個(gè)I/O引腳直接驅(qū)動(dòng),需要外加適當(dāng)?shù)母綦x和驅(qū)動(dòng)電路控制。電池供電的系統(tǒng)一般都要求低功耗,本系統(tǒng)對(duì)速度要求不高,所以可采用38.768KHz的低主頻晶振作為系統(tǒng)主頻。12/9/202246機(jī)械工業(yè)出版社硬件設(shè)備需求續(xù)由于提示信息由很多種。為了能讓使用者看明白,這硬件設(shè)備需求續(xù)需要一片單片機(jī)來完成各種設(shè)備之間的邏輯控制,由于本書以PIC16F877為例講解,這里就采用PIC16F877,在具體項(xiàng)目,可根據(jù)I/O引腳等特殊需求選擇其它款PIC單片機(jī)。例如本項(xiàng)目中要求有矩陣鍵盤輸入、字符液晶輸出,這樣所用引腳大約22個(gè)左右(不考慮引腳復(fù)用情況下)。為了給將來的升級(jí)留出余地,建議選擇28腳的單片機(jī)。為了適應(yīng)電池供電,建議采用低功耗型號(hào)。為了記錄密碼,最好有內(nèi)置EEPROM。為了簡化電路設(shè)計(jì),最好I/O引腳可以直接驅(qū)動(dòng)蜂鳴器。綜上所述,可以選擇PIC16F886單片機(jī)。12/9/202247機(jī)械工業(yè)出版社硬件設(shè)備需求續(xù)需要一片單片機(jī)來完成各種設(shè)備之間的邏輯控制,由硬件設(shè)計(jì)密碼鍵盤部分電路的設(shè)計(jì);字符液晶部分電路的設(shè)計(jì);鎖控制部分電路的設(shè)計(jì);發(fā)聲部分電路的設(shè)計(jì)12/9/202248機(jī)械工業(yè)出版社硬件設(shè)計(jì)密碼鍵盤部分電路的設(shè)計(jì);12/9/202248機(jī)械工密碼鍵盤部分電路的設(shè)計(jì);12/9/202249機(jī)械工業(yè)出版社密碼鍵盤部分電路的設(shè)計(jì);12/9/202249機(jī)械工業(yè)出版社字符液晶部分電路的設(shè)計(jì)12/9/202250機(jī)械工業(yè)出版社字符液晶部分電路的設(shè)計(jì)12/9/202250機(jī)械工業(yè)出版社鎖控制部分電路的設(shè)計(jì);12/9/202251機(jī)械工業(yè)出版社鎖控制部分電路的設(shè)計(jì);12/9/202251機(jī)械工業(yè)出版社發(fā)聲部分電路的設(shè)計(jì)12/9/202252機(jī)械工業(yè)出版社發(fā)聲部分電路的設(shè)計(jì)12/9/202252機(jī)械工業(yè)出版社系統(tǒng)上電初始化,讀出掉電前密碼。用戶密碼輸入開鎖重試次數(shù)到3次?報(bào)警5分鐘是否改密碼?密碼正確?修改密碼關(guān)鎖關(guān)鎖信號(hào)有效?是否是否是否是否軟件設(shè)計(jì)12/9/202253機(jī)械工業(yè)出版社系統(tǒng)上電初始化,用戶密碼輸入開鎖重試次數(shù)到3次?報(bào)警5分鐘是題意分析程序的主循環(huán)應(yīng)該是等待用戶的按鍵輸入。為了簡單起見,設(shè)定密碼為6位數(shù)字。使用前文完成的函數(shù)GetKeyValue即可獲得輸入的鍵值。而后根據(jù)鍵值來決定下一步的動(dòng)作。輸入的按鍵有五種情況:第一種是0到9之間的數(shù)字,應(yīng)將其按順序作為密碼的一部分并在液晶上顯示“*”號(hào);第二種是退格按鍵,在密碼內(nèi)容中應(yīng)刪除上次輸入的數(shù)字,顯示上也應(yīng)退一格并刪除一個(gè)“*”號(hào);第三種是確定鍵,表示密碼輸入完畢,進(jìn)入密碼比較流程;當(dāng)密碼匹配時(shí)則發(fā)出開鎖信號(hào),否則顯示錯(cuò)誤信息并用聲音提示,當(dāng)連續(xù)輸入三次密碼不對(duì),則長時(shí)間發(fā)聲報(bào)警。過一段時(shí)間后方能繼續(xù)重試密碼;第四種是修改密碼鍵,只有密碼輸入正確開鎖后才有效,其它狀態(tài)時(shí)無效按鍵,無效時(shí)按下應(yīng)通過聲音提示用戶輸入錯(cuò)誤。修改密碼過程與輸入密碼過程類似;第五種是C、D和E鍵,本系統(tǒng)中未用到這幾個(gè)鍵,應(yīng)提示用戶輸入錯(cuò)誤;12/9/202254機(jī)械工業(yè)出版社題意分析程序的主循環(huán)應(yīng)該是等待用戶的按鍵輸入。為了簡單起見題意分析續(xù)為了防止系統(tǒng)掉電,用戶的密碼應(yīng)該保存在非易失性存儲(chǔ)器中,本例中直接保存在PIC單片機(jī)內(nèi)部的EEPROM中即可,HT-PIC有專用的內(nèi)部EEPROM讀寫函數(shù)eeprom_read和eeprom_write,很容易實(shí)現(xiàn)EEPROM的存取。在系統(tǒng)初始化時(shí)需要從EEPROM讀取掉電前的用戶密碼,用于與開鎖者輸入的密碼做比較。密碼修改成功后,新密碼應(yīng)該寫入EEPROM;12/9/202255機(jī)械工業(yè)出版社題意分析續(xù)為了防止系統(tǒng)掉電,用戶的密碼應(yīng)該保存在非易失性存儲(chǔ)題意分析續(xù)本設(shè)計(jì)中采用字符式液晶作為顯示界面,應(yīng)該通過液晶模塊顯示每一次操作的提示語,便于用戶理解。在發(fā)聲功能上,警告聲音為蜂鳴器發(fā)一短聲音,報(bào)警聲音為一長聲音即可。12/9/202256機(jī)械工業(yè)出版社題意分析續(xù)本設(shè)計(jì)中采用字符式液晶作為顯示界面,應(yīng)該通過液晶模關(guān)鍵代碼:把舊密碼從PIC內(nèi)置EEPROM讀出for(i=0;i<6;i++){//把舊密碼從PIC內(nèi)置EEPROM讀出strPassword[i]=eeprom_read(EEP_PSWD_Address+i);if(strPassword[i]>9)//用鍵盤輸入的密碼肯定小于9{//若讀出的某個(gè)密碼大于9說明密碼已經(jīng)被意外修改過了//加載默認(rèn)密碼for(i=0;i<6;i++)//執(zhí)行到這里上一層循環(huán)的i就不用了{(lán)//默認(rèn)密碼是123456strPassword[i]=i+1;}break;}}12/9/202257機(jī)械工業(yè)出版社關(guān)鍵代碼:把舊密碼從PIC內(nèi)置EEPROM讀出for(i=鍵盤處理代碼說明key=GetKeyValue();//從4*4小鍵盤獲得按鍵鍵值if(key!=NO_KEY)//如果有按鍵按下{if(key<=9)//無符號(hào)數(shù)肯定大于等于0{if(InputNumbers<MAX_PASSWORD_LENGTH){//記錄用戶密碼userPassword[InputNumbers]=key;LCD_Put_Char('*');//顯示字形%InputNumbers++;//輸入的數(shù)字?jǐn)?shù)目加一}else{beep();//發(fā)出警告聲音}}12/9/202258機(jī)械工業(yè)出版社鍵盤處理代碼說明key=GetKeyValue();//鍵盤處理代碼說明續(xù)else{switch(key){caseENTER:{//逐個(gè)鍵值比較,看密碼是否匹配, //這是有問題的,因?yàn)橛脩艨赡軟]輸入6個(gè)字母//當(dāng)然為了保險(xiǎn)起見,要求用戶必須輸入6個(gè)數(shù)字也是可行的for(i=0;i<MAX_PASSWORD_LENGTH;i++){if(userPassword[i]!=strPassword[i])break;}if(i==MAX_PASSWORD_LENGTH)//密碼匹配{//顯示:密碼正確鎖打開LOCK=OPEN;//開鎖12/9/202259機(jī)械工業(yè)出版社鍵盤處理代碼說明續(xù)else12/9/202259機(jī)械工業(yè)出版作業(yè)編程控制16×16LED點(diǎn)陣顯示漢字“國”的字形12/9/202260機(jī)械工業(yè)出版社作業(yè)編程控制16×16LED點(diǎn)陣顯示漢字“國”的字形12/提問時(shí)間12/9/202261機(jī)械工業(yè)出版社提問時(shí)間12/9/202261機(jī)械工業(yè)出版社

更多精品資請?jiān)L問更多精品資請?jiān)L問

更多品資源請?jiān)L問更多品資源請?jiān)L問【學(xué)習(xí)目標(biāo)】了解字符式液晶的顯示原理;掌握字符式液晶的初始化方法;掌握根據(jù)時(shí)序圖編程程序的方法;掌握LED點(diǎn)陣顯示屏電路設(shè)計(jì)思想;理解漢字顯示原理;掌握LED點(diǎn)陣顯示屏的編程方法;掌握光耦的用途和控制方法;12/9/202264機(jī)械工業(yè)出版社【學(xué)習(xí)目標(biāo)】了解字符式液晶的顯示原理;12/9/20221機(jī)第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏原理及應(yīng)用2電子密碼鎖控制器的設(shè)計(jì)312/9/202265機(jī)械工業(yè)出版社第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏原理及應(yīng)用2電子密碼鎖控制器的設(shè)計(jì)312/9/202266機(jī)械工業(yè)出版社第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏液晶分類筆段式液晶字符式液晶圖像式液晶漢字圖像式液晶彩屏液晶12/9/202267機(jī)械工業(yè)出版社液晶分類筆段式液晶12/9/20224機(jī)械工業(yè)出版社字符式液晶模塊12/9/202268機(jī)械工業(yè)出版社字符式液晶模塊12/9/20225機(jī)械工業(yè)出版社16字符×2行顯示的字符液晶顯示屏簡介內(nèi)置HD44780控制器:可直接產(chǎn)生192種常見字符圖形;字符編碼與ASCII兼容,并且允許用戶自編字符用于顯示;只需單一的+5V供電即可工作;重量輕:≤100g;體積?。骸?1mm厚;功耗低:10-15mw;指令功能強(qiáng):可組合成各種輸入、顯示、移位方式以滿足不同的要求;接口簡單方便:可與8位微處理器或微控制器相聯(lián);工作溫度寬:-20℃-70℃;可靠性高:壽命為50,000小時(shí)(25℃)。12/9/202269機(jī)械工業(yè)出版社16字符×2行顯示的字符液晶顯示屏簡介內(nèi)置HD44780控制硬件連接圖12/9/202270機(jī)械工業(yè)出版社硬件連接圖12/9/20227機(jī)械工業(yè)出版社引腳信號(hào)表序號(hào)符號(hào)名稱功能1VSS接地0V2VDD電路電源5V±10%3VEE液晶驅(qū)動(dòng)電壓保證VDD-VEE有4.5到5V電壓差4RS寄存器選擇信號(hào)H:數(shù)據(jù)寄存器L:指令寄存器5R/W讀/寫信號(hào)H:讀L:寫6E片選信號(hào)下降沿觸發(fā),鎖存數(shù)據(jù)7-14DB0-DB7數(shù)據(jù)線數(shù)據(jù)傳輸12/9/202271機(jī)械工業(yè)出版社引腳信號(hào)表序號(hào)符號(hào)名稱功能1VSS接地0V寄存器選擇功能表RSR/W操作00指令寄存器(IR)寫入01忙標(biāo)志和地址計(jì)數(shù)器讀出10數(shù)據(jù)寄存器(DR)寫入11數(shù)據(jù)寄存器讀出12/9/202272機(jī)械工業(yè)出版社寄存器選擇功能表RSR/W操作00指令寄存器(IR)寫入信號(hào)操作時(shí)序圖12/9/202273機(jī)械工業(yè)出版社信號(hào)操作時(shí)序圖12/9/202210機(jī)械工業(yè)出版社關(guān)鍵信號(hào)時(shí)間寬度名稱功能描述要求Tas地址建立時(shí)間最小值140nsTw使能信號(hào)脈沖寬度最小值450nsTdsw數(shù)據(jù)建立時(shí)間最小值195nsTcycE使能信號(hào)周期最小值1000ns12/9/202274機(jī)械工業(yè)出版社關(guān)鍵信號(hào)時(shí)間寬度名稱功能描述要求Tas地址建立時(shí)間對(duì)于時(shí)間要求的說明對(duì)于上表中的數(shù)據(jù)在用軟件編寫操作時(shí)序時(shí)必須遵守,否則可能無法完成正確操作。例如當(dāng)PIC16F877主頻為20MHz時(shí),一條指令周期僅為0.2us,即200ns,這樣在用程序?qū)崿F(xiàn)此操作時(shí)序時(shí)在使能信號(hào)E置1后要延時(shí)3個(gè)指令周期(用C語言可以加入三個(gè)NOP函數(shù)),保證高電平持續(xù)時(shí)間大于使能信號(hào)脈沖寬度Tw的最小值450ns的要求。12/9/202275機(jī)械工業(yè)出版社對(duì)于時(shí)間要求的說明對(duì)于上表中的數(shù)據(jù)在用軟件編寫操作時(shí)序時(shí)必須例題:求向液晶的數(shù)據(jù)寄存器寫入’A’題意分析:題目要求向液晶的數(shù)據(jù)寄存器寫入內(nèi)容。查前表可知,RS信號(hào)為1,R/W信號(hào)為0,根據(jù)圖中的連接方法可知,RC5應(yīng)輸出1,RC6應(yīng)輸出0。當(dāng)E信號(hào)產(chǎn)生一個(gè)脈沖后數(shù)據(jù)被打入到液晶的數(shù)據(jù)寄存器中。數(shù)據(jù)由PORTD提供,E信號(hào)由RC7提供。根據(jù)時(shí)序圖可得到以上信號(hào)的輸出順序。用C語言描述如下。12/9/202276機(jī)械工業(yè)出版社例題:求向液晶的數(shù)據(jù)寄存器寫入’A’題意分析:12/9/20LCD_CMD_W_Timing(){TRISD=0;//PORTD用于輸出數(shù)據(jù)TRISC5=0;//RC5用于輸出RS信號(hào)。TRISC6=0;//RC6用于輸出R/W信號(hào)。TRISC7=0;//RC7用于輸出E信號(hào)。RC7=1;//E信號(hào)初值是0RC5=1;//RS=1RC6=0;//R/W=0PORTD=‘A’;//要打入的數(shù)據(jù)放到PORTD中RC7=1;//E信號(hào)由低變高,由于每條指令時(shí)200ns,已經(jīng)保證了Tas要求。NOP();NOP();NOP();//三個(gè)NOP滿足Tw最小時(shí)間寬度RC7=0;//E信號(hào)再由高變低,打入數(shù)據(jù)。由于數(shù)據(jù)早已經(jīng)賦值,所以Tdsw肯定滿足 NOP(); NOP();//滿足TcycE最小時(shí)間長度要求。E由低變高執(zhí)行至此已經(jīng)消耗了1200ns(6條指令)}12/9/202277機(jī)械工業(yè)出版社LCD_CMD_W_Timing()12/9/202214字符液晶的指令集對(duì)字符液晶的控制命令就是通過的特定信號(hào)組合而成,下表列出了某種字符液晶能夠識(shí)別的幾條指令。更多內(nèi)容請參考教材。名稱指令碼說明執(zhí)行周期*RSR/WDB7~DB0清屏0000000001清除屏幕,置AC為零1.64msDDRAM地址設(shè)置001ADD設(shè)DDRAM地址40us寫數(shù)據(jù)

10寫數(shù)據(jù) 寫數(shù)據(jù)到CG或DDRAM40us12/9/202278機(jī)械工業(yè)出版社字符液晶的指令集對(duì)字符液晶的控制命令就是通過的特定信號(hào)組合指令集的實(shí)現(xiàn)//向LCD寫指令voidLCD_Write_CMD(unsignedcharLCD_CMD){ LCD_DATA=LCD_CMD; LCD_CMD_W_Timing(); DelayMS(1) ; }12/9/202279機(jī)械工業(yè)出版社指令集的實(shí)現(xiàn)//向LCD寫指令12/9/202216機(jī)械工向LCD寫數(shù)據(jù)//向LCD寫數(shù)據(jù)voidLCD_Write_Data(unsignedcharLCD_CMD){LCD_DATA=LCD_CMD; LCD_DAT_W_Timing(); DelayMS(1) ; }12/9/202280機(jī)械工業(yè)出版社向LCD寫數(shù)據(jù)//向LCD寫數(shù)據(jù)12/9/202217機(jī)械工向LCD輸出一個(gè)字符//向LCD輸出一個(gè)字符voidLCD_Put_Char(unsignedcharLCD_Char){ LCD_Write_Data(LCD_Char);}12/9/202281機(jī)械工業(yè)出版社向LCD輸出一個(gè)字符//向LCD輸出一個(gè)字符12/9/20字符液晶的初始化液晶模塊正確初始化后,即可接收命令來顯示字符。12/9/202282機(jī)械工業(yè)出版社字符液晶的初始化液晶模塊正確初始化后,即可接收命令來顯示字字符顯示字符通過DDRAM(動(dòng)態(tài)顯示內(nèi)存區(qū))來顯示,每個(gè)字符位都對(duì)應(yīng)一個(gè)DDRAM地址。第一行地址:00、01、~~~、0F第二行地址:40、41、~~~、4F12/9/202283機(jī)械工業(yè)出版社字符顯示字符通過DDRAM(動(dòng)態(tài)顯示內(nèi)存區(qū))來顯示,每個(gè)字字符液晶能顯示常見的數(shù)字、字母和英文標(biāo)點(diǎn)12/9/202284機(jī)械工業(yè)出版社字符液晶能顯示常見的數(shù)字、字母和英文標(biāo)點(diǎn)12/9/2022常用函數(shù)的實(shí)現(xiàn):Set_Cursor//設(shè)置顯示坐標(biāo)//Row=(0or1)//Column=(0to15)voidLCD_Set_Cursor(unsignedcharRow,unsignedcharColumn){ LCD_Write_CMD(DD_RAM_BASE+Row*0x40+Column); DelayMS(1);}12/9/202285機(jī)械工業(yè)出版社常用函數(shù)的實(shí)現(xiàn):Set_Cursor//設(shè)置顯示坐標(biāo)12/9向LCD輸出字符串,字符串在RAM中voidLCD_Put_String(char*Str){unsignedcharStr_Temp;while(1){Str_Temp=*Str; if(Str_Temp!=0x00) {LCD_Write_Data(Str_Temp); Str++; } elsereturn;}}12/9/202286機(jī)械工業(yè)出版社向LCD輸出字符串,字符串在RAM中voidLCD_Put第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏原理及應(yīng)用2電子密碼鎖控制器的設(shè)計(jì)312/9/202287機(jī)械工業(yè)出版社第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏12/9/202288機(jī)械工業(yè)出版社12/9/202225機(jī)械工業(yè)出版社典型LED點(diǎn)陣顯示屏電路設(shè)計(jì)LED點(diǎn)陣顯示屏的基本顯示元件是8×8LED顯示塊,如圖所示。其原理與數(shù)碼管類似,由64個(gè)LED排成8行8列。同一行的LED陰極連在一起;同一列的LED陽極連在一起。12/9/202289機(jī)械工業(yè)出版社典型LED點(diǎn)陣顯示屏電路設(shè)計(jì)LED點(diǎn)陣顯示屏的基本顯示元件要在8×8LED顯示屏上顯示字母E12/9/202290機(jī)械工業(yè)出版社要在8×8LED顯示屏上顯示字母E12/9/202227機(jī)用0代表滅的點(diǎn),用1代表亮的點(diǎn)0000000000111100001000000011110000100000001000000011110000000000{0x0,0x3C,0x20,0x3C,0x20,0x20,0x3C,0x0};12/9/202291機(jī)械工業(yè)出版社用0代表滅的點(diǎn),用1代表亮的點(diǎn)0000000012/9/2編程控制8×8顯示屏K1顯示字母E的字形12/9/202292機(jī)械工業(yè)出版社編程控制8×8顯示屏K1顯示字母E的字形12/9/2022題意分析H0到H7表示行選信號(hào),用PORTD控制。在實(shí)際電路中由于LED顯示塊耗電量比較大,單片機(jī)無法直接驅(qū)動(dòng)太多的顯示塊。所以在實(shí)際電路中應(yīng)該為每個(gè)行選信號(hào)上加入驅(qū)動(dòng)電路。L0到L7是用來顯示每行的字形數(shù)據(jù)端口,通過PORTB輸出。要想顯示E的字形,根據(jù)掃描法思想,就是先把表示E字形的第一行二進(jìn)制數(shù)送L0到L7,而后僅點(diǎn)亮第1行;依次再把表示E字形的第二行二進(jìn)制數(shù)送L0到L7,而后僅點(diǎn)亮第2行;…..。12/9/202293機(jī)械工業(yè)出版社題意分析H0到H7表示行選信號(hào),用PORTD控制。在實(shí)際電關(guān)鍵代碼constunsignedcharZiXing[8]={0x0,0x3C,0x20,0x3C,0x20,0x20,0x3C,0x0};#defineLIE_DIRTRISB//列端口方向位,#defineLIE_PORTPORTB//列端口#defineHANG_DIRTRISD//行端口方向位,#defineHANG_PORTPORTD//行端口for(Hang=0;Hang<8;Hang++){LIE_PORT=ZiXing[Hang];//字形碼送列端口顯示HANG_PORT=~((unsignedchar)1<<Hang);//指定行DelayMS(2);//短暫延時(shí)造成視覺暫留現(xiàn)象HANG_PORT=0b11111111;//在送新數(shù)據(jù)前關(guān)閉顯示}12/9/202294機(jī)械工業(yè)出版社關(guān)鍵代碼constunsignedcharZiXing顯示漢字的原理12/9/202295機(jī)械工業(yè)出版社顯示漢字的原理12/9/202232機(jī)械工業(yè)出版社“中”的字型碼{0x01,0x00,0x01,0x00,0x21,0x08,0x3F,0xFC,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00};12/9/202296機(jī)械工業(yè)出版社“中”的字型碼{0x01,0x00,0x01,0x00,0x行譯碼電路:4-16譯碼器12/9/202297機(jī)械工業(yè)出版社行譯碼電路:4-16譯碼器12/9/202234機(jī)械工業(yè)出版列電路:串聯(lián)的移位寄存器12/9/202298機(jī)械工業(yè)出版社列電路:串聯(lián)的移位寄存器12/9/202235機(jī)械工業(yè)出版社組合后的電路12/9/202299機(jī)械工業(yè)出版社組合后的電路12/9/202236機(jī)械工業(yè)出版社實(shí)例:在LED點(diǎn)陣顯示屏上顯示漢字題意分析由于PIC單片機(jī)具有硬件的移位輸出接口SPI,所以本例中列信號(hào)L0:L15由DS、SH_CP和ST_CP控制。DS和SH_CP分別連接到PIC硬件SPI模塊的SDO和SCK引腳。ST_CP由RC1控制,出現(xiàn)上升沿時(shí)74HC595的移位寄存器內(nèi)容才會(huì)輸出到其輸出引腳上。CS_N由RC0控制。由此可見C口的控制信號(hào)都是輸出狀態(tài)即可。行選擇信號(hào)H0:H15由DB0:DB3和CS_N控制。DB3:DB0用RD3:RD0控制,所以PORTD應(yīng)為輸出狀態(tài)。12/9/2022100機(jī)械工業(yè)出版社實(shí)例:在LED點(diǎn)陣顯示屏上顯示漢字題意分析12/9/20題意分析續(xù)要想顯示漢字“中”的字形,根據(jù)掃描法思想,把表示“中”字字形碼數(shù)組的第一和第二個(gè)字節(jié)依次輸出到L0:L15,這可以通過SPI方式順序發(fā)送字形碼數(shù)組中的前兩個(gè)字節(jié)來實(shí)現(xiàn);而后僅點(diǎn)亮第1行;再把字形碼數(shù)組的第三和第四個(gè)字節(jié)通過SPI方式發(fā)送到L0:L15,而后僅點(diǎn)亮第2行;…..。12/9/2022101機(jī)械工業(yè)出版社題意分析續(xù)要想顯示漢字“中”的字形,根據(jù)掃描法思想,把表示關(guān)鍵代碼#defineCTRL_DIRTRISC//控制字節(jié)方向位,#defineCTRLBYTEPORTC//控制字節(jié)#defineSH_CPRC3//shiftclcokpluse移位時(shí)鐘 #defineDSRC5//SerialData串行數(shù)據(jù) #defineST_CPRC1//storeclockpluse鎖存脈沖,下降沿鎖存#defineCS_NRC0//74138片選信號(hào),低電平有效#defineLINESELPORTD//行選擇,低4位有效#defineLINESEL_DIRTRISD//行選擇方向位12/9/2022102機(jī)械工業(yè)出版社關(guān)鍵代碼#defineCTRL_DIRTRISC//SPIInit()voidSPIInit(){TRISC3=0;//RC3/SCK為輸出TRISC5=0;//RC5/SDO為輸出TRISC1=0;//RC1用來控制74HC595的鎖存信號(hào)SSPIF=0;//清空標(biāo)志位CKE=0;//上升沿發(fā)送數(shù)據(jù),為了與74HC595時(shí)序匹配CKP=1;//空閑為高電平SSPEN=1;//使能MSSP模塊SSPM3=0;SSPM2=0;SSPM1=1;SSPM0=0;//SSPM=0010,工作模式為SPI主控}12/9/2022103機(jī)械工業(yè)出版社SPIInit()voidSPIInit()12/9/20SPISendvoidSPISend(unsignedchardata){SSPBUF=data;//把要發(fā)送的數(shù)據(jù)放在SSPBUF中while(SSPIF==0)//SSPIF為0說明未發(fā)送完成{}//循環(huán)退出說明發(fā)送完畢SSPIF=0;//SSPIF必須手動(dòng)清零}12/9/2022104機(jī)械工業(yè)出版社SPISendvoidSPISend(unsignedc顯示字形的代碼for(Line=0;Line<16;Line++){SPISend(ZiXing[Line<<1]);//低八位SPISend(ZiXing[(Line<<1)+1]);//高八位LINESEL=Line;//選擇要顯示的行ST_CP=1;//產(chǎn)生上升沿使595芯片輸出數(shù)據(jù)ST_CP=0;//回到低電平,為下次上升沿做準(zhǔn)備CS_N=0;//使能74LS138芯片輸出DelayMS(2);//延時(shí)產(chǎn)生視覺暫留現(xiàn)象CS_N=1;//關(guān)閉74LS138芯片輸出}12/9/2022105機(jī)械工業(yè)出版社顯示字形的代碼for(Line=0;Line<16;Line第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏原理及應(yīng)用2電子密碼鎖控制器的設(shè)計(jì)312/9/2022106機(jī)械工業(yè)出版社第十三章綜合實(shí)例字符式液晶模塊原理及編程1LED點(diǎn)陣顯示屏電子密碼鎖控制器:需求分析不需要鑰匙,開鎖者輸入密碼即可控制鎖打開,鎖的關(guān)閉是手動(dòng)或自動(dòng)的;開鎖者有權(quán)利修改自己的密碼;為了防止開鎖者窮舉密碼,密碼輸入錯(cuò)誤三次后即報(bào)警,5分鐘后方能繼續(xù)使用;為了提示開鎖者正確操作,應(yīng)該用顯示設(shè)備輸出相關(guān)提示信息;當(dāng)開鎖者有誤操作時(shí)應(yīng)該有聲音警告;電池供電;12/9/2022107機(jī)械工業(yè)出版社電子密碼鎖控制器:需求分析不需要鑰匙,開鎖者輸入密碼即可控制硬件設(shè)備需求為了輸入密碼,需要設(shè)計(jì)按鍵輸入電路,為了提高安全性,又考慮到密碼鎖的空間,一般的系統(tǒng)都是數(shù)字密碼,這里可以采用4×4矩陣鍵盤來實(shí)現(xiàn)。為了防止斷電后密碼丟失,需要把用戶密碼記錄在非易失性存儲(chǔ)器中,例如EEPROM中。由于PIC單片機(jī)大都內(nèi)置EEPROM,可以省略外掛EEPROM。為了實(shí)現(xiàn)報(bào)警和誤操作提示,可以采用簡單的聲音報(bào)警。為了降低成本,一般采用簡單的5V壓電式蜂鳴器來實(shí)現(xiàn)聲音的播放,這種蜂鳴器驅(qū)動(dòng)電流在10mA左右,用PIC單片機(jī)的I/O引腳可以直接驅(qū)動(dòng)。12/9/2022108機(jī)械工業(yè)出版社硬件設(shè)備需求為了輸入密碼,需要設(shè)計(jì)按鍵輸入電路,為了提高安全硬件設(shè)備需求續(xù)由于提示信息由很多種。為了能讓使用者看明白,這里采用字符式液晶來顯示,在實(shí)際應(yīng)用中,讀者可以購買內(nèi)置中文字庫的液晶來代替字符式液晶。單純的電子鎖的種類很多,但其控制原理都是通過輸入信號(hào)的導(dǎo)通和斷開來實(shí)現(xiàn)鎖的開關(guān),一般的電子鎖都需要10V乃至更高的驅(qū)動(dòng)電壓。這樣無法用一個(gè)I/O引腳直接驅(qū)動(dòng),需要外加適當(dāng)?shù)母綦x和驅(qū)動(dòng)電路控制。電池供電的系統(tǒng)一般都要求低功耗,本系統(tǒng)對(duì)速度要求不高,所以可采用38.768KHz的低主頻晶振作為系統(tǒng)主頻。12/9/2022109機(jī)械工業(yè)出版社硬件設(shè)備需求續(xù)由于提示信息由很多種。為了能讓使用者看明白,這硬件設(shè)備需求續(xù)需要一片單片機(jī)來完成各種設(shè)備之間的邏輯控制,由于本書以PIC16F877為例講解,這里就采用PIC16F877,在具體項(xiàng)目,可根據(jù)I/O引腳等特殊需求選擇其它款PIC單片機(jī)。例如本項(xiàng)目中要求有矩陣鍵盤輸入、字符液晶輸出,這樣所用引腳大約22個(gè)左右(不考慮引腳復(fù)用情況下)。為了給將來的升級(jí)留出余地,建議選擇28腳的單片機(jī)。為了適應(yīng)電池供電,建議采用低功耗型號(hào)。為了記錄密碼,最好有內(nèi)置EEPROM。為了簡化電路設(shè)計(jì),最好I/O引腳可以直接驅(qū)動(dòng)蜂鳴器。綜上所述,可以選擇PIC16F886單片機(jī)。12/9/2022110機(jī)械工業(yè)出版社硬件設(shè)備需求續(xù)需要一片單片機(jī)來完成各種設(shè)備之間的邏輯控制,由硬件設(shè)計(jì)密碼鍵盤部分電路的設(shè)計(jì);字符液晶部分電路的設(shè)計(jì);鎖控制部分電路的設(shè)計(jì);發(fā)聲部分電路的設(shè)計(jì)12/9/2022111機(jī)械工業(yè)出版社硬件設(shè)計(jì)密碼鍵盤部分電路的設(shè)計(jì);12/9/202248機(jī)械工密碼鍵盤部分電路的設(shè)計(jì);12/9/2022112機(jī)械工業(yè)出版社密碼鍵盤部分電路的設(shè)計(jì);12/9/202249機(jī)械工業(yè)出版社字符液晶部分電路的設(shè)計(jì)12/9/2022113機(jī)械工業(yè)出版社字符液晶部分電路的設(shè)計(jì)12/9/202250機(jī)械工業(yè)出版社鎖控制部分電路的設(shè)計(jì);12/9/2022114機(jī)械工業(yè)出版社鎖控制部分電路的設(shè)計(jì);12/9/202251機(jī)械工業(yè)出版社發(fā)聲部分電路的設(shè)計(jì)12/9/2022115機(jī)械工業(yè)出版社發(fā)聲部分電路的設(shè)計(jì)12/9/202252機(jī)械工業(yè)出版社系統(tǒng)上電初始化,讀出掉電前密碼。用戶密碼輸入開鎖重試次數(shù)到3次?報(bào)警5分鐘是否改密碼?密碼正確?修改密碼關(guān)鎖關(guān)鎖信號(hào)有效?是否是否是否是否軟件設(shè)計(jì)12/9/2022116機(jī)械工業(yè)出版社系統(tǒng)上電初始化,用戶密碼輸入開鎖重試次數(shù)到3次?報(bào)警5分鐘是題意分析程序的主循環(huán)應(yīng)該

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論