毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

单片机LED三文动态信息显示系统 第10页

更新时间:2009-5-21:  来源:毕业论文
单片机LED三文动态信息显示系统 第10页
西安理工大学硕士学位论文
28
(2)TTL的输入:两路TTL电平的输入引脚:11和10引脚,连接单片机的TXD输出
埠。
(3)TTL的输出:两路TTL电平的输出引脚:12和9引脚,连接单片机的RXD输出埠。
(4)RS-232的输入:两路RS-232的输入引脚:13和8引脚,连接RS-232的TXD输出
埠。
(5)RS-232的输出::两路RS-232的输出引脚:14和7引脚,连接RS-232的RXD输出
埠[34]。
通过MAX232的TTL和RS-232的输入/输出埠,自动地调节了单片机串口的TTL电平信
号和RS-232的串口通信信号的电平匹配
[35]
。MAX232与单片机的连接的典型电路如图4-2
所示。
4.3下位机通讯模块设计
4.3.1单片机AT89C51的简介
AT89C51是一个低电压,高性能的8位CMOS单片机,片内含4k bytes的可反复擦写的
只读程序存储器(EPROM)和128 bytes的随机存取数据存储器(RAM)。器件采用ATMEL
公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置有通用的8
位中央处理器和Flash存储单元。
AT89C51是一个低功耗的高性能单片机,共有40个引脚,其中包括32个外部双向输入
/输出(I/O)口,同时内含两个外部中断口,两个16位可编程定时/计数器,两个全双工的
串行通信口。AT89C51可以按照常规方法进行编程,也可以在线编程。由于其将通用的微
处理器和Flash内存结合在一起,特别是应用可反复擦写的Flash内存可有效地降低开发成
本[36]。下图4-3为AT89C51的引脚图。
图4-2 MAX232与单片机的串口连接
Fig4-2 Serial connection between MAX232 and single-chip microcomputer4 PC机和单片机之间的串行通信
29
4.3.2单片机的内部设置
51单片机的通信方式有两种:并行通信和串行通信。并行通信是指数据的N个位同时
发送和接收。串行通信是指数据一位一位的按顺序发送和接收。而单片机的串口通信是通
过串行口来实现的,其串行接口是一个可编程的全双工串行通信接口。它可用作异步通信
(UART)并与串行传送信息的外部设备相连接
[37]

a.内部寄存器的设置
单片机通过引脚RXD串行数据接收端(P3.0)和引脚TXD串行数据发送端(P3.1)与
外界通信。SBUF是串行缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同的名字
和地址空间,但不会出现冲突,因为它们两个有一个只能被CPU读出数据,另外一个只能
被CPU写入数据。
当然,对单片机的串口的使用是通过对串行口的控制与状态寄存器的操作来完成串口
通信设计的。串行口控制寄存器是SCON,它用于定义串行口工作方式及实施接收和发送
的控制[38]。其各位定义如下表4-2所示。
Table4-2 Serial port control register
表4-2串行口控制寄存器
SCON.7 SCON.6 SCON.5 SCON.4 SCON.3 SCON.2 SCON.1 SCON.0
SMO SM1 SM2 REN TB8 RB8 TI RI
SMO、SM1:串行口工作方式选择位,其定义如表4-3所示。
图4-3 AT89C51的引脚定义
Fig4-3 Pin definition of AT89C51西安理工大学硕士学位论文
30
SM2:多机通信控制位。不同的工作方式下,SM2有不同的选择限制。在方式0时,
SM2=0;在方式1中,当SM2=1时,只有接收到有效停止位,RI才置于;在方式2或方式3
中,当SM2=1且接收到的第九位数据RB8=0时,RI才置于1。
Table4-3 Operation mode of SM0 and SM1
表4-3 SMO、SM1的工作方式
SMO/SM1工作方式功能波特率
00方式0 8位移位寄存器fosc/12
01方式1 10位UART可选
10方式2 11位UART fosc/64或fosc/32
11方式3 11位UART可选
REN:接收允许控制位。有软件置位以允许接收,软件清零。
TB8:发送数据的第九位。在方式2或方式3中,要发送的第九位数据,可约定作为奇
偶校验位。
RB8:接收数据的第九位。在方式0中不使用RB8,在方式2或方式3中,RB8为接收收
据到的第九位数据。
TI:发送中断标志位。在发送停止位之前,有硬件置位。T1置位表示申请中断,可
根据需要,用软件查询的方法获得数据已经完毕的信息或用中断的方式来发送下一个数
据。TI必须用软件清零。
RI:接收中断标志位。在接收到停止位的中间时刻由硬件置位。RI置位表示一个数据
接收完毕,可用查询的方法获知或者用中断的方法获知。RI也必须用软件清零。
单片机的串口工作还要受到特殊功能寄存器PCON设置的限制。PCON是一个8位特殊
功能寄存器,地址为87H,其最高位是SMOD,用于51单片机系列的串口设置。该位是单
片机串口的波特率系数的控制位,当SMOD=1时,波特率加倍,否则不用加倍
[39]

b.单片机的串口工作方式[40]
(1)方式0
方式0为8位移位寄存器输入/输出方式,多用于外接移位寄存器以扩展I/O口,波特率
固定为fosc/12,其中的fosc为时钟频率。在方式0中,串行端口作为输出时,只要向串行缓
冲器SBUF写入一个字节数据后,串行端口就把此8位数据以固定的波特率,从RxD引脚逐
位输出(从低位到高位),低位在前,高位在后。此时,TxD输出频率为fosc/12的同步移
位脉冲。数据发送前,尽管不使用中断,中断标志TI还必须清零,8位数据发送完后,TI
自动置1。如要再发送,必须用软件将TI清零。当串行端口以方式0作为输入时,RxD为数
据输入端,TxD仍为同步信号输出端,输出频率为fosc/12的同步移位元脉冲,使外部数据
逐位移入RXD。当接收到8位数据(一帧)后,中断标志RI自动置。如果再接收,必须用
软件先将RI清零。4 PC机和单片机之间的串行通信
31
(2)方式1
10位异步通信方式。其中,1个起始位(0),8个数据位(由低位到高位)和1个停止
位(1)。波特率由定时器T1的溢出率和SMOD位的状态确定。一条写SBUF指令就可启动
数据发送过程。在发送移位单元时钟(由波特率确定)的同步下,从TXD先送出起始位,
然后是8位数据位,最后是停止位。这样的一帧10位数据发送完后,中断标志TI置位。在
允许接收的条件下(REN=1),当RXD出现由1到0的负跳变时,即被当成是串行发送来
的一帧数据的起始位,从而启动一次接收过程。当8位数据接收完,并检测到高电平停止
位后,即把接收到的8位数据装入SBUF,置位RI,一帧数据的接收过程就完成了。
(3)方式2,3
11位异步通信方式,其中包括1个起始位(0),8个数据位(由低位到高位),1个附
加的第9位和1个停止位(1)。方式2和方式3除波特率不同外,其它性能完全相同。方式2
和方式3与方式l的操作过程基本相同,主要差别在于方式2,3有第9位数据。发送时,发
送机的这第9位数据来自该机SCON中的TB8,而接收机将接收到的这第9位数据送入本机
SCON中的RB8。这个第9位数据通常用作数据的奇偶检验位,或在多机通信中作为地址/
数据的特征位[41]。
c.单片机的串口通信波特率的设定
在串行通信中,收发双方的波特率要有一定的约定。在4种工作方式中,方式0和方式
2的波特率是固定的,而方式1和3的是可变的。一般情况下,
方式1的波特率=2
SMOD
/32×定时器T1的溢出率
方式2的波特率=2
SMOD
/64×fosc
方式3的波特率=2
SMOD
/32×定时器T1的溢出率
其中,SMOD是控制寄存器PCON中的一位控空位,其取值有0和l两种状态。显然,
当SMOD=0时,波特率=1/32(定时器T1的溢出率),而当SMOD=1时,波特率=1/16
(定时器T1的溢出率)。所谓定时器的溢出率,就是指定时器一秒钟内的溢出次数。再
者,在晶振时钟频率一定的条件下,方式2只有两种波特率,而方式3可通过编程设置成多
种波特率,这正是这两种方式的差别所在。因为方式2为自动重新装入初值的8位定时器/
计数器模式,所以用它来做波特率发生器最为合适[42]。
一般的,时钟频率选用11.0592时,最容易获得标准的波特率,所以很多单片机系统
都选用了这个晶振。知道了串口通信的设定方法,还需要进行单片机的通信的编程[43]。
具体的编程方法详见后面的章节及源程序附件。下面是一段设定单片机串口接收数据的程
序代码。表示了串口使用前的控制字的设定,波特率的选择以及通信方式的确定。
MOV PCON,#80H;SMOD=1
MOV TMOD,#20H;使用定时器T1,且工作方式2
MOV TH1,#0FDH;设初值,波特率9600b/s
MOV TL1,#0FDH西安理工大学硕士学位论文
SETB TR1;开定时器T1,即可产生波特率
4.3.3单片机通讯软件
a.程序流程图
单片机的程序流程图如图4-4所示。
图4-4单片机的程序流程图
Fig4-4 Program flow process chat of single-chip microcomputer
b.源程序代码
在此先对程序中的一些参数进行说明如下:R0用来存放保存数据的地址,每收到一
个数据,R0加1,加满32个后,R0复原;R2用来计数,计算接收到的数据个数,当收到32

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

单片机LED三文动态信息显示系统 第10页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。