文档详情

单片机的程序与功能.doc

发布:2018-06-19约2.48万字共30页下载文档
文本预览下载声明
6.1功能说明:控制单片机P1端口输出,使P1.0位所接的LED点亮,其他7只灯熄灭。 程序:JS01.ASM 01:??? ?MOV? ??A , ?; ?存入欲显示灯的位置数据 02:?? ??MOV??? P1, A????????? ; ?点亮第一只灯 03:???? JMP??? $????????????? ?;? 保持当前的输出状态 04:???? END??????????? ????????;? 程序结束 ? 6.2功能说明:单片机P1端口接8只LED,点亮第1、3、4、6、7、8只灯。 程序:JS02.ASM 01:START: MOV?? A , ? ; 存入欲显示灯的位置数据 02:?????? MOV?? P1, A????????? ; 点亮灯 03:?????? JMP?? START?????????? ; 重新设定显示值 04:?????? END?????????????????? ; 程序结束 ? 6.3功能说明:单片机P1端口接8只LED,每次点亮一只,向左移动点亮,重复循环。 该程序缺少延时环节,适合模拟仿真观察。 程序:JS03.ASM 01:?? START:?? MOV?? R0, #8????????? ;设左移8次 02:??????????? MOV?? A,? ? ;存入开始点亮灯位置 03:?? LOOP:??? MOV?? P1, A?????????? ;传送到P1并输出 04:??????????? RL??? A?????????????? ;左移一位 05:??????????? DJNZ? R0, LOOP??????? ;判断移动次数 06:??????????? JMP? ?START?????????? ;重新设定显示值 07:??????????? END?????????????????? ;程序结束 ? 6.4功能说明:单片机P1端口接8只LED,每次点亮一只,向右移动点亮,重复循环。 程序:JS04.ASM 01:?? START: MOV?? R0, #8? ???????;设右移8次 02:????????? MOV?? A,? ;存入开始点亮灯位置 03:??? LOOP:? MOV?? P1, A????????? ;传送到P1并输出 04:?????????? ACALL DELAY????????? ;调延时子程序???????? 05:?????????? RR??? A????????????? ;右移一位 06:?????????? DJNZ? R0, LOOP?????? ;判断移动次数 07:?????????? JMP?? START????????? ;重新设定显示值 08:?? DELAY:? MOV? R5,#50????????? ; 09:? DLY1:?? MOV? R6,#100???????? ; 10:?? DLY2:?? MOV? R7,#100???????? ; 11:?????????? DJNZ R7,$??????????? ;??????????????????? 12:?????????? DJNZ R6,DLY2???????? ; 13:?????????? DJNZ R5,DLY1???????? ; 14:?????????? RET????????????????? ;子程序返回 15:????????? END????????????????? ;程序结束 ? 6.5功能说明:单片机P1端口接8只LED,每次点亮一只,先把右边的第一只点亮,0.5秒后点亮右数的第二只灯,第一只熄灭,再过0.5秒点亮右数的第三只灯,第二只熄灭,…亮灯按此顺序由右向左移动。当亮灯移到左侧后,开始与上述反方向移动,即亮灯由左向右移动,重复循环。 程序:JS05.ASM 01:? START:?? MOV?? R0, #8? ??;设左移8次 02:?????????? MOV?? A,#0FEH ??;存入开始亮灯位置 03:? LOOP:??? MOV?? P1, A??? ?;传送到P1并输出 ?? 04:?????????? ACALL DELAY???? ;调延时子程序 05:?????????? RL??? A???????? ;左移一位 06:?????????? DJNZ? R0, LOOP? ;判断移动次数????? 07:?????????? MOV?? R1, #8??? ;设右移8次??????????? 08;?? LOOP1:? RR??? A???????? ;右移一位?????????
显示全部
相似文档