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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

LCD1602燒錄單片機程序顯示黑色方格,不顯示內容,請大佬幫忙

[復制鏈接]
跳轉到指定樓層
樓主

stc8h8k64u     代碼是論壇上的,只顯示方格,不顯示內容,背光調節了也沒有,請大佬看看是什么原因

#include<STC8h.h>
#include <stdio.h>

#define uchar unsigned char
#define uint unsigned int
        sbit RS=P0^5;
sbit  E=P0^6;
sbit  RW=P0^7;
sbit   DB=P2;

void delay(uint del)   //延時1ms
      {
         uint i,j;
         for(i=0;i<del;i++)
            for(j=0;j<=168;j++);
      }
                       
void writecmd(uchar com)  
       {
         E=0;       //為什么要寫這一條呢,看看時序圖就清楚了
         RS=0;
         RW=0;
         P2 = com;   
         delay(2);  //延時一下會穩定很多,后面一條也是一樣的
         E=1;  
         delay(2);
         E=0;
       }
                         
                         
        void writedata(uchar dat)  
       {
         E=0;       //為什么要寫這一條呢,看看時序圖就清楚了
         RS=1;
         RW=0;
         P0 = dat;   
         delay(2);  //延時一下會穩定很多,后面一條也是一樣的
         E=1;  
         delay(2);
         E=0;
       }                 
                         
                void init(void)              
    {
       delay(15);
       writecmd(0x38);
       delay(5);
       writecmd(0x38);
       delay(5);
       writecmd(0x38);
       writecmd(0x38);
       writecmd(0x08);
       writecmd(0x01);
       writecmd(0x06);
       writecmd(0x0c);
     }         
                       
                       
                       
                       
                       
                uchar tab1[]=" www.zg4o1577.cn  ";  //要顯示什么就在這兒改       
uchar  a[]="0123456";
uchar table2[]="sun";
uchar  week[][3] = {"MON","TUE","WED","THU","FRI","SAT","SUN"};

void main()
{
       
        uchar j;
         P_SW2 |= 0x80;  //擴展寄存器XFR訪問使能

    P0M1 = 0x00;   P0M0 = 0x00;   //設置為準雙向口
    P1M1 = 0x00;   P1M0 = 0x00;   //設置為準雙向口
    P2M1 = 0x00;   P2M0 = 0x00;   //設置為準雙向口
    P3M1 = 0x00;   P3M0 = 0x00;   //設置為準雙向口
    P4M1 = 0x00;   P4M0 = 0x00;   //設置為準雙向口
    P5M1 = 0x00;   P5M0 = 0x00;   //設置為準雙向口
    P6M1 = 0x00;   P6M0 = 0x00;   //設置為準雙向口
    P7M1 = 0x00;   P7M0 = 0x00;   //設置為準雙向口
          
       
   init();
       
       writecmd(0x80);    //告訴液晶在哪個地方顯示 (設置地址指針)//80H+00

       for(j=0;j<16;j++)  //有16個字符,要循環16次
           {
            writedata(tab1[j]);
                 delay(2);
           }

                                         
                                         
                       
                                         
        while(1);
}


IMG_20240215_150108.jpg (1.6 MB, 下載次數: 95)

IMG_20240215_150108.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:213173 發表于 2024-2-15 22:03 | 只看該作者
你說代碼是論壇上的,難道照抄都不會?可見粗心至極!
  1. #include <STC8h.h>
  2. #include <stdio.h>

  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit  RS=P2^5;
  6. sbit  E= P2^6;
  7. sbit  RW=P2^7;
  8. //sbit  DB=P2;

  9. void delay(uint del)   //延時1ms
  10. {
  11.         uint i,j;
  12.         for(i=0;i<del;i++)
  13.                 for(j=0;j<=168;j++);
  14. }
  15.                        
  16. void writecmd(uchar com)  
  17. {
  18.         E=0;       //為什么要寫這一條呢,看看時序圖就清楚了
  19.         RS=0;
  20.         RW=0;
  21.         P0 = com;   
  22.         delay(2);  //延時一下會穩定很多,后面一條也是一樣的
  23.         E=1;  
  24.         delay(2);
  25.         E=0;
  26. }


  27. void writedata(uchar dat)  
  28. {
  29.         E=0;       //為什么要寫這一條呢,看看時序圖就清楚了
  30.         RS=1;
  31.         RW=0;
  32.         P0 = dat;   
  33.         delay(2);  //延時一下會穩定很多,后面一條也是一樣的
  34.         E=1;  
  35.         delay(2);
  36.         E=0;
  37. }                 

  38. void init(void)              
  39. {
  40.         delay(15);
  41.         writecmd(0x38);
  42.         delay(5);
  43.         writecmd(0x38);
  44.         delay(5);
  45.         writecmd(0x38);
  46.         writecmd(0x38);
  47.         writecmd(0x08);
  48.         writecmd(0x01);
  49.         writecmd(0x06);
  50.         writecmd(0x0c);
  51. }         
  52. uchar tab1[]=" www.zg4o1577.cn  ";  //要顯示什么就在這兒改      
  53. uchar a[]="0123456";
  54. uchar table2[]="sun";
  55. uchar week[][3] = {"MON","TUE","WED","THU","FRI","SAT","SUN"};

  56. void main()
  57. {      
  58.         uchar j;
  59.         P_SW2 |= 0x80;  //擴展寄存器XFR訪問使能
  60.         P0M1 = 0x00;   P0M0 = 0x00;   //設置為準雙向口
  61.         P1M1 = 0x00;   P1M0 = 0x00;   //設置為準雙向口
  62.         P2M1 = 0x00;   P2M0 = 0x00;   //設置為準雙向口
  63.         P3M1 = 0x00;   P3M0 = 0x00;   //設置為準雙向口
  64.         P4M1 = 0x00;   P4M0 = 0x00;   //設置為準雙向口
  65.         P5M1 = 0x00;   P5M0 = 0x00;   //設置為準雙向口
  66.         P6M1 = 0x00;   P6M0 = 0x00;   //設置為準雙向口
  67.         P7M1 = 0x00;   P7M0 = 0x00;   //設置為準雙向口
  68.   
  69.         init();
  70.         writecmd(0x80);    //告訴液晶在哪個地方顯示 (設置地址指針)//80H+00
  71.         for(j=0;j<16;j++)  //有16個字符,要循環16次
  72.         {
  73.                 writedata(tab1[j]);
  74.                 delay(2);
  75.         }       
  76.         while(1);
  77. }
復制代碼




回復

使用道具 舉報

板凳
ID:161164 發表于 2024-2-15 22:47 | 只看該作者
調一下V0接的電位器
回復

使用道具 舉報

地板
ID:584814 發表于 2024-2-17 20:14 | 只看該作者
對比度調整不當或接線錯(包括代碼的線序、延時等錯)
回復

使用道具 舉報

5#
ID:517951 發表于 2024-2-19 07:41 | 只看該作者
先調下第三腳V0的電壓, 量下是多少, 調小,很可能就有驚喜: 字出來了. 如果沒有驚喜, 要就要再調下初始化代碼, 數據線連接是否正確,無虛焊.
回復

使用道具 舉報

6#
ID:47541 發表于 2024-2-19 15:41 | 只看該作者
對比度調整不當
回復

使用道具 舉報

7#
ID:199475 發表于 2024-2-21 18:54 | 只看該作者
wulin 發表于 2024-2-15 22:03
你說代碼是論壇上的,難道照抄都不會?可見粗心至極!

修改了延時,可以了,謝謝

#include<STC8h.h>
#include <stdio.h>
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
        sbit E=P2^5;                //1602使能引腳
sbit RW=P2^6;                //1602讀寫引腳        
sbit RS=P2^7;


void Delay5ms()                //@11.0592MHz
{
        uchar data i, j;

        _nop_();
        _nop_();
        i = 72;
        j = 205;
        do
        {
                while (--j);
        } while (--i);
}
void Delay2ms()                //@11.0592MHz
{
        unsigned char data i, j;

        i = 29;
        j = 183;
        do
        {
                while (--j);
        } while (--i);
}
void Delay15ms()                //@11.0592MHz
{
        unsigned char data i, j;

        _nop_();
        _nop_();
        i = 216;
        j = 109;
        do
        {
                while (--j);
        } while (--i);
}

                       
void writecmd(uchar com)  
       {
         E=0;       //為什么要寫這一條呢,看看時序圖就清楚了
         RS=0;
         RW=0;
         P0 = com;   
         Delay2ms();  //延時一下會穩定很多,后面一條也是一樣的
         E=1;  
         Delay2ms();
         E=0;
       }
                         
                         
        void writedata(uchar dat)  
       {
         E=0;       //為什么要寫這一條呢,看看時序圖就清楚了
         RS=1;
         RW=0;
         P0 = dat;   
         Delay2ms();  //延時一下會穩定很多,后面一條也是一樣的
         E=1;  
         Delay2ms();
         E=0;
       }                 
                         
                void init(void)              
    {
      Delay15ms();
       writecmd(0x38);
       Delay5ms();
       writecmd(0x38);
       Delay5ms();
       writecmd(0x38);
       writecmd(0x38);
       writecmd(0x08);
       writecmd(0x01);
       writecmd(0x06);
       writecmd(0x0c);
     }         
                       
                       
                       
                       
                       
                uchar tab1[]=" www.zg4o1577.cn  ";  //要顯示什么就在這兒改       


void main()
{
       
             uchar j;
             P_SW2 |= 0x80;  //擴展寄存器XFR訪問使能

    P0M1 = 0x00;   P0M0 = 0x00;   //設置為準雙向口
    P1M1 = 0x00;   P1M0 = 0x00;   //設置為準雙向口
    P2M1 = 0x00;   P2M0 = 0x00;   //設置為準雙向口
    P3M1 = 0x00;   P3M0 = 0x00;   //設置為準雙向口
    P4M1 = 0x00;   P4M0 = 0x00;   //設置為準雙向口
    P5M1 = 0x00;   P5M0 = 0x00;   //設置為準雙向口
    P6M1 = 0x00;   P6M0 = 0x00;   //設置為準雙向口
    P7M1 = 0x00;   P7M0 = 0x00;   //設置為準雙向口
          
       
         init();
             
       writecmd(0x80);    //告訴液晶在哪個地方顯示 (設置地址指針)//80H+00
         
       for(j=0;j<16;j++)  //有16個字符,要循環16次
           {
            writedata(tab1[j]);
                                                 Delay5ms();
                 
           }
         
                                         
                                         
                       
                                         
        while(1);
}
回復

使用道具 舉報

8#
ID:199475 發表于 2024-2-21 18:55 | 只看該作者
修改了延時,已經可以了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: www.色.com| xx性欧美肥妇精品久久久久久 | 综合久久色| 精品日韩一区二区 | 91精品久久久久久久久久小网站 | 国内精品视频在线观看 | 波多野结衣精品在线 | 成av人电影在线 | 伊人电影院av| 国产成人精品免高潮在线观看 | 毛片一区二区 | 日韩手机在线看片 | 亚洲国产成人精品在线 | 国产免费一区二区 | 午夜精品一区二区三区在线视频 | 国产精品久久久久久久久久三级 | 羞羞色在线观看 | 免费国产一区 | 黄色av网站在线观看 | av av在线 | 国产视频精品免费 | 日韩一区中文字幕 | 亚洲一区二区在线视频 | 91免费观看国产 | 青青久久av北条麻妃海外网 | 三级视频在线观看电影 | 久久精品国产亚洲 | 国产小视频在线观看 | 久久国产一区 | 成人激情免费视频 | 草草视频在线观看 | 欧美日韩精品一区二区三区视频 | 一区二区日本 | 久久成人18免费网站 | av在线电影网站 | 99综合网| 欧美一区在线看 | 欧美精品在线看 | 91精品国产91久久久久游泳池 | a级片在线观看 | 成人国产精品久久 |