我当初是自学单片机的,也用同样的方法带出过月入15K以上的徒弟。

我的方法不能说是最好的,但绝对是靠谱的,毕竟都是曾经自己趟过的路。

如果你还在纠结你的学历,纠结英语数学不好能不能学会的问题。

今天我就给你吃的定心丸,别的行业不敢说,单片机:稳!

学历,以及数学英语是决定你的天花板有多高,而不是门槛。

Ok,下面干货开始

一、如何学习单片机?

看了很多帖子,单片机要学的东西很多,既要懂硬件又要会编程之类的话。

把很多人都吓尿在门外,其实这句话只对了一半。

单片机确实是要懂硬件和编程,但很多人忽略了学习的深度的问题

我拿当初自学java来举例吧,光是java se就学了我1个多月,学完以后才发现只是入了门,接下来还要学习java ee或者me,还要学数据库等等。

而对于单片机来说,同样是学编程,单片机主要是学C语言,学完以后直接就可以参与项目开发了。

那单片机+C语言只要你的学习路径正确,1个月之内完全可以搞定。

最佳学习路径和入门到高级教程可以参考我下面这篇文章,每个阶段学到什么程度都讲得很清楚

单片机入门到高级开挂学习路径(附教程+工具)

那再来说下硬件,同样也是学习深度的问题,做单片机软件开发其实只要看得懂电路原理就可以了。

工作中一般会有硬件工程师设计好电路,而大多数电路都是模块化的,比如说电源都是芯片方案,电路图原厂都会给你,蓝牙通讯也是模块,直接和串口通讯,语音播放也是模块,直接通过单个IO口来完成指定语音播放。

如果一开始你就去纠结什么放大电路、滤波电路、运算电路,信号转换等等,注定你很难学的会单片机。

因为你学习方向都偏了。

不是说这些不重要,而是看阶段,初学本来就没经验,所以理解起来也难。

当你有足够的经验了,再回过头来学习这些知识,或许就简单多了,理解也更深刻。

以上就是本站»pic单片机c语言入门基础知识(pic单片机与51的区别)的相关内容了,更多精彩请关注作者:万年知识

声明:本文由本站【创业者资源平台】作者编辑发布,更多技术关注万年技术!

pic系列单片机用c语言编程时,让他执行A/D转换的指令是什么?

在C语言里没有指令,只有语句,用C语言执行A/D转换如下:
//A/D转换初始化子程序
void
adinitial()
{
ADCON0=0x41;
//选择A/D通道为RA0,且打开A/D转换器
//在工作状态,使A/D转换时钟为8Tosc
ADCON1=0X8E;
//转换结果右移,及ADRESH寄存器的高6位为"0"
//把RA0口设置为模拟量输入方式
ADIE=1;
//A/D转换中断允许
PEIE=1;
//外围中断允许
TRISA0=1;
//设置RA0为输入方式
}
//读ADRESH寄存器就能得到AD转换值了,
汇编的如下:
ADINT
MOVLW
0X51
MOVWF
ADCON0
;选择A/D转换通道为RA2,且打开A/D在工
;作状态,并使A/D转换时钟为8tosc
BANKSEL
ADCON1
;选BANK1体
MOVLW
0X80
MOVWF
ADCON1
;转换结果右移,即ADRESH寄存器的高6位;为“0”,且把RA2口设置成模拟量输入口
CLRF
PIE1
;禁止其它中断
BSF
PIE1,ADIE
;A/D转化中断允许
BSF
TRISA,2
;设置RA2口为输入方式
BSF
INTCON,PEIE
;外围中断允许
BSF
INTCON,GIE
;总中断允许
BCF
STATUS,RP0
;返回BANK0
RETURN

PIC单片机多中断函数用C语言怎么写?51的可以intterrupt+中断号,PIC该怎么写呢?

#pragma vector= 0x04

//Interrupt Service Routine
__interrupt void series_int(void)
{
if (中断触发事件)
{
RCIE=0;

//在这里写中断后的function

RCIE=1;
}

return;
}

一定要放在其他程序的前面,其他程序该怎么写还怎么写

PIC单片机如需要使用外部晶振,则用C语言在程序中该如何配置?

这个你可以参考北航的《PIC16系列单片机C程序设计与PROTEUS仿真》一书。
这里简单说一下:
__COHFIG(0x3F39);
或:
__CONFIG (XT & WDTDIS & PWRTEN & BOREN & WDTDIS);
这二种都可以。具体见参考文献。