单片机是可编程器件,开发者把程序写好、编译完之后,需要烧录到单片机中,单片机才能按照开发者的逻辑去执行。在这个烧录的过程中需要用到专用的烧录工具。比如51单片机的USB/TTL、STM单片机的STlink等。使用过单片机开发板的同学都清楚,程序编写完了后,在调试的过程中可能会烧录很多次程序,尽管照这样,单片机还是能一直烧录,那么单片机的烧写次数是不是无限的呢?
单片机烧写程序的次数是一定的,不是无限次,这取决于单片机的程序存储器ROM。有的单片机只能烧写一次,有的可以烧写1k次,还有的可以烧写100k次,不同的ROM类型了导致了烧写次数的不同。
固定不可烧写的掩膜ROM
这类单片机在出厂的时候,单片机厂家根据用户提供的程序文件一次性写入,即客户收到的就是烧写好程序的单片机,用户无法修改。这种一般是低成本的解决方案,而且需求数量非常大。
只能烧写一次的PROM这种PROM类型的单片机只能烧写一次,其存贮器内部默认全0或者全1,用户只能烧写一次,烧写完毕后,保险丝熔断。这种方案价格也非常便宜,适合大量出货,国内很多单片机厂商提供这种单片机。紫外线可擦除的EPROMEPROM采用的是浮栅技术,用户如果需要修改程序,需要用紫外线擦除,这类单片机一般会有一个窗口用于接受紫外线的照射,照射的过程大概20-30分钟作用,用起来不方便,这种单片机在市场上很少看到了。可多次烧录的EEPROM和Flash型ROM这两种类型的ROM都可以很多次擦除,其中flash型的烧录次数可以多达100万,完全满足了人们的使用,目前市面上出货的单片机多数是这种。相对而言,Flash型的烧写速度更快,容量更大,烧录次数更多。