;一位计数器,按p3.2数码管加1,到9后回0
;*************************************************************************** ;* E-mail:sxj1974@163.com (51c51 test web) 51单片机学习网,自学单片机的网站 * ;* Create by :石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * ;*************************************************************************** loop:mov 30h,#0ffh ;30h送ff即-1 main:INC 30H mov a,30h setb p3.2 ;把键盘口送高电平 mm: jnb p3.2,tt ;如果p3.2按下则执行tt ljmp mm ;如果没有按下则反复监测键盘 tt: MOV DPTR,#TAB MOVC A,@A+DPTR CLR P2.6 ;开数码管 MOV P0,A ;送显示 lcall delay ;延时一段时间 cjne a,#60h,main ;如果是最后一个数据重新开始 ljmp loop ; 否则30H 清除 ret TAB: DB 28H,7EH,0A2H,62H,74H,61H,21H,7AH,20H,60H DELAY: ; 延时程序 MOV R7,#255 D1:MOV R6,#255 D2: DJNZ R6,D2 DJNZ R7,D1 RET end
|
|