求大神,想问下stm32和51单片机编程的区别,然后有51相似电路的程序,怎么能改成适合stm32的

我想做基于stm32的有烟雾、温度、热释电的报警系统

stm32和51单片机相比,代码效率高(32位包含信息量大,多数指令一个字节搞定)、执行速度快(72MHz系统时钟不是盖的)、功能强大(外设丰富、管脚多、管脚功能可重映射),优点多多。编程的区别,stm32基本别比划汇编了,能把脑袋搞大大滴,寄存器太多了,位数也多,我一直搞51汇编也放弃了。C语言编程区别就不大了,况且stm32在国内技术支持很到位,资料丰富(关键是不但有E文,中文资料翻译的也多),还有完整的库函数支持,从51转过去没太大困难。有51相似电路的程序,移植的话好多都不用改的,只是针对寄存器、IO口、中断等的修改,软件流程、控制逻辑基本不用改。
说了一大堆,不是说stm32有多好学,还是有点难度,但比起它的优越来,付出是值得的。希望对你有所帮助。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-24
编程方面,51的任何器件只需要配置寄存器打开就可以,比如IO直接赋值=0或=1就可以了
而STM32则需要先打开对应的时钟,包括开启后打开外部时钟(晶振)才开始工作,而IO光打开时钟还不行,还需要配置是输入还是输出,以及输入是浮空输入,模拟输入,上拉输入还是下拉输入等。输出也分开漏,推挽,复用等,还要配置频率。。
其他的也是一样的,建议看看正点原子写的STM32不完全手册。。应该对你会有帮助
相似回答