;******************************************************************************** ; 99计数器,开机后从00直到99显示 数码管接口:P0数据,P2显示位 * ;******************************************************************************** ;* 日期: 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 * ;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! * ;********************************************************************************
hex格式文件下载(点右键,目标另存为hex即可直接烧写) a_bit equ 20h b_bit equ 21h temp equ 22h star: mov temp,#0 ;初始化 stlop: acall display;调用显示子程序 inc temp;缓冲区加一. mov a,temp cjne a,#100,next mov temp,#0 next: ljmp stlop;循环显示 display: mov a,temp mov b,#10 div ab mov b_bit,a ;分开十位和个位. mov a_bit,b mov dptr,#numtab mov r0,#4 dpl1: mov r1,#250 dplop: mov a,a_bit MOVC A,@A+DPTR ;查表取欲显示的数据 mov p0,a ;送显示 clr p2.6 ;开通位选 acall d1ms setb p2.6 mov a,b_bit MOVC A,@A+DPTR;显示十位. mov p0,a clr p2.5 acall d1ms setb p2.5 djnz r1,dplop ;100次没完循环 djnz r0,dpl1 ;4个100次没完循环 ret D1MS: MOV R7,#80 DJNZ R7,$ RET numtab: db 28h,7eh,0a2h,62h,74h,61h,21h,7ah,20h,60h ;0 1 2 3 4 5 6 7 8 9 end
|