在CSDN看了许多文章,也学到了不少偏门知识,这学期结束做了课设,就是题目所说,在这里分享一下我的经验。

代码学习,永无止境。因为疫情课程安排被改的面目全非,为了应对马上来的考试,顺便问一下偶尔点进来的大佬,Java和数据结构前期怎样进行简单的入门学习,在这里小弟不胜感激。

下面就进入正文。

正常运行

变灯

中断

具体功能下面代码已经展示了,如有不足请指出。

     ORG     0000HAJMP   MAIN            ;转主程序ORG        0003H           ;外部中断0入口地址AJMP  INTZ            ;中断服务子程序ORG     0013H           AJMP    INTOORG     0030H
MAIN:   MOV     SP,#60HMOV      DPTR,#TAB       ;表头MOV      R1,#0F0H        SETB    IT0             ;外部中断0跳沿触发SETB  EX0             ;允许外部中断0中断          SETB    IT1             SETB    EX1             SETB    EA              ;CPU开总中断LJMP    LNS             ;跳主运行程序INTZ:    MOV     A,P1            ;保存红绿灯状态MOV     R7,AMOV     C,P3.4          ;保存人行道红绿灯状态MOV      34H,CMOV        C,P3.5MOV       35H,CMOV        C,P3.6MOV       36H,CMOV        C,P3.7MOV       37H,C
INZ:    ;JB     P3.2,IDZ            MOV     P0,#7FH         ;显示器置八MOV       P1,#11H         ;南北红绿灯全红,东西特种车辆通行MOV        P2,#7FH         SETB    P3.4SETB    P3.7CLR     P3.5CLR     P3.6JNB     P3.2,INZ        ;判断中断是否停止,循环
IDZ:    MOV     A,R7            ;恢复状态MOV        P1,AMOV     C,34HMOV        P3.4,CMOV       C,35HMOV        P3.5,CMOV       C,36HMOV        P3.6,CMOV       C,37HMOV        P3.7,CRETI                  ;返回中断处INTO: MOV     A,P1            MOV     R7,AMOV     C,P3.4          MOV     34H,CMOV        C,P3.5MOV       35H,CMOV        C,P3.6MOV       36H,CMOV        C,P3.7MOV       37H,C
INO:    ;JB     P3.2,IDO            MOV     P0,#7FH         MOV     P1,#0AH         MOV     P2,#7FHSETB P3.4SETB    P3.7CLR     P3.5CLR     P3.6JNB     P3.3,INO
IDO:    MOV     A,R7        MOV     P1,AMOV     C,34HMOV        P3.4,CMOV       C,35HMOV        P3.5,CMOV       C,36HMOV        P3.6,CMOV       C,37HMOV        P3.7,CRETI                  LNS:    MOV     A,R1            ;设置R1,调用不同方向红绿灯后取反,以此循环亮起CPL      AMOV        R1,ACJNE    R1,#0F0H,LWE    ;调用子程序,亮东西LCALL  SONO            ;调用子程序,亮南北AJMP   LNSLWE: LCALL   EAWEAJMP    LNS;东西红灯、南北绿灯   EAWE:   MOV     R4,#63      ;红灯时间MOV        R0,#10MOV       P1,#0AH     ;东西红灯、南北绿灯MOV       P3,#5CH     ;人行道:东西绿灯、南北红灯
EW:     MOV     R5,#10      ;循环次数,人眼余辉LEW:   MOV     A,R4MOV     B,R0DIV     AB          ;取东西亮起的数字MOV        R2,BCLR     P1.7        ;控制位选线1,左MOVC    A,@A+DPTRMOV        P2,A        ;东西显示器MOV       A,R4        SUBB    A,#04HJNC       L2          ;有进位顺序执行MOV     A,R4        ;3S内,南北黄灯和东西红灯剩余时间保持一样AJMP   L3
L2:     ADD     A,#01H
L3:     MOV     B,R0DIV     AB          ;取南北亮起的数字MOV        R3,B    MOVC    A,@A+DPTRMOV        P0,A        ;南北显示器LCALL DELSETB P1.7        ;关闭位选线,左MOV      A,R2        ;恢复东西显示器右侧数值CLR     P1.6        ;控制位选线2     MOVC    A,@A+DPTRMOV        P2,AMOV     A,R3        ;恢复南北显示器右侧数值MOVC    A,@A+DPTRMOV        P0,ALCALL   DELSETB P1.6        ;关闭位选线,右DJNZ R5,LEW      ;循环次数判断CJNE R4,#04H,L1  ;判断是否3S内,改变灯的状态MOV       P1,#0CH     ;东西红灯、南北黄灯
L1:     DEC     R4          ;改变下一次显示的数字CJNE R4,#00H,EW  ;循环1~63的数值RET                   ;返回调用;南北红灯、东西绿灯SONO:    MOV     R4,#83      ;以下逻辑同上     MOV     R0,#10MOV       P1,#11H     ;东西绿灯、南北红灯MOV       P3,#0ACH    ;人行道:东西红灯、南北绿灯
SN:     MOV     R5,#10LSN:  MOV     A,R4MOV     B,R0DIV     ABMOV       R2,BCLR     P1.7        ;控制位选线1MOVC A,@A+DPTRMOV        P0,AMOV     A,R4SUBB    A,#04HJNC       L5MOV       A,R4AJMP    L6
L5:     ADD     A,#01H
L6:     MOV     B,R0DIV     ABMOV       R3,BMOVC    A,@A+DPTRMOV        P2,ALCALL   DELSETB P1.7MOV     A,R2CLR     P1.6        ;控制位选线2     MOVC    A,@A+DPTRMOV        P0,AMOV     A,R3        MOVC    A,@A+DPTRMOV        P2,ALCALL   DELSETB P1.6DJNZ    R5,LSNCJNE  R4,#04H,L4MOV       P1,#21H     ;东西黄灯、南北红灯
L4:     DEC     R4CJNE  R4,#00H,SNRET;延时50ms,受调用延时次数和循环次数R5影响,S=200*(123*2++2+1+1)+1=50.001ms
DEL:    MOV     R6,#200     ;1us
DEL1:   MOV     R7,#123     ;1usNOP                 ;1us
DEL2:   DJNZ    R7,DEL2     ;2usDJNZ    R6,DEL1     ;2usRETTAB: DB      3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;存放0~9共阴极数字END

51单片机红绿灯(十字路口智能控制系统)相关推荐

  1. 基于51单片机的全自动智能洗衣机控制系统Proteus仿真(仿真+源码+全套资料)

     资料编号:108 设计功能: 1.对水温实时显示 2.显示滚筒转速 3.显示运行倒计时 4.能通过按钮分别设置洗涤时间和脱水时间 5.运行过程为:加热--洗涤--脱水 具体功能请看下方演示视频 10 ...

  2. 51单片机蓝牙APP智能鱼缸水位温度加氧定时喂食补光控制系统

    实践制作DIY- GC0092-蓝牙APP智能鱼缸 一.功能说明: 基于51单片机设计-蓝牙APP智能鱼缸 功能介绍: 硬件组成: STC89C52最小系统板 +LCD1602显示器+水位传感器+DS ...

  3. 基于51单片机的十字路口交通灯系统

    1 设计名称 基于51单片机的十字路口交通灯系统(C语言.Proteus开发环境) 2 设计要求 1. 基于51系列单片机设计一个十字路口交通灯控制系统,用于模拟道路十字路口交通灯实际运行的场景. 2 ...

  4. 洗衣机控制系统c语言编程,采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文.doc...

    采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文 深 圳 大 学 本 科 毕 业 论 文(设计) 题目: 基于单片机设计的全自动 洗衣机控制器 姓名: 郑嘉泽 专业: 电子信息工程 学院: ...

  5. 基于51单片机的教室智能照明控制设计

    具体实现功能 系统由STC89C52单片机+时钟芯片DS1302+液晶屏LCD1602+光敏电阻+红外对管+LED灯模块+按键模块构成. 具体功能: 1.用4个LED灯模拟教室的照明灯,人数小于10人 ...

  6. 【51单片机实例】智能小车(一)--------小车的前进、后退和停止

    51智能小车系列 智能小车(二)-------- 小车的红外遥控调速 智能小车(三)-------- 小车的红外循迹 文章目录 前言 一.硬件选择 1.1 小车底盘 1.2 电机 1.3 51单片机最 ...

  7. 基于51单片机的电动智能小车(完整论文)

    基于51单片机的电动智能小车(完整论文): 摘 要 80C51单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评.这里介绍的是如何用80C51单片机来实现长春工业大学的毕业设计,该设计 ...

  8. 蓄水池问题c语言编程,基于51单片机的蓄水池自动控制系统(35页)-原创力文档...

    广西民族大学 第二次综合课程设计报告 论文题目 : 基于 51 单片机的蓄水池自动控制系统 学 院: 物理与电子工程学院 专 业 : 自动化 年 级 : 2007 级 学 号 : 1072630101 ...

  9. 单片机c语言中p1asf,基于51单片机的蓄水池自动控制系统 毕业设计.doc

    基于51单片机的蓄水池自动控制系统 毕业设计 广西民族大学 第二次综合课程设计报告 论文题目: 基于51单片机的蓄水池自动控制系统 学 院: 物理与电子工程学院 专 业: 自动化 年 级: 2007级 ...

  10. 51单片机语音声控智能台灯可调光冷暖光人检测锂电池供电太阳能和USB充电

    实践制作DIY- GC0067-语音声控智能台灯 一.功能说明: 基于51单片机设计-语音声控智能台灯 二.功能介绍: 硬件:STC89C52单片机+语音识别模块+18650锂电池+太阳能充电板+LC ...

最新文章

  1. 最新Transformer模型大盘点,NLP学习必备,Google AI研究员出品丨资源
  2. java 时间加减_Java中时间加减的比较
  3. 文档管理服务器文件的脱机编辑选项无法编辑,让MOSS2007文档的存取更具个性
  4. java 7 学习笔记_Java学习笔记7-网络编程
  5. Win7硬盘安装方法
  6. 【算法】有关点分治的一些理解与看法
  7. 函数最值题目及答案_呆哥数学每日一题 ——多元函数求最值
  8. 游标 和 锁的概述
  9. AngularJS 事件
  10. 前端学习(875):dom事件流理论
  11. mysql中select 的题型_MYSQL经典题型详情解析
  12. 远程客户端连接linux,远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接...
  13. Pandas——处理丢失的数据(含NaN的数据)
  14. 周易 —— 文本阅读
  15. 【MySQL】Unknown column 'column_name' in 'field list'
  16. c++使用libiconv
  17. 《排序算法篇》快排的递归与非递归
  18. Python学习笔记2
  19. MongoDB Ubuntu安装 APP 支付宝微信支付
  20. [PTA]实验5-3 使用函数求奇数和

热门文章

  1. 信息安全技术及应用 系统安全防护技术
  2. 手机wap浏览器下载选哪家
  3. 自定义控件+ViewPage+Fragment....各种收获
  4. java 传智播客 毕向东_传智播客:毕向东Java基础视频教程(全5)压缩包电驴下载...
  5. gis地图php,中国地图矢量gis数据
  6. java计算机毕业设计校园社团管理平台演示录像2021源码+数据库+系统+lw文档+部署
  7. 电脑没有显示云服务器地址,电脑里没有服务器地址
  8. 日立服务器显示地址操作异常,日立电梯服务器地址操作异常
  9. Premiere cc 2019安装教程及安装包
  10. Linux获取管理员权限的相关命令