第三章 硬件设计
3.1 STC89C52单片机及相关电路
在总体硬件包括单片机外围电路,电源模块、按键模块、LCD1602液晶显示模块、步进电机驱动模块、DS1302时钟模块、AD模数转换模块、光照检测模块和温度检测模块组成。单片机外围电路提供各模块所需的5V电源。信号检测后的是模拟信号,经过A/D转换后输出数字信号给单片机。单片机的P2口控制步进电机的运行从而控制窗帘的升降。显示和键盘让人机交换变得更容易。 3.1.1 STC89C52单片机概述
单片机是将中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM或EPROM)、定时器芯片和一些输入/输出接口电路集成在一个芯片上的微控制器。89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司CMOS工艺技
[10]术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了CMOS
的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统。
STC89C52主要参数有: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。
89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分
6 6
完备,使用起来得心应手。虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属少见。51系列在片内RAM区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址20H~2FH,它既可作字节处理,也可作位处理(作位处理时,合128个位,相应位地址为OOH~7FH),使用极为灵活。这一功能无疑给使用者提供了极大的方便,因为一个较复杂的程序在运行过程中会遇到很多分支,因而需建立很多标志位,在运行过程中,需要对有关的标志位进行置位、清零或检测,以确定程序的运行方向。而实施这一处理(包括前面所有的位功能),只需用一条位操作指令即可。
51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。八位除以八位的除法指令,商为八位,精度嫌不够,用得不多。而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求的,用的较多。作乘法时,只需一条指令就行了,即MUL AB(两个乘数分别在累加器A和寄存器B中。积的低位字节在累加器A中,高位字节在寄存器B中)。很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。
在51系列中,还有一条二进制一十进制调整指令DA,能将二进制变为BCD码,这对于十进制的计量十分方便。而在其他的单片机中,则也需调用专用的子程序才行。STC89C52单片机的引脚排列如图3.1所示。 3.1.2 晶振电路
电路中的晶振即石英晶体震荡器。由于石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器是用来产生基准频率的。通过基准频率来控制电路中的频率的准确性。同时,它还可以产生振荡电流,向单片机发出时钟信号。
晶振电路中的电容C1和C2的典型值通常选择为30μF左右,该电容的大小会影响
[10]振荡电路频率的高低、振荡器的稳定性和起振的快速性。晶体振荡频率的范围通常在
1.2~12MHz。晶体的频率越高,系统的时钟频率越快,单片机的运行速度越快。但反过来,运行速度对于存储器的速度要求就越高,对印刷电路板的工艺要求也就越高,即要求线间的寄生电容要小。晶体和电容应该尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定、可靠地工作。89C52常选择振荡频率12MHz的石英晶体。
7 7
图3.1 STC89C52单片机引脚排列图
图3.2是单片机的晶振电路。其中,XTAL1接外部晶体的一个引脚,XTAL2接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对HMOS单片机,该引脚接外部振。在石英晶体的两个管脚加交变电场时,它将会产生一定频率的机械变形,而这种机械振动又会产生交变电场,上述物理现象称为压电效应。一般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。但是,当交变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。这一特定频率就是石英晶体的固有频率,也称谐振频率。石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,以便使MCS-51片内的OSC电路按石英晶振相同频率自激振荡。通常,OSC的输出时钟频率fOSC为0.5MHz-16MHz,典型值为12MHz或者11.0592MHz。电容C1和C2可以帮助起振,调节它们可以达到微调fOSC的目的。
8 8
图3.2 晶振电路
3.1.3 复位电路
复位是单片机的初始化操作,只需要给89C52的复位引脚RST加上大于2个机器周期(即24个时钟震荡周期)的高电压就可以使89C52复位。复位时,单片机初始化为0000H,从0000H单元开始执行程序。除了进入系统的正常初始化之外,当程序运行错误(如程序跑飞)或者操作错误使系统处于锁死状态时,也需要复位键使RST引脚为高电平,使89C52摆脱“跑飞”或者“死锁”状态而重新启动。复位电路图如图3.3所示。
3.1.4 电源电路设计
单片机工作需要使用5V电压,因此需要给单片机设计电源电路。图3.4是单片机的电源电路。它采用LM7805三端集成稳压器,可输出+5V的直流电压供电。
三端集成稳压器LM7805,总共有三条引脚,分别是输入端、接地端和输出端。用LM78\\LM79系列三端稳压器来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便。其内部结构图如图3.5所示。
9 9
图3.3 复位电路
图3.4 单片机电源电路
10 10