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
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