在计算机控制应用中直接开发单片机的一种方法
扫描二维码
随时随地手机看文章
摘要:针对没有单片机开发系统或EPROM写入器无法对单片机进行开发的问题,设计了利用PC机对单片机进行直接简便开发的方法。详细介绍了80C31单片机为对象,利用PC机直接开发单片机的原理及步骤。通过PC机与单片机最小系统的异步通信,实现EPROM写入器功能。反向由单片机向PC机发送数据,使得PC机的监视器和存储器成为单片机的监视器和存储器。该方法节省了单片机开发系统和EPROM写入器等“必需品”,具有简单新颖,可灵活配置等特点,有较高的实用价值。
0 引言
单片机开发可采用PC机编辑源程序,交叉汇编,产生目标代码,再利用开发系统或EPROM写入器写入EPROM。抛开单片机开发系统或EPROM写入器,直接利用PC机开发单片机,可简化系统。
1 80C31单片机结构及原理
1.1 内部结构
80C31单片机是8位单片机,属标准MCS-51的HCMOS产品,结合了HMOS的高速高密度及CMOS的低功耗特性。其引脚图如图1所示。
80C31引脚图中:P0.0~P0.7,P0口为8位双向口线(引脚39~32);P1.0~P1.7,P1口为8位双向口线(引脚1~8);P2.0~P2.7,P2口为8位双向口线(引脚21~28);P3.0~P3.7,P3口为8位双向口线(引脚10~17)。
1.2 并行I/O口
(1)P1口:外部扩展存储器作数据总线或地址总线;作一般I/O口,需外接上拉电阻。
(2)P2口:扩展外部存储器作地址总线;作一般I/O口,内部有上拉电阻。
(3)P3口:除作I/O口使用(内部有上拉电阻),由特殊寄存器设置其他功能。
1.3 定时/计数器
工作方式包括方式0、方式1、方式2和方式3。方式0为16位定时/计数;方式1为16位定时/计数;方式2为8位自动重装时间常数定时/计数;方式3为用于定时/计数器0。TL0用于8位定时/计数,TH0只用于8位定时。
1.4 串行接口
工作方式有:方式0、方式1、方式2和方式3。
(1)方式0:8位移位寄存器同步传送,波特率固定为fose/12。
(2)方式1:10位异步传送(异步接收/发送器:UART)。TXD:发送数据;RXD:接收数据。
字符(帧)格式:1位起始位,8位数据位,1位停止位。
波特率=(2SMOD×T1溢出率)/32
T1溢出率=fose/[12(256-x)]
(3)方式2:11位异步传送
字符(帧)格式:1位起始位,8位数据位,1位可编程位,1位停止位。
波特率=2SMOD×fose/64
(4)方式3:同方式2,但波特率可调。
波特率=(2SMOD×T1溢出率/32)
2 由单片机最小系统构成EPROM写入器
如图2所示,单片机最小系统通过电平转换器和PC机串行口RS 232相连组成EPROM写入器。8031串行口输出为TTL电平,PC机串行口采用RS 232标准。该电平转换电路用于RS 232标准与TTL电平的转换。
8031串行口是全双工通信接口,能同时进行信号收发。串行口缓冲器SBUF是可直接寻址专用寄存器。串行口控制器用于控制和监视串行口工作状态,在工作模式1时传送10位。特殊功能寄存器PCON只与串行口D7位有关,SMOD=0波特率为fose/64,SMOD=1波特率为fose/32。PC机与单片机通信程序如下:
10 OPEN“COM1:1200.N,8>1.RS,CS,DS,CD”AS#1
20 INPUT“FILE NAME:”;FILE$
30 OPEN FILE$ FOR INPUT AS#2
40 B$=INPUT$(1,#2)
50 PRINT B$
60 PRINT#1,B$;
70 IF EOF(2)THEN GOTO 100
80 GOTO 40
100 CLOSE:END
本程序中,PC机串行口初始化为波特率1200b/s,无校验,10位传送数据。8031单片机串行口设置工作模式1,定时器1置为工作方式2。
3 利用PC机直接开发单片机
具体步骤如下:
(1)将单片机接收程序固化在2764 EPROM中。
(2)利用单片机进行源程序编辑,交叉汇编,产生目标代码。
(3)将2764插入ROM槽,2864插入RAM槽。
(4)运行发送程序,将应用程序目标代码写入2864。
(5)将2864插入ROM槽,6264插入槽,运行应用程序。
此方法较为简单,无需预设地址,由内部通信程序自动完成,使用方便。
4 结语
PC机向单片机最小系统发送程序和数据,构成EPROM写入器;单片机向PC机发送数据,使PC机的监视器和存储器成为单片机的监视器和存储器,达到用PC机直接开发单片机的目的。此法节省了单片机开发系统和EPROM写入器等“必需品”,随单片机应用的发展,将发挥重要作用。