附件為: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
c語言編程軟件vc6.0使用教程,附件包含二個教程文件,VC++6.0培訓教程完整版及VC6.0介紹。 Visual C++ 6.0,簡稱VC或者VC6.0,是微軟的一款C++編譯器,將“高級語言”翻譯為“機器語言(低級語言)”的程序。Visual C++是一個功能強大的可視化軟件開發工具。自1993年Microsoft公司推出Visual C++1.0后,隨著其新版本的不斷問世,Visual C++已成為專業程序員進行軟件開發的首選工具。雖然微軟公司推出了 Visual C++.NET(Visual C++7.0),但它的應用有很大的局限性,只適用于Windows 2000、Windows XP和Windows NT4.0。所以實際中,更多的是以Visual C++6.0為平臺。 vc6.0使用你首先要打開VC6.0界面,一般用得較多的是Win32控制臺應用程序(源程序,擴展名.cpp), 步驟是:(先工程—后文件—編譯—連接---運行) 1,建立一個工程,“文件”——“新建”,出現下面界面:選擇“Win32 Console Application”(控制臺應用程序,左邊倒數第三個),命名工程名稱,選擇保存位置。 點擊“確定”,進入下一步,看到如下提示界面: 建立一個空工程,對應其他需要的你一可以建立別的工程;點擊“完成”,之后 顯示你創建的工程的信息。 2,再在有一個的工程的條件下,我們再建立一個源文件; “文件”——“新建”(快捷鍵Ctri+N),出現: 建立源文件,選擇“C++ Source ”,一般都是建立這種文件的(適用在當文件中適用)如果要建立頭文件的話,選擇“C/C++ Header File”,(適用在多文件工程中使用)命名,文件名稱,點擊“確定”,之后: 進入編輯區,在主界面編寫代碼:如下編寫完之后呢: 可以按編譯按鈕 調試程序,看看有沒有錯誤,有的話改正,沒有的話就可以再按連接按鈕 檢查連接(多文件工程時常用,檢查文件間是否正常連接),最后,點運行按鈕 ,就可以運行了。 如果是您有代碼如:cpp文件,或 .h 文件,想添加都VC6.0里來測試的話,可以這樣做: 首先,要理解一下 文件擴展名為:cpp和.h 文件擴張名是.h,代表的是頭文件,一般是書寫一些函數原型,以及一些在整個程序中常用到的結構體,頻繁使用的函數說明,定義等等; 文件擴張名為,cpp的,是C++中的源文件,也是最常用到的文件,每建立一個工程都要至少一個源文件(至少要有一個函數入口——主函數main() ),包含了核心代碼; 建立與運行說明:(以VC 6.0編譯器為例,其他編譯器類似) 首先,打開VC 6.0編譯環境; 在菜單欄——文件(的下拉菜單中選擇“新建”),在彈出的選擇窗口中,選擇 Win32 Console Application(控制臺應用程序) ,在填寫工程名稱,選擇一個程序保存路徑, 點擊“完成”,查看工程信息。 在點擊“確定”,就建立一個簡單的工程了。 再點擊左邊的工程信息右下角的“FileView”選項; 可以看到你新建的工程,再雙擊你新建的工程名 可以查看工程的信息。 在雙擊工程文件,在這里是 777.files,可以看到該工程的包含的文件。 其中,Source Files 為包含所有工程的源文件 Header Files 為包含所有工程的頭文件 在源文件選項“Source Files ”,右鍵單擊中的“添加目錄到工程”,添加你要打開的擴展名為 .cpp的源文件。在頭文件選項“ Header Files”,右鍵單擊中的“添加目錄到工程”,添加你要打開的擴展名為 . h的頭文件。添加完你所有的頭文件和源文件之后,檢查一下是否添加完畢,之后就可以編譯了。 其中第一個按鈕 為編譯按鈕,可以找出工程的錯誤信息,有錯誤修改,沒錯誤就可以跳到連接 ,編譯右邊的按鈕 ,即第三個按鈕(多文件工程一定要連接,查看文件是否準確相連接) 當編譯,連接都沒有錯誤時,可以按運行按鈕 ,即可以運行了。 相關資料:vc6.0中文綠色版下載
上傳時間: 2013-10-30
上傳用戶:tianjinfan
Keil_uVision4安裝破解方法與漢化
標簽: Keil_uVision 破解 漢化
上傳時間: 2013-10-11
上傳用戶:elinuxzj
Keil C51 V6.23 中文漢化程序,為zip文件,解壓縮之后,覆蓋你的 keil\uv2里的uv2.exe文件即可 漢化說明: 適用于uVision2.23版本。 雖然我盡了我的努力,但不能保證沒有錯誤。如果產生的錯誤對您的工程造成的影響,本人不予負責! 這個版本對大部的英文作了翻譯,包括WIN標準資源和ASCII資源。但由于ASCII資源太多,我是用UTRAEDIT 手工翻譯的,所以很難保不出錯。盡管我是作了測試才發表的。
上傳時間: 2013-11-22
上傳用戶:wentian_e
Keil C51 V7.0中文漢化程序,解壓縮之后覆蓋你的keil里的同名文件即可。
上傳時間: 2014-01-09
上傳用戶:wwwe
STC12系列單片機與PC機在數據采集系
上傳時間: 2013-11-03
上傳用戶:shirleyYim
Keil uVision4漢化軟件
上傳時間: 2014-01-10
上傳用戶:yangbo69
懶人C51初始化程序.exe
上傳時間: 2013-10-27
上傳用戶:yanyangtian
Keil_uVision4_V9.00漢化包,直接解壓進去就行了。keil按哪,就解壓到哪。
標簽: Keil_uVision 9.00 漢化包
上傳時間: 2013-10-23
上傳用戶:zhangyigenius
C語言模塊化編程
上傳時間: 2013-10-16
上傳用戶:18752787361