新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 4位共阳数码管动态扫描显示汇编程序

4位共阳数码管动态扫描显示汇编程序

作者:时间:2012-09-14来源:网络收藏

本程序是用51单片机实现4位显示程序,采用74HC573做驱动,定时器T0定时16ms,用来刷新数码管显示屏,软件延时1ms实现数码管亮灭延时,相当稳定,没有一点闪烁的感觉,很不错!如果要调整亮度可适当调整数码管亮的时间。现把程序上传,与大家一起共享!!!哈哈哈!!!

由于电路图很简单我就不画了大家从程序中都可看出来p2.0-2.3 是接4个位选 由于是共阳所以是接的数码管的正极,p2.5是74hc573的锁存端,段的数据口是p0.我是从51hei单片机开发板上的电路图仿制过来的 只是用4个io口做位选 节约了一片573芯片.

      D0  BIT  P2.0D1  BIT  P2.1D2  BIT  P2.2D3  BIT  P2.3SUBF0  EQU  30HSUBF1  EQU  31HSUBF2  EQU  32HSUBF3  EQU  33HCOUT  EQU  34HORG  0000HSJMP MIANORG  000BHLJMP INTER0ORG 0040HMIAN:MOV SP,#60HMOV IE,#00HMOV SUBF0,#80HMOV SUBF1,#80HMOV SUBF2,#80HMOV SUBF3,#80HMOV TH0,#0C1HMOV TL0,#80HMOV TMOD,#01HMOV R2,#00HMOV R1,#SUBF0MOV COUT,#04HLCALL DISPLAYLCALL SHUTSETB EASETB ET0MOV DPTR,#TABLELOOP:MOV A,R2MOVC A,@A+DPTRLOOP0:MOV @R1,AINC R1INC R2DJNZ COUT,LOOPSETB TR0SJMP $INTER0:CLR ET0CLR TR0PUSH ACCPUSH PSWMOV TH0,#0C1HMOV TL0,#80HLCALL DISPLAYSETB ET0SETB TR0POP PSWPOP ACCRETIDISPLAY:SETB D1SETB D2SETB D3CLR D0CLR P2.5MOV P0,SUBF0SETB P2.5LCALL DELAYSETB D0SETB D2SETB D3CLR D1CLR P2.5MOV P0,SUBF1SETB P2.5LCALL DELAYSETB D0SETB D1SETB D3CLR D2CLR P2.5MOV P0,SUBF2SETB P2.5LCALL DELAYSETB D0 SETB D1SETB D2CLR D3CLR P2.5MOV P0,SUBF3SETB P2.5LCALL DELAYLCALL SHUTRETSHUT:SETB D0SETB D1SETB D2SETB D3RETDELAY:MOV R7,#02HDL:MOV R6,#0FFHDL1:DJNZ R6,DL1DJNZ R7,DLRETTABLE:DB 99H,92H,82H,0F8HEND

51单片机相关文章:51单片机教程




评论


相关推荐

技术专区

关闭