小弟要做电梯模拟设计,下面代码不懂,求高手帮翻译每一行是代码是什么意思。(我把金币都给你,重谢!)

小弟要做电梯模拟设计,下面代码不懂,求高手帮翻译每一行是代码是什么意思。(我把金币都给你,重谢!),第1张

实现的功能:此单片机模拟电梯用绿色发光二极管组成的箭头来指示电梯当前是处于上升状态还是下降状态,用数码管显示当前是处于哪一层,用红色发光二极管指示电梯走到哪一层会停电源接通后,若没有人按下停止按键,它就以每层2秒的速度一直上下运行,若有人按下某一层的停止按键,它就会在相应的那一层停止4秒钟,并伴有开门和关门的声音提示。

程序初始化1

tcount航天4ch

航天4dh曾

0000h丙

ljmp开始

000bh丙

ljmp int0x

0030h丙

;;;;;;;;;;;;初始化;;;;;;;;;;;;;;;;;

启动:mov tmod,# 1小时

mov th0,# 3针

mov tl0,# 0 B0H;50毫秒

mov ie,#小时

setb tr0

mov tcount,4号

CLR F0

mov 20h,# 0

mov r0、# 30小时

mov r1,# 30

清:mov @r0,# 00 H

公司r0

djnz r1、清;把30H到4DH这30个单元清0

并打动,# 6小时

mov p3,# 0 F8H

2主程序调用

小熏:简森-巴顿p10,一

lcall ys10ms

简森-巴顿p10,一个,判断一层的停止按键是否按下

clr p20;若按下则把对应的红色发光二极管点亮

一:简森-巴顿p11,两个

lcall ys10ms

简森-巴顿p11,两个,判断二层的停止按键是否按下

clr p21;若按下则把对应的红色发光二极管点亮

二:简森-巴顿p12、射孔

lcall ys10ms

简森-巴顿p12、射孔

clr p22

各段:简森-巴顿p13,精打细算

lcall ys10ms

简森-巴顿p13,精打细算,

clr p23

台北县:简森-巴顿p14,FIV的猫咪

lcall ys10ms

简森-巴顿p14,FIV的猫咪

clr p24

FIV的猫咪:简森-巴顿p15、共六人

lcall ys10ms

简森-巴顿p15、六

clr p25

六:简森-巴顿p16,SEV

lcall ys10ms

简森-巴顿p16,SEV

clr p26

SEV:简森-巴顿p17、训

lcall ys10ms

简森-巴顿p17、训

clr p27

ljmp鲁迅

中断程序调用3

INT0X:mov th0,# 3针

mov tl0,# 0 B0H

公司tcount

mov,TCOUNT

cjne,5 #,ZHUAN2;50毫秒= 250 5女士

mov tcount,# 00 H

简森-巴顿f0,《左传》

ljmp zhuan1

《左传》:ljmp虾酱

ZHUAN1:mov p3,# 0 F8H;上升的箭头

mov,蹭

cjne,# 00 H、社里

并打动,# 06 h,显示

简森-巴顿p20,SS1_1

公司30h

mov,30小时

cjne,# 1、SSX1_1

clr p34;一层门开的声音开

SSX1_1:cjne,2号,SSX1_2

setb p34;一层门开的声音关

SSX1_2:cjne,# 16,SSX1_3

clr p34;一层门关的声音开

SSX1_3:cjne,17号,ZHUAN2;16 250毫秒= 4 S(总共次,但实际在这里停止的时间只有次MS)

mov 30h,# 0

setb p34;一层门关的声音关

setb p20;熄灭对应的红色发光二极管

SS1_1:公司31h

mov,31 H

cjne,# 9,ZHUAN2;8 250毫秒= 2秒(总共次,但实际上升一层只用次MS)

mov 31h,# 0

公司曾

社里:mov,蹭

cjne,# 1小时,SS3

并打动,5 # BH,显示

简森-巴顿p21,SS2_1

公司32h

mov一个32小时

cjne,# 1、SSX2_1

clr p34;二层门开的声音开

SSX2_1:cjne,2号,SSX2_2

setb p34;二层门开的声音关

SSX2_2:cjne,# 16,SSX2_3

clr p34;二层门关的声音开

SSX2_3:cjne,17号,ZHUAN2;16 250毫秒= 4 S(总共次,但实际在这里停止的时间只有次MS)

mov 32h,# 0

setb p34;二层门关的声音关

setb p21;熄灭对应的红色发光二极管

SS2_1:公司33h

mov,33 H

cjne,# 9,ZHUAN2;8 250毫秒= 2秒,但实际上升一层只用次MS(总共次吗

mov 33h,# 0

ljmp zhuan3

刚敲完,测试过,没有任何问题,放心使用

#include <reg51h>

#include <intrinsh>

#define uchar unsigned char

#define uint unsigned int

sbit K1=P2^4;

sbit K2=P2^3;

sbit K3=P2^2;

sbit K4=P2^1;

sbit K5=P2^0;

sbit BE=P2^7;

uchar code NUM[]=

{0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,

0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,

0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,

0x00,0x22,0x49,0x49,0x49,0x26,0x00,0x00,

0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,

0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00,

0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,

0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00};

uint r;

char offset=0;

uchar Current_Level=1,Dest_Level=1,x=0,t=0;

void delay(uint x)

{

uchar i;

while(x--)

for(i=0;i<120;i++);

}

void main()

{

P3=0x80;

Current_Level=1;

Dest_Level=1;

TMOD=0x01;

TH0=-4000/256;

TL0=-4000%256;

TR0=1;

IE=0x82;

while(1);

}

void LED_Screen_Display() interrupt 1

{

uchar i;

if(P1!=0xff&&Current_Level==Dest_Level)

{

if(P1==0xfe) {Dest_Level=5;K5=0;}

if(P1==0xfd) {Dest_Level=4;K4=0;}

if(P1==0xfb) {Dest_Level=3;K3=0;}

if(P1==0xf7) {Dest_Level=2;K2=0;}

if(P1==0xef) {Dest_Level=1;K1=0;}

}

TH0=-4000/256;

TL0=-4000%256;

P3=_crol_(P3,1);

i=Current_Level8+r+offset;

P0=~NUM[i];

if(Current_Level<Dest_Level)

{

if(++r==8)

{

r=0;

if(++x==4)

{

x=0;

if(++offset==8)

{

offset=0;

Current_Level++;

}

}

}

}

else

if(Current_Level>Dest_Level)

{

if(++r==8)

{

r=0;

if(++x==4)

{

x=0;

if(--offset==-8)

{

offset=0;

Current_Level--;

}

}

}

}

else

{

if(++r==8) {r=0;}

}

}

以上就是关于小弟要做电梯模拟设计,下面代码不懂,求高手帮翻译每一行是代码是什么意思。(我把金币都给你,重谢!)全部的内容,包括:小弟要做电梯模拟设计,下面代码不懂,求高手帮翻译每一行是代码是什么意思。(我把金币都给你,重谢!)、求一个c语言程序,用单片机,8*8点阵屏,和按键做一个电梯仿真系统……要求;按第一个键点阵屏显示1、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9296571.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存