ORG 0000H
JMP MAIN
ORG 1000H
MAIN:
MOV SP,#60H
CALL SETLEDS
mainloop:
jmp mainloop
对16组LED置数
SETLEDS:
mov dptr,#0fffeh 第一个8255A控制字地址
mov a,#80h 设置A、B、C口为方式0输出
movx @dptr,a
mov dptr,#0fffdh 第二个8255A控制字地址
mov a,#80h 设神悔桥置A、B、C口为方式0输出
movx @dptr,a
mov dptr,#0fffbh 第三个8255A控制字地址
mov a,#80h 设置A、B、C口为方式0输游猛出
movx @dptr,a
mov dptr,#0fff7h 第四个8255A控制字地址
mov a,#80h 设置A、B、C口为方式0输出
movx @dptr,a
mov dptr,#0ffefh 第五个8255A控制字地址
mov a,#80h 设置A、B、C口为方式0输出
movx @dptr,a
mov dptr,#0ffdfh 第六个8255A控制字地址
mov a,#80h 设置A、B、C口为方式0输出
movx @dptr,a
mov dptr,#0ff3eh 第1组数码管地址
mov a,#0f1h 第1组数码管显示1
movx @dptr,a
mov dptr,#0ff7eh 第2组数码管地址
mov a,#02h 第2组数码管显示2
movx @dptr,a
mov dptr,#0ffbeh 第3组数码管地址
mov a,#03h 第3组数码管显示3
movx @dptr,a
mov dptr,#0ff3dh 第4组数码管地址
mov a,#04h 第4组数码管显示4
movx @dptr,a
mov dptr,#0ff7dh 第5组数码管地址
mov a,#05h 第5组数码管显示5
movx @dptr,a
mov dptr,#0ffbdh 第6组数码管地址
mov a,#06h 第6组数码管显示6
movx @dptr,a
mov dptr,#0ff3bh 第7组数码管地址
mov a,#07h 第7组数码管显示7
movx @dptr,a
mov dptr,#0ff7bh 第8组数码管地址
mov a,#08h 第8组数码管显示8
movx @dptr,a
mov dptr,#0ffbbh 第9组数码管地址
mov a,#09h 第9组数码管显示9
movx @dptr,a
mov dptr,#0ff37h 第10组数码管地址
mov a,#00h 第10组数码管显示0
movx @dptr,a
mov dptr,#0ff77h 第11组数码管地址
mov a,#01h 第11组数码管显示1
movx @dptr,a
mov dptr,#0ffb7h 第12组数码管地址
mov a,#02h 第12组数码管显示2
movx @dptr,a
mov dptr,#0ff2fh 第13组数码管地址
mov a,#03h 第13组数码管显示3
movx @dptr,a
mov dptr,#0ff6fh 第14组数码管地址
mov a,#04h 第14组数前李码管显示4
movx @dptr,a
mov dptr,#0ffafh 答题计时数码管地址
mov a,#05h 答题计时数码管显示5
movx @dptr,a
mov dptr,#0ff1fh 第15组数码管地址
mov a,#06h 第15组数码管显示6
movx @dptr,a
mov dptr,#0ff5fh 第16组数码管地址
mov a,#07h 第16组数码管显示7
movx @dptr,a
mov dptr,#0ff9fh 抢到组数码管地址
mov a,#08h 抢到组数码管显示8
movx @dptr,a
RET
end
给你一个思路:假设是单纯的红庆此绿灯,无黄灯的话,设红灯30秒,绿灯30秒。需要两个状态量,
方向Dir(1:东西,0:南北),东西灯颜色LightcolorEW,南北灯颜色LightcolorNS。
此刻,东西方向亮红灯,则Dir=1,LightcolorEW=red,LightcolorNS=green。对相应端口赋值即可。只需要东西方向与南北方向相反。
假设有黄灯,设红灯30秒,绿灯25秒,黄灯5秒。此刻,东西方向亮红灯,则Dir=1,皮差滚LightcolorEW=red,前25秒LightcolorNS=green,后5秒LightcolorNS=yellow。由于新加入了绿灯转黄灯,则要再加入一个状态量,绿灯结束状态,黄灯根据绿灯结燃余束状态启动,计时结束转红灯。对相应端口赋值即可。只需要东西方向与南北方向相反。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)