基于51单片机gps通讯内容摘要:
ORT 0 DRIVERS PORT 2 LATCH PORT 0 LATCH RAM RAM AODR REGSTER PROGRAM ADDRESS REGISTER DPTR PROGRAM COUNTER PC INCREMENTER BUFFER 7 MCS51 的引脚描述 图 2- 2显示的是主流 MCS51单片机的引脚配置图。 引脚可分为以下四类: 1.主电源引脚 VCC和 VSS 2.外接晶振引脚 XTAL1和 XTAL2 3.控制或其他电源复用引脚 RST/VPD、 ALE/、和 /VPP 4.输入 /输出引脚 P0、 P P P3(共 32根) 图 23 MCS51单片机的引脚配置 图 存储器配置 MCS51的存储器采用哈佛结构,即程序存储器和数据存储器的寻址空间是分开的,对 51系列而言,有四个物理上相互独立的存储器空间,即内外程序存储器,内外数据存储器。 物理上分为: 4个空间,即片内 ROM、片外 ROM、片内 RAM、片外 RAM 逻辑上分为: 3个空间, 即程序内存(片内、外)统一编址 数据存储器(片内) 数据存储器(片外) 8 ( 1) .程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行。 那么设计人员编写的程序就存放在微 处理器的程序存储器中,俗称只读程序存储器( ROM)。 MCS51具有 64KB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。 51片内有 4KB的程序存储单元,其地址为 0000H— 0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从 0000H单元开始执行程序。 但在程序存储中有些特殊的单元,这在使用中应加以注意:其中一组特殊是 0000H— 0002H单元,系统复位后, PC为 0000H,单片机 从 0000H单元开始执行程序,如果程序不是从 0000H单元开始,则应在这三个单元中存放一条无 条件转移指令,让 CPU直接去执行用户指定的程序。 另一组特殊单元是 0003H— 002AH,这 40个单元各有用途,它们被均匀地分为五段,它们的定义如下: 0003H— 000AH外部中断 0中断地址区。 000BH— 0012H定时 /计数器 0中断地址区。 0013H— 001AH外部中断 1中断地址区。 001BH— 0022H定时 /计数器 1中断地址区。 0023H— 002AH串行中断地址区。 可见以上的 40个单元是专门用于存放中断处理程序的地址单元,中断响应 后,按中断的类型,自动转到各自的中断区去执行程序。 因此以上地址 单元不能用于存放程序的其他内容,只能存放中断服务程序。 但是通常情况下,每段只有 8个地址单元是不能存下完整的中断服务程序的,因而一般也在中断响应的地址区安放一条无条件转移指令,指向程序存储器的其它真正存放中断服务程序的空间去执行 ,这样中断响应后, CPU读到这条转移指令,便转向其他地方去继续执行中断服务程序。 ( 2) .数据存储器 数据存储器也称为随机存取数据存储器。 MCS51单片机的数据存储器在物 理上和逻辑上都分为两个地址空间,一个是内部数据存储区和一个外部数据存储区。 MCS51内部 RAM有 128或 256个字节的用户数据存储(不同的型号有分别),它们是用于存放执行的中间结果和过程数据的。 MCS51的数据存储器均可读写,部分单元还可以位寻址。 一般的 51单片机内部 RAM共有 256个单元,这 256个单元共分为两部分。 其一是地址从 00H— 7FH单元(共128个字节)为用户数据 RAM。 从 80H— FFH地址单元(也是 128个字节)为特殊寄存器( SFR)单元。 从下图中可清楚地看出它们的结构分布。 9 特殊功能寄存器区( SFR) 数据缓冲区堆栈区工作单元 位寻址区 3 区 2 区 1 区 0 区 24 内部 RAM分配图 在 00H— 1FH共 32个单元中被均匀地分为四块,每块包含八个 8位寄存器, 均以 R0— R7来命名,我们常称这些寄存器为通用寄存器。 CPU只要定义这个寄存的 PSW的第 3和第 4位( RS0和 RS1),即可选中这四组通用寄存器。 对应的编码关系如图表 2- 1所示。 表 21 PSW与工作寄存器关系 (RS!) (RS0) 工作寄存器区 0 0 0区 00H— 07H 0 1 1区 08H— 0FH 1 0 2区 10H— 17H 1 1 3区 18H— 1FH 特殊 功能寄存器( SFR)也称为专用寄存器,特殊功能寄存器反映了 MCS51 单片机的运行状态。 [9]很多功能也通过特殊功能寄存器来定义和控制程序的执行。 MCS51有 21个特殊功能寄存器,它们被离散地分布在内部 RAM的 80H— FFH地址中,这些寄存器的功能已作了专门的规定,所以用户不能修改其结构。 内部 RAM的 20H— 2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。 位寻址区共有 16个字节, 128个位,位地址为 00H— 7FH。 CPU能直接寻址这些位,执行例如置“ 1”、清“ 0”、只能字节寻址 可字节寻址 亦可 位寻址 全部可位寻址 共 16 个字节 128 位 4 组通用寄存器 R0R7 也可作 RAM 使用, R0、 R1 亦可位寻址 FFH 80H 7FH 20H 2FH 00H 20H 1FH 10 求“反”、 转移,传送和逻辑等操作。 我们常称 MCS51具有布尔处理功能,布尔处理的存储空间指的就是这些为寻址区。 输入 /输出端口 MCS51单片机有 4个双向并行的 8位 I/O口 P0~ P3, P0口为三态双向口, 可驱动 8个 TTL电路, P P P3口为准双向口,其负载能力为 4个 TTL电路。 ~ ( 39~ 32脚): 8位漏极开路的三态双向输入 /输出口。 可作为一般的 I/O口使用,也可作为数据线、地址线使用。 ~ ( 1~ 8脚): 8位带有内部上拉电阻的准双向输入 /输出口。 P1口通常作为通用 I/O口使用。 作为输出口时,由于电路内部已经带上拉电阻,因此 P1 P2 S1 P2 指令周期机器周期 S2S3 S4 S5 S6 S1 S2 S3 S4S5 S6 P1 P2 P1 P2 P1P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2XTAL2 (OSC) 振荡周期 时钟周期 无需外接上拉电阻;作为输入口时,也需先向锁存器写入“ 1”。 是一个标准的 I/O口。 本次项目中就是利用他们进行模拟串行通信。 ~ ( 21~28脚): 8位带有内部上拉电阻 的准双向输入 /输出口。 P2口可作为通用 I/O口使用,也可作为高位地址线使用的。 ~ ( 10~ 17脚): 8位带有内部上拉电阻的准双向输入 /输出口。 P3口可作为通用 I/O口使用,也可作为第二功能需要来用的。 对于 P3口,实际上,都是先按需要选取第二功能,多余的再作为输入输出口使用 定时器 /计数器 MCS51的单片机内有两个 16位可编程的定时 /计数器,它们具有四种工作方式,其控制字和状态均在相应的特殊功能寄存器中,通过对控制寄存器的编程,就可方便地选择适当的工作方式。 定时器在本次项目中需要 用到地方较多。 MCS51单片机内部的定时 /计数器的结构如图所示: 11 图 25 MCS51单片机定时 /计数器结构图 定时器 T0由特殊功能寄存器 TL0(低 8位)和 TH0(高 8位)构成,定时 器 T1由特殊功能寄存器 TL1(低 8位)和 TH1(高 8位)构成。 特殊功能寄存器 TMOD控制定时寄存器的工作方式, TCON则用于控制定时器 T0和 T1的启动和停止计数,同时管理定时器 T0和 T1的溢出标志等。 程序开始时需对TL0、 TH0、 TL1和 TH1进行初始化编程,以定义它们的工作方式和控制 T0和 T1的计数。 TMOD和 TCON这两个特殊功能寄存器的格式参见下表: 表 22 定时 /计数器的方式控制字 TMOD D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 TI方式字段 TO方式字段 表 23 定时器控制寄存器 TCON D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 MCS51的定时 /计数器共有四种工作方式,我们将逐个了解下,并着重介绍 本次项目采用的工作方式 2。 工作方式 0:定时 /计数器 0的工作方式 0是 13位计数结构的工作方式,其计数器由 TH的全部 8位和 TL的低 5位构成, TL的高3位没有使用。 定时时间的计算公式为: (213— 计数初值 )179。 晶振周期179。 12或 (213— 计数初值 )179。 机器周期,其时间单位与晶振周期或机器周期相同。 工作方式 1:方式 0和方式 1的区别仅在于计数器的位数不同,方式 0为 13位,而方式 1则为 16位,由 TH0作为高 8位, TL0为低 8位,定时时间的计算公式为:( 216-计数初值)179。 晶振周期179。 12或( 216— 计数初值)179。 机器周期。 12 工作方式 2:当 M1M0=10时 ,定时 /计数器处于工作方 式 电路如图 2- 5所示。 我们以定时 /计数器 0为例 ,定时 /计数器 1与之完全一致 图 26 定时 /计数器工作方式 2等效电路 工作方式 0和工作方式 1的最大特点就是计数溢出后,计数器为全 0,因而 循环定时或循环计数应用时就存在反复设置初值的问题,这给程序设计带来许多不便,同时也会影响计时精度,工作方式 2就针对这个问题而设置,它具有自动重装载功能,即自动加载计数初值,所以也有的文献称之为自动重加载工作方式。 在这种工作方式中, 16位计数器分为两部分,即以 TL0为计数器,以 TH0作为预置寄存器,初 始化时把计数初值分别加载至 TL0和TH0中,当计数溢出时,不再象方式 0和方式 1那样需要“人工干预”,由软件重新赋值,而是由预置寄存器 TH以硬件方法自动给计数器 TL0重新加载。 但这种方式也有其不利的一面,就是这样一来的计数结构只有 8位,计数值有限,最大只能到 255。 所以这种工作方式很适合于那些重复计数的应用场合。 例如我们可以通过这样的计数方式产生中断,从而产生一个固定频率的脉冲。 也可以当作串行数据通信的波特率发送器使用。 本次项目中的波特率就采用 T1的方式二产生。 工作方式 3:在工作方式 3模式下,定时 /计数器 0被 拆成两个独立的 8位计数器 TL0和 TH0。 其中 TL0既可以作计数器使用,也可以作为定时器使用,定时 /计数器 0的各控制位和引脚信号全归它使用。 其功能和操作与方式 0或方式 1完全相同。 TH0就没有那么多“资源”可利用了,只能作为简单的定时器使用,而且由于定时 /计数器 0的控制位已被 TL0占用,因此只能借用定时 /计数器 1的控制位 TR1和 TF1,也就是以计数溢出去置位 TF1, TR1则负责控制 TH0定时的启动和停止。 串行接口 13 MCS51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器( SBUF), 这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。 但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,它们的地址为 99H。 这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。 如果在串行口的输入输出引脚上加上电平转换器,就可方便地构成标准的 RS232接口。 常用于数据通信的传输方式有单工、半双工、全双工和多工方式。 中断 单片机中 CPU只有一个,但在同一时间内可能会面临着处理很多任务的情况,如运行主程序、数据的输入和输出,定时和计数时间已到要处理 、可能还有一些外部的更重要的中断请求(如超温超压)要先处理。 此时也得象人的思维一样停下某一样(或几样)工作先去完成一些紧急任务的中断方法。 这样的处理方法上升到计算机理论,就是一个资源面对多项任务的处理方式。 由于资源有限,面对多项任务同时要处理时,就会出现资源竞争的现象。 中断技术就是为了解决资源竞争的一个可行的方法,采用中断技术可使多项任务共享一个资源。 MCS51提供了 5个中断源,两个中断优先级控制,可实现两个中断服务嵌套。 [11]当 CPU支持中断屏蔽指令后,可将一部分或所有的中断关断,只有打开相应的中断控 制位后,方可接收相应的中断请求。 程序设置中断的允许或屏蔽,也可设置中断的优先级。 14 图 27 MCS51中断系统结构 等 CPU响应中断请求后,就立即转入执行中断服务程序。 不同的中断源、 不同的中断要求有。基于51单片机gps通讯
相关推荐
..........................17 河南大学本科毕业生学士学位论文 第 I 页 摘 要 随着计算机科学的发展,数据库技术在 Inter 中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。 个性化已逐渐成为当今 Web 应用的潮流。 本文研究了一种基于数据关联规则网上 图书 系统,此方案与现今网上已采用的一些方案相比,具有用户使用更简单、界面更直 观等优点。
一条 订单与航班见的联系,因此,航空订票系统是一个涉及管理内容众多,数据关系复杂的系统。 本航空系统的开发主要分为程序软件的开发及对数据库的建立两部分。 对程序软件的前台开发,对用户的需求要有完整性,并且得让用户使用起来方便;对数据库的后台建立,要使得数据库具备一致性、完整性、安全性、独立性、易扩展性等功能。 国内外的发展概况 从迈入 21 世纪开始,在这个新的历史时期电子商务探索发展了十多年
列表以及分别对应的单价和总额,并且登录的顾客可以查看其当前定单的状态以及在本网上购物系统中所有历史定单信息。 5. 用户管理 本系统不支持匿名购买商品,顾客要购物的话必须注册相应的 ID,因此主要功能为支持用户注册,同时也支持用户修改 其基本信息,包括修改登录密码。 6. 用户控件 显示本网上购物系统的顶端图片以及一些友情链接和版权信息,使本系统更加美观、更加符合当前网站主流样式。
)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿 (Princeton)结构。 INTEL 的 MCS51 系列单片机采用的是哈佛结构的形式,而后续产品 16 位的 MCS96 系列单片机则采用普林斯顿结构。 2. 8051 引脚图 单片机的 40个引脚大致可分为 4 类:电源、时钟、控制和 I/O 引脚。 电源 : ⑴ VCC 芯片电源,接 +5V; ⑵
计是基于 Keil C和 Proteus软件联合调试实现的。 首先在 Keil C 软件环境下写入源程序然后建立工程文件编译运行无误后使其生成相应的 .HEX 文件,接着在 Proteus 软件环境中将生成的 .HEX 文件加载进入 51单片机中 ,在电路连接无误的情况下进行调试运行即可 【 6】。 软件工具简介 Proteus 简介 英国 Labcenter 公司推出的 Proteus
CH0引脚的信号, LTC1865采样的范围为 Vref到 Vcc,其中 Vref的电压由引脚 Vref决定,可以通过硬件配置为 1V~Vcc。 表 32 通道配置字选择 引脚功能: CONV:转换开始输入端。 CH0: 模拟输入通道 0。 CH1: 模拟输入通道 1。 GND:接 地 端。 SDI:串行 数据输入。 SDO:串行 数据输出。 SCK 串行时钟输入端。 VCC: 电源输入 端。