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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

(15系列單片機pwm模塊)在1602上顯示占空比,并調節占空比

[復制鏈接]
跳轉到指定樓層
樓主
ID:480680 發表于 2019-7-27 09:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include"15.h"
#define  uint  unsigned int
#define  uchar  unsigned char
sbit lcden=P2^7;
sbit lcdrw=P2^6;
sbit lcdrs=P2^5;
#define CCP_S0 0x10                         //P_SW1.4
#define CCP_S1 0x20                         //P_SW1.5
sbit s1=P2^0;
sbit s2=P2^1;
float zhankongbi=0x80;
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=0x02;
//                               CCON=0X00;
                CL=0x00;
                CH=0x00;
//                            PCA_PWM0=0x00;
                CCAPM0=0x42;
                CCAP0H=0xff;
                CCAP0L=0xff;
                CR=1;        
}
void pwmshe(uchar t)//這是占空比調節函數
{
                           
                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;
        P6M0 = 0x00;
    P6M1 = 0x00;
        P7M0 = 0x00;
    P7M1 = 0x00;

        ACC = P_SW1;
    ACC &= ~(CCP_S0 | CCP_S1);              //CCP_S0=0 CCP_S1=0
    P_SW1 = ACC;                            //(P1.2/ECI, P1.1/CCP0, P1.0/CCP1, P3.7/CCP2)

//  ACC = P_SW1;
//  ACC &= ~(CCP_S0 | CCP_S1);              //CCP_S0=1 CCP_S1=0
//  ACC |= CCP_S0;                          //(P3.4/ECI_2, P3.5/CCP0_2, P3.6/CCP1_2, P3.7/CCP2_2)
//  P_SW1 = ACC;

//  ACC = P_SW1;
//  ACC &= ~(CCP_S0 | CCP_S1);              //CCP_S0=0 CCP_S1=1
//  ACC |= CCP_S1;                          //(P2.4/ECI_3, P2.5/CCP0_3, P2.6/CCP1_3, P2.7/CCP2_3)
//  P_SW1 = ACC;

        init();
        pwminit();
    display1();
        while(1) //進入主程序大循環
        {
                        
                  keyscan();
                          display1();        
                  pwmshe(zhankongbi);        
        }
               
}
void keyscan()
{
                if(s1==0)
        {
                delay(60);
                if(s1==0)
                {
                          while(!s1);         
                    zhankongbi=zhankongbi-10;
        
                        
                }
        }        
                if(s2==0)
        {        
             delay(60);
                if(s2==0)
                {
                                while(!s2);        
                    zhankongbi=zhankongbi+10;
                        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(':');
        
}


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久亚洲精品 | 日韩中文一区 | 一区二区三区视频在线观看 | 久久久久久国产精品 | 欧美亚洲视频 | 国产成人99av超碰超爽 | 午夜成人在线视频 | 日韩欧美黄色 | 视频在线一区二区 | 日日射影院 | 亚洲精品一区二区三区四区高清 | 免费在线观看av网址 | 亚洲国产一区二区视频 | 久久这里只有精品首页 | 亚洲一区二区免费 | 日韩欧美在线观看视频网站 | 亚洲第一天堂无码专区 | 久草久草久草 | 日韩视频一区二区 | 久久久精品综合 | 国产一区二区在线91 | 亚洲黄色高清视频 | 黄色三级免费网站 | 免费视频一区 | 欧美色人 | 91亚洲国产成人久久精品网站 | 国产一级片免费视频 | av在线播放网站 | 亚洲一区二区三区免费视频 | 欧美日韩综合 | 日韩视频在线一区二区 | 国产精品第2页 | 久久精品av | 中文字幕一区二区三区精彩视频 | 成人精品毛片国产亚洲av十九禁 | v亚洲 | 久久国产亚洲 | 一区在线播放 | 欧美黄色性生活视频 | 国产在线观 | 天天爽夜夜骑 |