这是一个比较完整的程序

;*************************************

;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

;*************************************

;NAME:  外中断0

;

;FOUCTION: 东西方向出现特殊情况      ?

;  南北红灯亮,东西绿灯亮,延时10s

;WRITER  :

;TIME    : 2010.6.8

;*************************************

INIT0:

PUSH    PSW

PUSH    ACC

CLR EA

MOV R2,P1 ;保存数据

MOV     P1,#0F6H

CALL DELLAY10S

MOV P1,R2 ;恢复

SETB    EA

POP     ACC

POP     PSW

RETI

;*******************主程序初始化部分**************

START:

MOV   Scd,  #00H

MOV   31H,  #00H

MOV   P1,   #0FFH

CLR   00H

CLR   F0

MOV   TMOD, #01H  ;设定定时器1

MOV   IE,   #83H  ;设定中断使能  定时器中断0、外部中断0和1

MOV   SP,   #60H

MOV   TH0,  #30H

MOV   TL0,  #0B0H

SETB  TR0

LOOP:

JNB    F0,N0

CPL    East_West_Green          ;绿灯闪三秒

CALL   DELAY500MS

JMP    N1

N0:

JNB    00H,N1

CPL    North_South_Green          ;绿灯闪三秒

CALL   DELAY500MS

N1:

JMP   LOOP

;************************************

;Name  :  DELAY

;

;Fouction:  delay 10s

;

;Time  :  2010.06.09

;Writer  :

;*************************************

DELLAY10S:

MOV R4,#0BFH

D1:

MOV R6,#0BDH

D0:

MOV R5,#89H

DJNZ R5,$

DJNZ R6,D0

DJNZ R4,D1

NOP

RET

;************************************

;Name  :  DELAY

;

;Fouction:  delay 10s

;

;Time  :  2010.06.17

;Writer  :

;*************************************

DELAY500MS:   ;Delay 0.5s

MOV 57H,#17H

DL1:

MOV 56H,#98H

DL0:

MOV 55H,#46H

DJNZ 55H,$

DJNZ 56H,DL0

DJNZ 57H,DL1

RET

END

交通灯c语言单片机程序,基于51单片机的一个简单交通灯程序相关推荐

  1. 共阳极数码时钟c语言程序,基于51单片机C语言数字钟程序.doc

    基于51单片机C语言数字钟程序 基于51单片机C语言数字钟程序 数字电子钟的设计 一. 绪论 (一)引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地 ...

  2. 湿度控制c语言程序,基于51单片机的湿度控制系统设计.doc

    基于51单片机的湿度控制系统设计 基于51单片机的湿度控制系统设计 摘要 关键词:单片机:湿度传感器:ADC0832数模转换 目 录 序 言1 第一章 系统的整体设计方案2 1.1设计内容2 1.2系 ...

  3. 51单片机的电子钟c语言程序,基于51单片机的电子钟C语言程序

    基于单片机C语言的电子钟程序代码与仿真 基于51单片机的电子钟C语言程序: 程序代码 #include #include #define uchar unsigned char #define uin ...

  4. 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真

    基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...

  5. 51单片机八人抢答器c语言,抢答器 - 基于51单片机 - 8人有程序较完整.doc

    抢答器 - 基于51单片机 - 8人有程序较完整 课程题目: 基于单片机---8路抢答器 学 院: 职业技术学院 专 业: 电子信息科学与技术 年 级: 091 学 号: 0920020088 学生姓 ...

  6. 水塔水位测量c语言程序,基于51单片机水塔水箱水位检测系统控制器设计(附程序代码)...

    基于51单片机水塔水箱水位检测系统控制器设计(附程序代码)(任务书,开题报告,外文翻译,论文18000字) 摘  要 为了能实现水位监测与控制,以STC89C52作为核心控制芯片,进行了水位检测系统控 ...

  7. 51lcd显示光传感器c语言程序,基于51单片机1602液晶显示GY-30数字光照传感器BH1750FVI程序实例...

    基于51单片机1602液晶显示GY-30数字光照传感器BH1750FVI程序实例,系统由GY-30数字光照传感器.51单片机最小系统.1602液晶显示屏组成,电路简单,附件中的程序是实物验证过了的.1 ...

  8. 单片机遥控车c语言程序,基于51单片机的无线遥控小车设计[附发射接收程序]

    /***************************************************************/ /*[基于51单片机的无线遥控小车设计] 作者王*茹 */ /*** ...

  9. 基于51单片机的光照强度检测c语言程序,基于51单片机光照强度检测报告.doc

    基于51单片机光照强度检测报告 课程设计报告 课程名称: 智能仪器课程设计 题 目: 基于51单片机的光照强度 摘要 光敏电阻测光强度系统,该系统可以自动检测光照强度的强弱并显示让人们知道此时光照强度 ...

  10. 收音机c语言程序,基于51单片机的数字FM调频收音机的设计(附接线图,主程序代码)...

    基于51单片机的数字FM调频收音机的设计(附接线图,主程序代码)(任务书,开题报告,论文15000字) 摘要 在当今的社会时代中,信息的传输扮演着极其重要的地位.随着科学技术的不断发展与进步,人类的生 ...

最新文章

  1. Python 的种类以及特点
  2. 小程序获取用户所在城市完整代码
  3. CMakeLists
  4. c语言递归求塔移动次数,【C语言】Hanoi(汉诺)塔问题,求移动盘子的步骤(递归法)...
  5. 【pwnable】asm之write up
  6. 微软AirSim,一个无人机和机器人的模拟器
  7. LeetCode 1295. 统计位数为偶数的数字
  8. 怎么从某个div跳转到另一个_另一个伊甸伊丝卡怎么样 伊丝卡使用攻略_
  9. 系统设计面试的答题思维框架
  10. 采用DCT进行图像压缩
  11. 电磁兼容的PCB设计(一)
  12. Xilinx平台SRIO介绍(五)示例工程Example Design介绍
  13. html如何退出登录,微信小程序怎么退出登录
  14. 你的工作有价值吗?——如何在工作最大程度地体现自己的价值?
  15. 如何增加微信阅读量,新手公众号如何增加阅读量
  16. Java入门-Java学习路线课程面试篇:取商 / 和取余(模) % 符号的使用
  17. 牛啊,全国DNS服务器IP地址都在这里了
  18. CentOS部署ElasticSearch7.6.1集群
  19. 常见问题 html5页面模板,html5+css3实现403程序报错页面模板特效
  20. 如何熟练的运用数学模型在水环境影响评价、防洪评价与排污口论证项目中的方法

热门文章

  1. Linux中ctrl+z 和trl+c的区别以及jobs、bg、fg命令
  2. C语言学习——初始C语言
  3. 玩转USB HID系列:USB先导知识简明
  4. 深入理解Linux网络技术内幕学习笔记第二章:一些重要的数据结构
  5. 单片机c语言案例教程,单片机C语言案例教程
  6. Java编写斗地主的游戏源码
  7. 计算机网络下一跳IP,计算机网络之IP地址
  8. 留言板个人代码展示墙
  9. Android源码学习 使用Git和Repo进行版本管理
  10. 7-60 致命的珠宝 (10分)