Jerry @DOA&INPAC, SJTU

Working out everything from the first principles.

导航

AVR单片机教程——序言

我一直觉得现在的网络环境对电子技术的学习有一点问题,但始终无法确切地指出,更何况网络上相关资源已经那么丰富。

但我觉得是问题的,无论它到底是不是问题,对我来说总归是一个问题。我学习也不算深入,很多东西都没机会、没时间去接触,站在我现在的立场,我之前走了许多弯路,这就是我说它有问题的原因。

单片机是应该自学的,因为它涉及到并应用于方方面面,广泛程度使课堂只能占学习的一小部分。单片机也是适合自学的,只有在不断的尝试与实践中才能获得经验。但是网络环境似乎对自学并不友好。

单片机有两大阵营,以Arduino为代表的8/16位阵营和以STM32位代表的32位阵营。除了这两个代表,就只剩下51之类质量糟糕的(特指某国内厂家)、PIC和MSP430之类中文资料较少的和DSP之类难度高、不适合初学者的了。

Arduino虽然有丰富的教程、众多第三方模块和库,但质量、深度都参差不齐,不成系统。更重要的是,Arduino强大的封装让用户离开它以后立即不知所措,而8位机终究是有很大局限的。

学STM32也要买开发板,淘宝上某些店虽然号称资料全部免费,但实际上价格都附加在他们的硬件产品中了,要完成书上的实验,至少得花个千把块,在选购的时候就让很多人望而却步。

51能够存活到现在的原因也不过如此吧。然而51局限更大,而且质量堪忧。

所以我要写一份教程,给初学者铺一条路,在少走弯路的同时,也能学到我走弯路时获得的那些经验。跟着这份教程,你不能学到所有东西,但是我保证你只要跟着这份教程,不会出现无法解决的问题。

这份教程以AVR单片机为中心展开,使用EasyElectronics开发板,后续应该还需要别的开发板或模块,我还没有想好。

这份教程跨度很大:内容跨度很大,从电阻和LED到各类传感器,从寄存器到库函数,从过程式到基于事件,涵盖单片机相关的大部分知识;相应地,时间跨度也很长,而且我没有安排计划。

 

第一期(已完结):

如何使用本教程

EasyElectronics开发板介绍

EasyElectronics Library v1.3手册

Atmel Studio 7.0开发环境配置

烧写hex文件

点亮第一个LED

闪烁LED

流水灯

随机点亮LED

按键状态

按键动作

拨动开关

数字输入

数字输出

数字IO寄存器

数码管

旋转编码器

串口发送

串口接收

蜂鸣器

PWM调光

ADC

LCD1602

小结

 

第二期(已完结):

EasyElectronics Library v2.0手册

定时器中断

UART进阶

矩阵键盘

DAC

示波器

走向高层

 

第三期(规划中):

导语

语言基础:高级C·基础C++

查漏补缺:SPI·I²C·定时器输入

结构:顺序模型·事件·库

工具:算法·计算·数据

实例

posted on 2019-08-06 20:25  Jerry_SJTU  阅读(5511)  评论(0编辑  收藏  举报