单片机与PC通讯Word文档格式.docx
- 文档编号:18097985
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:15
- 大小:220.34KB
单片机与PC通讯Word文档格式.docx
《单片机与PC通讯Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机与PC通讯Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
(1)P0口:
是八位双向三态I/O口。
在访问外部存储器时可以做低八位地址线和八位数据线。
没有接上拉电阻。
(2)P1口:
内部带有上拉电阻的八位双向三态I/O口。
能接收低八位地址,
(3)P2口:
访问外部存储器的时候可以送出高八位地址。
(4)P3口:
有第二功能。
P3.0RXD串行输入口
P3.1TXD串行输出口
P3.2/INT0外部中断0
P3.3/INT1外部中断1
P3.4T0定时计数器0
P3.5T1定时计数1
P3.6/WR外部数据存储器写选通
P3.7/RD外部数据存储器读选通
(5)Vcc和Vss分别是+5V电源和地
(6)XTAL1和XTAL2外接晶振引脚
(7)RESET复位引脚
(8)EA内部外部存储器选通信号
(9)ALE实现数据和地址的分离
(10)/PSEN外部程序存储器读选通信号
3.2单片机内部结构图
从下图可知,它主要由8个部件通过片内总线连接而成。
部件有中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行输入/输出口、串行口、定时/计数器、中断系统及特殊功能寄存器。
CPU
(运算部件)
(控制部件)
数据
存储器
P0口
P2口
程序
P1口
串行口
定时/
计数器
P3口
中断系统
特殊
功能
寄存器(SFR)
3.3本设计中所用特殊功能寄存器介绍
3.3.1TMOD
GATA
C/T
M1
M0
(1)GATA:
门空位。
是定时控制器的开启与外部中断和单片机内部开启结合起来。
(2)C/T:
为0时,是定时器。
为1时,是计数器
(3)M0和M1:
用来选择工作方式。
3.3.2TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
(1)TF1和TF0:
定时计数器0和1的溢出标志位。
(2)TR1和TR0:
定时计数器0和1的开启位。
(3)其中低四位与中断系统的外部中断有关。
本设计中不涉及。
3.3.3SCON
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
(1)SM0和SM1:
用来确定串行都得工作模式。
(2)SM2:
用于多机通信,本设计中不涉及。
(3)TB8和RB8:
本设计中不涉及;
(4)TI:
发送数据标志位。
表示发送缓冲器以空。
(5)RI:
接收数据标志位。
表示接收缓冲器已满。
3.3.4PCON
该寄存器的SMOD位是波特率倍增位。
3.4MAX232芯片介绍
3.4.1MAX232引脚介绍
(1)第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
(2)第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
(3)8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
(4)TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;
DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
(5)第三部分是供电。
15脚GND、16脚VCC(+5v)。
3.4.2主要特点:
(1)符合所有的RS-232C技术标准
(2)只需要单一+5V电源供电
(3)片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-
(4)功耗低,典型供电电流5mA
(5)内部集成2个RS-232C驱动器
(6)高集成度,片外最低只需4个电容即可工作。
3.4.3RX232简单应用电路
(电容器应选择1μF的电解电容。
在使用过程中本人曾用过10μF的代替。
)
注意,由于RS232电平较高,在接通时产生的瞬时电涌非常高,很有可能击毁max232,所以在使用中应尽量避免热插拔。
3.5八段数码管介绍
3.5.1LED的分类
八段LED数码管根据LED的接法不同分为共阴和共阳两类。
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
3.5.2LED的封装
led数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
led数码管常用段数一般为7段有的另加一个小数点。
数码管各段定义如图
3.5.3LED数码管的驱动方式
(1)静态显示驱动
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×
8=40根I/O端口来驱动,而一个89S52单片机可用的I/O端口才32个呢,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
(2)动态显示驱动
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"
a,b,c,d,e,f,g,dp"
的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
4模块设计
4.1电源模块
系统供电电源模块电网电压为220V交流电,我们自制了直流稳压电源为系统供电。
采取三端可调式稳压器LM系列作稳压部分制作普通的正压稳压直流电源,对电路的数字部分和模拟部分共同供电。
4.2控制模块
选用AT89S52单片机,它是八位微处理器,集成度高,可靠性高。
可用汇编语言和C语言编程。
(上图为单片机最小系统)
该最小系统由按键复位RESET电路、晶体振荡电路以及I/O接口电路组成。
复位的实现通常用2种方式:
开机上电复位和外部手动复位,本设计用的是外部手动复位。
电路图2.5如下:
4系统设计
4.1电路框图
框图说明:
主程序模块循环检测串行口接收标志位是否为1,即是否有新的数据输入。
检测到有新的数据输入之后,将数据送至中断模块,由中断控制,分别取数据的高位和低位在两个八段数码管上显示。
在单片机接收到数据的同时,将所接收的数据回发至PC机上,使数据发送者确定单片机接收数据的正确性。
4.2程序流程图
主程序
定时务程器0中断服序
定时器0中断入口
4.4C语言程序及其解释
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
//以上是52系列单片机的头文件和预定义字符
uchari,j,t,txd,flag;
ucharcodes8[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
voidsend_char(uchartxd);
voidtime0();
//变量的定义、数码管段码表的输入、函数的声明
voidmain()
{TMOD=0x21;
TH1=TL1=0xfd;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
//定时计数器的初始化和其初值的设定
SCON=0x50;
PCON=0x00;
//串行口的初始化
EA=1;
ET0=1;
TR1=TR0=1;
//中断的开启
flag=0x00;
while
(1)
{if(RI==1)
{RI=0;
//验证是否有数据自PC输入
t=SBUF;
send_char(t)//将数据发送回PC机的函数
}
}
voidsend_char(uchartxd)
{SBUF=txd;
while(!
TI);
TI=0;
voidtime0()interrupt1//使数据在两位数码管上动态显示的中断函数
{TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
i=t%16;
j=t/16;
switch(flag)
{case0x00:
P0=s8[j];
P2=0xfe;
flag++;
break;
case0x01:
P0=s8[i];
P2=0xfd;
flag=0;
}
该程序用KeiluVision3软件编译成功,且借助串口大师软件成功运行,并且能达到预期效果,即输入00——FF之间的十六位进制数可以在数码管上得到显示,并且PC机上可以接受单片机接受的数据。
y
4设计总结
在系统设计的全过程中我们遵循了以下设计原则,使我们的方案系统化、清晰易懂、可靠性高、可维护性好。
总结如下:
(1)正确性和完备性原则:
我们在每“级”的设计完成后,都进行反复的过细检查,确保指标所要求的各项功能全部实现并留有必要的余地,以便最后对设计进行适当的优化。
(2)模块化、结构化原则:
每个模块均有明确的可独立完成的功能,而且对某个模块内部进行修改时不应影响其他的模块。
这样方便系统的调试和查错。
(3)直观性、清晰性原则:
我们不采用使人难以理解的诀窍和技巧,而选用最合适最清晰易懂的设计方案,这使得系统的可维护性非常好。
参考文献:
(1).黄智伟.全国大学生电子设计竞赛训练教程.北京:
电子工业出版社,2005
(2).潘新民,王燕芳.微型计算机控制技术.北京:
电子工业出版社,2005
(3).万文略.单片机原理及应用.重庆大学出版社
(4).赵丽清.51单片机开发与应用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 PC 通讯