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

正文內(nèi)容

基于msp430單片機的智能門鎖控制系統(tǒng)設計終稿-資料下載頁

2025-06-22 23:59本頁面
  

【正文】 。 return。}void E2_High(void){ // P5OUT |= BIT3。 _NOP()。 _NOP()。 return。}void E2_Low(void){ // P5OUT amp。= ~(BIT3)。 _NOP()。 _NOP()。 return。}void A0_High(void){ // P5OUT |= BIT0。 _NOP()。 _NOP()。 return。}void A0_Low(void){ // P5OUT amp。= ~(BIT0)。 _NOP()。 _NOP()。 return。}void R_W_High(void){ // P5OUT |= BIT1。 _NOP()。 _NOP()。 return。}void R_W_Low(void){ // P5OUT amp。= ~(BIT1)。 _NOP()。 _NOP()。 return。}//等待空閑狀態(tài)2 液晶模塊操作程序此程序主要包括發(fā)送命令,顯示數(shù)據(jù),顯示初始化等幾個部分。下面給出具體的程序代碼。//等待空閑狀態(tài)void WaitIdle(int nZone){ char nTemp。 //設置P4口為輸入方向 P4DIR = 0。 for(。) { if(nZone == 0) { //E1區(qū) E1_High()。 E2_Low()。 } else { //E2區(qū) E2_High()。 E1_Low()。 } R_W_High()。 A0_Low()。 //取出D7 nTemp = (P4IN amp。 BIT7)。 nTemp = 7。 //空閑就跳出循環(huán) if(nTemp == 0) break。 } return。}void SendCommand(int nZone,char nVal){ //等待閑 WaitIdle(nZone)。 //設置P4口為輸出方向 P4DIR = 0xff。 if(nZone == 0) { //E1區(qū) E1_High()。 E2_Low()。 } else { //E2區(qū) E2_High()。 E1_Low()。 } R_W_Low()。 A0_Low()。 P4OUT = nVal。 //寫入指令 if(nZone == 0) { //E1區(qū) E1_Low()。 } else { //E2區(qū) E2_Low()。 } R_W_High()。 return。}void WriteData(int nZone,char nVal, char nAddr){ //設置列地址 SendCommand(nZone,nAddr)。 //等待空閑 WaitIdle(nZone)。 //設置P4口為輸出方向 P4DIR = 0xff。 if(nZone == 0) { //E1區(qū) E1_High()。 E2_Low()。 } else { //E2區(qū) E2_High()。 E1_Low()。 } R_W_Low()。 A0_High()。 P4OUT = nVal。 //寫入指令 if(nZone == 0) { //E1區(qū) E1_Low()。 } else { //E2區(qū) E2_Low()。 } R_W_High()。 return。}void DisplayOn(int nZone){ char nTemp。 for(。) { //發(fā)送顯示開命令 SendCommand(nZone,0xAF)。 WaitIdle(nZone)。 //讀狀態(tài) //設置為輸入方向 P4DIR = 0x00。 if(nZone == 0) { //E1區(qū) E1_High()。 E2_Low()。 } else { //E2區(qū) E2_High()。 E1_Low()。 } R_W_High()。 A0_Low()。 //取出D5 nTemp = (P4IN amp。 BIT5)。 nTemp = 5。 //如果打開就跳出循環(huán) if(nTemp == 0) break。 } return。}void DisplayOff(int nZone){ char nTemp。 for(。) { //發(fā)送顯示開命令 SendCommand(nZone,0xAE)。 WaitIdle(nZone)。 //讀狀態(tài) //設置為輸入方向 P4DIR = 0x00。 if(nZone == 0) { //E1區(qū) E1_High()。 E2_Low()。 } else { //E2區(qū) E2_High()。 E1_Low()。 } R_W_High()。 A0_Low()。 //取出D5 nTemp = (P4IN amp。 BIT5)。 nTemp = 5。 //如果打開就跳出循環(huán) if(nTemp == 1) break。 } return。}void ClearScreen(int nZone){ int i,j。 char nPageNum。 //設置頁地址代碼 nPageNum = 0xB8。 for(i = 0。i 4。i++) { SendCommand(nZone,0x00)。 for(j = 0。j 80。j++) { //等待閑 WaitIdle(nZone)。 //寫入0x00以清屏 WriteData(nZone,0x00,j)。 } //頁地址增加 nPageNum += 1。 } return。}3 在上面程序的基礎上,就基本可以實現(xiàn)數(shù)據(jù)顯示。在顯示數(shù)據(jù)前,需要對MG12232進行初始化,c初始化順序為:關顯示,正常驅動設置,占空比設置,復位,ADC選擇,清屏開顯示。具體程序如下:void LcdDisplayInit(int nZone){ char nCommand。 //關顯示 DisplayOff(nZone)。 //靜態(tài)顯示驅動 nCommand = 0xA4。 SendCommand(nZone,nCommand)。 //占空比設置 nCommand = 0xA9。 SendCommand(nZone,nCommand)。 //復位 nCommand = 0xE2。 SendCommand(nZone,nCommand)。 //ADC選擇 nCommand = 0xA0。 SendCommand(nZone,nCommand)。 //清屏 ClearScreen(nZone)。 //開顯示 WaitIdle(nZone)。 DisplayOn(nZone)。 return。}4 一般說來,漢字的點陣為16行16行。由于MG12232的每一頁只有八行,因此顯示一個漢字需要雜兩頁進行顯示,下面為具體的程序:void LcdDisplayWord(int nZone,char nRow,char nPageNo,char nColAddr,char nTable[]){ int i。 char nTemp。 //設置行地址 SendCommand(nZone,nRow)。 //設置頁地址 SendCommand(nZone,nPageNo)。 //顯示前8行 for(i = 0。i 16。i++) { nTemp = nTable[i]。 WriteData(nZone,nTemp,i)。 } nPageNo += 1。 //設置頁地址 SendCommand(nZone,nPageNo)。 //顯示后8行 for(i = 0。i 16。i++) { nTemp = nTable[i + 16]。 WriteData(nZone,nTemp,i)。 } return。5 以上給出了液晶模塊操作的程序,下面為一個測試程序:include include char WordTable[] = { 0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48, 0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00, 0x00,0x07,0x02,0x02,0x02,0x02,0x3F,0x42, 0x42,0x42,0x42,0x47,0x40,0x70,0x00,0x00}。void main(void){ // 關閉看門狗 WDTCTL = WDTPW + WDTHOLD。 // 關閉中斷 _DINT()。 // 初始化 Init_CLK()。 Init_Port()。 //初始化MG12232 LcdDisplayInit(0)。 LcdDisplayInit(1)。 //顯示的起始行為第0行,起始列為第0列, //起始頁為第0頁,顯示區(qū)為E1區(qū),內(nèi)容為電 LcdDisplayWord(0,0xC0,0xB8,0,WordTable)。 return。6 液晶顯示“輸入密碼”和“再輸一次”include include char WordTable_A[] = { 0X80,0XA8,0XB8,0XA8,0XFF,0XA8,0XA8,0X80 0X08,0XE4,0XA4,0XE9,0X8B,0XE4,0X08,0X10, 0X00,0X00, 0X00, 0X00,0X1F, 0X00,0X00, 0X00 0X00,0X1F, 0X04, 0X1F, 0X0F,0X1F,0X00,0X00}。 “輸”char WordTable_B[] = { 0X00, 0X00, 0X00, 0X00, 0X00, 0X00,0X80,0XC8, 0X20,0X40,0X80, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00, 0X00,0X08,0X04,0X02,0X01, 0X00, 0X00, 0X00, 0X00, 0X00,0X01,0X02,0X04,0X08,0X1}?!叭搿眂har WordTable_C[] ={ 0X00,0X00,0X0E0XA0,0X0E,0X12,0X22,0X4B, 0X72,0X52,0X4A,0X46,0X2A,0X12,0X0E,0X00, 0X00,0X00,0X00,0X00,0X72,0X41,0X40,0X40, 0X7F,0X40,0X20,0X10,0X62,0X04,0X08,0X10}?!懊堋眂har WordTable_D[] ={ 0X00,0X40,0X28,0XF8,0XA8,0XE8,0X00,0X00, 0X78,0X48,0X48,0X48,0X78,0X40,0XC0,0X00 0X00,0X00,0X00,0X00,0X00,0X00,0X00, 0X00,0X01,0X01,0X01,0X01,0X01,0X04,0X0F,0X00}?!按a”void main(void){ // 關閉看門狗 WDTCTL = WDTPW + WDTHOLD。 // 關閉中斷 _DINT()。 // 初始化 Init_CLK()。 Init_Port()。 //初始化MG12232 LcdDisplayInit(0)。 LcdDisplayInit(1)。 //顯示的起始行為第0行,起始列為第0列, //起始頁為第0頁,顯示區(qū)為E1區(qū),內(nèi)容為電 LcdDisplayWord(0,0xC0,0xB8,0,WordTable_A)。LcdDisplayWord(0,0xC0,0xB8,0X1F,WordTable_B)。 LcdDisplayWord(1,0xC0,0xB8,0X40,WordTable_C)。 LcdDisplayWord(1,0xC0,0xB8,0X6F,WordTable_D)。 return。七.鍵盤設計與實現(xiàn)(一) 鍵盤的工作原理在單片機中,鍵盤是人機對話的輸入設備,借助鍵盤可以設置參數(shù),發(fā)出控制指令等。但單片機的鍵盤不同于通用計算機的鍵盤,它必須由自
點擊復制文檔內(nèi)容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1