基于单片机的红外遥控智能小车毕业设计报告 联系客服

发布时间 : 星期六 文章基于单片机的红外遥控智能小车毕业设计报告更新完毕开始阅读

基于单片机的红外遥控小车

当EXEN2=1时,引脚T2EX/P1.1的负跳变,使EXF2=1,并产生T2中断。EXF2只能用软件清除。当DCEN=1时,T2处于向上/向下计数模式,EXF2部引起中断。

RCLK: 接收时钟允许。

当RCLK=1时,T2的溢出脉冲可作为串行口方式1和方式3的接收时钟; 当RCLK=0时,T1的溢出脉冲将作为串行接收时钟。 TCLK: 发送时钟允许。

当TCLK=1时,T2的溢出脉冲可作为串行口方式1和方式3的发送时钟; 当TCLK=0时,T1的溢出脉冲将作为串行发送时钟。 EXEN2:T2外部允许。

当EXEN2=1时,T2EX的负跳变引起T2捕捉或重装,此时T2不能用做串行口的串行时钟。

当EXEN2=0时,T2EX的负跳变将不起作用。 TR2:T2启动控制位。

当TR2=1时,启动T2;TR2=0时,停止T2。 C/T2: 定时器/计数器2工作方式选择位。

C/ T2=0,为定时工作方式;C/ T2=1,为计数工作方式。 CP/RL2:T2捕捉/重装功能选择位。

当CP/ RL2=1且EXEN2=1时,引脚T2EX/P1.1的负跳变引起捕捉操作。 当CP/ RL2=0且EXEN2=1时,引脚T2EX/P1.1的负跳变引起自动重装操作。 当CP/ RL2=0且EXEN2=1时,T2溢出将引起捕捉自动重装操作。 2 定时器/计数器2模式寄存器T2MOD

表4 T2MON位定义

位 序 位标志 D7 — D6 — D5 — D4 — D3 — D2 — D1 T2OE D0 DCEN T2MOD不可位寻址,地址为0C9H。其各位定义如表4所示。 T2OE:定时器2输出允许位。

当T2OE=1时,允许时钟输出至引脚T2/P1.0; 当T2OE=0时,禁止引脚T2/P1.0输出。

第5页

基于单片机的红外遥控小车

DCEN:计数器方向控制。 当DCEN=0时,T2自动向上计数;

当DCEN=1时,T2向上/向下计数方式,由引脚T2EX状态决定计数方向。 3 定时器/计数器2操作方式选择见表5

表5 定时器/计数器2操作模式

C/ T2 X X X X X RCLK+TCLK 0 0 1 1 X CP/ RL2 0 1 X X X T2OE 0 0 X 1 X TR2 1 1 1 1 0 模 式 16位自动重装模式 16位捕捉模式 波特率发生器模式 时钟输出模式 T2停止 2.1.3 单片机最小系统

单片机最小系统包括振荡电路和复位电路,见图2-2所示。晶振采用12M晶振,指令周期为1us,复位电路采用上电复位和手动按键复位。

图2-2 单片机最小系统

2.2 液晶显示

液晶显示在电子产品设计中使用率相当高,普通的七段数码管显示器只能显示数字,若遇到要显示英文字符时,则一定会选择使用液晶显示器我们所用的LCD模块,其背面含有控制电路,其上面有专门的IC来完成LCD的动作控制,在自行设计的接口中,只要送入适当的命令码和欲显示的数据,LCD便会将字符显示出来,控制方法非常简单。

第6页

基于单片机的红外遥控小车

其基本特性如下:

A.容易和4Bit/8Bit MPU相连; B.可选择5×7或5×10点阵字符; C.显示数据RAM容量:80×8Bit (80字符);

D.字符发生器ROM能提供用户所需字符库或标准库; 字库容量:192个字符(5×7点字型); 32个字符(5×10点字型); E.DDRAM和CGRAM都能从MCU读取数据; 2.2.1 1602LCD接口引脚说明

一般市售的LCD都有统一的引脚,共有16个引脚,其外观如图2-3所示,其中有8个是数据引脚、3个控制引脚、5个接地和电源脚。各引脚号及其功能如表6所示。

表6 1602LCD引脚说明

引脚号 1 2 3 4 5 6 7 8 符号 Vss Vdd V0 RS R/W E DB0 DB1 引脚说明 电源地 电源正极 液晶驱动电源 数据/命令选择端 读/写操作选择端 使能信号 数据总线(LSB) 数据总线 引脚号 9 10 11 12 13 14 15 16 符号 DB2 DB3 DB4 DB5 DB6 DB7 LEDA LEDK 引脚说明 数据总线 数据总线 数据总线 数据总线 数据总线 数据总线(MSB) 背光+5V 背光地

图2-3 1602LCD外观

2.2.2 LCD的控制方法

通过单片机来控制LCD模块,方法十分简单,LCD模块其内部可以看成有两组寄存器,一个为指令寄存器,一个为数据寄存器,由RS引脚来控制。所有对指令寄存器或数据寄存器的存取均需检查LCD内部的忙碌标志(busy flag),此

第7页

基于单片机的红外遥控小车

标志用来告知LCD内部正在工作,当此位为0时,才可以写入指令或数据。

1602模块的设定,读写,与光标控制都是通过指令来完成,共有11条指令,如表7所示。

表7 1602LCD指令码

RS R/W 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 D7 D6 D5 D4 D3 D2 D1 D0 功 能 0 0 0 0 0 0 0 1 清屏 0 0 0 0 0 0 1 * 复位 0 0 0 0 0 1 I/D S 内部方式设置 0 0 0 0 1 D C B 显示开关控制 0 0 0 1 S/C R/L * * 位移控制 0 0 1 DL N F * * 系统方式设置 0 1 A5 A4 A3 A2 A1 A0 CGRAM 地址设置 1 A6 A5 A4 A3 A2 A1 A0 显示地址设置 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 忙状态检测 数 据(写) MCU-LCDRAM 数 据(读) LCDRAM-MCU 具体描述如下:

指令1:清显示,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H。

指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。

指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。

指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。R/L,高向左,低向右。

指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电

平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符(有些模块是 DL:高电平时为8位总线,低电平时为4位总线)。

指令7:字符发生器RAM地址设置,地址:字符地址*8+字符行数 (将一个字符分成5*8点阵,一次写入一行,8行就组成一个字符) 。

指令8:置显示地址,第一行为:00H——0FH,第二行为:40H——4FH。

第8页