学什么单片机好?学单片机怎么样?能赚钱吗?有前途吗?
2022-02-28 · 百度认证:广州市王氏教育科技有限公司官方账号
www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=313&zdhhr-2y2r-871881885536100772
因为现在短视频的崛起,任何企业,任何工作室或者个人都需要制作剪辑大量的短视频来包装品牌,发抖音,发朋友圈,发淘宝等自媒体渠道做展示。因为每天都要更新并发布新内容,所以剪辑师根本招不够,,供需失衡就造成了剪辑师高薪水。
而且剪辑这个技术并不需要高超的电脑技术,也不需要美术音乐造诣,基本都是固定套路,要什么风格的片要什么节奏,经过三四个月的培训都可以轻松掌握。但凡有点电脑基础会用鼠标拖拽,会点击图标,会保存除非自己不想学,没有学不会的。但是要学好学精,就一定要找专业负责的培训机构了,推荐这个领域的老大:王氏教育。
在“短视频剪辑/短视频运营/视频特效”处理这块,【王氏教育】是国内的老大,每个城市都是总部直营校区。跟很多其它同类型大机构不一样的是:王氏教育每个校区都是实体面授,老师是手把手教,而且有专门的班主任从早盯到晚,爆肝式的学习模式,提升会很快,特别适合0基础的学生。王氏教育全国直营校区面授课程试听【复制后面链接在浏览器也可打开】: www.huixueba.com.cn/school/yingshi?type=2&zdhhr-2y2r-871881885536100772
大家可以先把【绘学霸】APP下载到自己手机,方便碎片时间学习——绘学霸APP下载: www.huixueba.com.cn/Scripts/download.html
2018-12-28 广告
2018-10-09
学什么单片机
单片机的型号那么多,如何选取一款合适的进行学习?就从最基础MCS-51开始,指导老师到处是,公司的工程师,同学,都可以,只要你耐心虚心的不耻上问,相信他们都会帮你解答问题。如果你跟着学习的导师,你也会有得天独厚的优势,直接跟着学就行了。其实单片机型号虽然多,但是用法大同小异,学会一种,再上手其他的就很快了。
2
如何学习单片机
学射箭,你得去拉弓,整天只摆造型肯定不行;学游泳,你得下水扑腾,整天在岸上做模仿活动不行;学开车,你得坐车上去开,坐沙发上肯定学不会。同样的道理,学单片机,整天盯着单片机看肯定不行,你也必须得亲自动手去练。
没有不下水就学会游泳成为游泳健将的,没有不到车上练就能成为赛车手的,这点大家都清楚,可为什么总是那么多人学单片机的时候,总是要抱着一本书看呢。第一,我们小学中学甚至大学的学习模式都是如此,学什么东西主要都是靠看书;第二,很多人想实践不太清楚该怎么去实践。
步骤阅读
3
单片机学习的准备工作
第一、足够的信心、恒心和耐心。
第二、教材和教程。
第三、电脑一台,吴鉴鹰单片机开发板一块。
4
单片机开发软件环境搭建
单片机开发,首要的两个软件一个是编程软件,一个是下载软件。编程软件我们用Keil uVision4的51版本,也叫做keil C51,不做过多介绍,先直接讲如何安装。
对于这个问题,我想没有人敢下定论。因为每一种单片机各有所长,都适用于其所能充分发挥作用的领域,不存在优差之分。学单片机应该先学51单片机,学会了51单片机再去学其他单片机,这是学习单片机过来人的同感,也是公认的学习方法。为什么要先学51单片机?因为51单片发展最早,应用最广泛,特别是I/O口的操作非常简单,而且相关的学习资料最多、教材最成熟,学习起来得心应手,入门很快。有了这个基础再去学习其他单片机那就是小菜一碟了,只是对着芯片数据手册设置寄存器罢了,快则一两个星期,多则一个月就能掌握另一种单片机了。如果一开始就选择非51单片机学习,那将是路漫漫其修远兮,你将艰难而求索!
那学51单片机用C语言还是汇编语言好?当然是C语言了。
易提网因为:1.C语言是高级语言,代码移植性好,易于维护;2.编程灵活,随心所欲;3.语言层次分明,思路清晰,可读性强。4. C语言是目前最流行的单片机编程语言,例程代码多,便于参考,单片机技术发展之快,应用之广,学习群体日益庞大,这和keil C51开发环境的问世是分不开的。5.C语言是大众编程语言,是其他编程语言的基础,学会了C语言,对于进一步深造的选择就很自由了。汇编语言是早期单片机学习使用的语言,优点是执行指令比C语言稍快外,其他方面笔者不敢恭维。
学会51单片机以后,就可以根据你从事的工作或者你的目标选择以下一种或多种继续深造。
1.AVR单片机-----速度快,一个时钟周期执行一条指令,而普通的51单片机需要12个时钟周期执行一条指令。当然,Atmel公司出品的AT89LP系列单片机也是一个时钟执行一条指令,但目前还未普及。AVR单片机比51单片机多了USB通信模块、SPI通信模块、I2C通信模块、PWM模块、AD转换模块等,但在C语言编程方面对I/O的操作比51麻烦得多。
2.PIC单片机------品种齐全,应用领域广泛,片内资源也很丰富,也是很受欢迎的单片机。比51单片机多SPI通信模块、I2C通信模块、PWM模块、AD转换模块等片内资源。4个时钟周期执行一条指令,速度看似比51单片机快,事实上并非如此,PIC单片机最高时钟频率一般为8MHZ,而51单片机最高时钟频率可达到33MHZ 。速度上PIC单片机并不占优势,而抗干扰能力则也比51单片机略强。C语言编程方面对I/O的操作要比51麻烦。
3.MSP430单片机-----16位单片机,速度快,一个时钟周期执行一条指令,超低电压低功耗,适合用于电池供电设备。
4.Motorola单片机-----抗干扰能力极强,适用于恶劣环境,这是以降低速度为代价的。
5.DSP技术------用于音频、视频、通信等快速数字处理领域,速度超快,编程算法也比较复杂。
6.FPGA技术------难度和单片机差不多,应用领域逐渐广泛。
7.嵌入式系统-----应用于非PC机控制以外的复杂的智能控制系统,以及智能通信设备、掌上电脑、学习设备、娱乐设备等,应用领域也很广泛。学习难度也较大,需要有操作系统、硬件、驱动原理等方面的知识。山寨版的手机、掌上电脑等满街泛滥都是嵌入式系统发展惹的祸。
8.其他单片机,如德州仪器单片机,合泰单片机,NEC单片机等。
要说学哪一种单片机最有前途,笔者也不敢妄加断言。不管选择那一种,前途光明与否都由你的造诣深度来决定,精则兴,不精则废。
2、工具用熟了以后,我们该学习什么了了?对语法熟练以后就应该重点学习程序设计的方法,请大家分清两个概念,C语言只是工具,会C语言并代表你会设计程序,程序设计能力可分为,首先是能将复杂的功能要求拆分为若干个细小功能,用C语言描述实现,再将这些小功能用你的C语言工具串起来组成我们所需要的复杂功能。整个过程下来C语言都只是实现你想法的工具。看到这里你是否还敢用“玩”、“精通”来形容单片机吗,当真正进入单片机殿堂的时候你会感觉这是一个浩瀚无边的宇宙,你会越发感觉自己的渺小,只有更好,没有最好。
总结几点个人的学习的经验:
C语言与程序设计的学习是相辅相成的,他们共同进步,就如同你的两只脚,谁都不能超过谁很远。学习单片机之前请先学习C语言,请不要相信什么零基础也能学好,至少20天,要把基础知识掌握,在进入单片机学习,视频网上一大把,学会操作基础模块,在这个阶段你可以在网上寻找知识学习,将你开发板的模块程序都练一遍。
当你开发板学完了, 这个时候该这么办了,这就是我今天重点要的。
如果你就是浅尝辄止,那么你可以说自己入门了,如果你想有所造诣那么你还远着了,对于走过了这个阶段以后,我对我的学生的要求就是“背程序”,就如同别人学习英语背文章增强语感。我说所的“背程序”,并非死记硬背,属于一种重复强化训练,围绕几个主题,①、按键读取;②、数码管显示(重复计算显示代码) ;③、LCD1602液晶显示;④、AT24C02读写;⑤、DS1302读写;⑥、DS18B20读写。每个项目从建工程到下载成功在20分钟以内,最好练到在10分钟左右。对于代码需要精简而又有内涵,当你做好以后能增强你的语感及常规程序设计能力。最后以同样的方式训练一个综合项目——多功能数字钟,这个项目可能需要一个上午才能做好。这个过程的目的很简单,增强C语言工具的使用能力,在单片机编程这块,对于基础模块的程序设计能力,完成从感觉自己什么都懂,可要写点什么东西时又不知如何下手到实现一些简单功能程序能迅速写出来的转变。这个方式枯燥乏味但是效果还可以,可以借鉴借鉴。
完成了上述工作,紧接着多练习综合项目,这个时候这能靠自己,学程序没有别的,只能多练,多想。用你的开发板编写:计算器、电子日历、电子密码等各类能把你开发板上的资源综合起来用的程序。假想就是在做项目,要对自己提出苛刻的功能要求,切记不多说差不多了,要做到完美。
再往下走,完美要回过头学习单片机原理,去学习汇编,学习单片机的运行原理对你编程有极大的帮助,再把你的C语言书拿出来,细细的看前几章节,是时候该去看看指针了。在程序中简单的使用指针。 就这样往下练吧,估计至少得年吧时间。
再往下走,你应该去研究指针了,将指针应用到你的程序当中,它可以给你解决以往你所遇到的很棘手的问题。
讲到指针,该想到结构体了,我们应该去学习链表了,我们要将简单数据结构应用到单片机了。这个期间你如果能去学习在操作系统上的编程是很有必要的。如在VC上做简单功能界面,Linux系统编程。这可以让你看看别人优秀代码,从中吸取经验,就算看不到源代码,也可以从别人的函数所具备的功能上思考的自己的函数设计,改善自己的函数,我的很多函数功能设计方式就是这么来的。
差不多又是一年时间过去了。真心希望你坚持下来了,到这个时候你基本上已经能独立解决很多问题了。
这个时候我们该去学习什么了了,该去学习“易经经”——C语言描述数据结构与算法分析。在程序的世界里,它就是最高的内功心法,能在里面学的一招半式,就可以行走江湖了。这本书目前我也只是研究过几个章节,在这里面你会看到操作系统的具体实现,文件系统的设计思想等等,各类大型程序设计设计思想。
先学51单片机,可以看看学习视频,对于每个人来说,多学习一种技能 可以拓宽 就业渠道,
单片机学习可以先学习一些仿真示例,如
#include<reg51.h>
#define uchar unsigned char
uchar temp;
int key1,key,disbuf;// 此表为 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e f
unsigned char code LED7Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
unsigned char ledx[8];
uchar t,j,i;
bit s0,s1;
void scan() //要是按键了,扫描键盘编码值
{
P1=0xF0;
for(j=0;j<250;j++);
temp=P1;
switch(temp)
{
case 0xe0: key1=0; //
break;
case 0xd0: key1=1; //
break;
case 0xb0: key1=2; //
break;
case 0x70: key1=3; //
break;
}
P1=0x0f;
for(j=0;j<250;j++)
temp=P1;
switch(temp)
{
case 0x0E: key=key1+0;
break;
case 0x0D: key=key1+4;
break;
case 0x0B: key=key1+8;
break;
case 0x07: key=key1+12;
break;
default : key=-1;
}
if((key1+1)&&(key+1)) disbuf=key;
}
void ejjc() //判断是否按键
{
P1=0xF0;
if(P1!=0xF0) { scan();s0=1;}
else { s0=0; s1=1;}
}
void main()
{
TMOD=0x51; // T1 外部计数
TH0=(65535-2000)/256;
TL0=(65535-2000)%256;
EA=1;
ET0=1; //开定时器0中断
ET1=1; //开定时器1中断
TR0=1; //启动定时器0
TR1=1; //启动定时器1
while(1)
{
ejjc();
if(s0==1 && s1==1)
{
s0=0;s1=0;
for(i=0;i<8;i++)
{ ledx[i]=ledx[i+1]; ledx[8]=disbuf; }
}
}
}
void timer0() interrupt 1
{
TH0=(65535-2000)/256;
TL0=(65535-2000)%256;
P0=0xff;
switch(t)
{
case 0: P2=LED7Code[ledx[0]]; P0=0xfe;break;
case 1: P2=LED7Code[ledx[1]]; P0=0xfd;break;
case 2: P2=LED7Code[ledx[2]]; P0=0xfb;break;
case 3: P2=LED7Code[ledx[3]]; P0=0xf7;break;
case 4: P2=LED7Code[ledx[4]]; P0=0xef;break;
case 5: P2=LED7Code[ledx[5]]; P0=0xdf;break;
case 6: P2=LED7Code[ledx[6]]; P0=0xbf;break;
case 7: P2=LED7Code[ledx[7]]; P0=0x7f;break;
}
t++;
if(t==8) t=0;
}