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主程序调用
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)