專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
深圳市英銳恩科技有限公司:臺(tái)灣麥肯單片機(jī)(Micon MDT單片機(jī))亞太地區(qū)A級(jí)代理商
QLdsPIC3]流水燈[C30+dsPIC30F6014A]
//實(shí)驗(yàn)?zāi)康模和ㄟ^LED流水燈實(shí)驗(yàn),熟悉dsPIC30F6014A的簡單編程
//軟件思路:
// 1、PORTD口的低8位的流水燈實(shí)驗(yàn)
// 2、用TMR1的定時(shí)做流水燈的延時(shí)時(shí)間
// 3、改變FCY的值可以改變流水燈的速度
//硬件規(guī)劃:撥碼開關(guān)S1全置ON,其他撥碼開關(guān)OFF
#include //dsPIC30F6014標(biāo)準(zhǔn)頭文件
_FOSC(CSW_FSCM_OFF & XT_PLL4); //4倍頻晶振,F(xiàn)ailsafe 時(shí)鐘關(guān)閉
_FWDT(WDT_OFF); //關(guān)閉看門狗定時(shí)器
_FBORPOR(PBOR_OFF & MCLR_EN); //掉電復(fù)位禁止,MCLR復(fù)位使能。
_FGS(CODE_PROT_OFF); //代碼保護(hù)禁止
#define Fcy 5000000 //流水燈延時(shí)時(shí)間
int main(void) //主函數(shù)
{
/*設(shè)置LED控制寄存器和定時(shí)器*/
//初始化LED端口和按鍵開關(guān)端口
LATD = 0x0000; //關(guān)閉所有LED
TRISD = 0xFF00; //設(shè)定LED引腳為輸出
T1CON = 0; //關(guān)閉定時(shí)器1
TMR1 = 0; //啟動(dòng)定時(shí)器1的計(jì)數(shù)寄存器為0
PR1 = (Fcy/256)/2; //設(shè)定延時(shí)時(shí)間
T1CON = 0x8030; //配置定時(shí)器1 (定時(shí)器開, 在空閑模式定時(shí)器繼續(xù)工作,
//控時(shí)間累加禁止, 預(yù)分頻比是1:256, 內(nèi)部時(shí)鐘)
unsigned char i; //定義一循環(huán)變量
while (1)
{
LATD=1; //先點(diǎn)亮PORTD0口LED
for(i=0;i<8;i++) //循環(huán)8次,依次點(diǎn)亮所有LED
{
while(!IFS0bits.T1IF); //等待延時(shí)時(shí)間到
LATD=LATD<<1; //緩沖器左移一位,以便點(diǎn)亮下一位LED
IFS0bits.T1IF=0; //定時(shí)器中斷標(biāo)志位清0
}
}
}