单片机用C语言编程很好学,为什么还要用汇编呢?
c语言是发展趋势,汇编可以帮助学生熟悉单片机的内部结构。首先,汇编语言和C语言都是编程语言。汇编是一种直接面向底层的机器语言,与单片机底层硬件架构密切相关。与C语言相比,C语言是一种低级语言,是一种面向过程的语言。,在编译执行中会转换成汇编中生成的单片机可执行文件。是一种高级语言,两种语言各有优缺点。
C语言/汇编的优缺点。1学习困难。
汇编更难学是因为它比C语言更难理解和开发,而且都是寄存器操作。学习汇编,需要学习这个单片机的硬件结构和基本组成,存储器访问,单片机的I/O操作顺序,定时器计数器,中断处理,指令系统,寻址。知识点;而且每个系列芯片的内部注册地址和寄存器都不一样,维护起来非常困难。
2执行效率
汇编的实时性优于C语言,占用单片机资源少,生成的执行文件更小,汇编语言程序直接转换成机器指令。C语言的编译过程会先形成一个汇编,然后变成机器语言。
3便携性
c语言比汇编有更好的可移植性和可读性。实现同样的功能,C语言的代码数量会比较少。对于汇编来说,每个单片机的汇编语言都不一样。所以便携性差。
c语言通过结构和指针映射寄存器地址。必要时,只需改变寄存器地址或寄存器定义,即可满足程序和项目的移植。
4、调试
c语言调试方便。比如在STM32的开发过程中,可以使用jlink通过SWD进行在线模拟,调试各种语法和语句的执行,检查变量值的变化,这样就可以很容易的定位bug问题。但组装调试难度大,往往很难快速定位。问题
第二,单片机的开发不一定都用C语言。20世纪70年代,单片计算机开始出现。早期使用汇编语言进行开发。随着技术的发展和进步,单片机的处理速度迅速提高,很多单片机都是用C语言编译生产的。二进制文件。
但由于产品BOM的成本要求,很多低端单片机还是一次性用OTP烧,程序空间小。很多型号还在组装开发,比如翼龙,松寒。
学汇编不是没用。1.在大学学习汇编有助于理解单片机系统架构、指令集、寄存器寻址等知识点,对C语言使用指针也有促进作用。
2.目前一些linux或者开发的低级bootload文件。stm32的s启动文件都是使用汇编语言的文件,都是使用汇编进行底层引导。修改堆栈,或者程序开始运行的位置,都需要在相应的文件中进行修改。或者学习UC。操作系统还涉及修改启动文件中的相关数据。
单片机发展趋势:C语言半导体的成本随着工艺技术的提高而降低。越来越多的低端8位单片机正在从汇编转向C语言,单片机也在向集成度更高、功能更强大的方向发展。
所以你不学习单片机不一定要精通汇编,但是你对汇编有一定的了解,对学习单片机是有帮助的。只有在需要某些功能的时候,才可以适当使用汇编。
求一个基于stm32的简单一点设计,各种实物材料名称?
制作一个简单的带彩屏的示波器,采样频率可以通过按钮调节,波形可以自校准,实时数据可以通过串口同步到计算机。注意屏幕用fsmc,数据传输用dma。
如果你能做到,stm32就有六成把握了。然后可以学习cortexm3,学习操作系统,最后尝试独立移植ucos。如果你成功了,恭喜你。在嵌入式领域,你有资格说你勉强入门!
这个要看你需要做什么样的设计了。STM32很强大,但是你需要熟悉软件,以及这个芯片的架构和单元功能。如果你有一个基本模块,那就简单点。你可以做一套流水灯。;不需要很多东西,包括LED灯和电阻。。还可以做电机驱动控制,可以控制电机前进和后退,需要电机,继电器或者三极管来驱动。如果想多做一些体力活,可以去贴吧。看着别人在网站上做一些好玩的东西,买一些材料自己做,然后自己写代码,就能找到很多乐趣。。
谢谢邀请,最简单的设计,想想,然后音乐呼吸光。
物理材料:各种颜色的发光二极管、一个有源或无源蜂鸣器和一个孔板。这么多材料就够了。
音乐可选,一个PWM控制音乐;呼吸灯节奏由另一个PWM控制;各种颜色的发光二极管的发光顺序通过间隔计时器和自检获得。
快乐设计!