No.32821 作者:小赛跑跑 邮件:1440927571@qq.com ID:129829 登陆:5次 文章数:37篇 最后登陆IP:124.193.149.68 最后登陆:2011/6/17 15:04:30 注册:2010/12/28 11:58:37 财富:133 发帖时间:2011/3/25 11:12:27 发贴者IP:124.205.155.197 标题:小赛跑跑:基于51单片机的一个简单交通灯程序 摘要:No.32821基于51单片机的一个简单交通灯程序 这是一个比较完整的程序 ;************************************* ;file name: traffic_light.asm ; ;FOUCTION : 实现交通灯的交替控制及特殊情况(如急救车等)通过时 ,通过外中断实现 ; ;WRITER : 守望 ;Finish Time: 2010.6.8 ;************************************* North_South_Red BIT P1.0 North_South_Yellow BIT P1.1 North_South_Green BIT P1.2 East_West_Red BIT P1.3 East_West_Yellow BIT P1.4 East_West_Green BIT P1.5 Scd EQU 30H ;秒 ORG 0000H JMP START ORG 0003H JMP INIT0 ORG 000BH JMP TIME0 ;************************************* ;NAME: 交通灯交替工作控制程序 ; ;FOUCTION: 红绿黄交替点亮: 红灯亮33秒钟后绿灯亮27秒,然后闪烁3秒,最后黄灯点亮三秒 ,循环 ; ;WRITER : ;TIME : 2010.6.8 ;************************************* TIME0: MOV TH0,#30H MOV TL0,#0B0H INC 31H MOV A,31H N: CJNE A,#20,EXIT ;判断是否到一秒 MOV 31H,#0 INC Scd MOV A,Scd CJNE A,#27,NEXT1 ;判断绿灯是否到27s SETB F0 JMP EXIT NEXT1: MOV A,Scd CJNE A,#30,NEXT2 ;判断绿灯是否亮30s CLR F0 MOV P1,#0EEH JMP EXIT NEXT2: MOV A,Scd CJNE A,#33,NEXT3 MOV P1,#0F3H ;初始化 NEXT3: MOV A,Scd CJNE A,#60,NEXT4 SETB 00H JMP EXIT NEXT4: MOV A,Scd CJNE A,#63,NEXT5 CLR 00H MOV P1,#0F5H JMP EXIT NEXT5: MOV A,Scd CJNE A,#66,EXIT MOV P1,#0DEH MOV Scd,#0 EXIT: RETI ;*********************************** ......
>>返回讨论的主题
|