您所查看的帖子来源于考研论坛(bbs.kaoyan.com)
实验做过的 拿过来组大家分享51单片机简单I/O实验(交通灯控制)
@v:^,]f:y:ZL
[font=黑体]一[/font][font=System,黑体].[/font][font=黑体]实验要求[/font][font=宋体]
|+xc1l1D_
7WV:G,U;E|Wu7W
以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。
2h!Z,Y.slWg-I:P}0~c
(q,oRnd'g1q
S
[/font][font=黑体]二.实验目的[/font][font=宋体]
O(MX-u[!L
T
$E6H8l!sUfs
1.学习在单片机系统中扩展简单I/O接口的方法。
;r(Gjo)O
a)]z
~'eu|
2.学习数据输出程序的设计方法。
7wxQb}"F*p
!F[g0Cl4M-n}*V:r
3.学习模拟交通灯控制的方法。
:\0?1aO"I&d
+PK2`7U4[mC'W
4.学习双色灯的使用。
oK O*^zpu/g
"na8?%U*n
[/font][font=黑体]三.实验电路及连线[/font]
0]$go"^#|*anD$c
[font=黑体][url=http://www.mcuzb.com/Article/ShowArticle.asp?ArticleID=55][img]http://www.mcuzb.com/Article/UploadFiles/200707/20070724083850479.JPG[/img][/url][/font]
2t,AqZv;e(b
[font=黑体]四.实验说明[/font][font=宋体]
TA:deLn Ix7}`w
#S;YJ&@TP`&b
1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。
S;|Ob
V2}
yk
A
Z+sE3Er
2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
5qa3h-`] x.K'b
\cE3E3v,G'{
[/font][font=黑体]五.实验程序框图[/font][font=宋体]
/A8]'o A/B0]-P-a.j@~4n
)@0Dm%Ud3n6Lm m)F)t
程序框图:[/font]
1Dx%P0X8Pi1K
[font=宋体][img]http://www.mcuzb.com/Article/UploadFiles/200707/20070724083851677.JPG[/img][/font]
A%se#?6B4`b z;j?]
[font=宋体] [/font]
4A}1Qqw~/Im
[font=宋体]
]-UGo-LwQ5`
源代码:[/font]
R`d.TW{W
ORG 0000H
#x4PuZnu9Z
i
LJMP START
V@*p`2{.{)ia
ORG 0040H
vWT/D.Y#f |
START:
I'dhvu
MOV SP,#60H
"L'p7Z s:^&lAO
LCALL STATUS0 ;初始状态(都是红灯)
%h9H,Q~^
CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯
1{'[@
e
N?
LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯
#}~| \,R]"M$j
LCALL STATUS3 ;南北红灯,东西绿灯
!m#FZ+W/s:x1y^B
LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯
EVm ?!ke4m
LJMP CIRCLE
_ ZtGM;S)E8U
STATUS0: ;南北红灯,东西红灯
6A8u,K:?6O
MOV DPTR,#8300H
_J6S;E)G,\2Ke"O
MOV A,#0FH
0OJ5K[Z7~{$qx*W
MOVX @DPTR,A
6f)}^"eHq(g
MOV R2,#10 ;延时1秒
9YB~%E)C:N"a
LCALL DELAY
g8M0V&Ru)I/FU;`s
RET
;DLCB6{:K3TA!C
STATUS1: ;南北绿灯,东西红灯
(TYTVXhW%OT
MOV DPTR,#08300H
m4IlaLOB
MOV A,#5AH ;南北绿灯,东西红灯
C;Y5P[#~]
MOVX @DPTR,A
7h a-F%IVo
B3K
MOV R2,#50 ;延时5秒
Q
Bw!@/w
Z;o]
LCALL DELAY
PNOB+jw
RET
O6]3Co{xl
STATUS2: ;南北绿灯闪转黄灯,东西红灯
"|9?nV1}~
MOV DPTR,#8300H
m&bINh1jq.\`
MOV R3,#03H ;绿灯闪3次
Hxp@2w$_3E`
FLASH: MOV A,#5FH
-R3p6zK#c3Aj)O$gr
MOVX @DPTR,A
8i9o(n@b0{
MOV R2,#03H
9Wb^Iy^ i
LCALL DELAY
m4IC7tAe6[!_
MOV A,#5AH
tx}$Z6r
MOVX @DPTR,A
(j0eU.Xltz S*m*n
MOV R2,#03H
(}"j]B*R*J
LCALL DELAY
Q4|4P1l6}-v9?cr6C }
DJNZ R3,FLASH
xb:GK
R9y)X
MOV A,#0AH ;南北黄灯,东西红灯
J(w*xt.M-L?
MOVX @DPTR,A
6p6X)V5]!Ff)s`E"V
MOV R2,#10 ;延时1秒
AE$?j/|&B