单片机上都有几排小小的字,实际上,单片机的很多信息都在这几排字上。现在就以STC12C5A60S2简单介绍一下。
STC表示的是芯片的品牌,就不过多解释了,“12”表示的是“STC 1T 12”相同工作频率时,其速度是普通8051的8~12倍。对于普通51内核的单片机来说,12个时钟周期是一个机器周期,即12T,而这一款的单片机晶振跳一下就运行一个指令,速度自然就快了。(对于12T的单片机,其延时一毫秒需要运行大概112步,那要达到相同效果,1T的如何写延时程序呢?) “C”是指工作电压,标识为“C”工作电压是3.3~5V,标识为“LE”的工作电压是2.2~3.6V。 5A表示其ROM为1280字节(这相关的内容上学期战神课上有详细讲解)。60是指程序存贮空间大小,60是60K字节,类似还有08(8K字节),20(20K字节),32(32K字节)等等。有S2字样时,表示有第二串口,有A/D转换,有PWM,有内部EEPROM(这个也不解释了吧,大概在最后几节课会讲到的。坚持!)
2.关于程序的大小由上文可以看到,单片机的程序空间有限,如果用一些较为低级的单片机,很有可能把程序写超了,如何看自己的程序的大小呢?在这里吗?

hex文件显示有9K但实际上烧进单片机的并没有那么大。应该看这里:

这个是构建后页面最下面的一小格。真正的大小是date,xdate,code这三个,相对于上一个小了不少吧。hex文件属性里显示的是程序储存在计算机里的大小。这也是初学者很容易想当然的问题。不过我们用的芯片空间足够大,常理来说很难出现关于程序大小的问题。
3.关于程序的调试 wxid 用codeblocks及其他c语言编程程序的同学该知道它们有一个很方便的功能---watch,监视功能,实际上keil也是有这一项功能的,就在这里: 在鼠标光标指示处,单击后就会出现这个界面: 左侧显示的是运行所需时间等信息,右下侧可以输入需要监视的变量,功能与codeblocks基本完全一样,只是需要简单的设置(主要是如果需要得知精确时间,否则貌似不必设置),这就不详细解释了。 单片机还有很多相关的小知识待我们学习,了解后会对我们的使用有很大帮助。如果文中有错误,还请多多包涵。篇幅有限,很多地方解释不很清楚,还请原谅。自己去探索其中乐趣吧!
|