全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1825
推到 Plurk!
推到 Facebook!

電子密碼鎖設定按鍵以及設定密碼的問題

尚未結案
cake10414
一般會員


發表:7
回覆:2
積分:1
註冊:2010-10-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-11-17 19:25:51 IP:218.167.xxx.xxx 訂閱

[code cpp]
#include
#define LCDP P0 定義LCM 資料匯流排接至P0
#define KEYP P2
sbit RS P3^2; 暫存器選擇位元(0:指令,1:資料)
sbit RW P3^1; 設定讀寫位元 (0:寫入,1:讀取)
sbit E P3^0; 致能位元 (0:禁能,1:致能)
sbit BF P0^7; 忙碌檢查位元(0:不忙,1:忙碌)
void init_LCM(void); 初始設定函數
void scanner(void);
char C[9];
char col,row;
char rowkey,kcode;
char b;
void transfer(void);
void write_inst(char); 寫入指令函數
void write_char(char); 寫入字元資料函數
void check_BF(void); 檢查忙碌函數
void delayms(int); 延遲函數
write_inst(0x30); write_inst(0x30); write_inst(0x30); write_inst(0x38); write_inst(0x08); write_inst(0x01); write_inst(0x06); write_inst(0x0c); // init_LCM()函數結束
//==== 寫入指令函數 ================================
void write_inst(char inst)
{ // 檢查是否忙碌
// LCM讀入MPU指令
// 寫入指令至LCM
// 檢查是否忙碌
} check_BF(); LCDP = chardata; RS = 1; RW = 0 ;E = 1; check_BF(); // write_char()函數結束 E=0; do { // 設定BF為輸入
// 讀取BF及AC
// 忙碌繼續等
} check_BF()函數結束
//===掃描函數=====================================
void scanner(void)
{for(col=0;col<4;col )
{KEYP=scan[col];
rowkey=~KEYP&0x0f;
if(rowkey!=0)
{if(rowkey==0x01)
row=0;
else if(rowkey==0x02)
row=1;
else if(rowkey==0x04)
row=2;
else if(rowkey==0x08)
row=3;
kcode=4*col row;
}
delayms(4);
}
}
//===轉換函數==================================
void transfer(void)
{ C[0]='C';
C[1]='o';
C[2]='d';
C[3]='e';
C[4]=':';
C[5]=kcode 0x30;
C[6]=kcode 0x30;
C[7]=kcode 0x30;
C[8]=kcode 0x30;
}
//==== 延遲函數 ================================
void delayms(int x)
{ // 宣告變數
// 執行x次,延遲X*1ms
// delay1ms()函數結束
[/code]

如以上
這是小弟目前所設定的密碼鎖,已經完成了按按鍵會顯示在LCM上的功能
想請問高手們,我如果現在想把A鍵設定成"設定密碼"的按鍵,C鍵設定成"清除密碼"的按鍵
要怎麼寫呢?
還有要怎麼寫設定密碼的副程式(按完A鍵可以輸入4個數字,並且成為預設密碼)??
麻煩幫幫忙歐,謝謝


系統時間:2024-04-24 17:32:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!