南昌航空大学 学士学位论文
3 硬件的软件操作
3.1系统主要控制部分:AT89C51单片机
3.1.1 AT89C51单片机简介
AT89C51单片机是一种40个引脚。具有4K的快速闪存储存器,128B的RAM.4组IO口的微型处理器。4组IO口具有输入输出的作用.具有定时器和计数器。可以完成相应的中断和计数操作。其中通过20号引脚接在电源地,40脚接在电源正极。其中18脚和19脚接晶振,提供一个单片机工作脉冲。AT89C51具有低功耗、处理速度高、使用方便等特点。被广泛的应用于生活和工业中。AT89C51引脚图如图3.1所示
图5.1 AT89C51引脚
3.1.2 单片机最小系统
单片机最小系统由5V的电源电路。复位电路和晶振电路构成。在其中5V的电源电路接单片机的40脚和20脚。复位电路接单片机的9脚,当复位时会有持续2US的高电平信号便可以使得单片机系统重新复位。晶振电路接在单片机
6
南昌航空大学 学士学位论文
的18脚和19脚。一般采用晶振为11.0592M的晶振。晶振就像单片机的“心脏”。单片机内部的每条指令的运行都是按照机器周期来来执行的,实际上一个机器周期就是由12个晶振周期组成的。单片机的正常运行就是建立在最小系统的基础上的。
图3.2单片机最小系统
7
南昌航空大学 学士学位论文
3.2 发射部分
3.2.1 按键部分
在本次课题设计中。采用5个按键开关,按键的一端接地一端接单片机的P1^0到P1^4端口(如图3.2.1).在开始的时候给此处的I/O口至于高电平状态,然后让单片机一直处于扫描这些I/O口是否发生电平变化。当按键按下此处的I/O口便与地相连形成一个低电平。单片机的扫描程序一旦检测到I/O变为低电平就说明有按键被按下,于是就执行相应的指令操作。在软件的编写的过程中首先用sbit分别定义K1=P1^0,K2=P1^1,K3=P1^2,K4=P1^3,K5=P1^4。然后用if语句。例如if(K1=0)来检测P1^0到P1^4端口的电平状态来判断按键操作。
图3.3按键接口电路图
由于使用的是机械按键所以在按下按键和释放按键的操作过程中发生瞬间的机械抖动的现象(如图3.2.2所示)。抖动的时间和按键的机械特性有关一般抖动时间在5~10ms之间。按键的机械抖动对于单片机读取一次按键操作有巨大的干扰。假如产生一次较大的机械抖动单片机就会认为完成了一次按键操作,然而实际并没有。所以要采取消抖的措施。一般采用软件延时。AT89C51是一个12个时钟周期等于1个机器周期的单片机,如果使用的晶振是11.0592M的话,执行一条单指令的 NOP 需要 12*(1/11.0592M)=1.09us的时间。所以设置一个延时的子函数。采用两个for语句来延时。这样大概就是延时了xms;设置xms为5~10之间的一个数值便可以完成消抖操作。
8
南昌航空大学 学士学位论文
for(i=xms;i>0;i--) for(j=110;j>0;j--)
图3.4按键信号抖动状态
3.2.2 红外发射部分
本次的设计中红外发射电路接在单片机的P2^2口,单片机将经过调制的编码指令信号通过P2^2口经由三极管放大过后由红外发射管发射出来正如图3.5所示。
图3.5红外发射图
3.3 接收模块
3.3.1 红外接收头
此次设计的红外接收头为VS1838B,信号输入脚接单片机的P3^2口,当VS1838红外接收管接收到经过调制的红外编码信号的时候,这时候VS1838B红
9
南昌航空大学 学士学位论文
外接收管将38K的载波信号过滤掉。然后再将红外编码信号传给单片机处理
图3.6红外接收
3.3.2继电器控制模块
继电器分别接在P1^5,P1^6,P1^7这三个端口上。分别用来控制车门开关。后备箱开关和报警器这三个状态。开始将这三个继电器接在单片机上的三个端口置于高电平的状态,继电器的另一端也是接在电源的正极。当译码正确时就将对应的端口取反。于是就使得继电器导通[13]-[15]。在编写程序时需要利用sbit 分别定义S1= P1^5,S2= P1^6,S3= P1^7.然后再使得S1=S2=S3=1于是就可以使得将三个端口置为高电平。假如在译码时相匹配时就利用S1=!S1语句来把状态置反。于是继电器就闭合。在S1=!S于是继电器又断开[9]。就是利用置反来操作继电器的通断,如图3.7所示
图3.7继电器控制电路
10