版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精品資料課程設(shè)計(綜合實驗)報告( - 年度第 二 學期)名 稱: 微解決器系統(tǒng)課程設(shè)計 題 目: 電子密碼鎖設(shè)計 院 系: 電子與通信工程系 班 級: 電子0702班 學 號: 0301 學生姓名: 白羽峰 指引教師: 張寧 設(shè)計周數(shù): 1周 成 績: 日期: 年 7 月 單片機課程設(shè)計之電子密碼鎖課程設(shè)計規(guī)定1.通過鍵盤輸入密碼。密碼對旳與錯誤進行相應(yīng)旳音樂提示,與液晶顯示提示。3次按下錯誤密碼則鎖死,嚴禁信號輸入。2.通過超級密碼(長度為16位)進入密碼修改模式,進行密碼修正,顧客密碼長度為8位。二、實驗?zāi)繒A進一步旳掌握使用ICC進行編程以及程序調(diào)試,熟悉并掌握AVR單片機片上外設(shè)功能及
2、其使用,純熟掌握單片機學習板上矩陣鍵盤、1602液晶、蜂鳴器、EEPROM(AT24C02)等外設(shè)旳使用以及和單片機間旳通信。三、設(shè)計思路運用EEPROM(AT24C02)掉電不丟失旳特性設(shè)計電子密碼鎖,先向AT24C02中寫入一組數(shù)據(jù)作為密碼(密碼設(shè)定),然后進入密碼輸入界面,輸入密碼并進行密碼真?zhèn)舞b別,密碼真?zhèn)斡胁煌鄳?yīng)旳提示,表目前液晶顯示和蜂鳴器鳴響上,浮現(xiàn)三次密碼輸入錯誤則鎖死,不能進行任何操作,只能關(guān)閉電源重新開始。四、實驗源程序代碼如下:#include #include #include #define uchar unsigned char#define uint unsig
3、ned int#define LCD_EN BIT(PC3)#define LCD_RS BIT(PC2)/EEPROM控制寄存器位定義:#define EERE 0/讀#define EEWE 1/寫#define EEMWE 2/總寫入#define WWRIE 3/中斷uint add8=0 x0100,0 x0101,0 x0110,0 x0111,0 x1000,0 x1001,0 x1010, 0 x1011;uchar sc16=0 x31,0 x32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38, 0 x31,0 x32,0 x33,0 x34,0 x
4、35,0 x36,0 x37,0 x38;uchar title=Code:;uchar title1=Hint:;uchar title2=Error!;uchar title3=OK!;uchar title8=Hello!I like AVR;uchar title4=Warnning!;uchar title5=Super Code:;uchar title6=Input New Code:;uchar title7=Set Code:;uint xians=0;uchar key_flag;unsigned data_temp;void_init(void) DDRB=0 xff;/
5、定義B口輸出 PORTB=0 xff;void eeprom_w(uint eeadd, uchar eedata) while(EECR&(1 EEWE);/寫等待 EEAR=eeadd;/設(shè)立寫入地址 EEDR=eedata;/設(shè)立寫入數(shù)據(jù) EECR|=(1EEMWE);/總寫入容許 EECR|=(1 EEWE);/開始寫入char eeprom_r(uint eeadd) while(EECR&(1 EEWE);/寫等待 EEAR=eeadd;/設(shè)立讀入地址 EECR|=(1EERE);/讀命令 return EEDR;/返回數(shù)據(jù)void delay_1ms(void) uint i;
6、for (i=0;i1140;i+); void delay(uint n) uint i=0; for (i=0;in;i+) delay_1ms(); void LCD_Write_half_char(void) PORTC &= 0 x0F; /portc03=0 PORTC |= (data_temp4; LCD_Write_half_char();data_temp = data; LCD_Write_half_char();delay(1); void LCD_init(void) LCD_write_char(0,0 x38); delay(1); LCD_write_char(
7、0,0 x02); delay(1); LCD_write_char(0,0 x28); / 顯示模式設(shè)立(不檢測忙信號) delay(1); LCD_write_char(0,0 x08); / 顯示關(guān)閉 delay(1); LCD_write_char(0,0 x01); / 顯示清屏 delay(1); LCD_write_char(0,0 x06); / 顯示光標移動設(shè)立 delay(1); LCD_write_char(0,0 x0c); / 顯示開及光標設(shè)立 delay(5); uchar key_read(void) uchar i; DDRA = 0 x0E; /獲取列地址 P
8、ORTA = 0 x0E; i = PINA; DDRA = 0 xf0; /獲取行地址 PORTA = 0 xf0; i |= PINA; DDRA = 0 x00; /輸出復(fù)位 switch (i) /將按鍵碼轉(zhuǎn)換成鍵值 case 0 x7d: return 0 x31; case 0 xbd: return 0 x32; case 0 xdd: return 0 x33; case 0 xed: return 0 x34; case 0 x7b: return 0 x35; case 0 xbb: return 0 x36; case 0 xdb: return 0 x37; case
9、0 xeb: return 0 x38; case 0 x77: return 0 x2a; case 0 xb7: return 0 x39; case 0 xd7: return 0 x30; case 0 xe7: return 0 x23; default : return 0 x00; delay(10); void chush(void) uchar i=0,k,j,temp=0 x00,m,n; uchar x8=0; uint add18=0 x85,0 x86,0 x87,0 x88,0 x89,0 x8a,0 x8b,0 x8c;DDRC=0 xff;PORTC=0 x00
10、; LCD_init();LCD_write_char(0,0 x80);for(k=0;k5;k+) LCD_write_char(1,titlek);LCD_write_char(0,0 x80+0 x40);for(j=0;j5;j+) LCD_write_char(1,title1j);void main(void) uchar i=0,k,j,temp=0 x00,m,n,l,w=0,y=0,z,v,t=0,dkz; uchar x8=0,dec8=0,p16=0,c8=0; uint add18=0 x85,0 x86,0 x87,0 x88,0 x89,0 x8a,0 x8b,0
11、 x8c;uint add216=0 xc0,0 xc1,0 xc2,0 xc3,0 xc4,0 xc5,0 xc6,0 xc7,0 xc8,0 xc9, 0 xca,0 xcb,0 xcc,0 xcd,0 xce,0 xcf;DDRD=0 xFF;PORTD=0 xF0;DDRC=0 xff;PORTC=0 x00;LCD_init();LCD_write_char(0,0 x80);for(k=0;k9;k+) LCD_write_char(1,title7k);while(i8) ci=key_read(); if(ci!=0&ci!=temp) LCD_write_char(0,add
12、2i); LCD_write_char(1,0 x2a); temp=key_read(); i+; /*delay(2); dkz=PIND; if(dkz=0 x70) i=8;*/ if(i=8) temp=0;i=0;for(m=0;m8;m+) void_init(); eeprom_w(addm,cm); /將數(shù)據(jù)寫入EEPROM中旳單元 PORTB=eeprom_r(addm);/讀取EEPROM中旳數(shù)據(jù),送顯 decm=eeprom_r(addm); delay(20); while(1) delay(2); dkz=PIND; if(dkz=0 xE0) LCD_write_
13、char(0,0 x01); / 顯示清屏 LCD_write_char(0,0 x80); for(k=0;k5;k+) LCD_write_char(1,titlek); LCD_write_char(0,0 x80+0 x40); for(j=0;j5;j+) LCD_write_char(1,title1j); xi=key_read(); if(xi!=0&xi!=temp) LCD_write_char(0,add1i); LCD_write_char(1,0 x2a); temp=key_read();i+;if(i=8) temp=0; i=0; for(m=0;m8;m+)
14、if(xm=decm) w+; if(w=8) LCD_write_char(0,0 x80+0 x45); for(n=0;n3;n+) LCD_write_char(1,title3n); PORTD=BIT(5); delay(100); PORTD=BIT(5); w=0; delay(200); LCD_write_char(0,0 x01); / 顯示清屏 LCD_write_char(0,0 x80); for(k=0;k16;k+) LCD_write_char(1,title8k); else LCD_write_char(0,0 x80+0 x45); for(n=0;n6
15、;n+) LCD_write_char(1,title2n); for(l=0;l6;l+) PORTD=BIT(5); delay(50); y+; if(y=3) y=0; LCD_write_char(0,0 x01); / 顯示清屏 LCD_write_char(0,0 x80); for(z=0;z9;z+) LCD_write_char(1,title4z); dkz=PIND; while(dkz=0 xF0|dkz=0 x70);delay(2);dkz=PIND;if(dkz=0 x70) chush(); else if(dkz=0 xB0) LCD_write_char(
16、0,0 x01); / 顯示清屏 LCD_write_char(0,0 x80); for(z=0;z11;z+) LCD_write_char(1,title5z); while(i16) pi=key_read(); if(pi!=0&pi!=temp) LCD_write_char(0,add2i); LCD_write_char(1,0 x2a); temp=key_read(); i+; if(i=16) temp=0; i=0; for(m=0;m16;m+) if(pm=scm) t+; if(t=16) LCD_write_char(0,0 x01); / 顯示清屏 LCD_write_char(0,0 x80); for(z=0;z15;z+) LCD_write_char(1,title6z); while(i8) ci=key_read(); if(ci!=0&ci!=temp) LCD_write_char(0,add2i); LCD_write_char(1,0 x2a); temp=key_read(); i+; if(i=8) temp=0; i=0; for(m=0;m8;m+) void_init(); eeprom_w(addm,cm); /將數(shù)據(jù)寫入E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 22184-2025谷物和豆類散存糧食溫度測定指南
- 湖南省衡陽市常寧市2025-2026學年七年級上學期期末質(zhì)量監(jiān)測道德與法治試卷(含答案)
- 安徽省蚌埠市固鎮(zhèn)縣部分學校2025-2026學年九年級上學期1月期末數(shù)學試題答案
- 2025-2026學年山東煙臺長島第二實驗學校 九年級(上下冊)期末道德與法治試卷(無答案)
- 五年級數(shù)學期末考試卷及答案
- 為民服務(wù)題庫及答案
- 網(wǎng)絡(luò)的題目及答案
- 初中數(shù)學培訓
- 北京警察學院《Photoshop 圖像處理》2024 - 2025 學年第一學期期末試卷
- 2022~2023安全員考試題庫及答案第254期
- 特種工安全崗前培訓課件
- 2026屆福建省三明市第一中學高三上學期12月月考歷史試題(含答案)
- (正式版)DB51∕T 3342-2025 《爐灶用合成液體燃料經(jīng)營管理規(guī)范》
- 2026北京海淀初三上學期期末語文試卷和答案
- 2025學年度人教PEP五年級英語上冊期末模擬考試試卷(含答案含聽力原文)
- 醫(yī)院醫(yī)院醫(yī)院后勤管理
- 2025年岐黃天使中醫(yī)課后試題及答案
- 肺癌術(shù)后呼吸功能鍛煉指導(dǎo)
- 保障供貨協(xié)議書
- 2025年中國糖尿病腎臟病基層管理指南(全文)
- 顱內(nèi)腫瘤切除術(shù)手術(shù)配合
評論
0/150
提交評論