模拟自动车库源程序

发布者:快乐时刻最新更新时间:2012-08-29 来源: 51hei关键字:模拟自动车库  源程序 手机看文章 扫描二维码
随时随地手机看文章
////////////////////////////////////////////////
//名称:模拟自动车库
//电路原理:P86--P87
//作者:李春起
//版本:CARLIB.ASM-V0.0
//编写时间:2010.11.01
//修订日志:
INTER EQU P3.3//驶入
LEAVE EQU P3.2//驶离
IN    EQU P1.6//存入
OUT   EQU P1.7//取出 
  ORG 0000H
  JMP MAIN
//  ORG 000BH
//  JMP T00
  ORG 0030H
MAIN:MOV TMOD,#01H
     MOV TH0,#3CH
  MOV TL0,#0B0H
  SETB TR0
  SETB EA
  SETB ET0
  MOV 20H,#0FFH //车位状态初始化
  MOV 21H,#0FFH//请求车位
LOOP://ACALL DELAY2S
     //CLR P2.4//初始态平板车位置
  SETB P2.0
     SETB P2.1
  SETB P2.2
K1:  JB INTER,K2//不等0转移
     JNB  INTER,$//等待放开
  CLR P2.4//指示有车待入库
K2:  JB LEAVE,K3
     JNB LEAVE,$
  SETB P2.4
K3:  JB IN,K4
     JNB IN,$
  CLR P2.4
  CLR P2.1//选择存入
  SETB P2.0
  JMP K5
K4:  JB OUT,K1
     JNB OUT,$
  CLR P2.0
  SETB P2.1
  JMP K6

K5: SETB P2.2     
KA1:JB OUT,KA2
 JMP K1
    JB P1.0,KA2
    JNB P1.0,$
 JNB P0.0,KA2
 CLR P2.2
 MOV 20H,#0FEH
 JMP KENT 
KA2:JB P1.1,KA3
    JNB P1.1,$
 JNB P0.1,KA3//
    CLR P2.2
 MOV 20H,#0FDH
 JMP KENT
KA3:JB P1.2,KA4
    JNB P1.2,$
 JNB P0.2,KA4
 CLR P2.2
 MOV 20H,#0FBH
 JMP KENT
KA4:JB P1.3,KA5
    JNB P1.3,$
 JNB P0.3,KA5
 CLR P2.2
 MOV 20H,#0F7H
 JMP KENT
KA5:JB P1.4,KA6
    JNB P1.4,$
 JNB P0.4,KA6
 CLR P2.2
 MOV 20H,#0EFH
 JMP KENT
KA6:JB P1.5,KENT
    JNB P1.5,$
 JNB P0.5,KENT
 CLR P2.2
 MOV 20H,#0DFH

KENT:
     JB P3.0,KA1
  JNB P3.0,$
  JB P2.2,KA1
  ACALL DELAY2S
  SETB P2.4
  CLR P2.5
  ACALL DELAY2S
  MOV A,20H
  CJNE A,#0FEH,NA1
  SETB P2.5
  CLR P0.0
  ACALL DELAY2S
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
  JMP LOOP

NA1: CJNE A,#0F7H,NA2
     SETB P2.5
  CLR P0.3
  ACALL DELAY2S
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
  JMP LOOP
NA2: SETB P2.5
  CLR P2.6
  ACALL DELAY2S
  CJNE A,#0FDH,NA3
  SETB P2.6
  CLR P0.1
  ACALL DELAY2S
  CLR P2.6
  ACALL DELAY2S
  SETB P2.6
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
     JMP LOOP
NA3: CJNE A,#0EFH,NA4
  SETB P2.6
  CLR P0.4
  ACALL DELAY2S
  CLR P2.6
  ACALL DELAY2S
  SETB P2.6
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
  JMP LOOP
NA4: SETB P2.6
     CLR P2.7
  ACALL DELAY2S  
     CJNE A,#0FBH,NA5
  SETB P2.7
  CLR P0.2
  ACALL DELAY2S
  CLR P2.7
  ACALL DELAY2S
  SETB P2.7
  CLR P2.6
  ACALL DELAY2S
  SETB P2.6
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
  JMP LOOP
NA5: CJNE A,#0DFH,NA6
     SETB P2.7
  CLR P0.5
  ACALL DELAY2S
  CLR P2.7
  ACALL DELAY2S
  SETB P2.7
  CLR P2.6
  ACALL DELAY2S
  SETB P2.6
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
NA6: JMP LOOP
//============取车===========================
K6:  SETB P2.2 
KB1:JB IN,KB2
 JMP K1
    JB P1.0,KB2
    JNB P1.0,$
 JB P0.0,KB2
 CLR P2.2
 MOV 20H,#0FEH
 JMP KENV 
KB2:JB P1.1,KB3
    JNB P1.1,$
 JB P0.1,KB3//
    CLR P2.2
 MOV 20H,#0FDH
 JMP KENV
KB3:JB P1.2,KB4
    JNB P1.2,$
 JB P0.2,KB4
 CLR P2.2
 MOV 20H,#0FBH
 JMP KENV
KB4:JB P1.3,KB5
    JNB P1.3,$
 JB P0.3,KB5
 CLR P2.2
 MOV 20H,#0F7H
 JMP KENV
KB5:JB P1.4,KB6
    JNB P1.4,$
 JB P0.4,KB6
 CLR P2.2
 MOV 20H,#0EFH
 JMP KENV
KB6:JB P1.5,KENV
    JNB P1.5,$
 JB P0.5,KENV
 CLR P2.2
 MOV 20H,#0DFH

KENV:
     JB P3.0,KB1
  JNB P3.0,$
  JB P2.2,KB1
  ACALL DELAY2S 
  SETB P2.4
  CLR P2.5
  ACALL DELAY2S
  MOV A,20H
  CJNE A,#0FEH,NB1
  SETB P2.5
//  CLR P0.0
  ACALL DELAY2S
  SETB P0.0
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
  JMP LOOP
NB1: CJNE A,#0F7H,NB2
     SETB P2.5
//  CLR P0.3
  ACALL DELAY2S
  SETB P0.3
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
  JMP LOOP
NB2: SETB P2.5
  CLR P2.6
  ACALL DELAY2S
  CJNE A,#0FDH,NB3
  SETB P2.6
//  CLR P0.1
  ACALL DELAY2S
  SETB P0.1
  CLR P2.6
  ACALL DELAY2S
  SETB P2.6
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
     JMP LOOP
NB3: CJNE A,#0EFH,NB4
  SETB P2.6
 // CLR P0.4
  ACALL DELAY2S
  SETB P0.4
  CLR P2.6
  ACALL DELAY2S
  SETB P2.6
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
  JMP LOOP
NB4: SETB P2.6
     CLR P2.7
  ACALL DELAY2S  
     CJNE A,#0FBH,NB5
  SETB P2.7
 // CLR P0.2
  ACALL DELAY2S
  SETB P0.2
  CLR P2.7
  ACALL DELAY2S
  SETB P2.7
  CLR P2.6
  ACALL DELAY2S
  SETB P2.6
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
  JMP LOOP
NB5: CJNE A,#0DFH,NB6
     SETB P2.7
//  CLR P0.5
  ACALL DELAY2S
  SETB P0.5
  CLR P2.7
  ACALL DELAY2S
  SETB P2.7
  CLR P2.6
  ACALL DELAY2S
  SETB P2.6
  CLR P2.5
  ACALL DELAY2S
  SETB P2.5
  CLR P2.4
NB6: JMP LOOP


DELAY2S:MOV R1,#8
DELA1:MOV R2,#255
DELA2:MOV R3,#100
DELA3:NOP
      NOP
   DJNZ R3,DELA3
   DJNZ R2,DELA2
   DJNZ R1,DELA1
   RET

     END

完整汇编程序下载地址: http://www.51hei.com/f/ck.rar 

电路图:
 点击浏览下一页

关键字:模拟自动车库  源程序 引用地址:模拟自动车库源程序

上一篇:光驱简易遥控器
下一篇:点阵+音乐=祝你生日快乐

推荐阅读最新更新时间:2024-03-16 13:07

模拟自动车库源程序
//////////////////////////////////////////////// //名称:模拟自动车库 //电路原理:P86--P87 //作者:李春起 //版本:CARLIB.ASM-V0.0 //编写时间:2010.11.01 //修订日志: INTER EQU P3.3//驶入 LEAVE EQU P3.2//驶离 IN EQU P1.6//存入 OUT EQU P1.7//取出 ORG 0000H JMP MAIN // ORG 000BH // JMP T00 ORG 0030H MAIN:MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB TR
[单片机]
<font color='red'>模拟</font><font color='red'>自动</font><font color='red'>车库</font><font color='red'>源程序</font>
基于51单片机智能锁原理图PCB+源程序
Altium Designer画的原理图和PCB图如下: 单片机源程序如下: #include string.h #include intrins.h #include STC12C5A60S2.h #include main.h #include delay.h #include lcd1602.h #include key.h #include IAPEEPROM.h sbit motor=P2^1; sbit led=P2^2; sbit buzz=P2^3; /**********************************************/ uchar code Start
[单片机]
基于51单片机智能锁原理图PCB+<font color='red'>源程序</font>
ARM汇编语言源程序格式
Semihosting 在ADS的C语言函数库中,某些ANSIC的功能是由主机的调试环境来提供的,这套机制有一个专门术语叫Semihosting。 Semihosting通过一组软件中断(SWI)指令来实现。 当一个Semihosting软中断被执行时,调试系统先识别这个SWI请求,然后挂起正在运行的程序,调用Semihosting的服务,完成后再恢复原来的程序执行。 因此,主机执行的任务对于程序来说是透明的。 SWI传递的功能号 (例如: semi-hosting, 使用0x123456 (ARM) or 0xAB (Thumb) 续 在此例中,表格jumptable中存放地是子程序地入口地址,我们把这种表格称为跳转表格。 注意
[单片机]
单片机出租车计价器电路原理图与源程序
电路原理图如下: 单片机源程序如下: /************************************************************* 多功能出租车计价系统 补充说明: ***************************************************************/ #include reg52.h //头文件 #include LCD1602.h #include AT24C02.h #include INTERRUPT.h #include SC8065.h #include DS1302.h /******
[单片机]
单片机出租车计价器电路原理图与<font color='red'>源程序</font>
单片机串口控制步进电机的源程序
#include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int #define LED P1 //因为步进电机是减速步进电机,减速比的1/64 , //所以N=64时,步进电机主轴转一圈 //使用前请短接J2跳线帽,串口助手设置为比特率9600,无校验位,停止位1,发送数据为16进制形式 uchar code CCW ={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表 uchar code CW ={0x09,0x01,0
[单片机]
单片机交通灯设计源程序
#include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit k1=P1^6; sbit k2=P1^7; sbit k3=P2^7; sbit k4=P3^0; sbit yellowled_nb=P1^4; //南北黄灯 sbit yellowled_dx=P1^1; //东西黄灯 uchar code table ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//共阴 uchar data dig; //位选 uchar da
[单片机]
PIC16F877A单片机PPM调制的激光通信Proteus仿真及源程序
软件: MPLAB X IDE v4.15编译 proteus 8.6仿真. 1、仿真电路图; 2、发送和接收源程序加注释。 请看注释。 原理: 1)ADC读取并用led显示ADC读数,并通过usart进行输出。 2)通过PPM原理进行通讯传输到另外一个单片机,LED显示接收的值。 具体请看附件 希望大家顶一下。 仿真原理图如下(proteus仿真工程文件可到本帖附件中下载) 1、发送模块:读取ADC数值,LED显示10位ADC值。并通过PPM发送。 2、接收模块:PPM接收到的数据。LED显示接收的ADC值(10bits) 基于PIC单片机的PPM调制激光通信收发器 PPM (pulse position modulati
[单片机]
PIC16F877A单片机PPM调制的激光通信Proteus仿真及<font color='red'>源程序</font>
单片机多路数据采集源程序
程序在下面 源程序: 单路采集程序: MOV DPTR,#0F8FFH MOV R0,#00H ;将存储器的首地址存在R0,R1两个寄存器中 MOV R1,#00H MOV R2,#200D ;设置循环 MOV R3,#4 MOV R4,#8D MAIN: CLR P1.1 ;选中ADC0809 PUSH DPL ;DPTR入栈 PUSH DPH MOVX @DPTR,A ;启动AD转换 ACALL DELAY ;延时5ms 保证采集数据频率为200HZ MOVX A,@DPTR ;读数据 SETB P1.1 ;选中存储器 MOV DPL,R0 ;将存储器的地址给DPTR
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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