服務熱線
0755-83044319
發布時間:2022-03-17作者來源:薩科微瀏覽:1481
GB1616.h//------------------ 漢字字模的數據結構定義 ------------------------//struct typFNT_GB16 //漢字字模數據結構{ unsignedchar Index[3]; //漢字內碼索引 unsignedchar Msk[32]; //點陣碼數據 }; /////////////////////////////////////////////////////////////////////////// 漢字字模表 //// 漢字庫: 宋體16.dot,橫向取模左高位,數據排列:從左到右從上到下 ///////////////////////////////////////////////////////////////////////////conststruct typFNT_GB16 codeGB_16[]= //數據表{/*------------------------------------------------------------------------------; 源文件 /文字 :徐; 寬×高(像素):16×16------------------------------------------------------------------------------*/ "徐",0x10,0x80,0x10,0x80,0x21,0x40,0x42,0x20,0x94,0x10,0x1B,0xEC,0x20,0x80,0x60,0x80,0xAF,0xF8,0x20,0x80,0x22,0xA0,0x24,0x90,0x2A,0x88,0x21,0x00,0x00,0x00,0x00,0x00,
這個結構,很簡單的:一個是內碼,一個點陣序列,以前的點陣庫是按內碼順序放的,不需要內碼索引的,如果只放部分漢字,就需要內碼索引了。(前面的漢字“徐”是為了要輸出“徐”的時候找到該字的點陣序列,這個點陣序列是自己寫的,當用1602顯示時,因為該芯片內存在英文的點陣序列,所以就不用寫了)一般內碼兩個字節就行了,多用1個字節是加了個尾0而已,這樣,漢字內碼處直接放漢字字符串就可;
13、12864液晶:
每個顯示點對應一位二進制數,1 表示亮,0 表示滅。存儲這些點陣信息的RAM稱為顯示數據存儲器。要顯示某個圖形或漢字就是將相應的點陣信息寫入到相應的存儲單元中。
繪圖RAM的地址計數器(AC)只會對水平地址(X 軸)自動加一, 當水平地址=0FH 時會重新設為00H 但并不會對垂直地址做進位自動加一,故當連續寫入多筆資料時,程序需自行判斷垂直地址是否需重新設定
[cpp] view plain copy// 顯示漢字 voiddispString (uchar X, Y,uchar *msg) //X為哪一行,Y 為哪一列。msg 為漢字 { if(X==0) X = 0x80; // [敏感詞]行,漢字顯示坐標 else if(X==1) X = 0x90; // 第二行 else if(X==2) X = 0x88; // 第三行 else X = 0x98; //第四行 Y = X + Y; //Y 為1 往右移一位 write_com(Y); // 寫入坐標 while (*msg) { write_data(*msg++); //顯示漢字 } } //////////////////////////////// //////////////// /////////////// // 顯示圖象 voiddisppicture(uchar code *adder) { uint i,j; //*******顯示上半屏內容設置 for(i=0;i<32;i++) // 上半屏32個列地址 { write_com(0x80 + i); //SET 垂直地址 VERTICALADD write_com(0x80); //SET 水平地址 HORIZONTAL ADD for(j=0;j<16;j++) { write_data(*adder); adder++; } } //*******顯示下半屏內容設置 for(i=0;i<32;i++) // { write_com(0x80 + i); //SET 垂直地址 VERTICALADD write_com(0x88); //SET 水平地址 HORIZONTAL ADD for(j=0;j<16;j++) { write_data(*adder); adder++; } } }
對于C語言,定義的變量,自動為其分配空間,其地址為該變量的名稱。通過該名稱,可以在內存中招到該數據,經過運算得到新數據,而匯編中需要編程者自己定義存儲空間及把數據送到累加器等進行運算,每一步都需要編程者操作。而C語言這些過程由編譯器去完成。
回答3:一般是自動分配的,可以c語言和匯編語言混合編程,也可以用Keil C在線匯編,芯片與外部的數據交換都是通過端口進行的。
免責聲明:本文轉載自“國際電子商情”,本文僅代表作者個人觀點,不代表薩科微及行業觀點,只為轉載與分享,支持保護知識產權,轉載請注明原出處及作者,如有侵權請聯系我們刪除。
公司電話:+86-0755-83044319
傳真/FAX:+86-0755-83975897
郵箱:1615456225@qq.com
QQ:3518641314 李經理
QQ:332496225 丘經理
地址:深圳市龍華新區民治大道1079號展滔科技大廈C座809室
友情鏈接:站點地圖 薩科微官方微博 立創商城-薩科微專賣 金航標官網 金航標英文站
Copyright ?2015-2024 深圳薩科微半導體有限公司 版權所有 粵ICP備20017602號-1