单片机自学要多长时间

学习单片机就是学习单片机的硬件结构,内部资源与外设的应用。在C语言中(极少量的汇编)掌握各种功能的初始化,启动与停止,实现各种功能函数的编写与调试。

下面咱们就来分步骤看一下对于单片机的学习过程,让大家在学习的过程中调理更加清楚明朗。

第一步:数字I/O的应用

在大多数的单片机实验中,跑马灯实验正是数字I/O的典型应用,也是跑马灯的实验被安排第一个的原因。通过将单片机的I/O引脚位进行置位或清零来点亮或关闭LED灯,虽然简单,但是这就是数字电路中的逻辑功能。数学I/O应用的实验还有按键实验,当按下某键时,某LED灯被点亮。数字I/O实验教会我们单片机的编程思想,必须首先对单片机的相应寄存器进行配置,以初始化I/O引脚,这样才能使该引脚具备数字输入与输出功能。单片机自学要多久单片机的一个内置或外置功能的使用,就是对该功能相关的寄存器进行设置,初始化,而这便是单片机编程的特点。少则4、5个函数搞定,多则十几行程序,要有耐心,别怕麻烦,所有的单片机都是这样。

第二步:RS232串口通讯

单片机都有UART接口,这个简单、古老的通讯方式可以与我们PC机的RS232接口直接连接通讯,当然,因为它们两者电平逻辑不同,必须要使用一个RS232电平转换芯片才能与PC机连接,例如Max232芯片。

UART接口的使用是非常重要的,通过这个接口,我们可以使单片机与PC机之间交换信息,“接口”概念的学习也便由此引入。使用UART接口也会学习到目前最为简单与常用的通信协议等知识。我们也可以通过PC机的串口调试软件来监视到单片机实验板的数据,想一想,这会是一个多么神奇的事情啊~~

第三步:定时器的使用单片机自学要多久

学会定时器的使用,就可以利用单片机来实现典型的时序逻辑电路。时序逻辑电路的应用是最强大、最广泛的。例如,在工业的控制中,我们让某个开关每隔1秒钟打开与关闭一次。这个方案可以通过普通的数字集成电路实现,也可以通过PLC来实现,也可以通过CPLD或FPGA来实现,但是只有单片机的实现是最简单,成本也是最经济的。定时器是单片机内部资源里最为重要的一个,更是逻辑与时间控制实现的基础。

第四步:中断

在单片机软件设计架构中,一段程序循环执行是其一个特点,也是一个弊端。每个操作指令的执行都需要一定的执行时间,如果程序没有执行到该指令,则该指令的动作就不会触发,这样就会忽略许多快速发生的事件,例如方波频率检测的上升沿。针对在单片机程序正常运行时能够对外部事件立即做出响应而设计了中断功能。当中断功能执行时,单片机优先处理中断程序,当中断处理完成后,再回到单片机的正常程序执行中。中断的机理是比较容易理解的,但是什么时候打开中断,什么时候关闭、屏蔽中断,需要如何配置才能使能中断的某些功能,中断里要执行哪些程序,这些程序的要满足哪些要求就需要花些时间去理解与实践了。中断学会后,就可以编写复杂结构功能的程序,可以一边闪着小LED灯,一边扫描着按键,一边发送着数据,也可以干着多个事情……打个比喻,中断功能可以使单片机吃着碗里的,看着锅里的。根据传说中的8020定律,如果您掌握了上面提到的这四步,那么,您已经学会了80%的内容了。

第五步:I2C、SPI通讯接口

单片机系统毕竟资源有限,而利用I2C、SPI通讯接口进行扩展外设是最常用的方法,也是非常重要的方法。这两个通讯接口都是串行通讯接口,单片机自学要多久典型的基础实验就是I2C的EEPROM实验与SPI的SD卡读写实验。

第六步:比较,捕捉,PWM功能

比较,捕捉与PWM功能可以使单片机更加适合电机控制,信号检测,实现电机速度与步长的调节。PWM波现在又是LED调光的主要手段。这里已经初步接触了数字电路里的模拟电路部分。

第七步:A/D模数采集

单片机目前基本都自带多通道A/D模数转换器,通过这些A/D转换器可以单片机获取模拟量,用于检测电压、电流等信号。学习时要分清模拟地与数字地,参考电压,采样时间,转换速率,转换误差等重要概念。这一步学会了数字电路控制模拟电路部分,而最简单的A/D模数转换器就是电压表实验。

第八步:学习USB接口、TCP/IP协议、工业总线单片机自学要多久

目前主流的通讯协议为USB协——下位机与上位机高速通讯接口;TCP/IP——万能的互联网使用的通讯协议;工业总线——诸如Modbus,CANOpen等工业控制各个模块之间通讯的协议。这些都会应用在未来的项目里,集成入单片机里的固件,并且也是当前产品开发的一个发展方向。

零基础学c语言要多久,零基础学习单片机编程需要多长时间?相关推荐

  1. 零基础学python大概要多久-零基础学python大概要多久

    Python是目前公认的全球5大流行语言之一,从云计算.大数据到人工智能,Python无处不在,同时Python被誉为神奇的"胶水语言",因为它能够轻易地操作其他程序,轻易地包装使 ...

  2. 零基础学python大概要多久-零基础学Python要多久

    随着Python就业的逐渐火热,我们会看见很多转行零基础学Python编程开发拿上万月薪的新闻,这让很多IT专业甚至非IT专业的同学蠢蠢欲动,想自己也去尝试一下.但是在转行学习Python之前,同学们 ...

  3. 零基础学python大概要多久-零基础自学python要多久?

    前言 Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取! 如果是自学,从零基础开始学习P ...

  4. 零基础学Java语言(浙江大学) 第六周 编程题

    1 单词长度(5分) 题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以'.'结束.你要输出这行文本中每个单词的长度.这里的单词与语言无关,可以包括各种符号,比如"it's& ...

  5. 零基础学Java语言---编程题

    零基础学Java语言-编程题 注意:没有上机实际测过,代码仅供参考 1.温度转换 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表示摄氏温度,F表示 ...

  6. 零基础学python需要多久-零基础学python大概要多久

    Python是目前公认的全球5大流行语言之一,从云计算.大数据到人工智能,Python无处不在,同时Python被誉为神奇的"胶水语言",因为它能够轻易地操作其他程序,轻易地包装使 ...

  7. C语言基础专业书,零基础学C语言(第3版) (康莉/李宽 等著) 中文pdf完整版[29MB]

    零基础学C语言(第3版)站在零基础学习的角度讲授C语言,使初学者能尽快掌握C语言程序设计的精髓,避免走弯路.在讲解知识点时,笔者采用由浅人深.逐级递进的学习方式进行内容设置安排.<零基础学C语言 ...

  8. 零基础学c语言 第2版 pdf下载,《零基础学C语言(第2版)》.(康莉,李宽).[PDF].@ckook.pdf...

    零基础学C语言(第2版)(康莉,李宽)高清PDF扫描版105M,本书站在零基础学习的角度,使初学者能尽快掌... 更多资源请访问稀酷客() 更多资源请访问稀酷客() 更多资源请访问稀酷客() 更多资源 ...

  9. 西安c语言培训班培训,零基础学c语言难吗 西安C语言培训班传授学习技巧

    C语言在大家心目中,有一种很难学的印象,零基础学C语言难吗?许多人觉得C语言作为入门语言觉得太难了,为什么这么多人觉得C语言难?理清思路,下定决心,一切都会变的不凡,零基础学C语言会有一定的难度,可以 ...

最新文章

  1. unity meta文件
  2. python pip 安装与使用_Python pip 安装与使用(安装、更新、删除)
  3. 怎么获取layer中的表单值_layer获取弹出frame层数据
  4. The Digits String
  5. python国二教材百度网盘资源_100G Python从入门到精通全套资料!完整免费送给大家!(0基础到就业)...
  6. 如何求解两个数的最大公约数
  7. 高中会考access数据库_Access操作会考复习.doc
  8. mysql 5.7.10免安装_免安装版mysql5.7.10-16配置教程(2)
  9. Web.config常用节点解析:
  10. css四种定位及相关知识总结(附实例、图解)
  11. 浏览器插件FeHelper的学习:gulp基础、使用gulp构建项目
  12. 安科瑞电力监控系统在安徽华光有效薄膜太阳能电池高温玻璃项目的应用
  13. Netcore磊科NW336驱动Win7下载 NW336 150M无线USB网卡驱动
  14. s l m 尺码排序 php,尺码中LS是什么码?比M码大吗?还是说比S码还小?
  15. (default-compile) on project datasource-demo: Fatal error compiling
  16. 【VUE项目实战】51、商品添加功能(一)
  17. 什么是SaaS,PaaS和IaaS? 有例子
  18. 教师使用计算机备课,计算机教师备课的几点看法
  19. 购物网站排名 - 全球电子商务或购物企业网站一览 -2010
  20. 凡亿教育发布电子工程师利器:IC封装网 V.1.0

热门文章

  1. POCO C++简介
  2. ISP - CFA - 4x4 kernel (RGB-IR often used) - RGGB, RCCG, RCCB pattern
  3. 字符斜杠是合法常量吗_C语言中,下列不合法的字符常量是
  4. STM32嵌入式FLASH擦除与写入
  5. keil代码排版问题
  6. Linux 启动 停止 重启 jar Shell脚本
  7. cpu监控(cpu监控悬浮窗)
  8. 流行的广告轮播(图片轮播)JS代码
  9. 第一讲: ADS简介和ADS设计环境
  10. Android常用设计模式之Builder模式理解