设计单片机程序其实并不难,可以先从基础开始,然后慢慢深入就可以了。当然了,你需要有一定的电子基础知识,也要有一定的C语言基础(汇编语言现在用得比较少了)。

单片机其实就是一个“微型”电脑,它集成CPU、RAM、ROM、I/O,还集成PWM、AD、定时器、中断、UART、SPI等等的各种外设。

如果你有一定的电子基础知识和C语言基础,只要花上一两个月的时间,绝对可以自己设计出单片机程序来。

自己设计单片机程序的方法

选择合适的单片机入门很重要

首先需要跨出第一步,摸到门路,实现从“0”到“1”的转变;如果找不到门,怎么努务,怎么花时间都是没用的。最好有同事、朋友指导一下,这样就更容易入门了,可以少走很多弯路。摸清门路后,再努力一两个月,基本上就可以单独编写简单的程序了。

单片机的品牌很多的,不同的品牌都会有一些差异,如果在公司上班,最好选择公司常用的单片机品牌进行入门学习,这样可以得到同事、还有代理商和原厂FAE的帮助。Demo Kit,开发环境都很容易搞定。如果没有同事、朋友帮助,需要全靠自学的话,可以选择51单片机,网上资料很多,学起来也容易。

如果数字电路、摸拟电路和编程基础都较好,可以直接从32位单片机起步,STM32就是很好的入门平台,资源很多,也相当火爆。

持之以恒,绝不能三天打渔两天晒网

如果下定决心学习单片机,最好制定好学习计划并严格执行。这个就像学英语一样,也是要靠坚持的。下面是本人建议的一个计划:

选择好适合单片机入门平台,选择合适的开发板,搭建开发环境,实现单片机最小系统运行。

学会单片机时钟系统的配置,学会上电复位配置和初始化。

学会GPIO的输入、输出配置,点亮LED,读取按键输入。

学会按键控制LED点亮的和熄灭,实现LED跑马灯功能。

学会定时器的使用,使用定时器计时,实现LED跑马灯。

学会数码管驱动显示

完成自己的第一个作品:电子钟。

学习用ADC通过NTC测量温度。

学习外部中断,通过外部中断实时响应按键输入。

学习PWM,通过PWM控制LED的亮度和驱动蜂鸣器发声

完成自己的第二个作品:带温度显示的小闹钟。

学习IIC,进行EEPROM读写操作。

学习UART,与电脑通过串口进行通讯。

如果这些都学好了,基本上可以自己设计单片机程序了。开发一般的电子产品已经不成问题。基础打好了,后面可以继续深入的学习,进一步提升自己。