图2-3 AT89C51的复位电路
AT89C51的串行口:
(1)基本概念
数据通信的传输方式:常用于数据通信的传输方式有单工、半双工、全双工和多工方式。 A.单工方式:数据仅按一个固定的方向传送。因为这种传输方式的用途有限,常用于串行口的打印数据传输与简单系统间的数据采集。
B.双工方式:数据可以实现双向传送,但不能同时进行,实际的应用采用某种协议实现收发开关转换。
C.全双工方式:允许双方同时进行数据双向传送,但一般全双工电路的线路和设备比较复杂。 D.多工方式:以上三种传输方式都是同一线路传输一种频率信号,为了充分的利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分、或码分复用技术,即可实现在同一线路上资源共享功能,我们称之为多工传输方式。
串行通信的两种通信形式 A. 异步通信
在这种通信方式中,接收器和发射器有各自的时钟,他们的工作是非同步的,异步通信用一帧来表示一个字符,其内容如下:一个起始位,紧接着是若干个数据位,图 是传输45H的数据格式。
B.同步通信
同步通信格式中,发送器和接收器由同一个时钟源控制,为了克服在异步传输中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送的数据量较大的
(2)MCS-51的串行和控制寄存器
MCS-51单片机串行口专用寄存器的SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发射器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址(99H)。MCS-51的串行数据传输很简单,只要向缓冲器写入数据就可发送数据。而从接收缓冲器读出数据既可接收数据。
此外,接收缓冲器前还加上一级输入移位寄存器,MCS-51这种结构的目的在于接收数据时避免发生重叠现象,文献称这种结构为双缓冲结构。而发送数据就不需要这样设计,因为发送时,CPU是主动的,不可能出现这种情况。 串行通信控制寄存器(SCON),它是一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是98H,其结构格式如表2-3所示。
第6页,共37页
表2-3 SCON寄存器结构
D7 SM0 9FH
D6 SM1 9EH
D5 SM2 8DH
D4 REN 9CH
D3 TB8 9BH
D2 RB8 9AH
D1 TI 99H
D0 RI 98H
SCON 位地址
下面我们对SCON控制位功能介绍如表2-4所示。
1)SM0、SM1:串行口工作方式控制位
表2-4 SCON控制位功能介绍
SM0 0 0 1 1
SM1 0 1 0 1
工作方式 方式0 方式1 方式2 方式3
功能说明
移位寄存器方式(用于I/O扩展) 8位UART,波特率可变(T1溢出率/n) 9位UART,波特率为fosc/64或fosc/32 9位UART,波特率可变(T1溢出率/ n)
2)SM2:多机通信控制位
多机通信是工作方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收的前8位数据送入SBUF,且置位RI发出中断申请,否则会将收到的数据放弃。当SM2=0时,只有在接收到有效停止位时才启动RI,若没接收到有效停止位,则RI清“0”。在方式0中SM2应该为“0”。
REN:允许接收控制位。由软件置“1”时,允许接收;软件置“0”时,不许接收。 TB8:在方式3和方式3中要发送的第9位数据,需要时用软件置位和清零。
TB8:在方式2和方式3中是接收到的第9位数据。在方式1时,如SM2=0,RB8接收到的停止位。在方式0中,不使用RB8。
TI:发送中断标志。由硬件在方式0发送完第8位时置“1”,或在其它方式中串行发送停止位的开始时置“1”。必须由软件清“0”。
RI:接收中断标志。由硬件在方式0串行发射第8位结束时置“1” B:特殊功能寄存器PCON
PCON:主要是是CHMOS型单片机的电源控制而设置的专用寄存器,单元地址为87H其机构格式如表2-5所示。
表2-5 特殊功能寄存器PCON
PCON 位符号
D7 SMOD
D6 —
D5 —
D4 —
D3 GF1
D2 GF0
D1 PD
D0 IDL
在CHMOS型单片机中,除SMOD位外其它位均为虚设的,SMOD是串行波特率倍增位,当SMOD=1时串行口波特率加倍,系统复位默认为SMOD=0。 这里重述一下中断允许寄存器IE对串行口有影响的位ES。ES为串行中断允许控制位,ES=1允许串行中断,ES=0,禁止串行中断。如表2-6所示。
表2-6 中断允许寄存器
符号 位地址
EA AFH
— AEH
— ADH
ES ACH
ET1 ABH
EX1 AAH
ETO A8H
EX0 A8H
(3)串行口工作方式
串行口具有4种工作方式,我从应用和毕业设计的角度,重点讨论方式1发送。串行口定义为
方式1时传送1帧数据为10位,其中1位起始地址、8位数据位(先低位后高位)、1位停止位方式
第7页,共37页
1的波特率可变,波特率=22.2 LCM1601
SMOD/32?(T1的溢出率)
LCM1601是一款兼容的液晶显示模块,支持5×7点阵和16字×2行符两种模式,背光亮度和显示对比度可调,是一种功能较简易、价格较便宜的液晶显示器件。它由液晶显示屏和驱动器两部分组成,单片机通过写控制字方式访问它的驱动器来实现对显示屏的控制。 图2-4所示为LCM1601封装图。
图2-4 LCM1601封装图
器件封装为单列DIP16,引脚定义如表2-7所示。
表2-7 LCM1601引脚说明
编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
标示 VSS VDD V0 RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 LED+ LED-
背光源正极 背光源负极 引脚说明 电源地 电源正极 液晶显示偏压 指令/数据选择端(H/L)
读/写选择端 使能信号
位数据总线 82.3 4×4行列式扫描键盘
简易的行列式键盘不需要借助其他的I/O扩展芯片,直接占用P1的8条口线,再利用单片机内
第8页,共37页
部的软件来配合实现4 ×4扫描键盘,其特点是简单且不增加成本,通常在系统I/O线充裕的情况下采用。
2.4 音频功率放大器件LM386
LM386的接脚图如图2-8所示。LM386是专为低损耗电源所设计的功率放大器。它的内建增益为20,透过pin 1 和pin8脚位间电容的搭配,增益最高可达200。LM386输入电压范围可由4V~12V,无作动时仅消耗4mA电流,且失真低。
图2-8 接脚图
2.5 RS-232电平转换器件Max232
MAX232芯片是MAXIM 公司生产的,包含两路接收器和驱动器的IC芯片。MAX232芯片内部有一个
电源电压转换器,可以把输入的+5V 电压变换为RS-232输出电平所需的一1O~+ 10V 电压。所以采用此芯片接口串行通信系统只需单一的+5V电源就可以了。对于没有一12~+12V 的场合,其适应性更强。加之其价格适中,硬件接口简单,所以被广泛采用。图2-9所示为Max232的封装图。
图 2-9 Max232封装图
引脚说明如表2-8所示。
第9页,共37页
表2-8 Max232引脚说明
VCC GND C+、C- T1IN T1OUT R1IN R1OUT T2IN T2OUT R2IN R2OUT 供电电压 地 外围电容 第一路TTL/CMOS驱动电平输入 第一路RS-232电平输出 第一路RS-232电平输入 第一路TTL/CMOS驱动电平输出 第二路TTL/CMOS驱动电平输入 第二路RS-232电平输出 第二路RS-232电平输入 第二路TTL/CMOS驱动电平输出 3部分器件的原理分析
3.1 键盘扫描的工作原理
简易的行列式键盘不需要借助其他的I/O扩展芯片,直接占用P1的8条口线,再利用单片机内
部的软件来配合实现4行4列的扫描键盘,其特点是简单且不增加成本,通常在系统I/O线充裕的情况下采用。其原理图如图3-1所示。
图3-1原理图
工作原理:I/O口P2.7~P2.1充当列选线,P2.3~P2.1充当行选线。在键盘开始扫描的时候,首
先向P2口赋行扫描初值7FH,令第一行(P2.3)为0,从第一行开始检测。接下来检测第一行的第一列是否键按下?没有按下,则检测第二列,如果4列扫描完毕,没有键按下,则扫描下一行,如此往复,直至4行4列检测完毕。当有键按下时,相应的列选线电平被拉低,首先扫描行选线,确定按键的行号,然后扫描列选线,确定列号,则按键的编号即可确定。 3.2 按键发声原理
要产生音频脉冲,只要算出某一音频的周期,然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O引脚上得到此频率的脉冲。
计数脉冲值与频率的关系公式如下:
第10页,共37页