南昌航空大学《单片机与接口技术》课程设计
图2-5路程测量电路
2.6单片机各引脚功能说明
AT89S52电路图如图2-6所示:
VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行。校验时,P0输出原码,此时P0外部必须被拉高。
图2-6 AT89S52
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,
11
南昌航空大学《单片机与接口技术》课程设计
输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能口,P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
12
南昌航空大学《单片机与接口技术》课程设计
2.7 5461AS液晶简介
5461AS共阴四位数码管主要技术参数如表2-1所示:
显示容量: 16*2个字符 芯片工作电压: 4.5—5.5V 工作电流: 2.0mA(5.0V) 模块最佳工作电压: 5.0V 字符尺寸: 2.95*4.35(W*H)mm 表2-1 5461AS共阴四位数码管主要技术参数 接口信号说明如图2-6所示:
图2-5 5461AS共阴四位数码管接口信号说明
控制器接口说明(HD44780及兼容芯片) 1、 基本操作时序
a 读状态:输入:Rs=L, Rw=H, E=H 输出:D0—D7=状态字 b 写指令:输入:Rs=L, Rw=L, D0—D7=指令码 输出:无 E=高脉冲
C 读数据:输入:Rs=H, Rw=L, E=H 输出:D0—D7=数据 d 写数据:输入:Rs=H, Rw=L, D0—D7=数据 输出:无 E=高脉冲
状态字说明如表2-2所示: STA7 STA6 STA5 STA4 STA3 STA2 D7 D6 D5 D4 D3 D2 表2-2状态字说明(a) STA0--6 当前数据地址指针的数值 13
STA1 D1 STA0 D0 南昌航空大学《单片机与接口技术》课程设计
STA7 读写操作使能 1:禁止 0:允许 表2-3 状态字说明(b) 注:对控制器进行读写操作之前,都必须进行读写检测,确保STA7为0 RAM地址映射图
控制器内部带有80*8位的RAM缓冲区,对应关系如下图2-5所示:
表2-4 RAM地址映射图LCD16字*2行 00000000000000001… 20 1 2 3 4 5 6 7 8 9 A B C D E F 0 7 44444444444444445… 60 1 2 3 4 5 6 7 8 9 A B C D E F 0 7
显示模式设置如表2-5所示: 指令码 功能 0 0 1 1 1 0 0 0 设置16*2显示,5*7点阵,8位数据接口 表2-5 显示模式设置 显示开关及光标设置如表2-6所示: 指令码 功能 0 0 0 0 1 D C B D=1 开显示; D=0 关显示 C=1 显示光标; C=0 不显示光标 B=1 光标闪烁; B=0 光标不显示 0 0 0 0 0 1 N S N=1 当读或写一个字符后地址指针加一,且光标加一 N=0 当读或写一个字后地址指针减一,且光标减一 S=1 当写一个字符后,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果 S=0 当写一个字符,整屏显示不移动 表2-4 显示开关及光标设置 数据控制
控制器内部没有一个数据地址指针,用户可通过它们来访问内部的全部80字节RAM。
14
南昌航空大学《单片机与接口技术》课程设计
第三章 出租车计价系统的软件设计
3.1 系统工作流程
在本系统中,需要完成对各参量和接口的初始化、出租车起价和单价的初始化等工作。
然后将开始记录距离和时间,并计算总金额、里程和单价送数码管显示出来。程序流程如图所示。
15