当前位置:文档之家› 无线数据传输

无线数据传输

引言

我所做的是单片机无线数据传输系统(发射部分)的设计与制作,主要在实验室完成,通过参考有关的书籍和资料,个人完成电路的设计、检查、调试,再根据自己的硬件和通信协议用汇编语言编写发射和显示程序,然后加电调试,最终达到准确无误的发射和显示。在这过程中需要选择适当的元件,合理的电路图,基本的故障排除和纠正能力,会使用基本的仪器对硬件进行调试,会熟练的运用汇编语言编写程序,会用相关的软件对自己的程序进行编译,并烧进芯片中,要与对方接收机统一通信协议,要耐心的反复检查、修改和调试,直到达到预期目的。

单片机串行通信发射机采用串行工作方式,发射并显示数字信息,既显示0-D(16进制),使数据能够在不同地方传输。硬件部分主要分四大块,由AT89C51、键盘组成的控制模块、液晶显示、无线发射等。包括时钟电路、数据控制电路,时钟采用11.0592MHZ晶振和30pF的电容来组成内部时钟方式,数据信号通过键盘用P1口来控制,P0口产生信号并通过液晶1602LCD来显示,软件采用汇编语言来编写,发射程序在通信协议一致的情况下完成数据的发射,同时液晶显示器对发射的数据加以显示。

毕业设计的目的是了解基本电路设计的流程,丰富自己的知识和理论,巩固所学的知识,提高自己的动手能力和实验能力,从而具备一定的设计能力。

本次设计我注重于对单片机串行发射和液晶显示的理论的理解,明白发射机的工作原理,以便以后单片机领域的开发和研制打下基础,提高自己的设计能力,培养创新能力,丰富自己的知识理论,做到理论和实际结合。本课题的重要意义还在于能在较深层次上了解单片机的工作原理,内部结构和工作状态。

此次设计分硬件部分和软件部分。硬件部分介绍:单片机串行通信发射机电路的设计,单片机AT89C51的功能和其在电路中的作用。介绍了AT89C51的管脚结构和每个管脚的作用及各自的连接方法。AT89C51与MCS-51兼容,4K字节可编程闪烁存储器,寿命:1000次可擦,数据保存10年,全静态工作:0HZ-24HZ,三级程序存储器锁定,128*8位内部RAM,32根可编程I/O线,两个16位定时/计数器,5个中断源,5个可编程串行通道,低功耗的闲置和掉电模式,片内震荡和时钟电路,P0和P1可作为串行输入口,P3口因为其管脚有特殊功能,可连接其他电路。例如P3.1TXD作为串行输出口,其中时钟电路采用内时钟工作方式,控制信号采用手动控制。数据的传输方式分为单工、半双工和全双工;串行通信有两种形式,异步和同步通信。介绍了串行串行口控制寄存器,电源管理寄存器PCON,还介绍了液晶显示的工作方式、组成。软件部分:在了解电路设计原理后,根据原理和目的画出电路流程图,列出液晶显示的指令表,计算波特率,设置串行口,在与接收机设置相同的通信协议的基础上编写显示和发射程序。编写完程序还要进行编译,这就必须会使用编译软件。介绍了编译软件的使用和使用过程中遇到的问题,及在编译后烧入芯片使用的软件mais51,后来的加电调试,及遇到的问题,在没问题后与接收机连接,发射数据,直到对方准确接收到。在软件调试过程中将详细介绍调试遇的问题。

1.绪论

1.1选题的目的及意义

数据是指用来描述客观事物的数字、字母和符号等等。数据传输在人类活动中的重要性是不言而喻的。随着人类生产力的发展,迫切的要求在远距离传输数据信息。数据传输可采用有线和无线的方式,有线方式可靠、稳定,但在一些地理条件复杂、线路架设难度大、成本高的场合,无线方式就显出了优势。另外人们不仅需要在移动中进行通信,而且还要求在移动中进行计算机数据通信。在这些情况下,人们强烈需求无线数据的传输。

1.2课题背景及发展趋势

无线数据传输进一步完善了数据通信。数据通信是计算机与通信相结合而产生的一种通信方式,主要是用来实现人与计算机以及计算机与计算机之间的通信。无线数据传输系统有很大的应用范围,几乎所有中低速率的数据传输业务都可以应用,如INTERNET接入、个人信息、股票信息、金融、交通等。通用分组无线业务GPRS也是在现有GSM系统上发展出来的一种新无线数据传输业务,目的是给移动用户提供高速无线IP或X.25服务。GPRS理论带宽可达171.2Kbit/s,实际应用带宽大约在40~100Kbit/s,在此信道上提供TCP/IP连接,可以用于INTERNET连接、数据传输等应用。

2.方案论证

2.1基于数码管的无线数据传输系统

用数码管显示要发送的数据

LED显示器的工作原理:

LED显示是用发光二极管显示字段的显示器件,也可称为数码管,其外形结构如图所示,由图可见它由8个发光二极管构成,通过不同的组合可用来显示0~9、A~F及小数点。

图2.1“8”字型数码管

LED显示器可分为共阴极和共阳极,共阴极是将8个发光二极管阴极连接在一起作为公共端,而共阳极是将8个发光二极管的阳极连接在一起作为公共端。我介绍一下共阴极数码管。如图所示,LED显示器有静态和动态两种显示方式,静态显示是将共阴极联到一起接地,每位的显示段(a-dp)分别与一个8位的锁存器输出相连。由于显示的各位可以相互独立,各位可以互相显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。并且由于各位由一个8位锁存器控制段选线,故在同一时间内每一位显示的字符可以不同,这种方式占用锁存器较多。动态显示是将所有位的段选线相应的并联在一起,由一个8位的I/O口控制,形成段选线的多路复用。而各位的阴极分别由相应的I/O口控制,实现各位的分时选通。要LED能够显示相应的字符,就必须采用动态扫描方式,只要每位显示的时间足够短,则可造成多位同时显示的假象,达成显示的目的。在数字电路中常常要把数据或运算结果通过半导体数码管、液晶数码和荧光数码管,用十进制数显示出来。

2.2基于液晶显示的无线数据传输系统[14]

液晶显示模块是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源、结构件装配在一起的组件,英文名称叫“LCD Module”,简称“LCM”,中文一般称为“液晶显示模块”。它是由点阵字符液晶显示器件和专用的行、列驱动器、控制器及必要的连接件、结构件装配而成的,可以显示数字和西文字符。这种点阵字符模块本身具有字符发生器,显示容量大,功能丰富。一般该

种模块最少也可以显示8位1行或16位l行以上的字符。这种模块的点阵排列是由5×7、5×8或5×11的一组组象素点阵排列组成的。每组为1位,每位间有一点的间隔,每行间也有一行的间隔,所以不能显示图形。其具有显示内容丰富、体积小、重量轻、寿命长、使用方便、安全省电、无辐射等优点,因此广泛应用于移动通讯、仪器仪表、电子设备、家用电器等各个领域。

基本特征:

5V电源电压,低功耗、长寿命、高可靠性

内置192种字符(160个5×7点阵字符和32个5×10点阵字符)

具有64个字节的自定义字符RAM,可自定义8个5×8点阵字符或四个5×11点阵字符

显示方式:STN、半透、正显

驱动方式:1/16DUTY,1/5BIAS

视角方向:6点

背光方式:底部LED

通讯方式:4位或8位并口可选

标准的接口特性,适配MC51和M6800系列MPU的操作时序。

2.物理特性

[14]

3.外部形态如图所示[14]

图2.2LCD1602外形[14]

2.3方案选择

在此我选用方案二,采用该方案制作的显示部分有方案一无法比拟的优点。基于液晶显示的无线数据传输系统不单可以显示数据,还可以实现光标的移位进而修改错误的数据,并且液晶显示还可以显示西文字母,这样就具有很高的实用价值。且功能的实现都是通过程序来实现。显示多个数据,数码管显示需要多个数码管,布线会显的过于复杂、繁琐;而液晶显示则一屏可以显示32个字符,且布线简单。综合考虑我选第二种方案。

工作原理:首先,先在单片机内通过程序对液晶显示、串行通信进行初始化。接着,进行键盘扫描,并且判断键值,调液晶去显示。每次显示前先判断是F键(功能键)吗?,是则进行光标右移,再修改错误的数据,完后返回键盘扫描。不是F键则判断是发射功能键E吗?是就会自动发送所要发送的数据块,不是F、E功能键,就是数据键,调液晶显示。最后再返回键盘扫描部分。

3.单元电路设计

3.1硬件的组成及系统框图

单片机AT89C51、11.0952M晶震、30pF电容、10K电阻、1602液晶显示器、键盘、无线发射模块等

图3.1系统框图

3.2电路图

(见附录)

3.3单片机简介及应用

一.单片机

单片机也被称作“单片微型计算机”、“微控制器”、“嵌入式微控制器”。单片机一词最初是源于“Single Chip Microcomputer”,简称SCM。

单片机主要有如下特点:

1.有优异的性能价格比。

2.集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。

3.控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、

I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。

4.低功耗、低电压,便于生产便携式产品。

5.外部总线增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。

6.单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。

单片机的应用:

由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面:

1.单片机在智能仪表中的应用

2.单片机在机电一体化中的应用

3.单片机在实时控制中的应用

4.单片机在分布式多机系统中的应用

5.单片机在人类生活中的应用

单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。

二.AT89C51单片机简介

AT89C51是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机片内4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。

图3.2单片机AT89C51

AT89C51功能特性描述:

(1)AT89C51引脚功能说明:

·Vcc:电源电压

·GND:地

·P0口:PO口是一组8位漏极开路行双向I/O口,也既地址/数据总线复用口。

·P1口:P1口是一个内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

·P2口:P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输入缓冲极可以驱动(输入或输出电流)4个TTL逻辑门电路。

·P3口:P3口是一组带有内部上拉电阻的8位双向I/O口,,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的P3口将用上拉电阻输出电流。P3口除可作为一般的I/O口线外,更重要的用途是它的第二功能,如表3.1所示:

表3.1P3口第2功能表{3}

·ALE/PROG(30脚):地址锁存有效信号输出端。

·PSEN(29脚):片外程序存储器的读选通信号输出端,低电平有效。

·EA/VPP(31脚):片外程序存储器选用端。

·XTAL1(18脚):震荡器反向放大器及内部时钟的输入端。

··XTAL2(19脚):震荡器反向放大器的输出端。

图3.3AT89C51方框图

·时钟震荡器:AT89C51中有一个构成内部震荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的震荡器一起构成自激震荡器震荡电路,我采用的是11.0592MHZ的石英晶体震荡器,及电容C1、C2(30PF)接在放大器的震荡回路中

构成并联震荡电路,如图。

图3.4内部震荡电路图3.5外部震荡电路

对外接电容C1、C2基本没有非常严格的要求,但电容的大小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程度及温度稳定性。

(2)AT89C51控制信号

RST/VPD(9脚)复位信号时钟电路工作后,在引脚上出现两个机器周期的高电平,芯片内部进行初始复位,复位后片内存储器的状态如表所示,P1—P3口输出高电平,初始值07H 写入堆栈指针SP、清0程序计数器PC 和其余特殊功能寄存器,但始终不影响片内RAM 状态,只要该引脚保持高电平,89C51将循环复位,RAT/VPD 从高电平到低电平单片机将从0号单元开始执行程序。

AT89C81通常采用上电自动复位和开关手动复位,我们采用的是手动复位开关如图所示:图3.6手动开关

手动开关未按下之前,电容正极处于加电状态,当按键按下去后,VCC 与GND 导通,电容放电,从而实现放电使单片机复位。

3.4键盘设计

键盘工作原理:行列式键盘又称矩阵式键盘。用I/O 口线组成行、列结构,按键设置在行列的交点上。因此,在按键数量较多时,可以节省I/O 口线。本设计中要应用16位按键,故采用此方法。行线电平状态将由与此行线相连的列电平决定。列线电平如果为低,则行线电平为低;列线电平如果为高,则行线电平亦为高。这是识别矩阵键盘是否被按下的关键。矩阵键盘中行、列线为多线共用,各按键均影响该键所在行和列的电平。按键设置在行、列交点上,行、列线分别连接到按键开关,行线通过上拉电阻接到+5V 上。平时无按键动作时,行线处于高电平状态,而当有键按下时,各按键将彼此相互发生影响,所以必须将行、列线信号配合起来作适当的处理,才能确定闭合键的位置。

按键的识别方法:按键设置在行、列交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5V 时,被定位在高电平状态。键盘中有无按键按下是由列线送入全扫描字、用行线读行线状态来判断的。其方法是:给列线的所有I/O 口线均置成低电平,然后将行线电平状态读入

累加器A中。如果有键按下,总会有一根行线电平被拉至低电平,从而使输入不全为1。键盘中哪一个键按下是由列线逐列扫描低电平后,检查行输入状态。其方法是:依次给列线送低电平,然后检查所有行线的状态,如果全为1,则所有按下之键不在此列。如果不全为1,则所按下的键必在此列。而且是在与0电平行线相交的交点上的那个键。

键盘的工作方式:单片机系统中,键盘扫描只是CPU工作的一个内容之一。CPU既要忙于处理好各项工作任务,又要保证及时响应对键盘的操作,同时还要节省CPU的时间。所以选择一个好的键盘工作方式,可以提高一个单片机系统的工作效率。键盘的扫描方式有三种,即编程扫描工作方式、定时扫描工作方式和中断扫描工作方式。

表3.34*4键盘界面

0123

4567

89A B3

C D发送(E)右移(F)

0~D:数字键

F键:功能键判断是否右移

E键:功能键判断是否传输数据

消除键抖动,有硬件消抖和软件消抖。硬件消抖是利用RS触发器来实现的。本次设计,我采用软件消抖,通过调10ms延时子程序。如下所示:

DELAY:MOV R2,#10H

DELAY1:MOV R3,#0FAH

DJNZ R3,$

DJNZ R2,DELAY1

RET

通过调延时完全消除了键抖动。

图3.7键盘扫描流程图

3.5LCD1602液晶显示设计

液晶显示模块(LCD Module,简称LCM)是一种将液晶显示器件、连接件、集成电路、PCB线路板、背光源、结构件装配在一起的组件,由于其具有显示内容丰富、体积小、重量轻、寿命长、使用方便、安全省电、无辐射等优点,因此广泛应用于移动通讯、仪器仪表、电子设备、家用电器等各个领域。

图3.8LCD1602内部图[14]

1.接口定义:

第1脚:VSS为电源地,接GND。

第2脚:VDD接5V正电源。

第3脚:VL为液晶显示器对比度调整端,使用时可以通过一个10K的电位器调整对比度。

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当

RS为高电平RW为低电平时可以写入数据。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。

第15脚:BLA背光电源正极(+5V)输入引脚。

第16脚:BLK背光电源负极,接GND。

2.操作时序图

1602LCD液晶显示是一个慢显示,它在执行每条指令前必须先判忙,不忙时执行,忙返回再判忙.它是通过E、RS、RW,的不同状态组合决定执行什么指令的.

如:E RS RW

101;将状态标志BF和地址计数器AC内容读到DB7和DB6-DB0。

0→101;将指令代码写入指令寄存器。

111;将数据寄存器内的数据读入DB0-DB7。

0→110;将DB0-DB7的数据写入数据寄存器中。

(1)写操作时序

图3.9

写操作时序图

(2)读操作时序图3.10读操作时序图

3.指令

1602液晶模块内部的控制器共有11条控制指令,如表1所示。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)。

指令1:清显示,指令码01H,光标复位到地址00H位置

指令2:光标复位,光标返回到地址00H

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

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

高电平闪烁,低电平不闪烁

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

指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵

字符

指令7:字符发生器RAM地址设置

指令8:DDRAM地址设置

指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:写数据

指令11:读数据

TC1602液晶模块内带标准字库,内部的字符发生存储器(CGROM)已经存储了192个5×7点阵字符,32个5×10点阵字符。另外还有字符生成RAM(CGRAM)512字节,供用户自定义字符。如表2所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

图3.11单片机与LCD1602的连接原理图

实现光标右移,其指令是:

D7D6D5D4D3D2D1D0

00010100

00010000

MOVA,14H;实现光标右移一位

MOVA,10H:实现光标左移一位

在修改数据时,发现数据以经修改光标自动移动到下一位,再次修改麻烦和不能直观反映所修改的是那一位。为次我另光标移位并修改次位数据后再执行一条光标左移指令。

具体实现:

先对液晶进行初始化,有管脚定义、开光标、开显示、光标不显示、1602LCM双行显示等。(说明:LCALL WRITE_COM指令代码写入指令寄存)

RS BIT P3.3

R_W BIT P3.4

E BIT P3.5

DB0_DB7EQU P1;管脚定义

CLR RS0

CLR RS1

MOV SP,#50H;选择寄存器组

INITIAL:MOV A,#00111000B;启动LCM子程序,定义双行显示

LCALL WRITE_COM;

MOV R0,#80H;给光标初始地址

MOV A,#80H

LCALL WRITE_COM

ACALL DELAY

MOV A,#0EH;开显示,开光标,光标不闪烁

LCALL WRITE_COM

MOV A,#14H;光标右移

LCALL WRITE_COM

INC R0;指向光标的下一地址

CJNE R0,#090H,KY1;判断是否右移到第一行最后一位8FH,没有跳到KY1MOV R0,#0C0H;光标到第一行最后一位,给光标送第二行的初始地址

MOV A,R0

LCALL WRITE_COM

KY1:CJNE R0,#0D0H,KEY;判断光标是否到第二行最后一位0C0H(已经判断不是第一行最后一位),不是两行的特殊位(光标两行地址不连续),光标地址不存在移错问题,返回键盘扫描MOV R0,#80H;是第二行最后一位,那么下次光标移位就的移到第一行第一位,给光标送下次移位地址。

MOV A,#80H

LCALL WRITE_COM

修改错误数据:

(说明:R7中存放的是正确数据;LCALL WRITE_DATADB0-DB7的数据写入数据寄存器中)MOV A,R0;送现在光标所在地址

LCALL WRITE_COM

MOV A,R7;送正确数据给R7

MOV DPTR,#TAB;查表使以ASCII值发送数据信号

MOVC A,@A+DPTR

LCALL WRITE_DATA

MOV A,#10H;由于修改后光标自动跳到下一位,加上这句光标左移使修改后光标仍在修改的这位,这样对此位还可作二次或更多次修改

LCALL WRITE_COM

3.6单片机的串行接口及通信

MCS-51单片机内部有一个全双工的串行接收和发射缓冲器(SBUF),这两个在物理上独立的接收发射器,即可以接收也可以发射数据,但接收缓冲器只可以读出不能写入,而发送缓冲器只能写入不能读出,它们的地址是99H。这个通信口即可以用于网络通信,亦可以实现串行异步通信,还可

以构成同步移位寄存器使用。

3.6.1基本概念

数据通信的传输方式:常用于数据通信的传输方式有单工、半双工、全双工方式。

单工方式:数据仅按一个固定的方向传送。在本次设计中,我就采用的是单工方式,发射部分只发送数据信号不进行信号接受。接受部分只进行接受,不发送数据信号。

双工方式:数据可以实现双向传送,但双方不能同时进行。

全双工方式:允许双方同时进行数据双向传送,但一般全双工电路的线路和设备比较复杂。

串行通信的两种通信形式:异步通信、同步通信。

此次设计我采用的是异步通信,在这种通信方式中,接收器和发射器有各自的时钟,他们的工作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,紧接着是若干个数据位,一个奇偶效验位(可要可不要),一个停止位。

3.6.2MCS-51的控制寄存器和串口设置

MCS-51单片机串行口专用寄存器结构如图所示。SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发射器寄存器,MCS-51的串行数据传输很简单,只要向缓冲器写入数据就可发送数据。而从接收缓冲器读出数据既可接收数据。

A:串行通信寄存器

我们分析了SCON控制寄存器,它是一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是98H,其结构格式如下:

下面我们对个控制位功能介绍如下:

⑴SM0、SM1:串行口工作方式控制位

SMO SM1工作方式功能说明

00方式0移位寄存器方式(用于I/O扩展)

01方式18位UART,波特率可变(T1溢出率/n)

10方式29位UART,波特率为fosc/64或fosc/32

11方式39位UART,波特率可变(T1溢出率/n)

⑵SM2:多机通信控制位

⑶REN:允许接收控制位。由软件置“1”时,允许接收;软件置“0”时,不许接收。

⑷TB8:在方式2和方式3中要发送的第9位数据,需要时用软件置位和清零。在方式1时,如SM2=0,RB8接收到的停止位。在方式0中,不使用RB8。

(5)TI:发送中断标志。由硬件在方式0发送完第8位时置“1”,或在其它方式中串行发送停止位的开始时置“1”。必须由软件清“0”。

(6)RI:接收中断标志。由硬件在方式0串行发射第8位结束时置“1”

B:特殊功能寄存器PCON

PCON:主要是是CHMOS 型单片机的电源控制而设置的专用寄存器,单元地址为87H 其机构格式如下表:

在CHMOS 型单片机中,除SMOD 位外其它位均为虚设的,SMOD 是串行波特率倍增位,当SMOD=1时串行口波特率加倍,系统复位默认为SMOD=0。

在定时器为方式2时,方式字为:

GATE :表示

1INT 不参与控制C/T :选择计数/时钟方式

M1MO:选定定时器T1工作方式2

所以定时器TMOD 初始值为20H

串行口工作方式:

串行口具有4种工作方式,我从应用和毕业设计的角度,重点讨论方式1发送。

串行口定义为方式1时传送1帧数据为10位,其中1位起始地址、8位数据位(先低位后高位)、1位停止位,方式1的波特率可变,波特率=×32/2

SMOD (T1的溢出率)波特率计算:

我采用的晶震为11.0952M,令发送波特率为1.2K,单片机工作方式为串行方式1,定时/计数器T1工作方式采用方式2,电源控制专用寄存器PCON 中的SMOD 位为0。

波特率=SMOD 2×定时器/计数器T1溢出速率×

132故有:111200=2011.0593MHz 256-X 32

×××

X=232=E8H

把十进制转换成十六进制数为E8,所以定时/计数器的初始值为E8。

发送数据信号子程序我采用的是查询方式,对串口在单片机内进行初始化有:MOV TMOD,#20H;定时/计数器T1工作方式2定时

MOV TH1,#0E8H;定时/计数器T1置初值

MOV TL1,#0E8H;定时/计数器T1置重装植

SETB TR1;启动定时/计数器T1

MOV SCON,#01000000B;置串口工作方式1

4.软件的设计和调试过程

相关主题
文本预览
相关文档 最新文档