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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2615|回復: 4
打印 上一主題 下一主題
收起左側

使用的是AMS1602A1顯示屏,不能顯示應有英文,只顯示背景小黑方塊,不是對比度問題

[復制鏈接]
回帖獎勵 50 黑幣 回復本帖可獲得 50 黑幣獎勵! 每人限 1 次
跳轉到指定樓層
樓主
1602液晶
**************************************/
sbit RS = P2^5;               
sbit RW = P2^6;
sbit E  = P2^7;
/**************************************
短延時
**************************************/
void delay5ms()   
{
    uchar i,v,k;
    for(i=1;i>0;i--)
        for(v=168;v>0;v--)
            for(k=22;k>0;k--);
}
/**************************************
寫指令
**************************************/
void lcd_Write_com(uchar com)         
{
        RS=0;                        //定義指令寄存器
        RW=0;                                  //寫允許
        P0=com;                                          //寫指令
        delay5ms();        E=1;                //片選端上拉
        delay5ms();        E=0;                //下降沿鎖存
}
/**************************************
寫數據
**************************************/
void lcd_write_date(uchar date)       
{
        RS=1;                                        //定義數據寄存器
        RW=0;                                        //寫允許
        P0=date;                                //寫數據
        delay5ms();        E=1;                //片選端上拉
        delay5ms();        E=0;                //下降沿鎖存
}
/**************************************
顯示程序
**************************************/
void dis_lcd1602(uchar x,uchar y,uchar dat)
{
        uchar add;
        if(y==1)         add=(0x80+x);
        if(y==2)         add=(0xc0+x);
        lcd_Write_com(add);                //寫指令
        lcd_write_date(dat);        //寫數據
}  
/**************************************
液晶初始化
**************************************/
void lcd1602_init()
{
        lcd_Write_com(0x38);        //設置8位格式,2行,5*7
        lcd_Write_com(0x01);        //清屏
        lcd_Write_com(0x0c);        //整體顯示,關光標,不閃爍
        lcd_Write_com(0x06);        //設定輸入方式,增量不移位
        lcd_Write_com(0x80);        //初始坐標
}
/**************************************
液晶顯示漢字程序
**************************************/
void hz_lcdDis(uchar x,uchar y,uchar *p) //漢字顯示
{
   uchar i=0,temp;
   if(x)temp = 0x40;   else temp = 0;
   for(i=y;*p!='\0';i++,p++)
   {
                lcd_Write_com(i|0x80+temp);
                lcd_write_date(*p);
                delay5ms();                         
   }
}
/**************************************
液晶顯示數字程序
**************************************/
void  num_lcdDis(uchar X,uchar Y,uint num,uchar n)       
{
        uint i=0,temp,hang;   
        n +=1;
           if(X)hang = 0x40;else hang = 0;
           for(i=(n-1);i>0;i--)
    {           
                  lcd_Write_com((i+Y-1)|0x80+hang);          //從個位開始顯示
                  temp = num%10+0x30;
                  lcd_write_date(temp);       
                 delay5ms();
                  num/=10;                                         
        }       
}
函數說明: 主函數
**********************************************************/
void main(void)
{
        uint U1,U2,I1,S;
        SD_1=0;
        lcd1602_init();
        hz_lcdDis(0,4,"Welcome!");
        init_pwm();
        InitADC();
        delay(250);       
//        delay(250);
        EA=1;//開總中斷
        lcd_Write_com(0x01);        //清屏
//        SD_1=1;
        hz_lcdDis(0,0,"IN=  . V S= .  A");
        hz_lcdDis(1,0,"OU=  . V I= .  A");
        while(1)//主循環
        {               
                U1=Filter(Boost_voltage)/92;        //輸入電壓  1:10采樣電阻                 93,
                U2=Filter(Battery_voltage)/92;    //輸出電壓  1:10采樣電阻        93
                I1=Filter(O_current)/150;       //輸出電流  
//                if(I1>1)                I1=I1-1;//輸出電流顯示校準
                if(U2>242)               
                        {SD_1=0;        lock=1;                CCAP1L         =CCAP1H =128;        hz_lcdDis(0,8,"P");        }
                num_lcdDis(0,3,U1/10,2);
                num_lcdDis(0,6,U1%10,1);       
                num_lcdDis(1,3,U2/10,2);
                num_lcdDis(1,6,U2%10,1);
                S=OUT_Current/3;
                num_lcdDis(0,11,S/100,1);
                num_lcdDis(0,13,S%100,2);
                num_lcdDis(1,11,I1/100,1);
                num_lcdDis(1,13,I1%100,2);               
//                if((u2-u1)<40)         hz_lcdDis(0,10,"Error!");
//                else                          hz_lcdDis(0,10,"OK    ");
                key_scan();
        }
}


9]$GY`D3WSZVBUI3LA%7URI.png (21.66 KB, 下載次數: 104)

9]$GY`D3WSZVBUI3LA%7URI.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:123289 發表于 2020-1-28 23:18 | 只看該作者
是不是背景問題,與程序無關,可以人工調節背景,以證明之。
回復

使用道具 舉報

板凳
ID:219729 發表于 2020-1-29 07:08 | 只看該作者
yzwzfyz 發表于 2020-1-28 23:18
是不是背景問題,與程序無關,可以人工調節背景,以證明之。

對比度嗎?老鐵,對比度上我串了一個103電阻,可以自我調節,還是沒有顯示,會不會是我的顯示程序那段有問題呢?幫忙看下可以嗎?可是我又覺得寫得也沒毛病啊,很苦惱
回復

使用道具 舉報

地板
ID:219729 發表于 2020-1-31 21:46 | 只看該作者
我已搞定,謝謝各位大佬無需留言咧
回復

使用道具 舉報

5#
ID:882548 發表于 2021-2-22 09:46 | 只看該作者
怎么解決的?分享一下,謝謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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