天天看点

用c语言给单片机编写程序实现多路数据的采集_单片机的学习经验(附学习总结)...

单片机作为一种简单的控制器在生活中有着广泛的应用,当然在工业型单片机在生产中也扮演着很重要的角色,所以对于一个学习自动化的工控人来说,学习单片机是非常有必要的。

用c语言给单片机编写程序实现多路数据的采集_单片机的学习经验(附学习总结)...

  作为一名电子技术从业人员,你学过单片机吗?你或运用单片机吗?我想你一定学过,但不一定会运用。因为学习单片机比学习其他学科需要付出更多的努力和代价,不仅要学习理论知识还要练习实际操作,而且主要是在实际操作中才能真正学到单片机技术。此外,学习单片机还需要投入一定的学习成本,随着你学习知识的扩展成本还会增加。

  单片机作为一种简单的控制器在生活中有着广泛的应用,当然在工业型单片机在生产中也扮演着很重要的角色,所以对于一个学习自动化的工控人来说,学习单片机是非常有必要的。

  单片机的学习经验

  1、学习电子技术基础知识,如电路、模拟电路和数字电路。这是学习电类相关专业的基础。

  2、学习计算机硬件知识,如计算机的简单组成原理(只需要了解),当然要知道CPU是什么?总线是什么?一些相关概念。

  3、程序编写的相关知识,主要是汇编语言和C语言。了解结构化语言的程序设计方法,也就是三种结构(顺序结构、分支结构(或称选择结构)、循环结构),或一些常用的算法。

4、可以买一两块廉价的单片机开发板,用廉价的方法(可以用热转印法做PCB板)仿制一些更简单的实验功能板,开始做板时千万不做得太复杂,我带过的很多学生中,有少部分人总是觉得太简单了,做个复杂的,结果做了个把星期,没有成功,最后只有放弃。还有一点很重要,就是用PROTEUS仿真时,最好只做单一功能的仿真,否则可能与实际在硬件上做的结果不一样。

  学习单片机的步骤

  第一步:基础理论知识学习

  单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来。相反,基础不好,这个看不懂那个也弄不明白,越学问题越多,越学越没有信心。如果你觉得单片机很难,那就应该先放下单片机教材,去重温数字电路,搞清楚触发器、寄存器、门电路、COMS电路、时序逻辑和时序图、进制转换等理论知识。理解了这些知识之后再去看看单片机的结构和原理,我想你会大彻大悟,信心倍增。

  C语言知识并不难,没有任何编程基础的人都可以学,在我看来,初中生、高中生、中专生、大学生都能学会。当然,数学基础好、逻辑思维好的人学起来相对轻松一些。C语言需要掌握的知识就那么3个条件判断语句、3个循环语句、3个跳转语句和1个开关语句。别小看这10个语句,用它们组合形成的逻辑要多复杂有多复杂。学习时要一条语句一条语句的学,学一条活用一条,全部学过用过这些关键语句后,相信你的C基础建立了。

  第二步:单片机实践

  1.有刻苦学习的决心

  2.有一套完整的学习开发工具

  3.要注重理论和实践相结合

  学习编写程序应该按照以下过程学习,效果会更好。看到编程题目先试着构思自己的编程思路,然后再看教材或视频教程里的代码,研究人家的编程思路,注意与自己思路的差异;接下来就照搬人家的思路亲自动手编写这个程序,领会其中每一条语句的作用;对有疑问的地方试着按照自己的思路修改程序,比较程序运行效果,领会其中的奥妙。每一个编程都坚持按照这个过程学习,你很快会找到编程的感觉,取其精华去其糟粕,久而久之会形成你独特的编程思想。

  第三步:单片机硬件设计

  电路原理设计涉及到各种芯片的应用,而这些芯片外围电路的设计、典型应用电路和与单片机的连接等在芯片数据手册(DATASHEET)都能找到答案,前提是要看得懂全英文的数据手册。否则,照搬别人的设计永远落在别人的后面,你做的产品就没有创意。电子技术领域的第一手资料(DATASHEET)都是英文,从第一手资料里你所获得的知识可能是在教科书、网络文档和课外读物等所没有的知识。

做PCB板就比较简单了。只要懂得使用protel软件或AltimDesigner软件就没问题了。但要想做的板子布局美观、布线合理还得费一番功夫了。

  学习单片机的内容

  使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。IO口的使用,最简单的就是点亮流水灯啦~Comeon!为了让没有单片机的同学也能顺利学习,我们可以用仿真软件来做,有视频喔,学习更简单,麻麻再也不用担心了

  学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。按键,就不用说了吧,应用很广泛的,不多说,参见帖子,注意,按键扫描程序是用if还是while喔~最近在某论坛发现了一种新型按键识别思路(利用AD),也可以看看~

  单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,再返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。

  第四步:与PC机进行RS232通信

  第五步:学会A/D与D/A

  第六步:学会PCI、I2C接口和液晶显示器接口

  那我们来看一下如何实现LCD1602的显示吧:帖子链接+仿真链接

  这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制器功能。如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。

  学习USB接口、TCP/IP接口、各种工业总线(CAN总线、SPI总线)的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了。

  PT2262/PT2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/PT2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。

51单片机学习总结

  在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。Intel公司推出了MCS-51系列单片机:集成8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。

  用到单片机的项目经验介绍

  毕设答辩打分器

  自动感应水龙头

  工业自动化:数据采集、测控技术。

  消费类电子产品:洗衣机、电冰箱、空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。

  武器装备:飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。

  3、学习单片机之前预备知识

  定义单片机为TTL电平:

  (2)RS232电平:计算机的串口

  所以计算机与单片机之间通讯时需要加电平转换芯片

  (4)C语言基础

  80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。

  总线(BUS)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线。外部总线是指CPU与其它部件之间的连线。外部总线有三种:数据总线DB(DataBus),地址总线AB(AddressBus)和控制总线CBControlBus)。

  CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;

  ROM:用于存放程序、一些原始数据和表格;

  T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;

  一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;

  (8)

  例:

  charvar1;

  unsignedcharvextor[10];

  注意:变量名不能用C语言中的关键字表示。

  包含的头文件(可以在安装目录下INC目录下查看)

  常用有:reg51.hreg52.h

  math.h(定义常用数学运算);

  函数名()interruptnusingm

  函数内部实现….

  (11)I/O口定义

  (12)单片机的基本时序

  (1)振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期,TX实验板上为11.0592MHZ。

  (3)机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。

  4、学习单片机目标

  1.电源2.晶振3.复位电路

  1.输出控制电平高低2.输入检测电平高低。

  中断:外部中断、定时器中断、串口中断