亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
LED調光 51單片機程序如何修改為適配PIC單片機?
[打印本頁]
作者:
seataozhang
時間:
2020-3-5 17:20
標題:
LED調光 51單片機程序如何修改為適配PIC單片機?
初學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)
2020-3-5 17:18 上傳
點擊文件名下載附件
作者:
mengzhixinheng
時間:
2020-3-5 20:40
初始化部分,各種單片機都是不一樣的,這個你必須自己學習。移植的部分只能是c通用程序
作者:
lovexulu
時間:
2020-3-5 23:08
軟PWM調光,自己碼一個得了。
作者:
Y_G_G
時間:
2020-3-6 00:20
我不用看就知道了:重新寫一個
C8051和PICC在很多地方是不相同的,特別是標準C以外的函數,在定時器,PWM,ADC,幾乎是所有的外設功能,包括IO端口的使用,都是不一樣的
PIC8位機的IO和8051的是不一樣的,它要先設定這個IO是數據輸入還是輸出,設定為輸入了,就沒有輸出了,相反,設定為輸出了就沒有數據輸入了,是讀取不到這個端口的電平了
像IIC這樣的,一個IO要讀寫的話,你就得不斷去更改這個端口為輸入還是輸出........
而且,PIC的堆棧是硬件堆棧,不能遞歸使用,我不會C,不知道這功能常用與否,反正書上是這么說的
所以,你基本就是重新寫一個
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1