;------闯红灯报警程序------

B0: MOV R2,#03H ;报警持续时间3秒

B01: MOV A,R3

JZ N1 ;若倒计时完毕,不再报警

CLR P3.0 ;报警

CJNE R2,#00H,B01 ;判断3秒是否结束

SJMP N02

;------1秒延时子程序-------

N7: RETI

T0_INT:MOV TL0,#9AH ;给定时器T0送定时10ms的初值

MOV TH0,#0F1H

INC R4

INC R5

CJNE R5,#0FAH,T01 ;判断延时是否够一秒,不够则调用显示子程序

MOV R5,#00H ;R5清零

DEC R3 ;倒计时初值减一

DEC R2 ;报警初值减一

T01: ACALL DISP ;调用显示子程序

RETI ;中断返回

;------显示子程序------

DISP: JNB P2.4,T02

DISP1: MOV B,#0AH

MOV A,R3 ;R3中值二转十显示转换

DIV AB

MOV 79H,A

MOV 7AH,B

DIS: MOV A,79H ;显示十位

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR,#0002H

MOVX @DPTR,A

MOV DPTR,#0001H

MOV A,#0F7H

MOVX @DPTR,A

LCALL DELAY

DS2: MOV A,7AH ;显示个位

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR,#0002H

MOVX @DPTR,A

MOV DPTR,#0001H

MOV A,#0FBH

MOVX @DPTR,A

RET

;------东西方向车流量检测程序------

T03: MOV A,R3

SUBB A,#00H ;若绿灯倒计时完毕,不再检测车流量

JZ N3

JB P2.0,T03

INC R7

CJNE R7,#64H,E1

MOV R7,#00H ;中断到100次则清零

E1: SJMP N22

;------东西方向车流量显示程序------

T02: MOV B,#0AH

MOV A,R7 ;R7中值二转十显示转换

DIV AB

MOV 79H,A

MOV 7AH,B

DIS3: MOV A,79H ;显示十位

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR,#0002H

MOVX @DPTR,A

MOV DPTR,#0001H

MOV A,#0F7H

MOVX @DPTR,A

LCALL DELAY

DS4: MOV A,7AH ;显示个位

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR,#0002H

MOVX @DPTR,A

MOV DPTR,#0001H

MOV A,#0FBH

MOVX @DPTR,A

LJMP N7

;------延时4MS子程序----------

DELAY: MOV R1,#0AH

LOOP: MOV R6,#64H

NOP

LOOP1: DJNZ R6,LOOP1

DJNZ R1,LOOP

RET

;------字符表------

TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END

51单片机相关文章:51单片机教程

单片机相关文章:单片机教程

单片机相关文章:单片机视频教程

单片机相关文章:单片机工作原理

上一页

1

2

下一页

c51单片机c语言交通灯的程序设计,51单片机交通灯程序设计相关推荐

  1. 单片机c语言程序开发洗衣机,基于51单片机洗衣机控制器的设计(附程序)☆

    基于51单片机洗衣机控制器的设计(附程序)☆(任务书,开题报告,中期检查表,毕业论文21000字,程序) 摘  要 洗衣机是人们日常生活中常见的一种家电,已经成为人们生活中不可缺少的家用电器.在工业生 ...

  2. 单片机c语言100例 的案例,51单片机C语言100个实例 [推荐下载】

    51单片机c语言100例 ,墙裂推荐下载 附上目录 ************************************************************函数的使用和熟悉****** ...

  3. 单片机c语言计数器测速,基于51单片机的光电编码器测速.doc

    课程设计报告 课程名称: 微机原理课程设计 题 目: 基于51单片机的光电编码器测速 摘要 光电编码器是高精度位置控制系统常用的一种位移检测传感器.在位置控制系统中,由于电机既可能正转,也可能反转,所 ...

  4. 单片机 c语言百位加上小数点,51单片机水温控制LCD显示加VB上位机温度曲线绘制...

    现功能,1L水由1KW电炉加热,要求水温在一定范围内人工设定,并能随着环境温度改变自动调节,以维持设定的温度不变. 矩阵键盘输入设定温度,LCD1602显示温度值,VB上位机绘制温度曲线 /***** ...

  5. 51单片机c语言编程的头文件,51单片机编程的头文件reg51.h详解

    我们在用c语言编程时往往第一行就是头文件,51单片机为reg51.h或reg52.h,51单片机相对来说比较简单,头文件里面内容不多,像飞思卡尔.ARM系列的单片机头文件往往内容就非常多,尽管如此,对 ...

  6. 单片机c语言数码管显示5,51单片机数码管显示实验报告(5页)-原创力文档

    51单片机数码管显示实验 实验内容: 编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复. C语言程序 #include #de ...

  7. 单片机C语言头文件如何写,51单片机头文件怎么写

    本文收集整理关于51单片机头文件怎么写的相关议题,使用内容导航快速到达. 内容导航: Q1:51单片机的头文件究竟该如何写 举个例子先判断是否被定义过,没定义就先定义好,主要就是防止重复包含 #ifn ...

  8. 单片机c语言reti的用法,基于51单片机中断跳出指令“RETI”浅议

    原标题:基于51单片机中断跳出指令"RETI"浅议 =RET指令+通知CPU中断服务已结束. 最近在基于编程的过程中出现了个很奇怪的问题"程序执行中在寄存器EA=1,ET ...

  9. 51单片机c语言的秒表设计,基于51单片机的计时器设计

    描述 用51单片机的定时器0的方式1计时,结果用4位数码管显示,分别为秒十位,秒个位,毫秒百位,毫秒十位.所以总共最大计时为1分钟,精确到了0.01s.同时,加上3个独立按键,分别控制秒表的清零,暂停 ...

  10. 单片机c语言reti的用法,谈谈51单片机的RETI指令

    最近在基于51单片机编程的过程中出现了个很奇怪的问题"程序执行中在寄存器EA=1,ET0=1,TR0=1条件下,单TF0=1时并没有执行中断". 在有过单片机中断编程经历者都知道当 ...

最新文章

  1. 如果知道两点的经纬度 如何算两点之间的距离
  2. python怎么知道用哪个库使用-Python链接数据库,使用哪个库,怎么操作?
  3. 清华博士教你如何用推荐算法技术「找到女朋友」
  4. mysql 跨库复制_Mysql跨数据库(在同一IP地址中)复制表
  5. 阿里云ECS开放批量创建实例接口,实现弹性资源的创建
  6. 使用vrep给某个模型加dummy的一点小经验
  7. ssas表格模型 权限控制_性能调整SSAS表格模型
  8. 如何将c语言编译器设置为初始状态,C语言编译器设与实现毕业论文设计.doc
  9. .net5 程序 在docker 中运行
  10. MS-SQL的智能脚本智能提示失效丢失
  11. Android 集成Unity项目
  12. git error: failed to push some refs to...
  13. PLSQL_海量数据处理系列7_DBSM_STATS
  14. 利用OA系统更便捷地查询员工工资
  15. MDK5如何生成bin文件
  16. linux 防火墙服务器,Linux服务器上适用的防火墙分析
  17. 国际著名黑客大赛介绍
  18. XMLHttpRequest请求跨域问题解决方案
  19. oa处理会签流程图_深入剖析OA办公系统的流程管理方案
  20. darda oracle tfa_OSW - feiyun8616 - 博客园

热门文章

  1. CSDN博客下载器v2.2发布
  2. 【组合数学】递推方程 ( 有重根下递推方程通解结构 | 线性无关解 | 有重根下的通解 | 有重根下的递推方程求解示例 | 递推方程公式解法总结 ) ★
  3. Java 2实用教程(第五版)
  4. Python全栈(四)高级编程技巧之4.元类编程、迭代器和生成器
  5. python核心编程---读书笔记:第18章 多线程编程
  6. 中关村GHOSTXPSP3装机自选纯净版V2010.4
  7. java反编译工具jd-gui下载与使用
  8. 「干货」Web安全红队外围信息收集「详细总结」
  9. Ansible自动化运维
  10. python简明教程_01