久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1174|回復: 4
收起左側

ILI9325怎么去顯示數字,用的是C程序

[復制鏈接]
ID:995515 發表于 2023-4-27 16:05 | 顯示全部樓層 |閱讀模式
如題
回復

使用道具 舉報

ID:517951 發表于 2023-5-2 09:57 | 顯示全部樓層
ILI9325是點陣型的LCD控制ic, 顯示數字, 先做一個0-9的字庫, 什么大小, 字型自己挑選. 然后把字庫讀取出來, 通過寫屏函數(確定要現實的x,y位置)在LCD上顯示出來.
回復

使用道具 舉報

ID:995515 發表于 2023-5-1 15:42 | 顯示全部樓層
#include<reg52.h> #include"LCD_driver.h"    unsigned char  kp,ti,td;    unsigned char  rx=102;                 //2V                             int  y,y1,u;     int  e0,e1,ei;    unsigned int  ts;    int ri[8]={0,0,0,0,0,0,0,0};    uchar sitx;  uchar nump=0,numi=0,numd=0; uchar numsit,numc[9],cnt=0;              uchar keyv;   void dis8(uchar x, uchar sitx )         {      LCD_KeilDrawLine(20+sitx, 200, 27+sitx, 200);    LCD_KeilDrawLine(20+sitx, 210, 27+sitx, 210);    LCD_KeilDrawLine(20+sitx, 220, 27+sitx, 220);    LCD_KeilDrawLine(20+sitx, 200, 20+sitx, 210);     LCD_KeilDrawLine(20+sitx, 210, 20+sitx, 220);            LCD_KeilDrawLine(27+sitx, 200, 27+sitx, 210);    LCD_KeilDrawLine(27+sitx, 210, 27+sitx, 220);              if (x==2||x==3||x==5||x==6||x==8||x==0)    LCD_DrawLine(20+sitx, 200, 27+sitx, 200);    if (x==2||x==3||x==4||x==5||x==6||x==8)    LCD_DrawLine(20+sitx, 210, 27+sitx, 210);    if (x==2||x==3||x==5||x==6||x==7||x==8||x==0)     LCD_DrawLine(20+sitx, 220, 27+sitx, 220);    if (x==2||x==6||x==8||x==0)             LCD_DrawLine(20+sitx, 200, 20+sitx, 210);    if (x==4||x==5||x==6||x==8||x==9||x==0)      LCD_DrawLine(20+sitx, 210, 20+sitx, 220);     if (x==1||x==3||x==4||x==5||x==6||x==7||x==8||x==9||x==0)            LCD_DrawLine(27+sitx, 200, 27+sitx, 210);    if (x==1||x==2||x==3||x==7||x==8||x==9||x==0)    LCD_DrawLine(27+sitx, 210, 27+sitx, 220);         }  uchar keyscan()                     { uchar hsm, ljc, keyvalue;   P1=0xf0;                                                //  | 1111 - 0000             ljc=P1&0xf0;   if(ljc!=0xf0)      {      delayms(10);          ljc=P1&0xf0;          if(ljc!=0xf0)             {  hsm=0xfe;                    while((hsm&0x10)!=0)                    { P1=hsm;                      ljc=P1&0xf0;                          if(ljc!=0xf0)                           {                            keyvalue=(~hsm)+((~(ljc|0x0f)));                            return(keyvalue);                           }                          else hsm=(hsm<<1)|0x01;                                         }                               }          }    return(0x00);  }             void main() {     LCD_Init();        Pant(colors[4]>>8 , colors[4]);    LCD_CS =0;   LCD_DrawLine(10, 10, 310, 10);    LCD_DrawLine(10, 10, 10, 230);    LCD_DrawLine(10, 230, 310, 230);    LCD_DrawLine(310, 10, 310, 230);            u=0;          ei=0;         y=0;         y1=0;         ts=10;             //    kp=7;ti=12;td=6;            while(cnt!=10)                  {           delayms(100);                                                   if(keyscan()!=0x00 )                              {                                    keyv=keyscan();                                                                                         switch(keyv)                                     { case 0x11: if (cnt==2)    {cnt=0; }                                                    if (cnt==5)    {cnt=3; }                                                                          if (cnt==8)    {cnt=6; }                                                                                         else  {numc[cnt]=1;cnt++; }                                                                   break;                                                                                case 0x21: if (cnt==2)    {cnt=0; }                                                                   if (cnt==5)    {cnt=3; }                                                                          if (cnt==8)    {cnt=6; }                                                                        else  {numc[cnt]=2; cnt++;}                                                                  break;                                                                                case 0x41:  if (cnt==2)    {cnt=0 ;}                                                                   if (cnt==5)    {cnt=3; }                                                                          if (cnt==8)    {cnt=6; }                                                                        else  {numc[cnt]=3;cnt++; }                                                                  break;                                                                                                                                 case 0x81: if (cnt==2)    {cnt=0; }                                                                   if (cnt==5)    {cnt=3; }                                                                          if (cnt==8)    {cnt=6; }                                                                   else  {numc[cnt]=4; cnt++; }                                                                 break;                                                                                                       case 0x12: if (cnt==2)    {cnt=0; }                                                                  if (cnt==5)    {cnt=3; }                                                                          if (cnt==8)    {cnt=6; }                                                                        else  {numc[cnt]=5;cnt++; }                                                                  break;                                                                  case 0x22:  if (cnt==2)    {cnt=0; }                                                                   if (cnt==5)    {cnt=3; }                                                                          if (cnt==8)    {cnt=6; }                                                                       else  {numc[cnt]=6; cnt++;}                                                                  break;                                          case 0x42:  if (cnt==2)    {cnt=0; }                                                                   if (cnt==5)    {cnt=3; }                                                                          if (cnt==8)    {cnt=6; }                                                                      else  {numc[cnt]=7; cnt++; }                                                                 break;                                          case 0x82:  if (cnt==2)    {cnt=0; }                                                                   if (cnt==5)    {cnt=3; }                                                                          if (cnt==8)    {cnt=6; }                                                                     else  {numc[cnt]=8; cnt++;}                                                                  break;                                                                          case 0x14:  if (cnt==2)    {cnt=0; }                                                                   if (cnt==5)    {cnt=3; }                                                                          if (cnt==8)    {cnt=6; }                                                                      else  {numc[cnt]=9;cnt++; }                                                                  break;                                                                                case 0x24:   if (cnt==2)    {cnt=0; }                                                                    if (cnt==5)    {cnt=3; }                                                                          if (cnt==8)    {cnt=6; }                                                                      else  {numc[cnt]=0; cnt++;}                                                                  break;                                                   case 0x84: cnt=9;                                                break;                                                                                                case 0x18: cnt=0;                                                                  break;                                                                                                                                                                                                      case 0x28: cnt=3;                                                                  break;                                           case 0x48: cnt=6;                                                break;                                                   case 0x88: cnt=10;                                          }                                                                                                                                         nump=numc[0]*10+numc[1];                numi=numc[3]*10+numc[4];         numd=numc[6]*10+numc[7];                                                       dis8(numc[0],0) ;                                          dis8(numc[1],10);                                          dis8(numc[3],30);                                          dis8(numc[4],40);                                          dis8(numc[6],60);                                          dis8(numc[7],70);                              kp=nump; ti=numi;  td=numd;                                                              }                   }           while (cnt==10)                            {                    e0=rx-y;                   ei=ei+e0;                                     u=0.18*kp*(e0+ei/ti+td*(e0-e1)/4);         //          if (u>230)  u=230;                   e1=e0;                                              ri[0]=ri[1];                                 ri[1]=ri[2];                    ri[2]=ri[3];                    ri[3]=ri[4];                     ri[4]=ri[5];                     ri[5]=ri[6];                    ri[6]=ri[7];                    ri[7]=u;                      y=0.9*y1+0.1*ri[0];                                    LCD_DrawLine(ts-4,y1+10 ,  ts,y+10);                    y1=y;                LCD_DrawPoint(112,ts);            //  LCD_DrawPoint(y+10,ts);                                    //LCD_DrawPoint(u,ts);                                   if(ts<=306) ts=ts+4;                 delayms(50);                 }  }
回復

使用道具 舉報

ID:123289 發表于 2023-4-28 10:53 | 顯示全部樓層
ILI9325顯示數字,與用不用C語言無關。
取總決于你將數碼管的哪些段位點量。
回復

使用道具 舉報

ID:262 發表于 2023-4-27 17:25 | 顯示全部樓層
這種情況最好是說你做了什么,會什么,不然給人感覺就像伸手黨,有誰愿意犧牲時間呢? 而且論壇已經明令禁止伸手黨,大家都是來51hei學習的,電子工程師愛好者也都反感伸手黨,所以還是重新編輯一下帖子吧,至少說明一下你做了什么,到了什么進度,遇到哪一行具體的代碼或者電路不明白,讓大家幫你分析,可以先看下大家的帖子都是怎么發的,問題是怎么解決的:http://www.zg4o1577.cn/bbs/mcu-h24-1.html
參考:http://www.zg4o1577.cn/bbs/dpj-78604-1.html
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本免费黄色一级片 | a级在线| 亚洲精品视频网站在线观看 | 狠狠操狠狠干 | 成人亚洲性情网站www在线观看 | 9191成人精品久久 | 欧美激情精品久久久久 | 国产一区二区三区在线看 | 久久精品这里精品 | 国产999精品久久久久久绿帽 | 成人福利网 | 91视频网| 欧美综合国产精品久久丁香 | 日韩精品一区二区三区中文字幕 | 久久大 | 国产日韩欧美在线观看 | 欧美日本亚洲 | 国产综合久久 | 一区二区三区视频在线 | 国产乱码精品一区二区三区中文 | 亚洲韩国精品 | 国产成人免费在线观看 | 久久精品久久精品久久精品 | 91精品国产自产在线老师啪 | 欧美一级在线 | 久久精品国产精品青草 | 91久久久久久久久 | 国产一区久久精品 | 国产精品99一区二区 | 成人性生交大片免费看中文带字幕 | 91麻豆精品国产91久久久久久 | 秋霞电影一区二区三区 | 91在线观看免费 | 午夜精品久久久久久久99黑人 | 国产精品99久久久久久动医院 | 婷婷激情在线 | 国产一区二区久久 | 久久精品天堂 | 国产成人亚洲精品 | 中文字幕亚洲区 | 亚洲国产精品自拍 |