;******************************************************************************** ;两路动态扫描显示程序,开机显示012345,如果按下P32显示ABCDEF * ;******************************************************************************** ;* 日期: 2007-3-25 * ;* 版本: 3.0 * ;* 作者: 深圳学林电子有限公司 专业8051单片机教程站 * ;* 邮箱: sxj1974@163.com * ;* 网站: http://www.51c51.com http://www.8951.com 更多例程请登陆网站 * ;******************************************************************************** ;* 硬件:此程序在本公司xlisp系列单片机实验仪运行通过 * ;******************************************************************************** ;* 【版权】 Copyright(C)深圳学林电子有限公司 www.51c51.com All Rights Reserved * ;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! * ;******************************************************************************** ORG 00H START:JB P3.2,DIR1;判断P32是否按? MOV DPTR,#TABLE1;如果按下送TAB1 SJMP DIR;跳转到DIR DIR1:MOV DPTR,#TABLE2;如果没有按送TAB2
DIR:MOV R0,#00H;R0是数的代码寄存器 MOV R1,#0fdH;R1是数码管选择位10111111,P21亮 NEXT:mov p0,#0ffh;清除显示 MOV P2,#0FFH;清除显示 MOV A,R0 MOVC A,@A+DPTR;取代码 MOV P0,A;送显示 MOV A,R1 MOV P2,A;数码管选择 INC R0;取下一个码 RL A;右移一位 MOV R1,A;取下一个数码管端口 CJNE R1,#7fh,NEXT;如果6个数送完重新开始 SJMP START;重新开始
TABLE1:DB 28h,7eh,0a2h,62h,74h,61h;数码管ABCDEF TABLE2:DB 30h,25h,0a9h,26h,0a1h,0b1h;显示012345 END hex格式文件下载(点右键,目标另存为hex即可直接烧写)

|