本文目录
- 在大学学习单片机控制原理及应用,这个五块钱不到的单片机,是一种怎么样的感受
- 大学生学单片机,可以只用软件仿真不做实验吗为什么
- 用上位机控制单片机然后实现数据传输,学习哪种上位机好呢
- 如何学习单片机
- 学习单片机技术怎样才算入门
在大学学习单片机控制原理及应用,这个五块钱不到的单片机,是一种怎么样的感受
现在单片机里面有很多功能的,重点是你能用这个单片机做哪些项目开发,因为还是学生,所以开始可以考虑从网上获取别人开源的代码,进行分析开发,等有了一定积累,然后再根据个人情况进行相应的项目开发
大学生学单片机,可以只用软件仿真不做实验吗为什么
我认为不可以。理论与实践相结合,才是最正确的学习方法。
学习单片机,要分两步。第一步结合仿真软件,学习基本理论;第二步,买实验板,进行开发演练。两步缺一不可。以下以STM32为例论证。(本文图片均为原创,未经许可,不得使用)
1,结合仿真软件,学习基本理论
- 学习单片机硬件知识
学习单片机的硬件知识,知道控制是什么。如单片机外围地址扩展,内部AD/DA转换,UART,SPI,USB,LAN,定时器等是如何实现控制的。
- 选择要用的目标MPU
通过厂家提供的APP,选择你想使用的MPU。如,主频,定时器,通讯口,支持的I/O接口数量等。
- 仿真学习单片机各功能的设置及实现方法
在这一步,必须把每个要实现的功能的寄存器分组配置好,看明白。如果需要操作系统支持,提前选好。还有选好IDE。
- 做到以上这些,就完事了吗?
否!单片机不象PC机,编译链接后马上能看出正确与否,单片机软件的控制对象很多,如电机运动,变频器,水泵等等,任何一个小bug,都会导致控制对象工作异常。所以,最终能使控制信号准确地传递到控制对象,使其按照你的设计要求精准动作,才算圆满结束。
2,买实验板,进行开发演练
- 有了1,的基础,还要实践,否则,无法证明你做的正确与否。
选择功能多的实验板。建议与企业结合,看看大企业,科研单位,是怎么做的。最好买一个PCB印刷板,自己搭电路,这样有感性认识,更能深刻理解单片机的工作机制。
- 仿真器及示波器是实践过程中,必不可少的利器。
看似繁杂的工作及诸多问题,只要你捋清控制思路,坚定原理没错,那么通过软件仿真器就可一步一步地找到问题。
硬件上,多功能示波器,如Agilent,可达1GHz的可存储示波器,助你看清每一个输出的waveform是否正确。也是必不可少的,虽然贵,但值!
总结:单片机是理论与实际结合的典范,搞明白理论,调试时就不会犯糊涂;只会理论,没有实践,将一无所成。两者相辅相成,缺一不可。
用上位机控制单片机然后实现数据传输,学习哪种上位机好呢
上位机通过通讯的方式可以实现控制单片机的数据传输,在传输方式有无线和有线之分,如RS232,RS485,CAN等是有线传输;WIFI、蓝牙等是无线传输。所以在使用上位机控制时,只要通过软件实现相应的通讯协议即可。很多上位机软件都可以实现这种功能,但是从硬件角度和应用较多,推荐三种类型的上位机软件。
1.VB
上位机软件VB的全称是visual Basic,是微软所研发的一款基于对象的通用的程序设计语言,诞生于上世纪九十年代初期。这款软件是基于图形可视化编程的,制作软件界面、人机交互界面很容易,不需编写大量代码去描述界面元素的外观和位置,而只要把库中预先建立的对象拖到屏幕上,再实现具体的响应即可。由于各种图形化的对象都是现成的,跟现在的组态王软件很类似,用起来很方便,适合做上位机开发。
微软虽然已经不再更新VB,但是用户可以使用VC和Visual Studio进行开发。
2.Labview上位机软件
Labview是美国的NI设计研发的,该软件在仪器仪表行业、工业自动化行业有着很高的声望。Labview采用图形化编程和数据流编程方式,程序框图中的节点之间的数据流向决定着函数的执行顺序。这与传统的代码式的软件编程完全不一样。而且在软件内部集成了很多通讯模块、仪表模块和曲线分析模块,用户拿来可以直接用,大大简化了设计难度、提高了研发效率、提高了设计稳定性。用来开发上位机软件再适合不过了。
3.组态软件开发上位机
组态软件在工控行业使用广泛,尤其是在与PLC、触摸屏结合起来做集中控制的时候。组态软件目前国产的品牌有很多,做的也比较稳定。组态软件也是图形化编程方式,在软件库中有很多工程应用的模型,用户拖出来可以直接用,甚至常用的通讯模块都是封装好的,用户只需要配置一下就可以用,方便实用。在很多矿上的调度室/集控室、车间的集控室等,上位机界面都是用组态软件编写的。
以上就是这个问题的回答,感谢留言、评论、转发。
更多精彩内容请关注本头条号:玩转嵌入式。感谢大家。
如何学习单片机
把这几个功能学透,你就掌握了单片机
单片机的学习绝不仅仅是对一项知识的掌握。想要学好单片机,需要从硬件结构、内部资源、外设应用等几个方面多方位入手。而要想成为一名嵌入式工程师,就要对单片机的基础非常熟悉,并且掌握C语言当中各个功能的初始化、启动、停止各类函数的编写调试。那么想要掌握单片机需要从哪几个方面入手呢?
1. 数字I/O的应用
在大多数的单片机实验中,跑马灯实验正是数字I/O的典型应用,也是跑马灯的实验被安排第一个的原因。通过将单片机的I/O引脚位进行置位或清零来点亮或关闭LED灯,虽然简单,但是这就是数字电路中的逻辑功能。数学I/O应用的实验还有按键实验,当按下某键时,某LED灯被点亮。数字I/O实验教会我们单片机的编程思想,必须首先对单片机的相应寄存器进行配置,以初始化I/O引脚,这样才能使该引脚具备数字输入与输出功能。单片机的一个内置或外置功能的使用,就是对该功能相关的寄存器进行设置,初始化,而这便是单片机编程的特点。少则4、5个函数搞定,多则十几行程序,要有耐心,别怕麻烦,所有的单片机都是这样。
2. RS232串口通讯
单片机都有UART接口,这个简单、古老的通讯方式可以与我们PC机的RS232接口直接连接通讯,当然,因为它们两者电平逻辑不同,必须要使用一个RS232电平转换芯片才能与PC机连接,例如Max232芯片。
UART接口的使用是非常重要的,通过这个接口,我们可以使单片机与PC机之间交换信息,“接口”概念的学习也便由此引入。使用UART接口也会学习到目前最为简单与常用的通信协议等知识。对于无法在线调试的单片机,也可以通过PC机的串口调试软件来监视到单片机实验板的数据。
3. 定时器的使用
学会定时器的使用,就可以利用单片机来实现典型的时序逻辑电路。时序逻辑电路的应用是最强大、最广泛的。例如,在工业的控制中,我们让某个开关每隔1秒钟打开与关闭一次。这个方案可以通过普通的数字集成电路实现,也可以通过PLC来实现,也可以通过CPLD或FPGA来实现,但是只有单片机的实现是最简单,成本也是最经济的。定时器是单片机内部资源里最为重要的一个,更是逻辑与时间控制实现的基础。
4. 中断
在单片机软件设计架构中,一段程序循环执行是其一个特点,也是一个弊端。每个操作指令的执行都需要一定的执行时间,如果程序没有执行到该指令,则该指令的动作就不会触发,这样就会忽略许多快速发生的事件,例如方波频率检测的上升沿。针对在单片机程序正常运行时能够对外部事件立即做出响应而设计了中断功能。当中断功能执行时,单片机优先处理中断程序,当中断处理完成后,再回到单片机的正常程序执行中。中断的机理是比较容易理解的,但是什么时候打开中断,什么时候关闭、屏蔽中断,需要如何配置才能使能中断的某些功能,中断里要执行哪些程序,这些程序的要满足哪些要求就需要花些时间去理解与实践了。中断学会后,就可以编写复杂结构功能的程序,可以一边闪着小LED灯,一边扫描着按键,一边发送着数据,也可以干着多个事情……比如,中断功能可以使单片机吃着碗里的,看着锅里的。根据传说中的8020定律,如果掌握了上面提到的这四步,那么就说明已经学会单片机80%的内容了。
5. I2C,SPI通信
单片机系统毕竟资源有限,而利用I2C、SPI通讯接口进行扩展外设是最常用的方法,也是非常重要的方法。这两个通讯接口都是串行通讯接口,典型的基础实验就是I2C的EEPROM实验与SPI的SD卡读写实验。
6. 比较、捕获、PWM功能
比较,捕捉与PWM功能可以使单片机更加适合电机控制,信号检测,实现电机速度与步长的调节。PWM波现在又是LED调光的主要手段。这里已经初步接触了数字电路里的模拟电路部分。
7. AD模数采集
单片机目前基本都自带多通道A/D模数转换器,通过这些A/D转换器可以单片机获取模拟量,用于检测电压、电流等信号。学习时要分清模拟地与数字地,参考电压,采样时间,转换速率,转换误差等重要概念。这一步学会了数字电路控制模拟电路部分,而最简单的A/D模数转换器就是电压表实验。
8. 学习USB接口、TCP/IP协议、工业总线
目前主流的通讯协议为:
USB协——下位机与上位机高速通讯接口;
TCP/IP——万能的互联网使用的通讯协议;
工业总线——诸如Modbus,CANOpen等工业控制各个模块之间通讯的协议。这些都会应用在未来的项目里,集成入单片机里的固件,并且也是当前产品开发的一个发展方向。
欢迎关注头条号“玩转嵌入式”,获取更多电子设计知识。
学习单片机技术怎样才算入门
单片机学到什么程度才算入门?这个问题属于见仁见智的问题,每个人都有不同的看法。我来说说我的看法吧。
单片机的学习有两方面,一是单片机电路,二是单片机控制程序。这两方面是相辅相成的,程序需要在电路上才能实现其控制功能,电路需要有控制程序才能正确执行各种动作。所以这两者缺一不可,都要学习。
首先要学会单片机的基本电路
单片机的基本电路不是很多,这些电路主要是围绕单片机内部功能模块的,所以这些是单片机电路的基础,需要很好的理解和掌握。
单片机的基础电路主要有下面几种:(只说最基础的,欢迎大家补充)
1、单片机最小系统电路
2、按键电路
3、LED驱动电路
4、IIC电路
5、串口电路
6、SPI电路
7、ADC电路
......
其次要学会单片机的功能模块编程
单片机的编程现在基本都是用C语言了,所以首先对C语言要有所了解,其实我们平时用C语言写单片机程序并不会涉及到很多高深的编程技巧。
1、单片机的时钟配置程序
2、I/O端口的输入输出配置程序
3、中断服务程序
4、定时器的定时、技术程序
5、PWM程序
6、IIC接口的EEPROM驱动程序
7、SPI数据收发程序
8、ADC转换程序
......
第三要学会程序的调试方法
单片机程序编写和调试一般都会在专用的编程软件下实现,所以要熟悉这个编程软件的使用方法,还要指导程序调试的方法和技巧,例如在程序调试中如何查看数据变化,如何观察寄存器的配置情况等等。
第四要学会常用电子仪器的使用方法
常用的工具有万用表、示波器等等。
第五要学会电路检查的基本方法
初期阶段主要是检查单片机对I/O端口的输入检测和输出控制是否正确,一般是用万用表测量端口的电压高低,用示波器检查输出或者输入波形是否正确等。