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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

LED調光 51單片機程序如何修改為適配PIC單片機?

[復制鏈接]
跳轉到指定樓層
樓主
ID:468294 發表于 2020-3-5 17:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
初學PIC單片機,對定時器的寄存器不熟悉,想把下面這個51單片機改為PIC(比如16F877A)單片機程序,各位高手給指點下,非常感謝!
代碼如下:



//程序名:單片機實驗儀配套程序--pwm控制led亮度
//電路簡介:1、P0接J1的led共陽端;
//          2、P2.6接J14單鍵鍵盤的6,作為增加亮度按鈕
//          3、P2.7接J14單鍵鍵盤的7,作為減小亮度按鈕
//saxmcu  20080518  

#include <reg51.h>

#define out P0
sbit INC=P2^6;     //SW1
sbit DEC=P2^7;     //sw2
//-----------------------------------------------------------------
void Init(void)
{        
        //定時器設置
        TMOD=0x22;  //T1=T0=定時方式2自動重裝
        TH1=0;     //脈寬寬度
        TL1=80;
        TH0=55;      //頻率調節=0頻率最低
        TL0=0;   
      TR0=1;        //先啟動T0定時
        ET1=1;
        ET0=1;   
        EA=1;       //總中斷開
}
//定時器0中斷
//頻率********************************************
void Timer0(void) interrupt 1
{
        out=0xff;      //關led
        TL0=0;
        TR1=1;         //打開脈寬定時
}
//定時器1中斷
//脈寬********************************************
void Timer1(void) interrupt 3
{
        out=~out;      //開led
        TR1=0;         //脈寬調節結束
}   
//消抖延時
delay()
{
  unsigned int i;
  for(i=0;i<2000;i++);
}
//**********************************
main()
{
    Init();
    while(1)
     {
       INC=1;DEC=1;
       if (INC==0)
          {delay();
           if (INC==0)  
               {
                if (TH1<200) TH1++;
               }
          }
       else if (DEC==0)
          {delay();
           if (DEC==0)  
               {
                if (TH1>0) TH1--;
               }
          }
     }

}

全部資料51hei下載地址:
按鍵PWM控制led亮度-c (2).rar (15.43 KB, 下載次數: 10)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:89515 發表于 2020-3-5 20:40 來自手機 | 只看該作者
初始化部分,各種單片機都是不一樣的,這個你必須自己學習。移植的部分只能是c通用程序
回復

使用道具 舉報

板凳
ID:687694 發表于 2020-3-5 23:08 | 只看該作者
軟PWM調光,自己碼一個得了。
回復

使用道具 舉報

地板
ID:401564 發表于 2020-3-6 00:20 | 只看該作者
我不用看就知道了:重新寫一個
C8051和PICC在很多地方是不相同的,特別是標準C以外的函數,在定時器,PWM,ADC,幾乎是所有的外設功能,包括IO端口的使用,都是不一樣的
PIC8位機的IO和8051的是不一樣的,它要先設定這個IO是數據輸入還是輸出,設定為輸入了,就沒有輸出了,相反,設定為輸出了就沒有數據輸入了,是讀取不到這個端口的電平了
像IIC這樣的,一個IO要讀寫的話,你就得不斷去更改這個端口為輸入還是輸出........
而且,PIC的堆棧是硬件堆棧,不能遞歸使用,我不會C,不知道這功能常用與否,反正書上是這么說的
所以,你基本就是重新寫一個
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品久久久 | 美日韩精品 | 久久久久久女 | 天天久 | 久久久久99 | 99久久精品免费看国产免费软件 | av色在线| 亚洲在线一区二区 | 亚洲性人人天天夜夜摸 | 91网站在线看 | 成人在线小视频 | 天堂va在线观看 | 亚洲精久久久 | 日韩欧美国产一区二区三区 | 亚洲成人动漫在线观看 | 日韩三区 | 久久中文字幕一区 | 啪视频在线 | 色婷婷一区 | 狠狠干狠狠插 | 精品一区二区电影 | 日本aa毛片a级毛片免费观看 | 精品二区 | 婷婷开心激情综合五月天 | 日韩在线 | 欧美黑人一区 | 免费久久久 | 国产1区2区在线观看 | 国产伊人精品 | www.788.com色淫免费 | 天堂在线中文 | 国产一区二区三区四区 | 伊人一区| www.夜夜骑 | 亚洲一区视频在线 | 综合久久一区 | 国产精品视频网 | 久久高清 | 国产一区二区三区久久久久久久久 | 精品久久久久一区 | 日韩在线免费视频 |