51单片机红绿灯(十字路口智能控制系统)
在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单片机红绿灯(十字路口智能控制系统)相关推荐
- 基于51单片机的全自动智能洗衣机控制系统Proteus仿真(仿真+源码+全套资料)
资料编号:108 设计功能: 1.对水温实时显示 2.显示滚筒转速 3.显示运行倒计时 4.能通过按钮分别设置洗涤时间和脱水时间 5.运行过程为:加热--洗涤--脱水 具体功能请看下方演示视频 10 ...
- 51单片机蓝牙APP智能鱼缸水位温度加氧定时喂食补光控制系统
实践制作DIY- GC0092-蓝牙APP智能鱼缸 一.功能说明: 基于51单片机设计-蓝牙APP智能鱼缸 功能介绍: 硬件组成: STC89C52最小系统板 +LCD1602显示器+水位传感器+DS ...
- 基于51单片机的十字路口交通灯系统
1 设计名称 基于51单片机的十字路口交通灯系统(C语言.Proteus开发环境) 2 设计要求 1. 基于51系列单片机设计一个十字路口交通灯控制系统,用于模拟道路十字路口交通灯实际运行的场景. 2 ...
- 洗衣机控制系统c语言编程,采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文.doc...
采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文 深 圳 大 学 本 科 毕 业 论 文(设计) 题目: 基于单片机设计的全自动 洗衣机控制器 姓名: 郑嘉泽 专业: 电子信息工程 学院: ...
- 基于51单片机的教室智能照明控制设计
具体实现功能 系统由STC89C52单片机+时钟芯片DS1302+液晶屏LCD1602+光敏电阻+红外对管+LED灯模块+按键模块构成. 具体功能: 1.用4个LED灯模拟教室的照明灯,人数小于10人 ...
- 【51单片机实例】智能小车(一)--------小车的前进、后退和停止
51智能小车系列 智能小车(二)-------- 小车的红外遥控调速 智能小车(三)-------- 小车的红外循迹 文章目录 前言 一.硬件选择 1.1 小车底盘 1.2 电机 1.3 51单片机最 ...
- 基于51单片机的电动智能小车(完整论文)
基于51单片机的电动智能小车(完整论文): 摘 要 80C51单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评.这里介绍的是如何用80C51单片机来实现长春工业大学的毕业设计,该设计 ...
- 蓄水池问题c语言编程,基于51单片机的蓄水池自动控制系统(35页)-原创力文档...
广西民族大学 第二次综合课程设计报告 论文题目 : 基于 51 单片机的蓄水池自动控制系统 学 院: 物理与电子工程学院 专 业 : 自动化 年 级 : 2007 级 学 号 : 1072630101 ...
- 单片机c语言中p1asf,基于51单片机的蓄水池自动控制系统 毕业设计.doc
基于51单片机的蓄水池自动控制系统 毕业设计 广西民族大学 第二次综合课程设计报告 论文题目: 基于51单片机的蓄水池自动控制系统 学 院: 物理与电子工程学院 专 业: 自动化 年 级: 2007级 ...
- 51单片机语音声控智能台灯可调光冷暖光人检测锂电池供电太阳能和USB充电
实践制作DIY- GC0067-语音声控智能台灯 一.功能说明: 基于51单片机设计-语音声控智能台灯 二.功能介绍: 硬件:STC89C52单片机+语音识别模块+18650锂电池+太阳能充电板+LC ...
最新文章
- 最新Transformer模型大盘点,NLP学习必备,Google AI研究员出品丨资源
- java 时间加减_Java中时间加减的比较
- 文档管理服务器文件的脱机编辑选项无法编辑,让MOSS2007文档的存取更具个性
- java 7 学习笔记_Java学习笔记7-网络编程
- Win7硬盘安装方法
- 【算法】有关点分治的一些理解与看法
- 函数最值题目及答案_呆哥数学每日一题 ——多元函数求最值
- 游标 和 锁的概述
- AngularJS 事件
- 前端学习(875):dom事件流理论
- mysql中select 的题型_MYSQL经典题型详情解析
- 远程客户端连接linux,远程控制服务(SSH)之Linux环境下客户端与服务端的远程连接...
- Pandas——处理丢失的数据(含NaN的数据)
- 周易 —— 文本阅读
- 【MySQL】Unknown column 'column_name' in 'field list'
- c++使用libiconv
- 《排序算法篇》快排的递归与非递归
- Python学习笔记2
- MongoDB Ubuntu安装 APP 支付宝微信支付
- [PTA]实验5-3 使用函数求奇数和
热门文章
- 信息安全技术及应用 系统安全防护技术
- 手机wap浏览器下载选哪家
- 自定义控件+ViewPage+Fragment....各种收获
- java 传智播客 毕向东_传智播客:毕向东Java基础视频教程(全5)压缩包电驴下载...
- gis地图php,中国地图矢量gis数据
- java计算机毕业设计校园社团管理平台演示录像2021源码+数据库+系统+lw文档+部署
- 电脑没有显示云服务器地址,电脑里没有服务器地址
- 日立服务器显示地址操作异常,日立电梯服务器地址操作异常
- Premiere cc 2019安装教程及安装包
- Linux获取管理员权限的相关命令