51单片机最小系统设计.docx
《51单片机最小系统设计.docx》由会员分享,可在线阅读,更多相关《51单片机最小系统设计.docx(11页珍藏版)》请在冰点文库上搜索。
51单片机最小系统设计
51单片机最小系统设计
一、内容及要求
内容:
设计制作一个51最小系统,用最小系统控制8个发光2极管。
要求:
全部点亮,依次点亮,交换点亮;用最小系统控制蜂鸣器;用最小系统控制电机。
二、设计思路
使用AT89C51单片机时无须外扩存储器。
因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
八个发光二极管D1-D8分别接在单片机的P2.0-P2.7接口上,当给P2.0口输出“0”时,发光二极管点亮,当输出“1”时,发光二极管熄灭。
可以运用输出端口指令MOVP0,A或MOVP0,#DATA,只要给累加器值或常数值,同理,接在P2.1~P2.7口的其他7个LED的点亮和熄灭的方法同LED1。
因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的成流水灯了。
在此我们还应注意一点,由于人眼的视觉暂留
图3-3 LED彩灯显示电路
3.4 按键控制电路
按键控制电路(如图3-4所示)是由6个按键开关构成的。
他们分别接在单片机AT89C51的P1接口和P3.0口,Key1﹍Key5接在P1.0﹍P1.4,Key6接在P3.7上。
为了一对一的控制LED灯的闪烁方式。
当按下开关Key1时,LED彩灯系统闪烁第一种彩灯花型。
当按下开关Key2时,LED灯系统闪烁第二种闪烁方式……
当闭合Key6时,彩灯闪烁节拍变慢。
图3-4 键盘控制电路
3.5 串口电路
串口电路为单片提供与PC机连接端口,为单片机提供下载程序到单片机程序存储器中。
串口原理图如图3-5所示。
串口也称串行通信接口,RS-232是目前最常用的一种串行通讯接口,由于其形状和针脚数量的原因,其接头又被称为DB9接头。
RS-232针脚定义:
2RXD←ReceiveData接收数据、3TXD→TransmitData发送数据、5GND—SystemGround系统接地,一般就用到这几个引脚。
图3-5 串口原理图
MAX232芯片是专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
MAX23内部结构基本可分三个部分:
第一部分是电荷泵电路:
由1、2、3、4、5、6脚和4只电容构成,功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道:
由7、8、9、10、11、12、13、14脚构成两个数据通道,其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道,8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出
第三部分是供电:
15脚DNG、16脚VCC(+5v)。
三、仿真电路图
仿真电路图如图4-1所示:
图4-1 仿真电路图
四、
程序代码
ORG0000H
LJMPMAIN
ORG0040H
MAIN:
MOVP1,#0FFH
MOVA,P1
CJNEA,#11111110b,S1
LCALLK1
S1:
CJNEA,#11111101b,S2
LCALLK2
S2:
CJNEA,#11111011b,S3
LCALLK3
S3:
CJNEA,#11110111b,S4
LCALLK4
S4:
CJNEA,#11101111b,MAIN
LCALLK5
LJMPMAIN
K1:
MOVA,#01111111b
C1:
RLA
MOVP2,A
LCALLDelay
JNBP1.1,K2
JNBP1.2,K3
JNBP1.3,K4
JNBP1.4,Z
LJMPC1
K2:
MOVP2,#0FEH
LCALLDelay
MOVP2,#0FCH
LCALLDelay
MOVP2,#0F8H
LCALLDelay
MOVP2,#0F0H
LCALLDelay
MOVP2,#0E0H
LCALLDelay
MOVP2,#0C0H
LCALLDelay
MOVP2,#80H
LCALLDelay
MOVP2,#00H
LCALLDelay
MOVP2,#80H
LCALLDelay
MOVP2,#0C0H
LCALLDelay
MOVP2,#0E0H
LCALLDelay
MOVP2,#0F0H
LCALLDelay
MOVP2,#0F8H
LCALLDelay
MOVP2,#0FCH
LCALLDelay
MOVP2,#0FEH
LCALLDelay
MOVP2,#0FFH
LCALLDelay
LJMPMAIN
Z:
LJMPK5
K3:
MOVP2,#55H
LCALLDelay
MOVP2,#0AAH
LCALLDelay
MOVP2,#0FFH
LJMPMAIN
K4:
MOVP2,#01111110B
LCALLDelay
MOVP2,#00111100B
LCALLDelay
MOVP2,#00011000B
LCALLDelay
MOVP2,#00000000B
LCALLDelay
MOVP2,#10000001B
LCALLDelay
MOVP2,#11000011B
LCALLDelay
MOVP2,#11100111B
LCALLDelay
MOVP2,#11111111B
LCALLDelay
LJMPMAIN
K5:
MOVP2,#01111110B
LCALLDelay
MOVP2,#10111111B
LCALLDelay
MOVP2,#01111110B
LCALLDelay
MOVP2,#10011111B
LCALLDelay
MOVP2,#01111110B
LCALLDelay
MOVP2,#10001111B
LCALLDelay
MOVP2,#01111110B
LCALLDelay
MOVP2,#10000111B
LCALLDelay
MOVP2,#01111110B
LCALLDelay
MOVP2,#10000011B
LCALLDelay
MOVP2,#01111110B
LCALLDelay
MOVP2,#10000001B
LCALLDelay
MOVP2,#00H
LCALLDelay
MOVP2,#0FFH
LCALLDelay
MOVP2,#00H
LCALLDelay
MOVP2,#0FFH
LCALLDelay
LJMPMAIN
Delay:
JNBP3.0,D1
MOVR5,#01H
LJMPD5
D1:
MOVR5,#04H
D5:
MOVR6,#0FFH
D6:
MOVR7,#0FFH
D7:
NOP
DJNZR7,D7
DJNZR6,D6
DJNZR5,D5
RET
END