51最小系统设计

  • 格式:doc
  • 大小:406.50 KB
  • 文档页数:9

单片机最小系统设计制作

1、 单片机最小系统电路板硬件设计

单品机最小系统电路板选用的是DIP-40封装的单片机STC89C51作为MCU。系统包括时钟电路,复位电路和下载电路,如图1所示。

图1 单片机最小系统原理框图

1.1 时钟电路

STC89C51单片机内部有一个用于构成振荡器的高增益反向放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,使得单片机能够以此作为时钟控制信号,从而有条不紊的进行工作。

如电路原理图2所示在引脚XTAL1和XTAL2跨接晶振Y1和微调电容C1和C6。电容一般选择30pf左右,电容的大小会影响振荡器频率的高低,稳定性和速度。晶振的频率一般在1.2 MHz至12MHz之间,通常选取6MHz或12MHz。

MCU

STC

89C51 时钟电路

复位电路 P C机

串行通讯

MAX232 图2 时钟电路

1.2 复位电路

复位电路一般有两种方式,最简单的为上电自动复位。由于只要给复位引脚RST加上大于2个机器周期的的高电平就能使单片机复位,因此在RST端加上一个电容和电阻用来充放电就可实现,如图3所示。本系统采用的是另一种方式,即手动复位方式。按键没按下时RST端通过电阻接地为低电平,单片机正常工作,若按键按下RST端接高电平就实现复位,更加方便,如图4所示。

图3 上电自动复位电路 图4 手动复位电路

1.3 下载电路

图5 下载电路

下载电路中所用的MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。在传送方面,MAX232内部将+5V电源提升为+10及-10V,然后接收单片机的+5V电平,转换成10V的信号,再传送给PC机。在接收方面,MAX232从PC上接收+10V的信号,经过内部寄存器,转换成单片机所需的+5V电平。简单的说,MAX232不过是个电平转换装置而已,使得信号在不同处理器之间互通。如图5所示,只要在MAX232上接4个10u左右的电容和一个串口头就可以用来下载程序了。

图6 单片机最小系统电路原理图

2、 单片机最小系统电路板测试程序的设计

测试最小系统板的好坏,我们就选用最简单例子来测试——闪光灯程序。只需在单片机的P1.0口接入一个发光二极管就可以进行检测,如图7。

图7 闪光灯电路

2.1 程序框图

图8 闪光灯程序流程图

2.2 汇编源程序

ORG 0000 //程序的起始地址

START: CLR P1.0 //将P1.0口置为低电平

LCALL DELAY //调用延时子程序

SETB P1.0 //使P1.0口变为高电平

LCALL DELAY //调用延时子程序

LJMP START //转入主程序

DELAY: MOV R5,#20 //延时子程序,延时0.2秒 D1: MOV R6,#20

D2: MOV R7,#248

DJNZ R7,$

DJNZ R6,D2

DJNZ R5,D1

RET

END

2.3 C语言源程序

#include //包含51头文件

sbit D1=P1^0; //定义一个变量D1,值是P1的第一个口

void delay02s(void) //延时0.2秒子程序 2*(20*20*248)/(1000*1000)

{

unsigned char i,j,k;

for(i=20;i>0;i--)

for(j=20;j>0;j--)

for(k=248;k>0;k--);

}

void main(void)

{

while(1)

{

D1=0; //灯亮

delay02s();

D1=1; //灯灭

delay02s();

}

} 3、 单片机系统的下载

3.1 KEIL软件

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件。

我们就以前面闪光灯的例子,介绍下KEIL软件的使用。

(1) 打开软件,单击project新建一个工程,工程名为闪光灯

图9

(2) 再单击File,新建一个文本文件。

图10 (3)将上面的C语言程序输到文本里面,并保存,文件名为led.c。

图11

图12

(4)点击左框Project Workspace里面的号,就会出现

文件夹,右击该文件夹就会出现对话框,选择Add Files to Groud ‘Source Group 1’。则会弹出如图13的对话框,然后填入led.c文件名,按键。

图13

(5)再右击Project Workspace里面的,选择Options for Target

‘Target 1’,弹出图14对话框,双击Atmel,选择。然后单击菜单栏里面的,在上打钩,最后点击确定。

图14

(6)单击工作栏中的进行编译,若编译成功则会在下面的框里出现提示,,如果有报错则要再修改程序,直到没错误为止。

这样就完成了所有操作,在闪光灯文件夹里就会出现

文件,这就是我们所要下载的文件了。 3.2 STC-ISP软件

通过STC-ISP软件我们就可以把执行文件拷到自己设计的系统电路板了。

首先打开软件,弹出如图15所示的窗口。在MCU

type 里面选择,点击选择keil编译生产的led.hex文件,接着在选择所接串口的COM,再选择适当的波特率,最后就可以了。

图15