12864液晶屏驅動: 顯示器片選0=CS1,1=cs2 BZPD 0=上8X8半字,1=下8X8半字 HZDH 0=顯示漢字,1=顯示動畫
上傳時間: 2013-12-20
上傳用戶:sunjet
Photoshop cs2 V2.0 教程電子書,詳細講解了Photoshop cs2的圖像處理應用!
上傳時間: 2013-12-24
上傳用戶:ippler8
復件 Photoshop cs2圖形圖像處理教程.rar
上傳時間: 2014-01-01
上傳用戶:talenthn
關于Photoshop cs2 的學習書籍,通俗易懂,適用于所有想學習photoshop的人,不止告訴你怎樣做,而且告訴你為什么這樣做,幫助你靈活運用這個圖像編輯軟件
上傳時間: 2014-01-13
上傳用戶:semi1981
PHOTOSHOP cs2視頻教程\PHOTOSHOP-cs2.rar
標簽: PHOTOSHOP-CS PHOTOSHOP cs2
上傳時間: 2014-11-23
上傳用戶:kikye
PHOTOSHOP cs2視頻教程\第一節 了解Photoshop cs2\P_1_01.rar
上傳時間: 2013-12-31
上傳用戶:13215175592
PHOTOSHOP cs2視頻教程\第一節 了解Photoshop cs2\P_1_02.rar
上傳時間: 2016-07-02
上傳用戶:ikemada
PHOTOSHOP cs2視頻教程\第一節 了解Photoshop cs2\P_1_05.rar
上傳時間: 2014-01-17
上傳用戶:cooran
附件為:LCD12864顯示漢字和數字的程序與電路 /* 自定義延時子函數 */ void delayms(uchar z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /* 判斷LCD忙信號狀態 */ void buys() { int dat; RW=1; RS=0; do { P0=0x00; E=1; dat=P0; E=0; dat=0x80 & dat; } while(!(dat==0x00)); } /* LCD寫指令函數 */ void w_com(uchar com) { //buys(); RW=0; RS=0; E=1; P0=com; E=0; } /* LCD寫數據函數 */ void w_date(uchar date) { //buys(); RW=0; RS=1; E=1; P0=date; E=0; } /* LCD選屏函數 */ void select_screen(uchar screen) { switch(screen) { case 0: //選擇全屏 CS1=0; cs2=0; break; case 1: //選擇左屏 CS1=0; cs2=1; break; case 2: //選擇右屏 CS1=1; cs2=0; break; /* case 3: //選擇右屏 CS1=1; cs2=1; break; */ } } /* LCDx向上滾屏顯示 */ void lcd_rol() { int x; for(x=0;x<64;x++) { select_screen(0); w_com(0xc0+x); delayms(500); } } /* LCD清屏函數:清屏從第一頁的第一列開始,總共8頁,64列 */ void clear_screen(screen) { int x,y; select_screen(screen); //screen:0-選擇全屏,1-選擇左半屏,2-選擇右半屏 for(x=0xb8;x<0xc0;x++) //從0xb8-0xbf,共8頁 { w_com(x); w_com(0x40); //列的初始地址是0x40 for(y=0;y<64;y++) { w_date(0x00); } } } /* LCD顯示漢字字庫函數 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-3,mun:顯示第幾個漢字的參數 int a; mun=mun*32; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } } /* LCD顯示字符字庫函數 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } } /* LCD顯示數字字庫函數 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } } /* LCD初始化函數 */ void lcd_init() { w_com(0x3f); //LCD開顯示 w_com(0xc0); //LCD行初始地址,共64行 w_com(0xb8); //LCD頁初始地址,共8頁 w_com(0x40); //LCD列初始地址,共64列 } /* LCD顯示主函數 */ void main() { //第一行 int x; lcd_init(); //LCD初始化 clear_screen(0); //LCD清屏幕 lcd_display_shuzi(1,0,4,5); //LCD顯示數字 lcd_display_shuzi(1,0,5,1); //LCD顯示數字 lcd_display_hanzi(1,0,3,0); //LCD顯示漢字 lcd_display_hanzi(2,0,0,1); //LCD顯示漢字 //LCD字符漢字 lcd_display_hanzi(2,0,1,2); //LCD顯示漢字 //第二行 lcd_display_zifuk(1,1,2,0); //LCD顯示字符 lcd_display_zifuk(1,1,3,0); //LCD顯示字符 lcd_display_zifuk(1,1,4,0); //LCD顯示字符 lcd_display_zifuk(1,1,5,4); //LCD顯示字符 lcd_display_shuzi(1,1,6,8); //LCD顯示字符 lcd_display_shuzi(1,1,7,9); //LCD顯示字符 lcd_display_shuzi(2,1,0,5); //LCD顯示字符 lcd_display_shuzi(2,1,1,1); //LCD顯示字符 lcd_display_zifuk(2,1,2,4); lcd_display_zifuk(2,1,3,1); lcd_display_zifuk(2,1,4,2); lcd_display_zifuk(2,1,5,3); //第三行 for(x=0;x<4;x++) { lcd_display_hanzi(1,2,x,3+x); //LCD顯示漢字 } for(x=0;x<4;x++) { lcd_display_hanzi(2,2,x,7+x); //LCD顯示漢字 } //第四行 for(x=0;x<4;x++) { lcd_display_zifuk(1,3,x,5+x); //LCD顯示漢字 } lcd_display_shuzi(1,3,4,7); lcd_display_shuzi(1,3,5,5); lcd_display_shuzi(1,3,6,5); lcd_display_zifuk(1,3,7,9); lcd_display_shuzi(2,3,0,8); lcd_display_shuzi(2,3,1,9); lcd_display_shuzi(2,3,2,9); lcd_display_shuzi(2,3,3,5); lcd_display_shuzi(2,3,4,6); lcd_display_shuzi(2,3,5,8); lcd_display_shuzi(2,3,6,9); lcd_display_shuzi(2,3,7,2); while(1); /* while(1) { // LCD向上滾屏顯示 lcd_rol(); } */ }
上傳時間: 2013-11-08
上傳用戶:aeiouetla
電子密碼鎖的設計與實現一、實驗目的 1.進一步掌握鍵盤掃描和LED顯示的程序設計。 2.了解按鍵消抖的方法。 3.綜合運用微機原理的軟硬件知識。 二、實驗內容與要求 1.基本要求 (1)具有密碼輸入功能,密碼最多為6位;(2)設置退格鍵,以便刪除輸入錯誤的密碼;(3)在輸入的密碼時數碼管上只顯示8,并根據輸入位數依次橫移;(4)設置確認鍵,當確認鍵按下后,判斷輸入密碼是否正確;(5)當輸入密碼正確時,點亮發光二極管;當輸入密碼不正確時,發光二極管不亮并且蜂鳴器報警,重新輸入,當三次密碼輸入不正確時,系統應鎖定鍵盤10s。2.提高要求 將用戶分為管理者和使用者,管理者擁有超級密碼,可以修改其他人的密碼。使用者不能修改密碼。 三、實驗報告要求 1.設計目的和內容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結果和體會(包括遇到的問題及解決的方法) 四、總體設計 電子密碼鎖的原理是:從鍵盤輸入一組密碼,CPU把該密碼和設置密碼比較,對則將鎖打開(不同鎖的控制方式不一樣,比如加電控制電磁鐵抽回,從而打開),錯則要求重新輸入,并記錄錯誤次數,如果三次錯誤,則被強制鎖定并報警,除非超級密碼或者其他的手段打開,比如延時一段時間。 初步設計思路如下: 1.輸入密碼用矩形鍵盤,包括數字鍵和功能鍵,功能鍵包括退格鍵和確認鍵。 2.LED數碼管顯示輸入密碼,但是只是輸出顯示符號8 。采用動態掃描輸出。 3.用發光二極管模擬鎖的情況,鎖關時發光二極管滅,打開時發光二極管亮。 4.輸入密碼錯誤時報警,3次輸入錯誤時鍵盤鎖定10s,鍵盤無法接收數據。 軟件的設計主要包括矩形鍵盤鍵值的讀取、LED動態掃描輸出程序、密碼判斷程序和報警程序。 五、硬件設計 根據設計思路,硬件電路可通過實驗平臺上的一些功能模塊電路組成,由于實驗平臺上的各個功能模塊已經設計好,用戶在使用時只要設計模塊間電路的連接,因此,硬件電路的設計及實現相對簡單。完整系統的硬件連接如圖1所示。硬件電路由LED數碼管顯示模塊、按鍵模塊、發光二極管電路和蜂鳴器模塊組成。各個模塊的詳細說明:1.LED數碼管模塊實驗平臺上提供一組六個LED數碼管。插孔CS1用于數碼管段選的輸出選通,插孔cs2用于數碼管位選信號的輸出選通。本設計用6個數碼管來動態顯示時分秒,動態顯示的定時時間由8253定時/計數器來實現。8253主要是實現每位顯示時間1ms,由8253的計數器0來實現。Clk0接實驗平臺分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255的PA0輸出來控制計數器的起停。OUT0接8259的IRQ2,定時完成請求中斷,進入中斷服務程序。軟件在中斷服務程序中LED數碼管顯示。
標簽: 電子密碼鎖
上傳時間: 2013-10-16
上傳用戶:15070202241