AT89C51制作的自动计数剪线系统

发布者:时光如梦最新更新时间:2021-03-18 来源: eefocus关键字:AT89C51  自动计数 手机看文章 扫描二维码
随时随地手机看文章

ORG 0000H

AJMP PLAY

ORG 001BH

AJMP JONG



PLAY: MOV P1, #0FFH: 程序初始化

MOV P2, #00H

MOV 70H, #00H

MOV 71H, #00H

MOV 72H, #00H

MOV 73H, #00H

MOV 74H, #00H

MOV 75H, #00H

MOV 76H, #00H

MOV 77H, #00H

MOV R1, #00H

MOV R2, #00H

MOV TMOD, #50H

MOV TL1, #0FFH

MOV TH1, #0FFH

SETB TR1

SETB ET1

SETB EA

;////////////////////////////////////////////////////////////////////////

MAIN: MOV SP, #80H; 

ACALL S0; 调用运行子程序

ACALL S1; 调用停止子程序

ACALL S2; 调用个位数按键子程序

ACALL S3;  调用十位数按键子程序

ACALL S4; 调用百位数按键子程序

ACALL S5; 调用千位数按键子程序

ACALL ESJJ;调用显示延时子程序

AJMP MAIN; 返回主程序


;////////////////////////////////////////////////////////////////////////

S0: JB P1.0, S01; 运行按键子程序

SETB P2.0;如果按键1.0为0,则置位2.0


S01: RET

;///////////////////////////////////////////////////////////////////////


S1: JB P1.1, S11;停止按键子程序

CLR P2.0;如果按键1.1为0,则置位2.0

S11: RET

;//////////////////////////////////////////////////////////////////////

S2: JB P1.2, S23;个位数按键子程序

MOV A, 60H;

CJNE A, #09H, S21;个位数是否小于9,小于加1

MOV 60H, #00H;大于清0

AJMP S210;

S21: INC 60H;

S210: JB P1.6, S211;判断此数为长度数还是数量数

MOV 70H, 60H;数量数送到70H单元

AJMP S22;

S211: MOV 74H, 60H;

ACALL K11;长度数送到74H单元

S22: ACALL DL调用按键延时子程序

S23: RET

;/////////////////////////////////////////////////////////////////////


S3: JB P1.3, S33;十位按键子程序

MOV A, 61H;

CJNE A, #09H, S31;

MOV 61H, #00H;

AJMP S310;

S31: INC 61H;

S310: JB P1.6, S311;

MOV 71H, 61H;

AJMP S32;

S311: MOV 75H, 61H;

ACALL K11;

S32: ACALL DL

S33: RET

;////////////////////////////////////////////////////////////////////

S4: JB P1.4, S43;百位按键子程序

MOV A, 62H;

CJNE A, #09H, S41;

MOV 62H, #00H;

AJMP S410;

S41: INC 62H;

S410: JB P1.6, S411;

MOV 72H, 62H;

AJMP S42;

S411: MOV 76H, 62H;

ACALL K11;

S42: ACALL DL;

S43: RET

;////////////////////////////////////////////////////////////////////

S5: JB P1.5, S53;千位按键子程序

MOV A, 63H;

CJNE A, #09H, S51;

MOV 63H, #00H;

AJMP S510;

S51: INC 63H;

S510: JB P1.6, S511;

MOV 73H, 63H;

AJMP S52;

S511: MOV 77H, 63H;

ACALL K11;

S52: ACALL DL;

S53: RET

;////////////////////////////////////////////////////////////////////

长度数BCD转二进制码子程序

;转换数为77H(千位)76H(百位)75H(十位)74H(个位)

;结果存于67H(H)66H(L)

K11: MOV A, #38H;千位数转

MOV B, 77H;

MUL AB

MOV 67H, B;

MOV 66H, A;

MOV A, #03H;

MOV B, 77H;

MUL AB

ADD A, 67H;

MOV 67H, A;

;------------------------------


MOV A, #64H;百位数转

MOV B, 76H;

MUL AB

ADD A, 66H

MOV 66H, A;

MOV A, B;

MOV B, 77H;

ADDC A, 67H;

MOV 67H, A;

;------------------------------

MOV A, #0AH;十位数转

MOV B, 75H;

MUL AB

ADD A, 66H;

MOV 66H, A;

MOV A, B;

ADDC A, 67H;

MOV 67H, A;

;------------------------------

MOV A, 74H;个位数转

ADD A, 66H;

MOV 66H, A;

MOV A, #00H;

ADDC A, 67H;

MOV 67H, A;

RET


;////////////////////////////////////////////////////////////////////////////////////////////

;中断子程序

JONG: CLR P2.0;启动剪线开关

ACALL DL;

ACALL DL;

SETB P2.1;

;--------------------

MOV A, #0FFH;长度数送到计数子程序

CLR C;

SUBB A, 66H;

MOV TL1, A;

MOV A, #0FFH;

SUBB A, 67H;

MOV TH1, A;

;--------------------

ACALL DL;延时

ACALL DL;

ACALL DL;

ACALL DL;

CLR P2.1;关闭剪线开关

ACALL DL;

ACALL BCD0;数量减一子程序

RETI;


;////////////////////////////////////////////////////////////////////////////////////////////

;数量数减一子程序

;被减数为73H(千位)72H(百位)71H(十位)70H(个位)

BCD0: MOV A, 70H;

JZ BCD1;

DEC 70H;

AJMP BCD5;

;-------------------------------


BCD1: MOV A, 71H;

JZ BCD2;

DEC 71H;

MOV 70H, #09H;

AJMP BCD5;

;-------------------------------

BCD2: MOV A, 72H;

JZ BCD3;

DEC 72H;

MOV 71H, #09H;

MOV 70H, #09H;

AJMP BCD5;

;-------------------------------

BCD3: MOV A, 73H;

JZ BCD4;

DEC 73H;

MOV 72H, #09H;

MOV 71H, #09H;

MOV 70H, #09H;

AJMP BCD5;

;-------------------------------

BCD4: CLR P2.0

AJMP BCDQ;

;-------------------------------

BCD5: SETB P2.0

BCDQ: RET

;////////////////////////////////////////////////////////////////////////////////////////////

DL: MOV 68H, #20;按键延时子程序

DL1: ACALL ESJJ;

DEC 68H;

MOV A, 68H;

CJNE A, #00H, DL1;

RET

;////////////////////////////////////////////////////////////////////////////////////////////

ESJJ: JB P1.6, ESJJ1;显示子程序

MOV 60H, 70H;

MOV 61H, 71H;

MOV 62H, 72H;

MOV 63H, 73H;

AJMP ESJJ2

ESJJ1: MOV 60H, 74H;

MOV 61H, 75H;

MOV 62H, 76H;

MOV 63H, 77H;

ESJJ2: MOV A, 60H;

ADD A, #30H;

MOVC A, @A+PC;

CLR P2.3

MOV P0, A;

SETB P2.6;

ACALL DDY;

MOV A, 61H;

ADD A, #23H

MOVC A, @A+PC;

CLR P2.6;

MOV P0, A;

SETB P2.5;

ACALL DDY;

MOV A, 62H;

ADD A, #16H;

MOVC A, @A+PC;

CLR P2.5;

MOV P0, A;

SETB P2.4;

ACALL DDY;

MOV A, 63H;

ADD A, #09H;

MOVC A, @A+PC;

CLR P2.4;

MOV P0, A;

SETB P2.3;

ACALL DDY;

RET

BS: DB 01H;

DB 0E7H;

DB 0C8H;

DB 0C2H;

DB 0A6H;

DB 92H;

DB 90H;

DB 87H;

DB 80H;

DB 82H;

DDY: MOV R1, #20

DDY1: MOV R2, #80

DDY2: DJNZ R2, DDY2;

DJNZ R1, DDY1;

RET

END


关键字:AT89C51  自动计数 引用地址:AT89C51制作的自动计数剪线系统

上一篇:51单片机与MXA2500GL的振动信号分布式检测
下一篇:51单片机各中断初始化及子程序模板

推荐阅读最新更新时间:2024-11-17 14:42

AT89C51单片机在无线数据传输中的应用
摘要: 介绍无线数据传输系统的组成、AT89C51单片机串行口的工作方式及其与无线数字电台接口的软硬件设计与实现方法。 一般的数字采集系统,是通过传感器将捕捉的现场信号转换为电信号,经模/数转换器ADC采样、量化、编码后,为成数字信号,存入数据存储器,或送给微处理器,或通过无线方式将数据发送给接收端进行处理。无线数据传输系统就是 样一套利用无线手段,将采集的数据由测量站发送到主控站的设备。 1 系统组成 系统组成如图1、图2所示。 系统由测量站和主控站两部分组成。测量站主要完成对现场信号的采集、存储,接收遥控指令并发送数据。主控站的主要工作是发送遥控指令、接收数据信息、进行数据处理和数据管理、随机显示打印等。 2 A
[单片机]
<font color='red'>AT89C51</font>单片机在无线数据传输中的应用
基于单片机设计的汽车倒车雷达系统
0 引 言 随着中国经济的持续增长和汽车价格的持续下降,越来越多的家庭拥有了私家车。在享受汽车给人们带来便利的同时,由于倒车而产生的问题也日益突出。据初步调查统计,15%的汽车事故是由汽车倒车 后视 不良造成的。早期的倒车防撞仪可以测试车后一定距离范围的障碍物从而发出警报,后来发展到根据距离分段报警。随着人们对汽车驾驶辅助系统易用性要求的提高,对汽车倒车雷达的要求也越来越高。本文设计的基于单片机AT89C51的倒车雷达,采用美国DAL-LAS 半导体公司生产的DS18B20单总线型数字温度传感器进行温度补偿提高了测距精度,采用OC-MJ12232C_3液晶显示模块对车距进行实时显示和 ISD4004语音芯片实现了倒车雷达语音报警
[单片机]
基于单片机设计的汽车倒车雷达<font color='red'>系统</font>
基于AT89C51单片机实现串行总线芯片测试实验平台的设计
应用串行接口芯片扩展系统时,在初步选择了串行接口的芯片后,为了对芯片的资源更好地了解,开发者一般在系统设计前搭建一个简单的硬件电路并编制相应的软件对其测试,待性能验证后再确定最终的设计方案。本文根据这一需要设计了一个用于串行总线芯片测试的实验平台。该平台以PC机为人机接口、采用单片机产生芯片串行通信时序。应用这一平台可以大大简化芯片使用前的测试过程。这一平台也为单片机串行扩展的初学者提供了快捷的学习工具。本平台目前集成了SPI、One-wire、Microware、I2C四种串行接口,在今后的使用中,可根据需要增加串行接口的种类。 1 串行扩展平台的结构 SPI、One-wire、Microware、I2C是目前单片机应用系统
[单片机]
基于<font color='red'>AT89C51</font>单片机实现串行总线芯片测试实验平台的设计
MAX517与51单片机的I2C总线数据通信
1 I2C总线的特点及基本通信协议 I2C总线是Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线?串行数据线和串行时钟线?即可使连接于总线上的器件之间实现信息传送,同时可通过对器件进行软件寻址,而不是对硬件进行片选寻址的方式来节约通信线数目,从而减少了硬件所占空间。因为总线已集成在片内,所以大大缩短了设计时间,此外,在从系统中移去或增加集成电路芯片时,对总线上的其它集成芯片没有影响。 1.1 I2C总线的主要特点 I2C总线通常由两根线构成:串行数据线(SDA)和串行时钟线(SCL);总线上所有的器件都可以通过软件寻址,并保持简单的主从关系,其中主器件既可以作为发送器,又可以作为接收器;
[单片机]
MAX517与51单片机的I2C总线数据通信
基于AT89C51单片机的变频调速控制系统设计
1.概述   在电气传动领域中,随着自关断器件技术水平的不断提高,脉宽调制技术(简称PWM技术)也日趋成熟。PMW交流变频调速以其高效率、高功率因数、输出波形好、结构简单等优点,在井下风机、水泵、造纸机等设备中得到了广泛的应用。将单片机应用于交流变频调速系统,可有效地避免传统调速方案中的一些缺点,达到了提高控制精度的目的 ,其特点:   (1)采用单片机可以使绝大多数控制逻辑通过软件实现,简化了电路。   (2)单片机具有更强的逻辑功能,运算速度快,精度高,有大容量的存储单元,可以实现较为复杂的控制。   (3)无零点漂移,控制精度高。   (4)可以提供人机界面,多机连网工作。   根据国内外有关变频调速的最新研究成
[单片机]
基于<font color='red'>AT89C51</font>单片机的变频调速控制<font color='red'>系统</font>设计
OLED多电子图文广告屏设计
  1 引言   新一代显示器件有机电致发光显示器件OLED(OrganicLightEmittingDiode)厚度为LCD的1/3,响应速度是LCD 元件的1000倍,低温特性好,在-40℃能正常显示。设计开发一套能在多个公共场合(如厂区、校区)同步发布电子公告的多电子图文 广告屏 。该系统基于通用串行总线(USB)传输,速度快、 可靠性高,有效地克服了传统广告图文传输的缺陷。   2系统设计   多场合同步发布电子广告屏系统由位于Internet网络的PC机(上位机)和位于各LED控制器上的单片机(下位机)组成,采用USB总线进 行主从式通信。图1为控制系统的逻辑结构框图。上位机主要完成图文编辑、字模提取与保存、图
[单片机]
OLED多电子图文广告屏设计
基于AT89C51的激光锁的设计
当今社会光电技术的应用已经非常广泛,尤其是在光纤通信技术、远程遥控技术、雷达探 测技术、自动控制技术以及光电检测技术等方面,对于光电技术的依赖越来越大。光电技术是具有广阔前景的一门新型技术,因为光的传播速度快,同时又不容易受干扰,还具有极大 的信息承载量,如果选择用光作为信息的载体,可以想象得出我们的世界将会变得如何的方 便快捷。 电脑密码控制器是以微处理器和数字存储器为代表,采用了当今高新科技、最新优化软件设 计而成,所追求的高保密性、高可靠性和广泛的适用性,特别是在区域管理和集中控制防盗 中显示出诸多优势,是一种现在比较流行的系统。 本密码控制器属于光电遥控式,集合了以上两种先进技术。以有光照或无光照作为基本码编 排一组特定
[电源管理]
基于AT89C51单片机的数码管循环点亮0到9(Keil+Proteus+C语言)
要求描述: 选用AT89C51单片机,绿色7段共阴极数码管,使用C语言实现 仿真图 代码 #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int uchar code DSY_CODE = { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f }; void DelayMS(uint x) { uchar t; while(x--) for(t=120;t 0;t--); } void main() { u
[单片机]
基于<font color='red'>AT89C51</font>单片机的数码管循环点亮0到9(Keil+Proteus+C语言)
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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