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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1890|回復: 6
收起左側

我想用stc15單片機在1602上顯示占空比,程序燒到板子上,1602上沒數據,串口沒錯,...

[復制鏈接]
ID:480680 發(fā)表于 2019-7-23 09:55 | 顯示全部樓層 |閱讀模式
#include"15.h"
#define uint unsigned int
#define uchar unsigned char

sbit lcden=P2^7;     //1602引腳
sbit lcdrw=P2^6;
sbit lcdrs=P2^5;

sbit s1=P2^0;       //按鍵
sbit s2=P2^1;
sbit s3=P2^2;

uchar zhankongbi=0x80;
uchar code table1[]="zhankongbi";
void delay(uint z);
void pwminit()                        //占空比初始化
{
                CMOD=0x02;
                CL=0x00;
                CH=0x00;                       
                PCA_PWM0=0x00;
                CCAPM0=0x42;
                CCAP0H=0xff;
                CCAP0L=0xff;            
                CR=1;       
}
void pwmshe(uchar t)//這是占空比調節(jié)函數
{
                            
                CCAP0H=t;
                CCAP0L=t;
}
void write_com(uchar com)
{
        lcdrs=0;
        P0=com;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
}
void write_data(uchar dota)
{
        lcdrs=1;
        P0=dota;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
}
void initlcd()
{
        lcden=0;
        write_com(0x38);
        delay(5);
        write_com(0x0c); delay(5);
        write_com(0x06);delay(5);
        write_com(0x01);delay(5);
}
void display()
{
    uchar num=0;
        initlcd();
           write_com(0x80);
        for(num=0;num<11;num++)
        {
                write_data(table1[num]);
                delay(5);
        }
}
void display1()
{
          
                uint a=0,b=0,c=0;
             initlcd();
    zhankongbi=zhankongbi/256*100;
        a=zhankongbi/100;
        b=zhankongbi%100/10;
        c=zhankongbi%10;
        write_com(0x80+0x40); delay(5);
        write_data('a');
        write_com(0x80+0x41);delay(5);
        write_data('b');
        write_com(0x80+0x42);delay(5);
        write_data('c');       
}
void keyscan()
{
        if(s1==0)
        {        delay(5);
                if(s1==0)
                {
                          while(!s1);       
                    zhankongbi=zhankongbi-0x0a;
                        if(zhankongbi<10)
                            zhankongbi=0x0a;
                            pwmshe(zhankongbi);
                                 
                }
        }       
                if(s2==0)
        {        delay(5);
                if(s2==0)
                {
                                while(!s2);
                    zhankongbi=zhankongbi=0x0a;
                        if(zhankongbi>256)
                        zhankongbi=0x80;
                            pwmshe(zhankongbi);       
               
                }
        }
                if(s3==0)
        {       
              delay(5);
                if(s3==0)
                {
                            while(!s3);
                         if(zhankongbi<20)
                         zhankongbi++;
                     zhankongbi--;          
                             pwmshe(zhankongbi);
                               
                }
        }                                                       
}
void main()
{
        P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;
    P6M0 = 0x00;
    P6M1 = 0x00;
    P7M0 = 0x00;
    P7M1 = 0x00;
         initlcd();
    pwminit();  
        display();
        display1();
    while(1)
{  
         keyscan();
}       
}
void delay(uint z)
{
        uint i,j;
        for(i=z;i>=0;i--)
                for(j=110;j>=0;j--);
}
回復

使用道具 舉報

ID:588220 發(fā)表于 2019-7-23 10:43 | 顯示全部樓層
建議先復位,另外檢查下硬件電路確保硬件工作正常
回復

使用道具 舉報

ID:588220 發(fā)表于 2019-7-23 10:51 | 顯示全部樓層
板子是不是ok的?建議先寫一些簡單的底層驅動測試下硬件
回復

使用道具 舉報

ID:546770 發(fā)表于 2019-7-23 12:47 | 顯示全部樓層
哇哦,頭文件就一個"15.h"這么簡單?求教這塊單片機
回復

使用道具 舉報

ID:526437 發(fā)表于 2019-7-23 19:45 | 顯示全部樓層
建議先復位,另外檢查下硬件電路確保硬件工作正常
回復

使用道具 舉報

ID:480680 發(fā)表于 2019-7-25 09:05 | 顯示全部樓層
自己已解決;軟件可能有點問題;
以下是程序:
#include"12.h"
#define  uint  unsigned int
#define  uchar  unsigned char


sbit lcden=P3^5;
sbit lcdrs=P3^7;
sbit lcdrw=P3^6;
sbit s1=P2^0;
sbit s2=P2^1;
float zhankongbi=256;
uchar code table1[]="zkb";
void display1();
void pwminit();
void keyscan();
void delay(uint z)
{
  uint i,j;
   for(i=z;i>0;i--)
    for(j=110;j>0;j--);
}

void pwminit()
{
                                                          
                CMOD=0x04;
                                CCON=0X00;
                CL=0x00;
                CH=0x00;
//                        PCA_PWM0=0x00;
                CCAPM0=0x42;
                CCAP0H=0xff;
                CCAP0L=0xff;
                CR=1;       
}
void pwmshe(uchar t)//這是占空比調節(jié)函數
{
                            
                CCAP0H=t;
                CCAP0L=t;
}
void write_com(uchar com)//        液晶寫命令函數
{
      lcdrs=0;
      lcdrw=0;
      P0=com;
      delay(5);
      lcden=1;
      delay(5);
      lcden=0;          
}

void write_date(uchar date)//液晶寫數據函數
{
     lcdrs=1;
     lcdrw=0;
     P0=date;
     delay(5);
     lcden=1;
     delay(5);
     lcden=0;
}
void init()        //初始化函數
{
        uchar num;

        write_com(0x38);
        write_com(0x0c);
        write_com(0x06);
        write_com(0x01);
        write_com(0x80);//設置顯示初始坐標
        for(num=0;num<3;num++)//顯示年月日
                {
                        write_date(table1[num]);
                        delay(5);
                }
}
void main()
{
        P0M0 = 0x00;
    P0M1 = 0x00;
    P1M0 = 0x00;
    P1M1 = 0x00;   
    P2M0 = 0x00;
    P2M1 = 0x00;
    P3M0 = 0x00;
    P3M1 = 0x00;
    P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;
        init();
        pwminit();
    display1();
        while(1) //進入主程序大循環(huán)
        {
                       
                  keyscan();
                          display1();       
                  pwmshe(zhankongbi);       
        }
               
}
void keyscan()
{
                        if(s1==0)
        {
                delay(60);
                if(s1==0)
                {
                          while(!s1);        
                    zhankongbi--;
       
                         
                }
        }       
                if(s2==0)
        {       
             delay(60);
                if(s2==0)
                {
                                while(!s2);       
                    zhankongbi++;
                        if(zhankongbi>256)
                        zhankongbi=0x80;                                                                   
                }
        }
                       
       
}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
void display1(float m)
{
          
                float a=0,c=0;
             uchar        b=0;
                          m=zhankongbi;
         m=(float)m*100/256;
             a=m/100;
             b=(uchar)m%100/10;
             c=(uchar)m%10;

        write_com(0x84);
        write_date(a+0x30);
        write_com(0x85);
        write_date(b+0x30);
        write_com(0x86);
        write_date(c+0x30);       
        write_com(0x87);
        write_date('%');
        write_com(0x83);
        write_date(':');
       
}

回復

使用道具 舉報

ID:480680 發(fā)表于 2019-7-25 09:07 | 顯示全部樓層
引腳同的原因是我拿12芯片做測試的;12和15芯片1602的讀寫,使能引腳不同
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人aaa级毛片在线视频 | 日韩欧美在线视频 | h视频在线观看免费 | 久久久99精品免费观看 | 国产乱人伦精品一区二区 | 天天躁日日躁狠狠躁白人 | av永久免费 | 亚洲综合在线播放 | 欧美在线资源 | 亚洲欧洲av在线 | 色综合一区二区 | 成人午夜免费福利视频 | 中文字幕欧美日韩 | 天天天天操 | 成人在线精品视频 | 国产午夜精品久久久久 | 国产精品一二三区 | 国产女人第一次做爰毛片 | 亚洲欧美日韩精品久久亚洲区 | 久久a久久| 久久久久久毛片免费观看 | 久久婷婷国产麻豆91 | 成人欧美一区二区三区在线播放 | 成人在线免费电影 | 日韩av在线一区 | 香蕉久久网 | 国产视频中文字幕 | 天天草av| 久久久久网站 | 欧美成人免费在线 | 亚洲天堂精品久久 | 99这里只有精品视频 | 久草在线视频中文 | 国产精品99久久久久久www | 婷婷91| 日本免费在线看 | 国产一区二区三区久久久久久久久 | av大片在线观看 | 精品国产乱码久久久久久蜜臀 | 国产在线aa| 久久久久国|