1.6.1 机器语言
单片机是一种大规模的数字集成电路,它只能识别 0 和 1 这样的二进制代码。用二进制代码编写的程序称为机器语言程序。用机器语言编程时,不同的指令可用不同的二进制代码来代表,这种二进制代码构成的指令就是机器指令。在用机器语言编写程序的时候,由于需要记住大量的二进制代码指令及其代表的功能,很麻烦且容易出错,现在基本上很少有人用机器语言对单片机进行编程了。
1.6.2 汇编语言
由于及其语言编程很不方便,人们便用一些有意义并且容易记忆的符号来表示不同的二进制代码指令,这些符号称为助记符。用助记符表示的指令称为汇编语言指令,用助记符编写出来的程序称为汇编语言程序[4]。机器语言程序要比汇编语言难写,并且很容易出错。
01110100 00000010 (机器语言)
MOV A, #02H (汇编语言)
这两行程序的功能是一样的,都是将二进制数据00000010送到累加器A中。
单片机只能识别机器语言,所以汇编语程序言要汇编(翻译)成机器语言程序,再写入单片机中。一般都是用软件汇编自动将汇编语言翻译成机器指令。
1.6.3 高级语言
高级语言是依据数学语言设计的,在用高级语言编程时不用过多的考虑单片机的内部结构。与汇编语言相比,高级语言易学易懂,而且通用性很强。单片机常用C语言作为高级编程语言。单片机不能识别高级语言的程序,因此也需要用编译器对高级语言程序翻译成机器语言程序后再写入单片机[5]。
在上面三种编程语言中,高级语言编程较为方便,但实现相同的功能,汇编语言代码少,运行效率高,另外对于初学者来说,学习汇编语言编程有利于更好的理解单片机的结构与原理,也能为以后学习高级语言编程打下扎实的基础。
2. 最小系统系统硬件设计
单片机最小系统,又称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统,是单片机系统研究与开发的基础。单片机要工作必须要有电源系统,晶振系统,显示功能及蜂鸣器系统,键盘输入系统,以及串口通讯系统[6]。
2.1 电源电路
电源为整个系统提供动力支持,其重要性不言而喻,先对两种供电方案特点比较如下:
(1)对220V交流电进行降压、整流、滤波后,在进行稳压处理,为系统供电。这种方案能够很好地解决系统用电问题,但外围电路复杂,由于存在连接线,小车的灵活性将大受影响。
(2)利用干电池供电,如果有需要则进行降压处理。这种方案,结构简单,使用方便,应用比较灵活,故采用干电池为系统供电。
2.2 蜂鸣器电路
采用蜂鸣器实现报警,可分为有源和无源两种,其中有源蜂鸣器内部有震荡源,通电即鸣叫,不需要方波驱动,程序控制方便;无源蜂鸣器内部无震荡源,直流信号无法令其鸣叫,必须用2K-5K的方波驱动,声音频率可控,可以做出音乐效果。综合考虑本系统采用无源蜂鸣器进行安全报警。
蜂鸣器电路用一个三极管驱动一个直流蜂鸣器,原理图如图4所示。
图4 蜂鸣器电路图
2.3 复位线路的设计
复位电路和时钟电路是文持单片机最小系统运行的基本模块。复位电路通常分为两种:上电复位和手动复位。
上电复位 手动复位
图5 两种复位方式电路图
复位电路应该具有两个主要的功能(1)必须保证系统可靠的进行复位。(2)必须具有一定的抗干扰的能力。 单片机最小工控系统的设计与开发+电路图+流程图(4):http://www.youerw.com/zidonghua/lunwen_1665.html