用C语言编写一个关于电梯的程序

用C语言编写一个关于电梯的程序,第1张

这是以前作的课程设计,是一个10层电梯的模拟,供楼主参考吧:

printf("上下选择:1-上楼,2-下楼\t")

scanf("%d",&input_direction)

fflush(stdin)

printf("输入该层的乘客想到达的楼层,以-1结束\n")

void check(liftor &myliftor) int flag1=0,flag2=0,flag3=0

for(i=0i<10i++)

{

if(myliftor.stored_flare[i]!=0)

flag1=1

if(myliftor.stored_flare[i]==1)

flag2=1

if(myliftor.stored_flare[i]==2)

flag3=1

}

if(!flag1) myliftor.set_direction(0)

else if(!flag2&&flag3) myliftor.set_direction(2)

else if(!flag3&&flag2) myliftor.set_direction(1)

int main(int argc, char *argv[])

liftor myliftor

char flag

int j

myliftor.direction=1

printf("**************************************\n")

printf("该程序用于模拟10(0-9)层的电梯控桐渗制\n")

printf("先输入按下电梯的层号及上下选\n择(类似电梯外的按钮)\n")

printf("每到一层时,输入乘客要到的楼槐宴\n层号(类铅轮银似电梯内的按钮)\n")

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

程序初始化1.

tcount航天4ch

航天4dh曾

0000h丙

ljmp开始

000bh丙

ljmp int0x

0030h丙

初始化

启动:mov tmod,# 1小时

mov th0,# 3针

mov tl0,# 0 B0H50毫秒

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主程序调用

小熏:简森-巴顿p1.0,一

lcall ys10ms

简森-巴顿p1.0,一个,判断一层的档侍闷停止按键是否按下

clr p2.0若按下谈游则把对应的红色发光二极管点亮

一:简森-巴顿p1.1,两个

lcall ys10ms

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

clr p2.1若按下则把对应的红色发光二极管点亮

二:简森-巴顿p1.2、射孔

lcall ys10ms

简森-巴顿p1.2、射孔

clr p2.2

各段:简森-巴顿p1.3,精打细算

lcall ys10ms

简森-巴顿p1.3,精打细算,

clr p2.3

台北县:简森-巴顿p1.4,FIV的猫咪

lcall ys10ms

简森-巴顿p1.4,FIV的猫咪

clr p2.4

FIV的猫咪:简森-巴顿p1.5、共六人

lcall ys10ms

简森-巴顿p1.5、六

clr p2.5

六:简森-巴顿p1.6,SEV

lcall ys10ms

简森-巴顿p1.6,SEV

clr p2.6

SEV:简森-巴顿p1.7、训

lcall ys10ms

简森-巴顿p1.7、训

clr p2.7

ljmp鲁迅

中断程序调用3.

INT0X:mov th0,# 3针

mov tl0,# 0 B0H

公司tcount

mov,TCOUNT

cjne,5 #,ZHUAN250毫秒= 250 * 5女士

mov tcount,# 00 H

简森-巴顿f0,《左传》

ljmp zhuan1

《左传》:ljmp虾酱

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

mov,蹭

cjne,# 00 H、社里

并打动,# 06 h,显示

简森-巴顿p2.0,SS1_1

公司30h

mov,30小时

cjne,# 1、SSX1_1

clr p3.4一层门开的声音开

SSX1_1:cjne,2号,SSX1_2

setb p3.4一层门开的声音关

SSX1_2:cjne,# 16,SSX1_3

clr p3.4一层门关的声音开

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

mov 30h,# 0

setb p3.4一层门关的声音关

setb p2.0熄灭对应的红色发光二极管

SS1_1:公司31h

mov,31 H

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

mov 31h,# 0

公司曾

社里:mov,蹭

cjne,# 1小时,SS3

并打动,5 # BH,显示

简森-巴顿p2.1,SS2_1

公司32h

mov一个32小时

cjne,# 1、SSX2_1

clr p3.4二层门开的声音开

SSX2_1:cjne,2号,SSX2_2

setb p3.4二层门开的声音关

SSX2_2:cjne,# 16,SSX2_3

clr p3.4二层门关的声音开

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

mov 32h,# 0

setb p3.4二层门关的声音关

setb p2.1熄灭对应的红色发光二极管

SS2_1:公司33h

mov,33 H

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

mov 33h,# 0

ljmp zhuan3


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

原文地址: https://outofmemory.cn/yw/12524481.html

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

发表评论

登录后才能评论

评论列表(0条)

保存