❶ 誰有PIC單片機c語言開發入門的PDF給小弟發個,想學習下,希望一起交流下,我的郵箱:[email protected]
我也在找PIC單片機C語言開發入門的pdf,誰有的話也給我發一份 [email protected]
❷ pic單片機c語言程序設計實例精粹 電子版本
我有很多。。你給個郵箱。。。
❸ PIC單片機C語言編程的高手來幫幫忙啊!
你好,對於你這個問題其實也不是太難,不要在乎片子有多復雜,也不要在乎問題有多難,關鍵是勇於挑戰他,你弄永遠不行,程序是調試出來的,別人給你寫的你不一定可以用得上。AD985X系列的DDS晶元大同小異,基本也就是協議問題。仔細看一下,手冊上的介紹對你很有幫助,還有就是關於你選擇的PIC的那款片子,也很簡單,給你一個相關的程序參考一下,真的是大同小異無非是細節問題。這個沒有人能幫到你,靠自己是最好的也可以學習很多東西。還是那句話程序師調試出來的
如果在調試過程中有什麼問題請Hi我,常在線
AD9851的驅動程序
//頭文件
#include "SPCE061A.h"
//變數說明
unsigned long int Freq_Ctrl_Word = 0x051eb851; //頻率控制字 先傳低位再傳高位
unsigned int Phase_Ctrl_Word = 0x0000; //相位控制字 先傳低位再傳高位
unsigned int Order_Ctrl_Word = 0x0000;//b32:0 6倍頻關閉 b33b34:00 電源工作模式
//定義AD9851與SPCE061A的介面
#define M_DATA 0x0001
#define M_UD 0x0002
#define M_CLK 0x0004
#define Set_IOA_Bit(x) (*P_IOA_Data = *P_IOA_Buffer | x) //置高
#define Clear_IOA_Bit(x) (*P_IOA_Data = *P_IOA_Buffer & ~x) //置低
//====================================================================
// ----Function: void Init_AD9851(void)
// -Description: 初始化與AD9851連接的IO口
// --Parameters: 無
// ------Return: 無
// -------Notes: 不影響其他IO口
//====================================================================
void Init_AD9851(void)
{
*P_IOA_Dir |= (M_DATA + M_UD + M_CLK);
*P_IOA_Attrib |= (M_DATA + M_UD + M_CLK);
*P_IOA_Data &= ~(M_DATA + M_UD + M_CLK);
}
//====================================================================
// ----Function: void Write_AD9851(void)
// -Description: 向AD9851寫入頻率控制字,命令控制字和相位控制字
// --Parameters: 無
// ------Return: 無
// -------Notes: 無
//====================================================================
void Write_AD9851(void)
{
unsigned long int mask = 0x0001;
unsigned int i;
Clear_IOA_Bit(M_UD); //M_UD置低
//送32位頻率控制字
for(i = 0;i < 32;i++)
{
Clear_IOA_Bit(M_CLK); //M_CLK置低
if(Freq_Ctrl_Word & mask)
{
Set_IOA_Bit(M_DATA);
}
else
{
Clear_IOA_Bit(M_DATA);
}
Set_IOA_Bit(M_CLK);
mask = mask << 1;
}
//送3位的命令控制字
mask = 0x0001;
for(i = 0;i < 3;i++)
{
Clear_IOA_Bit(M_CLK); //M_CLK置低
if(Order_Ctrl_Word & mask)
{
Set_IOA_Bit(M_DATA);
}
else
{
Clear_IOA_Bit(M_DATA);
}
Set_IOA_Bit(M_CLK);
mask = mask << 1;
}
//送5位相位控制字
mask = 0x0001;
for(i = 0;i < 5;i++)
{
Clear_IOA_Bit(M_CLK); //M_CLK置低
if(Phase_Ctrl_Word & mask)
{
Set_IOA_Bit(M_DATA);
}
else
{
Clear_IOA_Bit(M_DATA);
}
Set_IOA_Bit(M_CLK);
mask = mask << 1;
}
Set_IOA_Bit(M_UD); //M_UD置高 ,產生上升沿 ,頻率更新使能,輸出有效
}
最後在說一下個人的理解,也就是DDS與MCU之間的介面問題,個人認為有點像SPI,只不過SPI的數據口是串列的,而在這這里是分時並行。主要問題就是協議,唯一的辦法就是求助於數據手冊,我剛出去查了一下,好像全是E文的,建議前期工作就是對照Google翻譯這個數據手冊,很有必要。
學習和創作的過程也很有趣,雖然很艱辛
❹ 求單片機C語言程序設計實訓100例基於PIC+Proteus模擬pdf版 是書內容不是光碟程序
下載這個
http://wenku..com/view/47a19811cc7931b765ce15dd.html
❺ 活學活用PIC單片機C語言編程怎麼樣,好不好
挺好的。
初學者周立功的最適合!
❻ 求《單片機C語言程序設計實訓100例:基於PIC+Proteus》pdf文件下載地址或發給我也行作者彭偉 電子工業出版
下載地址
❼ 請高手推薦下學習PIC單片機的教材,C語言的,謝謝!
北航的《PIC16系列單片機C程序設計與PROTEUS模擬》,除了C語言外,還有完整的PROTEUS模擬。
❽ PIC單片機 c語言編程
以DIP-40的PIC16F877A來舉例 燈閃動頻率為1秒
void Delay_Ms(unsigned char n);
void main(void)
{
while(1)
{
RA0 = 1;//2腳輸出
//11腳是供電
RD2 = 1;//21腳輸出
trisA = 0x04; //4腳RA2作為輸入
if(RA2 == 0) //如果4腳為低電平
{
//執行代碼
}
else //如果4腳為高電平
{
//執行代碼
}
Delay_Ms(1000); //延時1秒
RA0 = 0;//2腳輸出
//11腳是供電
RD2 = 0;//21腳輸出
Delay_Ms(1000); //延時1秒
}
}
void Delay_Ms(unsigned char n) //延時程序
{
unsigned int i;
unsigned char j;
for(j=0;j<n;j++)
{
for(i=0;i<Fosc/44000;i++)
{
}
}
}
❾ PIC單片機用C語言編程的好點的教材有沒有。
張明峰的《PIC單片機入門與實戰》 北航出版社
我也賣PIC的開發板 160左右 [email protected]