单片机作业串行口应用.doc

单片机作业串行口应用.doc

ID:49360445

大小:152.50 KB

页数:10页

时间:2020-02-29

单片机作业串行口应用.doc_第1页
单片机作业串行口应用.doc_第2页
单片机作业串行口应用.doc_第3页
单片机作业串行口应用.doc_第4页
单片机作业串行口应用.doc_第5页
资源描述:

《单片机作业串行口应用.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、装备工程学院09级单片机作业装备工程学院09级单片机作业学号:0911020214姓名:文星V装备工程学院09级单片机作业串行口扩展应用设计要求:单片机将拨码开关数据串行输入74LS164并行输入到八个LED中进行相应的数码显示摘要:串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。波特率选择波特率(BoudRate)就是在串口通信中每秒能够发送的位数(bits/second)。MSC-51串行端口在四种工作模式下有不同的波

2、特率计算方法。其中,模式0和模式2波特率计算很简单,请同学们参看教科书;模式1和模式3的波特率选择相同,故在此仅以工作模式1为例来说明串口通信波特率的选择。在串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常设置定时器工作于模式2(自动再加模式)。在此模式下波特率计算公式为:波特率=(1+SMOD)*晶振频率/(384*(256-TH1))其中,SMOD——寄存器PCON的第7位,称为波特率倍增位;TH1——定时器的重载值。在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。这要根据系统的运作特点,确定通信的频率范围。然后考虑通信时

3、钟误差。使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。下面举例说明波特率选择过程:假设系统要求的通信频率在20000bit/s以下,晶振频率为12MHz,设置SMOD=1(即波特率倍增)。则TH1=256-62500/波特率根据波特率取值表,我们知道可以选取的波特率有:1200,2400,4800,9600,19200。列计数器重载值,通信误差如下表:因此,在通信中,最好选用波特率为1200,2400,4800中的V装备工程学院09级单片机作业一个。2、通信协议的使用V装

4、备工程学院09级单片机作业通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进行下一步动作。假定我们需要在PC机与单片机之间进行通信,在双方程式设计过程中,有如下约定:0xA1:单片机读取P0端口数据,并将读取数据返回PC机;0xA2:单片机从PC机接收一段控制数据;0xA3:单片机操作成功信息。在系统工作过程中,单片机接收到PC机数据信息后,便查找协议,完成相应的操作。当单片机接收到0xA1时,读取P0端口数据,并将读取数据返回PC机;当单片机接收到0xA2时,单片机等待从PC机接收一段控制数据;当P

5、C机接收到0xA3时,就表明单片机操作已经成功。SBUF 数据缓冲寄存器 这是一个可以直接寻址的串行口专用寄存器。实际上SBUF包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。CPU在读SBUF时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H地

6、址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfrSBUF=0x99;当然你也可以用其它的名称。通常在标准的reg51.h或at89x51.h等头文件中已对其做了定义,只要用#include引用就可以了。SCON 串行口控制寄存器 通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON就是51芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。51芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。它的各个位的具体定义如

7、下:(MSB)(LSB)SM0SM1SM2RENTB8RB8TIRI表2 串行口控制寄存器SCONSM0、SM1为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。看表3串行口工作模式设置。SM0SM1模 式功 能波特率000同步移位寄存器fosc/120118位UART可变1029位UARTfosc/32或fosc/641139位UART可变表3 串行口工作模式设置在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。表中的fosc代表振荡器的频率,也就是晶振的频率。UART为(UniversalAsy

8、nchronousReceiver)的英文缩写。SM2在模式2、模式3中为多处理机通信使能位。在模式0中要求该位为0。V装

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。