单片机C语言部分资料

发布时间 : 星期一 文章单片机C语言部分资料更新完毕开始阅读

图2-5-7 倍速设置

5.下载 下载区域如图所示,此时需要注意的是先打开“下载”按钮以后,再打开单片机电源,进行冷启动。一般情况下,每次需要写入的时候都需要遵守先“下载”后“上电”的顺序操作。操作时候在信息框反映出来工作情况,如图2-5-8所示。

图2-5-8 倍速设置

下面的单选“当目标代码发生变化后自动调入文件,并立即发送下载命令”含义为,对第二步中所选定的文件进行检测,当发现文件被重新生成就开始下载,此时需要做的就是重新冷启动单片机,新的程序就被烧录入单片机。

图2-5-9 下载设置

在主界面的右上部提供了几个常用的工具“文件缓冲区”、“串口调试助手”、“工程文件”等实用工具。如图所示。

图2-5-10 实用工具

右下部分是软件设置以及高级应用,这部分就不在详细阐述。

3.6 串行通信

随着网络通信技术的应用,人们越来越多的采用计算机与单台或多台单片机构成小型集散控制系统,它即利用了单片机系统成本低、面向控制和抗干扰等优点,又结合了计算机极为丰富软件资源,为用户提供了一个非常友好的人机见面。通过单片机与计算机通行采用串行通信,能够实现智能化控制、汉字与图形显示等诸多功能。

3.6.1 RS-232接口原理

RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。DB25的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个。随着设备的不断改进,现在DB25针很少看到了,代替它的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2(RXD)、3(TXD)、5(GND)这三个。被广泛用于计算机的串行接口(COM1、COM2等)与单片机或其它终端之间的近地连接。因此现在都把RS232接口叫做DB9。该标准在数据传输速率20Kbps时,最长的通信距离为15米。由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:

1.接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。

2.传输速率较低,在异步传输时,波特率为20Kbps;因此在“南方的老树51CPLD开发板”中,综合程序波特率只能采用19200bps,也是这个原因。

3.接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。

4.传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。

C1 30PC2 30PR1 1KIC STC89C51CY 12MHz1918XTAL1XTAL2P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516179RESETVCCC4 10μ132C5 10μC3 10μ293031PSENALEEAP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7VS+DB9-2DB9-3C1-C1+VCC1234567813R1INR1OUT1214T1OUTT1IN1198R2INR2OUT7T2IN10T2OUT4C6 10μ图3-6-1 单片机RS-232接口

8051系列单片机上有UART(Universal Asynchronous Receiver/Transmitter通用异步接收/

发送)用于串行通信,发送数据时由TXD(P3.1)端送出,接收数据时由RXD(P3.0)端输入。单片机内部有两个数据传输缓冲器SBUF,一个作为发送,一个作为接收。UART是可编程的全双工串行口,短距离单片机之间通行可以直接互联,使用接口芯片MAX232可以接成RS-232接口与计算机COM口进行通行。图3-6-1是单片机常用的RS-232接口电路原路。

C2-C2+56VS-C7 10μ

3.6.1单片机串行口设置

一、串行口通信有关的SFR 1.串行口控制寄存器SCON

SCON是串行口控制和状态寄存器,其格式如下:

D7 SM0 D6 SM1 D5 SM2 D4 REN D3 TB8 D2 RB8 D1 TI D0 RI (1)SM0,SM1:串行口工作方式控制位。具体工作方式见表3-4-1。fOSC为单片机外接晶体振荡频率。

表3-6-1 串行口工作方式控制

SM0 0 0 1 1

SM1 0 1 01 1

工作方式 方式0 方式1 方式2 方式3

应用 同步移位寄存器 10位异步收发 11位异步收发 11位异步收发

波特率 fOSC/12 由定时器控制 fOSC/32或fOSC/64 由定时器控制

(2)SM2:多机通信控制位。用于工作方式2、3。SM2 = 1时,只有接收到第九位(RB8)为1时,RI才置位;SM2 = 0时,只要接收到数据RI就置位。

(3)REN:串行口接收允许位。REN = 1,允许串行口接收数据;REN = 0,禁止串行口接收数据。

(4)TB8:工作在方式2、3时,为发送数据的第九位,也可以作奇偶校验位。

(5)RB8:工作在方式2、3时,为接收数据的第九位,在工作方式1时,为接收数据的停止位。

(6)TI:发送中断标志位,当数据向外发送(SBUF = DATE,数据写入SBUF)后,TI 自动置位,必须软件清零。

(7)RI:接收中断标志位,当数据向外发送(a = SBUF,数据从SBUF读出, a为变量)后,RI 自动置位,必须软件清零。

2.电源控制寄存器PCON

D7 SMOD D6 D5 D4 D3 GF1 D2 GF0 D1 PD D0 IDL 这里只用到了PCON的第七位SMOD,它是与串行通信波特率设置有关,SMOD也叫串行口通信波特率的加倍位。当SMOD = 1时,工作方式1、3时的波特率为定时器1溢出率/16;工作方式2时的波特率为fOSC/32。当SMOD = 0时,工作方式1、3时的波特率为定时器1溢出率/32;工作方式2时的波特率为fOSC/64。

GF0、GF1:通用标志位,PD、IDL:CHMOS器件类型的单片机的低功耗控制位。 二、串行口的工作方式 1.方式0

方式0为移位寄存器输入/输出方式。串行数据通过RXD端输入输出,TXD则用于输出移位同步脉冲。此时收发的数据为8位,低位在前,且波特率为fOSC/12,数据发送以写入SBUF指令开始,8位数据输出结束后,TI置位。数据接收是在REN = 1、RI = 0同时满足时开始,接收的数据从SBUF读出结束后,RI置位。

移位寄存器工作方式对节省硬件资源很有用,串行口外接移位寄存器芯片74HC164就可以构成输出接口,接74HC165可以工程输入接口,在如果晶体振荡频率为12MHz,8为数据通过串行口传输大约10微秒就可以完成。移位寄存器工作方的另一种用法是直接构成两个单片机的数据通信,晶体振荡频率为12MHz,数据传输波特率为1M,只是通信距离较短。

2.方式1

方式1为10位异步通信方式,由1位起始位(第0位,默认为0)、8位数据位和1位停止位(第9位,由TB8决定,默认为1)组成,起始位和停止位在发送数据(数据写入SBUF)时自动插入。任何1条写入SBUF指令都启动1次发送中断,发送的前提是寄存器SCON中的TI = 0,发送结束后TI置位。

方式1接收数据的前提是REN = 1,同时RI = 0且SM2 = 0或接收停止位为1。如果接收有效,将接收数据装入SBUF和寄存器SCON的RB8(接收数据的第9位),否则舍弃接收结果。

方式1的波特率由一下公式计算得到,即:

联系合同范文客服:xxxxx#qq.com(#替换为@)