单片机应用问答14,pic单片机c语言

【单片机应用问答14,pic单片机c语言】C语言学到什么程度才能学单片机?

单片机应用问答14,pic单片机c语言


作为一个单片机爱好者 , 由于教学工作需要我现在仍然在学习接触单片机 。现在我来回答这个问题 , 单片机作为可编程控制芯片需要软件支撑才能进行控制 , 进行软件编程所用的编程语言也不局限于C语言一种 , 我还清楚的记得我最初学习单片机技术所使用的编程语言是汇编语言 , 因为我最早接触单片机是在大一的时候 , 那时学的有一门专业课叫计算机原理 , 里面所用的是计算机汇编语言 , 从那时起我第一次接触单片机 , 然后买了单片机仿真板 , 真正意义上开始学习了单片机 。
到了大二又学习谭浩强编写的C语言程序设计 , 才接触到C语言 。在学习过程中我惊喜发现发现用C语言编写单片机程序比用汇编语言简洁许多 ,  移植性也很好 。而汇编语言比较枯涩难懂 , 特别是编写复杂一点的程序 , 其完成的周期远远比C语言所用时间长!从此以后我一般都用C语言编写单片机程序 。从我的学习单片机经历中可以看出 , 学习单片机不需要一定先学习C语言 , 用汇编语言编程虽然比C语言编程麻烦 , 但先学汇编语言对你学单片机内部结构和各个寄存器的配置理解的更深刻 。
由此可知单片机学习与C语言之间没有必然的联系 。随着现在单片机发展 , 涌现出了很多新型号单片机 , 例如PIC单片机用的是精简指令、AVR单片机、Arduino、树莓派等 , 为我们学习单片机技术提供了更多的选择空间 。学完C语言之后我才明白 , 不学汇编语言直接学习C语言也可以学习单片机 , 当你学习了一些基本的C语言赋值语句和基本语句后(例如switch、for、if、else)就完全可以学习单片机了!并不需要到达一定程度后才能学习 。
况且单片机C语言所涉及的并不难 , 对于指针、数组等比较有些“难度”的知识点 , 当用到时在学也不迟 。先上来就学习如何用单片机控制发光二极管闪亮、8个LED流水灯单循环 , 反复循环、按键控制 , 数码管、蜂鸣器、液晶LCD1602显示等常用单片机外设 , 这些C语言知识基本够用 。如果再深入学习 , 可以边学边练习编程 , 我认为效果会更好!以上是我对学习单片机的看法!希望对学习单片机的朋友有借鉴作用 , 如果认为我说的你能有收获 , 请帮忙点个赞! 。
ATmega16单片机和PIC16F877单片机哪个更常用?选择哪个入门更好?
单片机应用问答14,pic单片机c语言


题主最好说一下是什么基础下开始学 , 还有目的是什么 , 例如你是上学还是要生产应用 。啥也不说只能综合推荐AVR的ATmaga16啦 。题主已经排除了51单片机 , 估计不是相关专业的 , 否则老师会带你入51坑 。学生自己学的话 , 建议ATmega这样的AVR结构单片机 , 要马上生产应用的话建议PIC单片机 。其实难度都差不了太多 。
归根结底入门就是学I/O学C语言嘛 。(什么?你要学汇编啊 , 对不起走错门了)再进阶学延迟啊 , 中断啊 , 接口啊 , AD转换啊 , PWM啊……所以入手AVR可以以较低的成本学的差不多 。AVR支持FLASH、EEPROM蓄存器反复烧写、支持在ISP在线编程 。片内集成多好神奇的振荡器看门狗和延迟功能 。每个I/O口还能输出较高的电平 , 加上丰富的资源 , 例如AD模数器、DA数模器 , 丰富的中断源、SPI、USART、TWI通信口、PWM巴拉巴拉……如果就是要极为粗暴的迅速入门单片机 , 还可以选择以AVR为基础的arduino平台 , 用的也是ATmaga系列 。

推荐阅读