基于gps车辆监控系统的设计内容摘要:

A0 TXD RTS DTR CTS RXD 地 GPS 接收机 A1...A8 CS 双口 RAM CLK 地址译码器 和分频器 OE CE OE / CE (论文) 15 3)具有 32 根可编程 I/O 口线; 4)具有 3 个可编程定时器; 5)中断系统是具有 8 个中断源、 6 个中断矢量、 2 级优先权的中断结构; 6)串行口是具有一个全双工的可编程串行通信口; 7)具有一个数据指针 DPTR; 8)低功耗工作模式有空闲模式和掉电模式; 9)具有可编程的 3 级程序锁定位; 10)工作电源电压为 5( 1 ) V,且典型值为 5V; 11)最高工作频率为 24MHz AT89C52 单片机的引脚排列如图 32 所示。 图 32 AT89C52 引脚排列 AT89C52 pin Order AT89C52 的引脚排列与 AT89C51 的引脚排列相同,除了引脚 和 外,其余引脚的功能完全相同。 表 31 列出了 和 的替代功能。 存储器组织和特殊功能寄存器 AT89C52 单片机的数据存储器为 256 字节,程序存储器 为 8KB。 数据存储器结构如图 33 所示。 AT89C52 存储器在物理上存在 4 个存储空间: 1)程序存储器有片内程序存储器和片外程序存储器; 2)数据存储器有片内数据存储器和片外数据存储器; AT89C52 存储器在逻辑上存在 3 个地址空间: 基于 GPS车辆监控系统的设计 16 1)片内、片外统一的 64KB 程序存储器地址空间; 2)片内 256 字节数据存储器和 128 字节 SFR 地址空间; 3)片外 64KB 的数据存储器地址空间。 表 31 和 的替代功能 and alternative function 引 脚 替代功能 说 明 T2 定时器 2 的外部事件输入端可编程脉冲输出端 T2EX 定时器 2 的捕捉 /重装触发器输入端;定时器 2 的计数方向控制端 200 0HFFFFH外部ROMROM 区1FFFH000 0H内部ROMEA =1外部ROMEA =0FFH80H7FH00H内部RAM内部SFR内部RAM外部RAMRAM 区FFFFH000 0H 图 33 数据存储器结构 Data storage structure 访问这些不同的逻辑空间时,应选用不同形式的指令。 当 EA 引脚接地时,仅使用 64KB的片外程序存储器, CPU 从外部 0000H~ FFFFH 的地址空间取指令;当 EA 引脚 接 CCV 时,CPU 从片内 000H 地址开始取指令,当 PC 值超过 1FFFH 时,自动转到外存储器 2020H~FFFFH 地址空间执行程序。 AT89C52 的片内 /外程序存储器在 0000H~ 1FFFH 地址空间重叠,由 EA 信号来区分。 片内 /外数据存储器在物理空间上是互相独立的,在逻辑地址空间上有 256 字节的重叠区,各自有不同的访问指令加以区分。 片外数据存储器为 16 位地址,用数据指针 DPTR间址,用 MOVX 类指令访问。 片内 RAM 用 MOV 类指 令访问。 (论文) 17 AT89C52 片内 RAM 的低 128 字节( 00H~ 7FH)也划分为 3 个区域:工作寄存器区、位寻址区和用户 RAM 区。 高 128 字节( 80H~ FFH)是片内 RAM 区与具有固定功能的SFR 的地址空间重叠区域,但在物理空间上是完全分开的两部分,可以用位寻址方式来区分这个重叠的地址空间。 使用直接寻址方式访问 80H~ FFH 空间时,访问的是 SFR;用间接地址(用 0R 和 1R 间址)访问 80H~ FFH 空间时,访问的是数据存储器。 很多文献中 ,直接用 “片内 RAM”来代表片内数据存储器。 与 AT89C51 相比, AT89C52 的 SFR 增加到 27 个,表 32 列出了新增加的 SFR 的基本情况。 表 32 AT89C52 部分 SFR AT89C52 part of SFR 地 址 符 号 复 位 值 说明 0C8H T2CON 0000H 定时器 2 控制寄存器 0C9H T2MOD XXXX XX00B 定时器 2 模式寄存器 0CAH RCAP2L 000H 定时器 2 捕捉 /重装寄存器低字节 0CBH RCAP2H 000H 定 时器 2 捕捉 /重装寄存器高字节 0CCH TL2 000H 定时器 2 低字节 0CDH TH2 000H 定时器 2 高字节 可编程异步通信接口 GPS 按标准串行异步通讯格式输出数据。 在此,采集卡采用可编程串行异步通讯口做收发器。 单片机有专门的异步收发器,可用定时器 T1 作波特率发生器,用 TXD 和 RXD做收和发。 但是,单片机 AT89C52 在扩展外部数据存储器时, ALE 作为锁存地址低位字节,并以不变的频率周期输出。 正是这个原因,对外部数据存储器某单元进行操作时,低位地址相同的单元内容将同时改变,影响了 数据操作的可靠性。 为了克服这种现象,可在内部寄存器 SFR 8EH 地址上置 “0”来禁止 ALE 的输出。 此时 ALE 只有在执行 MOVX 指令时才起作用,保证了外部数据存储器操作的唯一性。 由于 SFR 8EH 地址上置 “0”,即禁基于 GPS车辆监控系统的设计 18 止了单片机波特率发生器。 因此在此选用 16C552 可编程异步通信口。 1)异步通信芯片 16C552 的原理 16C552 是 TI( TI16C552)、 VLSI( VL16C552)等公司生产的异步通信芯片,功能特点如下: 增强的双向打印机端口 16 字节的 FIFO 可减少 CPU 中断 每个通道具有独立的发送,接 受,线路状态和设置中断功能 每个通道具有独立的 MODEM 控制信号 每个通道具有可编程串行数据发送格式 数据位长度为 8 偶校验、奇校验或无校验 停止位长度为 、 2 可编程波特率发生器 每个通道对数据和控制总线具有三态 TTL 驱动 (1)16C552 的管脚及功能框图 16C552 是 68 针 PLCC( Plastic Leaded Chip Carrier)封皮,其管脚功能如图 34 所示。 从图中我们可以看出,它的串口主要完成两项功能,即把从外部设备或调制解调器接收进来的串行数据转换成并行数据;以及把 CPU 的并行数据转换成串行数据以利发送。 在正常操作的过程中, CPU 每时每刻都可以读 16C552 的完成状态。 状态信息报告 16C552传输操作的类型和状态,还包括各种错误状态,如奇偶校验、溢出、格式错误或停顿指示。 另外 16C552 还具有完整的调制解调器控制功能,包括: 允许发送( CTS); 请求发送( RTS); 数据设备准备好( DSR); 数据终端准备好( DTR); 振铃指示( RL); 载波检测( DCD); 16C552 的并口是一个标准的打印机接口,它可以通过 PEMD 管脚信号控制是工作在兼容模式还是扩展模式。 此外, 16C552 还具有自动排优的中断系统,并且它的串口和并口都可以工作在中断(论文) 19 和查询两种工作方式。 图 34 功能框图 The graph for function (2)串行接口寄存器 16C552 内部对串行口操作有 11 个单字节寄存器。 CPU 执行输入输出可以访问这些寄CTSO DSRO DCD0 RID SINO CSO RTSO DTRO SOUT0 INT0 串口 1 串口 2 3533 选择 和 控制 逻辑 44 63 65 66 67 68 1 38 43 ACK PEMD CS2 ENIRQ 57 56 55 58 59 并行口 1421 DB 0DB7 8 5346 PD0PD7 INIT AFD INT2 STB SLIN ERR SLCT BUSY PE 8 8 8 A0A2 IOW IOR RESET CLK 36 37 39 4 32 3 13 5 8 6 3 12 11 10 60 61 42 RTS1 DTR1 SOUT1 INT1 RXRDY1 TXRDY1 CTS1 DSR1 DCD1 RI1 SIN1 CS1 28 31 29 30 41 32 24 25 2645 9 22 RXRDY0 TXRDY0 基于 GPS车辆监控系统的设计 20 存器。 串行口的这 11 个寄存器占用了 7 个 I/O 端口地址,有些寄存器共同使用一个端口地址,可以通过读 /写信号和线路控制寄存器的 D7( DLAB)来区分。 具体描述如表 33 所示。 表 33 串行接口寄存器 The serial port Register DLAB A2 A1 A0 符号 寄存器 L L L L RBR 接收缓冲寄存器 L L L L THR 发送保持寄存器 L L L H IER 中断允许寄存器 X L H L IIR 中断识别寄存器 X L H L FCR FIFO 控制寄存器 X L H H LCR 线路控制寄存器 X H L L MCR MODEM 控制寄存器 X H L H LSR 线路状态寄存器 X H H L MSR MODEM 状态寄存器 H L L L DLL 除数锁存器低位 H L L H DLM 除数锁存器高位 下面就每个寄存器做一简单介绍。 ① 接收缓冲寄存器存放接收到并且已经转换过的并行数据。 线路状态集训器的 D0 指明该寄存器是否已经接收到一个完整的字符。 ② 发送保持寄存器存放将要发送的数据,和发送缓冲寄存器有关的标志是线路状态寄存器的 D5。 若 D5=1,说明发送缓冲寄存器空,可以送入下一个字符。 ③ 有四种类型的事件能够引发串行接口中断请求,设置中断允许寄存器可以禁止某些中断源提出中断请求。 在允许中断的条件下, 如果有多个中断源申请中断,中断识别寄存器能够区分这些中断类型。 设置中断允许寄存器前必须将线路控制寄存器 D7 清为 0。 中断允许寄存器仅使用低 4位。 D0=1 允许接收就绪中断 D1=1 允许发送缓冲器空中断 D2=1 允许接收出现错误或接收到间断信号中断 D3=1 允许 MODEM 状态中断 ④ 四种类型的中断对应 4 级优先权,在中断识别寄存器中高 5 位不用,恒为 0, D0=0表示有中断产生, D0=1 表示无中断产生, D0 与其他位组合定义如表 34 所示。 (论文) 21 ⑤ FIFO 控制寄存器是一个只写寄存器,它允许和清除 FIFO,设置接收 器 FIFO 触发标准和选择 DMA 信号的类型,对该寄存器的各位描述如下: D0 允许发送器和接收器的 FIFO,该位为 0 时,在两者 FIFO 中的所有数据都被清除,对该寄存器的其它位编程时,必须将 D0 设置为 1。 D1=1 清除在接收器 FIFO 中的所有字节和重新设置计数器。 D2=1 清除在发送器 FIFO 中的所有字节和重新设置计数器。 D3=1 当 D0=1 时,将 RXDRY 和 TXDRY 从模式 0 改为模式 1。 D D5 保留为将来反应。 D D7 设置接收器 FIFO 中断的触发标准。 表 34 IIR 的功能 The function of IIR D3D2D1D0 优先级 中断类型 复位 0001 无 无 无 0110 1 接收状态有错 读 LSR 0100 2 接收数据就绪 读 RBR 1100 2 字符空指示 读 RBR 0010 3 发送完毕 写 THR 0000 4 MODEM 状态变化 读 MSR ⑥ 线路控制寄存器存放传送的二进制位串数据格式,各位定义如图 35 所示。 47 6 5 3 2 100=5 位01=6 位10=7 位11=8 位字长选择停止位选择0=1 位 1= 位( D1D0 =00 )=2 位校验有效校验类型恒定校验间断控制锁定波特率发生器 0= 有效 1= 无效0= 奇校验1= 偶校验 0= 有效 1= 无效 0= 有效 1= 无效0= 访问其它寄存器1= 访问波特率因子寄 存器 图 35 LCR 的各位定义 The each location of LCR definition ⑦ 线路状态寄存。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。