欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3768|回復: 9
收起左側

用單片機程序控制12864的字體顯示,括號里數字都啥意思

[復制鏈接]
ID:732410 發表于 2020-4-19 13:38 | 顯示全部樓層 |閱讀模式
5黑幣
void dis_shijian() //顯示時間
{
write_shu16(0,0*8,shi,0);   //時,來自1302
write_shuzi(1,0*2,2*8,fuhao[1],0); //:
write_shu16(0,3*8,fen,0);   //分,來自1302
write_shuzi(1,0*2,5*8,fuhao[1],0); //:
write_shu16(0,6*8,miao,0);   //秒,來自1302
write_yhanzi(2,0,5*16,qita[6])


/******************顯示時間函數***************************/
void dis_shijian_set() //顯示時間
{
write_shu16(0*2,0*8,0x20,0);
write_shu16(1*2,2*8,shi,0);
write_shu16(1*2,6*8,fen,0);
write_shu16(1*2,10*8,miao,0);
write_shu16(0*2,2*8,nian,0);
write_shu16(0*2,6*8,yue,0);
write_shu16(0*2,10*8,ri,0);
write_yhanzi(1,4,5*16,xingqi[week]);   
}
/************初始化設置顯示*****************/
void init_12864_set1()
{
   //年
write_yhanzi(1,0,4*16,qita[1]);   //月
write_yhanzi(1,0,6*16,qita[2]);   //日
write_yhanzi(1,2,2*16,qita[3]);   //時
write_yhanzi(1,2,4*16,qita[4]);   //分
write_yhanzi(1,2,6*16,qita[5]);   //秒
write_yhanzi(2,4,3*16,qita[6]);   //星期
dis_shijian_set(); //顯示時間

回復

使用道具 舉報

ID:732410 發表于 2020-4-19 13:51 | 顯示全部樓層
看了一些資料,有些上邊說第一個數是行,第二個是列,然后是數組(文字)。但這里的很多第一個數都是一樣的,第二個也是一樣的。讓我覺得在同一位置,后邊的4*6什么的意思就更不明朗了
回復

使用道具 舉報

ID:729982 發表于 2020-4-19 17:22 | 顯示全部樓層
你不把那個write函數拿出來給我們看看,鬼知道那些參數是干嘛的?
回復

使用道具 舉報

ID:367369 發表于 2020-4-19 20:29 | 顯示全部樓層
你得看write-shuzi()函數里面怎么定義這些參數的;數字有相同的部分但是不是完全相同有的同行有的同列有的同頁
回復

使用道具 舉報

ID:74868 發表于 2020-4-19 20:34 | 顯示全部樓層
zhouchun 發表于 2020-4-19 13:51
看了一些資料,有些上邊說第一個數是行,第二個是列,然后是數組(文字)。但這里的很多第一個數都是一樣的, ...

是字模數組
回復

使用道具 舉報

ID:732410 發表于 2020-4-19 21:23 | 顯示全部樓層
我未曾來過 發表于 2020-4-19 17:22
你不把那個write函數拿出來給我們看看,鬼知道那些參數是干嘛的?

uchar code shuzi[10][16]={
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,/*"0",0*/
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*"1",1*/
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,/*"2",2*/
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,/*"3",3*/
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,/*"4",4*/
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,/*"5",5*/
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,/*"6",6*/
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,/*"7",7*/
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,/*"8",8*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00};/*"9",9*/

/**********************************************************
*函數名: write_shu16
*功能:在12864上顯示16進制數據
*說明:
*輸入:無
*返回:無
**********************************************************/
void write_shu16(uchar x,uchar y,uchar dat,uchar fanbai)
{
write_shuzi(1,x,y,shuzi[dat/16],fanbai);
write_shuzi(1,x,y+8,shuzi[dat%16],fanbai);
}
void write_shu18b20(uchar x,uchar y,uint dat,uchar fanbai)
{
write_shuzi(1,x,y,shuzi[dat/100%10],fanbai);
write_shuzi(1,x,y+8,shuzi[dat/10%10],fanbai);
write_shuzi(1,x,y+24,shuzi[dat%10],fanbai);
}
void write_shu123(uchar x,uchar y,uchar dat,uchar fanbai)
{
write_shuzi(1,x,y,shuzi[dat/16],fanbai);
write_shuzi(1,x,y+8,shuzi[dat%16],fanbai);
}
回復

使用道具 舉報

ID:732410 發表于 2020-4-19 22:36 | 顯示全部樓層
/***********************寫漢字函數**********************/
void write_yhanzi(uchar n,uchar x,uchar y,uchar  * p)
{
uchar i,j,nm,m;
m=0xb8+x;
for(j=0;j<n;j++)
{          
  if((16*j+y)<64)
  {
   cs1=1;cs2=0;nm=0x40+y+16*j;  
  }
  else
  {
   cs1=0;cs2=1;nm=0x40+y+16*(j-4);  
  }
  write_com(m);
  write_com(nm);
  for(i=0;i<16;i++)
  {
   write_data(*p);p++;
  }
  write_com(m+1);
  write_com(nm);
  for(i=16;i<32;i++)
  {
   write_data(*p);p++;
  }
}
}

void write_yhanzi_fanbai(uchar n,uchar x,uchar y,uchar  * p,uchar fanbai)
{
uchar i,j,nm,m;
m=0xb8+x;
for(j=0;j<n;j++)
{
  if((16*j+y)<64)
  {
   cs1=1;cs2=0;nm=0x40+y+16*j;  
  }
  else
  {
   cs1=0;cs2=1;nm=0x40+y+16*(j-4);  
  }
  write_com(m);
  write_com(nm);
  for(i=0;i<16;i++)
  {
   if(fanbai==0)
   write_data(*p);
   else        
   write_data(~(*p));
   p++;
  }
  write_com(m+1);
  write_com(nm);
  for(i=16;i<32;i++)
  {
   if(fanbai==0)
   write_data(*p);
   else        
   write_data(~(*p));
   p++;
  }
}
}

/***********************寫數字函數**********************/
void write_shuzi(uchar n,uchar x,uchar y,uchar  * p,uchar fanbai)
{
uchar i,j,nm,m;
m=0xb8+x;
for(j=0;j<n;j++)
{   
  if((8*j+y)<64)
  {
   cs1=1;cs2=0;nm=0x40+y+8*j;  
  }
  else
  {
   cs1=0;cs2=1;nm=0x40+y+8*(j-8);  
  }
  write_com(m);
  write_com(nm);
  for(i=0;i<8;i++)
  {
   if(fanbai==0)
   write_data((*p));
   else
   write_data(~(*p));
   p++;
  }
  write_com(m+1);
  write_com(nm);
  for(i=8;i<16;i++)
  {
   if(fanbai==0)
   write_data((*p));
   else
   write_data(~(*p));
   p++;
  }
}
}

/**********************************************************
*函數名: write_shu16
*功能:在12864上顯示16進制數據
*說明:
*輸入:無
*返回:無
**********************************************************/
void write_shu16(uchar x,uchar y,uchar dat,uchar fanbai)
{
write_shuzi(1,x,y,shuzi[dat/16],fanbai);
write_shuzi(1,x,y+8,shuzi[dat%16],fanbai);
}
void write_shu18b20(uchar x,uchar y,uint dat,uchar fanbai)
{
write_shuzi(1,x,y,shuzi[dat/100%10],fanbai);
write_shuzi(1,x,y+8,shuzi[dat/10%10],fanbai);
write_shuzi(1,x,y+24,shuzi[dat%10],fanbai);
}
void write_shu123(uchar x,uchar y,uchar dat,uchar fanbai)
{
write_shuzi(1,x,y,shuzi[dat/16],fanbai);
write_shuzi(1,x,y+8,shuzi[dat%16],fanbai);
}
回復

使用道具 舉報

ID:732410 發表于 2020-4-19 22:37 | 顯示全部樓層
game灬boy 發表于 2020-4-19 20:29
你得看write-shuzi()函數里面怎么定義這些參數的;數字有相同的部分但是不是完全相同有的同行有的同列有 ...

嗯嗯,感謝。但是還是有點懵,等審核過了,麻煩幫忙看看這幾個函數。
回復

使用道具 舉報

ID:732410 發表于 2020-4-19 22:38 | 顯示全部樓層
game灬boy 發表于 2020-4-19 20:29
你得看write-shuzi()函數里面怎么定義這些參數的;數字有相同的部分但是不是完全相同有的同行有的同列有 ...

嗯嗯,如果有時間,可以麻煩幫忙看一下新發的評論里邊的這幾個函數嗎。
回復

使用道具 舉報

ID:282850 發表于 2020-4-20 15:02 | 顯示全部樓層
write_yhanzi(uchar n,uchar x,uchar y,uchar  * p)參數(n寫幾個, x行坐標,y列坐標, *p數據指針)
write_shuzi(uchar n,uchar x,uchar y,uchar  * p,uchar fanbai)參數(n寫幾個, x行坐標,y列坐標, *p數據指針,是否翻白顯示,一般1、0)
你所引用的程序相當不好,Function定義一般要說明參數意義、參數取值范圍,Function功能。從用了拼音來說,原作者水平真不怎么樣。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表