基于8051单片机的双机通信设计

发布者:科技思想家最新更新时间:2011-09-20 关键字:双机通信 手机看文章 扫描二维码
随时随地手机看文章

一、  系统功能要求:
1. 设计任务在一十字路口设置交通灯,并用单片机对其进行合理的控制。
时间方向 控制要求
白天 东西 绿灯 黄灯 红灯 南北 红灯 绿灯 黄灯
晚上 东西 黄灯 南北 红灯
2.总体设计方案现在流行的一种设计为两主干线相交的十字路。本设计采用一主干道(南北方向),一从干道(东西方向)的路口,即主干道的通行时间为从干道的2倍。在正常情况下,两干道的交通灯按图1进行转换,并以倒计数的方式将剩余时间显示在每个干道对应的两位LED上;另发挥部分为当出现紧急情况时,路口的交通灯全为红灯,紧急情况解除时,恢复到原来的状态。
二、         总体设计方案提示:
1.假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态。
2.东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态。
3.南北绿灯通车,东西红灯。过一段时间转状态。
4.南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。
三.硬件设计
电路原理图如下:


 
 
四、软件设计
1、   流程图


 
2、程序设计
        ORG 0000H
        MOV P0,#00H                 ;确保P0为低电位
        lJMP MAIN0
        ORG 0030H
MAIN0: MOV 30H,#08H
        MOV R6,#00H
        MOV R7,#00H
        MOV DPTR,#TABLE             ;取数码管的译码
        MOV TMOD,#01H               ;设计定时方式及时间
        MOV TL0,#0CDH
        MOV TH0,#0BH
        SETB TR0
        MOV IE,#00H
 MAIN: MOV P1,#0F3H                ;南北绿灯,东西红灯
        MOV R6,#1EH                 ;红灯30s倒计时
        MOV R7,#19H                 ;绿灯25s倒计时
  MAIN1:CALL DELAY                  ;1S延时子程序
        JB P0.1,REL1                ;判断是否有东西方向按钮按下
        CJNE R7,#00H,MAIN1          ;判断绿灯25s是否倒计完
        MOV P1,#0F5H                ;南北黄灯,东西红灯
  MAIN2:CALL DELAY
        MOV R7,#00H                 ;红灯继续倒计时,黄灯闪烁,保持0s
        CPL P1.1                    ;黄灯闪烁
        CJNE R6,#00H,MAIN2          ;判断红灯是否倒计时完
        MOV P1,#0DEH                ;南北红灯,东西绿灯
        MOV R7,#1EH
        MOV R6,#19H
  MAIN3:CALL DELAY
        JB P0.0,REL2
        CJNE R6,#00H,MAIN3
        MOV P1,#0EEH
  MAIN4:CALL DELAY
        MOV R6,#00H
        CPL P1.4
        CJNE R7,#00H,MAIN4
        JMP MAIN
   REL1:MOV P1,#0F5H                ;东西方向按钮按下,南北方向强制由绿灯变成黄灯警告
        MOV R6,#05H
        MOV R7,#00H                
        JMP MAIN2                  
   REL2:MOV P1,#0EEH                ;南北方向按钮按下,东西方向强制由绿灯变成黄灯警告
        MOV R7,#05H
        MOV R6,#00H
        JMP MAIN4
  ;1s延时子程序
  DELAY:MOV A,R6                    ;进行南北方向倒计时时间的十进制调整
        MOV B,#0AH
        DIV AB
        MOVC A,@A+DPTR              ;找寻相应的数码管代码
        MOV P2,#01H
        MOV P3,A                    ;输出个位
        MOV R4,#4                   ;降低动态显示频率
  LOOP2:MOV R3,#125
  LOOP3:DJNZ R3,LOOP3
        DJNZ R4,LOOP2
        MOV A,B
        MOVC A,@A+DPTR
        MOV P2,#02H                 ;输出十位
        MOV P3,A
        MOV R4,#4
  LOOP4:MOV R3,#125
  LOOP5:DJNZ R3,LOOP5
        DJNZ R4,LOOP4
        MOV A,R7                    ;进行东西方向倒计时时间的十进制调整
        MOV B,#0AH
        DIV AB
        MOVC A,@A+DPTR
        MOV P2,#04H
        MOV P3,A
        MOV R4,#4
  LOOP6:MOV R3,#125
  LOOP7:DJNZ R3,LOOP7
        DJNZ R4,LOOP6
        MOV A,B
        MOVC A,@A+DPTR
        MOV P2,#08H
        MOV P3,A
        MOV R4,#4
  LOOP8:MOV R3,#125
  LOOP9:DJNZ R3,LOOP9
        DJNZ R4,LOOP8
        JBC TF0,LOOP                ;判断是否计满125ms
        AJMP DELAY
  LOOP:MOV TL0,#0CDH               ;计满125ms重新给定时器赋值
        MOV TH0,#0BH
        MOV A,30H
        DEC A
        MOV 30H,A
        JNZ DELAY                   ;判断是否计满8次125ms,即1s
        DEC R6                      ;计满1s,东西倒计时减1,南北倒计时减1
        DEC R7
        MOV 30H,#08H                ;重新1s次数,重新计时
        RET
  TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H  ;相应数值的数码管代码
        DB 92H,82H,0F8H,80H,90H    
        END

关键字:双机通信 引用地址:基于8051单片机的双机通信设计

上一篇:基于0832的波形信号发生器设计
下一篇:基于AT89S52单片机的电子闹钟设计

推荐阅读最新更新时间:2024-03-16 12:41

C8051F340的USBXpress开发包USB通信设计
      传统的USB设备驱动程序编写异常复杂,程序员往往很难入手。SILICON Laboratories公司提供的USBXpress开发包大大简化了USB通信的应用和相关驱动程序的开发,只要做好开发前的准备工作,USBXpress开发包完全可以实现USB通信的所有功能。本文介绍USB通信开发的全过程,以及在开发过程中需要注意的事项。(主要针对设备端USB通信进行讲解)       1 USBXpress简介       由SILICON Laboratories公司推出的USBXpress开发包涵盖了主机端和设备端的所有函数功能,支持C8051F32X、C8051F34X和CP210X设备的USB通信。USBXpre
[网络通信]
基于8051单片机的温湿度采集系统设计
通过前面的学习,我们学会了如何用串口发送数据和接收固定字节的命令。今天,我们继续讨论串口应用协议,主要焦点还是在如何有效地使用串口发送数据。为了简化描述,假设我们基于8051单片机开发一个温湿度采集系统,周期将温度和湿度数据上报到上位机。温度和湿度定义如下: float temperature = 25.0; //温度 float humidity = 70.0; //湿度 我们至少可以设计出以下两种不同的串口应用协议: 1.固定大小的消息:先发送float类型的温度,再发送float类型的湿度。每次传输8个字节。 温度(4字节) 湿度(4字节) 代码实现: // 固定消息发送温度和湿度函数 void se
[单片机]
基于<font color='red'>8051</font>单片机的温湿度采集系统设计
基于C8051F020单片机的数字多电机控制平台的设计
本文介绍了基于单片机C8051F020 搭建的多台电机控制平台,硬件电路简单可靠,功率电路采用场效应管自行搭建,通用性较强,通过改写软件,可直接用于其它小功率电机的驱动控制系统。 步进电动机因具有转子惯量低、定位精度高、无累积误差等特点,非常适合用于开环位置控制系统中。直流电机是伺服控制中常用的电机。然而在实际系统中为满足不同的功能往往同时存在多个运动部件,常用的方法是一个独立的功能对应一个控制系统,这样虽然模块性很好,但是占用了大量的系统资源和空间,也在一定程度上降低了系统的可靠性。 如在某系统中存在4 个运动部件,分别为两台三相反应式步进电动机,一台直流电机和一台四相步进电动机的控制。本着提高系统集成度的想法,
[单片机]
基于C<font color='red'>8051</font>F020单片机的数字多电机控制平台的设计
基于单片机C8051F020的液晶显示的接口电路和程序实现
在单片机系统设计中,LCM(液晶显示模块)人机交互界面的设计往往是很重要的一个环节。LCM可以用于智能仪器上的显示设定参数、状态提示符、检测结果和待输入参数等功能。本文结合电解质分析仪的设计要求,采用液晶显示模块YXD—12864A2LCM,研究并实现了以单片机C8051F020为基础的液晶显示的接口电路和程序设计,添加了按键系统,从而达到方便用户使用的目的。 1电解质分析仪简介 本系统所设计的电解质分析仪(Electrolyte Analyzer)是一种具有高分辨率和高精度的仪器,可以与多种离子选择电极配套使用,可用自动方法测定样品中钾、钠、氯、钙离子的浓度和pH值。其结构方框图如图1所示。仪器采用单片机C8051F02
[单片机]
基于单片机C<font color='red'>8051</font>F020的液晶显示的接口电路和程序实现
基于C8051F021和RA8835的液晶显示系统设计
   0 引言   随着电子产品设计技术的不断发展,电子产品的设计,尤其是人机交互界面的设计日益趋向人性化。这其中的液晶显示屏以其具有能显示复杂文字及图形、显示面积大小随意、功耗低、轻薄等优点,而得到广泛的应用。近年来,随着单片机技术的飞速发展,涌现了多种性能优良且成本很低的单片机品种。C8051F系列单片机就是其中之一。在工程应用中,C8051F021可在满足性能要求的前提下,减少浪费、降低成本。为此,本文给出了一种基于C8051F021和RA8835实现的低成本液晶显示方案。    1 系统主要器件   1.1 C8051F021单片机   本系统选用性能优良且成本较低的SOC单片机C8051F021作为控制核心。C
[单片机]
8051单片机的通信方式有哪些
介绍:串行口是单片机与外界进行信息交换的工具。 8051单片机的通信方式有两种: 并行通信:数据的各位同时发送或接收。 串行通信:数据一位一位次序发送或接收。参看下图: 《单片机串行通信》 《并行通信》 串行通信的方式: 异步通信:它用一个起始位表示字符的开始,用停止位表示字符的结束。其每帧的格式如下: 在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(能省略),最后是停止位1。用这种格式表示字符,则字符能一个接一个地传送。 在异步通信中,CPU与外设之间必须有两项规定,即字符格式和波特率。字符格式的规定是双方能够在对同一种0和1的串理解成同一种意义。原则上字符格式能由通信的
[单片机]
<font color='red'>8051</font>单片机的通信方式有哪些
基于8051单片机开发的湿度计设计
  在本文中,单片机开发工程师分享了一个基于8051单片机开发的湿度计,这个方案比较简单,以供单片机初学者学习。   湿度传感器也称为湿度计,在本单片机方案中,其电路可以以5%的精度感测20%至95%的相对湿度(RH),湿度信息可以显示在16×2 LCD显示屏上。另外,在本单片机方案中,还提供了一个继电器,也就是说当湿度超过某个跳变点时,该继电器将被激活,执行某些操作。   一、DHT11湿度传感器   DHT11是一款低成本的湿度兼温度传感器,具有数字输出。电容法用于感测湿度,而热敏电阻用于测量温度。传感器可以以5%的分辨率感测20%至95%的相对湿度。温度测量最高可达50°C,分辨率为2°C。与单片机的通信是通过单线进
[单片机]
基于<font color='red'>8051</font>单片机开发的湿度计设计
C8051F的示波器监控程序设计
摘要:设计采用高性能单片机C8051F020为控制芯片,监控示波器面板上40个按键、3个编码开关及4个电位器的状态。分别介绍了键盘、编码开关和电位器的工作原理,以及其与单片机连接的硬件电路及软件编程的实现。按键部分采用一键多义的键盘程序设计方法,给出了键码匹配子程序流程图。 关键词:键盘;编码开关;模数转换;监控程序 监控程序负责系统中全部硬件和软件资源的分配、调度工作,它提供用户接口,使用户获得友好的工作环境,是系统设计中一个重要组成部分。 1 C8051F020单片机概述 C8051F020单片机是高度集成的片上系统。在芯片内集成了2个多通道ADC子系统(每个子系统包括1个可编程增益放大器和1个模拟多路选择器)、2 个电
[单片机]
C<font color='red'>8051</font>F的示波器监控程序设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved