1、51单片机经典流水灯汇编程序51单片机经典流水灯汇编程序D 第七个试验:流水灯数字显示综合练习-51单片机汇编语言试验教程 收藏 该程序运行结果为个位数码管轮流现实0,1,2,3,4,5,6,7,8然后十位数码管轮流现实0,1,2,3,4,5,6,7,8反复循环P1.0,P1.1, P1.2,P1.3, P1.4,P1.5, P1.6,P1.7, 依次点亮然后轮流点亮小喇叭不停发出滴答声:注意该程序配套为我站的倚天版开发套件:如果是标准版:因他的数码管接法不同。 显示的数字不对。该程序在本站XP开发套件上调试通过,以下是程序运行在XP版时的照片.数码管显示数字注意0为点亮 1 为灭 显示数字
2、p0.7 p0.6 p0.5 p0.4 p0.3 p0.2 p0.1 p0.0 16进制代码 0 0 0 1 0 1 0 0 0 28H 1 0 1 1 1 1 1 1 0 7EH 2 1 0 1 0 0 0 1 0 A2H 3 0 1 1 0 0 0 1 0 62H 4 0 1 1 1 0 1 0 0 74H 5 0 1 1 0 0 0 0 1 61H 6 0 0 1 0 0 0 0 1 21H 7 0 1 1 1 1 0 1 0 7AH 8 0 0 1 0 0 0 0 0 20H 9 0 1 1 0 0 0 0 0 60H 代码表的意思和方法参照前面的教程; 注意0为点亮 1 为灭然后我们
3、可以把代码送到P0口,就可以是数码管显示需要的数字; 当然, 必须有位选,因为我们的实验板是动态扫描数码管, 两个8的位选分别是P2.6 P2.7.LOOP: ; 标号CLR P2.6 ;选中p2.6 数码管左边的8字使能SETB P2.7 ;p2.7不使能。 右边的数码管消隐MOV P0,#28H ;把28h送p0口;数码管显示 0LCALL DELAY ;延时MOV P0,#0FFH ;0ffh 送p0口,数码管清除 CLR P1.0 ;点亮p1.0发光管MOV P0,#7EH ;把7eh送p0口;数码管显示 1LCALL DELAYMOV P0,#0FFHCLR P1.1 ;点亮p1.0
4、发光管CLR P1.0 ;点亮p1.0发光管MOV P0,#0A2H ;数码管显示 2LCALL DELAYMOV P0,#0FFH CLR P1.2CLR P1.1CLR P1.0MOV P0,#62H ;数码管显示 3LCALL DELAYMOV P0,#0FFHCLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#74H ; ;数码管显示 4LCALL DELAYMOV P0,#0FFH CLR P1.4CLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#61H ;数码管显示 5;LCALL DELAYMOV P0,#0FFH CLR
5、 P1.5 CLR P1.4CLR P1.3 CLR P1.2CLR P1.1CLR P1.0MOV P0,#21H ; 数码管显示 6LCALL DELAYMOV P0,#0FFH CLR P1.6 CLR P1.5CLR P1.4CLR P1.3 CLR P1.2CLR P1.1CLR P1.0MOV P0,#7AH ; 数码管显示 7LCALL DELAYMOV P0,#0FFHCLR P1.7CLR P1.6CLR P1.5CLR P1.4CLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#20H ; 数码管显示 8LCALL DELAYMOV P0,#0F
6、FHLCALL DELAY MOV P0,#0FFHMOV P1,#0FFH ;程序到此结果为左边的数码管显示0,1,2,3,4,5,6,7,8;p1.0-p1.7指示灯依次点亮SETB P2.6 ; 左边的8消隐CLR P2.7 ;选中p2.7 数码管右边的8字使能 ,;MOV P0,#28HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.0MOV P0,#7EHLCALL DELAYMOV P0,#0FFHMOV P1,#0FFH CLR P1.1MOV P0,#0A2HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFH CLR P1
7、.2 MOV P0,#62HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFH CLR P1.3MOV P0,#74HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFH CLR P1.4MOV P0,#61HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFH CLR P1.5MOV P0,#21HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFH CLR P1.6MOV P0,#7AHLCALL DELAYMOV P0,#0FFHMOV P1,#0FFH CLR P1.7MOV P0,#20HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHMOV P0,#0FFHMOV P1,#0FFH;这一段和上一段基本相同, 不同的是右边的数码管依次显示012345678,左边的不亮;同时p1口的灯流动显示:AJMP LOOP; 注意: 程序运行到此跳转到开始标号,重复执行: DELAY: ;延时子程序;参考前面的教程:CLR P3.3 ;注意小喇叭在3.3口, 这里可以使小喇叭发出嗒,嗒声MOV R7,#255NOPNOP D1:MOV R6,#255setb p3.3D2: DJNZ R6,D2clr p3.3DJNZ R7,D1SETB P3.3RETEND
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2