資源簡介
基于protues實現128-32點陣屏的設計,集成了flash芯片,
將GBK字庫集成到flash芯片,從而實現字庫集成,只需用串口控制無需
用取模軟件實現。

代碼片段和文件信息
#include?“config.h“
#include?
#include?
#include?“hardware.h“
/*void?GetHzCode(uchar?*hzuchar?*buff)
{
uint32?area??=?hz[0]?-?0xA1;
uint32?where?=?hz[1]?-?0xA1;
read_from_at25f4096((area?*?94?+?where)*32buff32);
}*/
/*void?re_location(uchar?(*pcode)[32])
{
uchar?jm;
????for?(?j?=?0?;j?4;j++?) ?//重新計算移動的坐標移動一次
???{
??? for(?m?=?0?;?m?<16;?m++?)
{
pcode[j][2*m]?????=?pcode[j][2*m]<<1?|?pcode[j][2*m+1]>>7;
pcode[j][2*m?+?1]?=?pcode[j][2*m?+?1]<<1?|?pcode[(j+1)%4][2*m]>>7;
??? }
???}
}*/
void?re_location(uchar?(*pcode)[32]uchar?*?buffuchar?cnt)
{
uchar?jm;
????for?(?j?=?0?;j?3;j++?) ?//重新計算移動的坐標移動一次
???{ ?//前面3個字涉及到的是緩存,最后一個字跟buff有關
??? for(?m?=?0?;?m?<16;?m++?)
{
pcode[j][2*m]?????=?pcode[j][2*m]<<1?|?pcode[j][2*m+1]>>7;
pcode[j][2*m?+?1]?=?pcode[j][2*m?+?1]<<1?|pcode[j+1][2*m]>>7;
??? }
???}
?for(?m?=?0?;?m?<16;?m++?)
{
pcode[3][2*m]?????=?pcode[3][2*m]<<1?|?pcode[3][2*m+1]>>7;
pcode[3][2*m?+?1]?=?pcode[3][2*m?+?1]<<1?|buff[2*m?+?cnt/8]>>(7-cnt%8);
?}
}
void?adre_pos(uchar?*struchar?(*pcode)[32])
{
uint32?area;
uint32?where;
uchar?i?=?0;
uint?j?=?10;
uchar?m?=?0;
uchar?*ptmp?=?str;
uchar?buff[32];
while?(?*ptmp?!=?‘\0‘?)
{
??area??=?str[i*2?+?0]?-?0xA1;
??where?=?str[i*2?+?1]?-?0xA1;
??read_from_at25f4096((area?*?94?+?where)*32buff32);//加載數據
??i++;
??ptmp?+=?2;
??for?(?m?=?0?;?m?16?;?m++)//移動16次顯示下一個字
??{
?? re_location(pcodebuffm);
?? while?(j--)display_str(pcode);//刷屏
j?=?5;
??}
??
????}
?????//memset(pcode0sizeof(pcode));
}
//74hc595驅動?先傳高位再傳低位
void?display_str(uchar?(*pcode)[32])
{
uint?i;
????uchar?tmp;
uchar?j;
uchar?m;
????SCLT?=?0;
SCLH?=?0;
//為列鎖存做準備
for?(?m?=?0?;?m?16?;?m++?)?//顯示4個漢字 16行
{
??SCLT?=?0;
??//ROW_NUM?=?m;??
??for(i?=?0?;i?2*4?;?i++)??//4個漢字?一個漢字兩個字節每行?一共8個字節
?? {
???
//tmp?=?*(pcode?+?2*m?+?(i/2)*32?+?i);
tmp?=?pcode[i/2][2*m?+?i%2];
for(?j?=?0;?j?8?;?j++?)
?? ?{ ????????????????????//循環兩次,每次移一個字節,
??
?????????????????SCLH?=?0; ????//為列移位做準備
?? ?if?(tmp?&?0x80)?DATA?=?1;
?? ?else????????????DATA?=?0;
tmp?<<=?1;?? ????//將數據緩沖右移一位,為下次輸出做準備
??
SCLH?=?1; ? ????//將DATA上的數據移入寄存器
???
} ????//移入單字節結束
?
}
????ROW_NUM?&=~?0x0f;
ROW_NUM?=?m;?????????????????//在仿真中先送行,再送列?
SCLT?=?1;
} ???
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????26270??2014-03-05?16:56??8th_串口控制點陣\1
?????文件???????4004??2014-03-05?16:56??8th_串口控制點陣\1.hex
?????文件????????100??2014-03-05?16:56??8th_串口控制點陣\1.lnp
?????文件??????25603??2014-03-05?16:56??8th_串口控制點陣\1.M51
?????文件??????60441??2014-03-05?17:18??8th_串口控制點陣\1.plg
????.......?????60619??2015-03-25?09:03??8th_串口控制點陣\1.uvopt
????.......?????14489??2014-03-12?15:38??8th_串口控制點陣\1.uvproj
?????文件??????35542??2014-03-12?17:12??8th_串口控制點陣\11
?????文件???????8060??2014-03-12?17:12??8th_串口控制點陣\11.hex
?????文件????????101??2014-03-12?17:12??8th_串口控制點陣\11.lnp
?????文件??????29573??2014-03-12?17:12??8th_串口控制點陣\11.M51
?????文件????????165??2015-03-25?09:03??8th_串口控制點陣\11.plg
????.......?????59807??2014-08-29?08:05??8th_串口控制點陣\1_uvopt.bak
????.......?????14488??2014-03-12?15:31??8th_串口控制點陣\1_uvproj.bak
?????文件??????26788??2014-03-05?21:11??8th_串口控制點陣\7
?????文件???????3837??2014-03-05?21:11??8th_串口控制點陣\7.hex
?????文件????????100??2014-03-05?21:11??8th_串口控制點陣\7.lnp
?????文件??????25420??2014-03-05?21:11??8th_串口控制點陣\7.M51
?????文件???????2715??2014-03-05?21:12??8th_串口控制點陣\7.plg
?????文件???????2690??2014-03-12?15:51??8th_串口控制點陣\74hc595.c
?????文件???????6820??2014-03-12?17:12??8th_串口控制點陣\74hc595.LST
?????文件??????10748??2014-03-12?17:12??8th_串口控制點陣\74hc595.OBJ
?????文件??????27868??2014-03-09?12:07??8th_串口控制點陣\8
?????文件???????4858??2014-03-09?12:07??8th_串口控制點陣\8.hex
?????文件????????100??2014-03-09?12:07??8th_串口控制點陣\8.lnp
?????文件??????26392??2014-03-09?12:07??8th_串口控制點陣\8.M51
?????文件??????74896??2014-03-09?16:03??8th_串口控制點陣\8.plg
?????文件??????34567??2014-03-12?15:37??8th_串口控制點陣\9
?????文件???????8105??2014-03-12?15:37??8th_串口控制點陣\9.hex
?????文件????????100??2014-03-12?15:37??8th_串口控制點陣\9.lnp
............此處省略21個文件信息
評論
共有 條評論