基本信息
源码名称:51汇编脉冲计数器+四位数码管显示
源码大小:0.05M
文件格式:.zip
开发语言:C/C++
更新时间:2020-12-02
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

51单片机汇编程序,T0定时器产生200ms脉冲,T1设置为计数模式,T1计数T0的脉冲数,并显示在四位数码管上


ORG 0000H
LJMP START1
ORG 000BH  ;T0定时器
LJMP TIM0
ORG 001BH  ;T1计数器
LJMP TIM1
ORG 0100H
NUM_1    EQU 40H ;个位显示
NUM_10   EQU 41H ;十位显示
NUM_100  EQU 42H ;百位显示
NUM_1000 EQU 43H ;千位显示
START1: MOV TMOD,#52H ;01010010 T1计数方式1 T0定时方式2
MOV TL0,#038H    ;初值56,200us翻转一次,周期400us
MOV TH0,#038H
SETB TR1
SETB TR0
SETB ET0
SETB ET1
SETB EA 
CLR P3.7
MOV R4,#5  
MOV R5,#100

START: MOV A,TL1
MOV B,#10
DIV AB
MOV NUM_1,B
MOV B,#10
DIV AB
MOV NUM_10,B
MOV B,#10
MOV NUM_100,A

MOV R3,#4 ;显示4位数
MOV R2,#80H ;从最低位开始显示 ,数码管位选
MOV R0,#40H ;存储数字的首地址
MAIN: MOV A,R2
RL A ;80h左移一位变成01h
MOV R2,A
MOV P1,A ;送入P1位选端口
MOV A,@R0 ;将R0地址数据给A
MOV DPTR,#TAB ;查表
MOVC A,@A DPTR ;将对应的段码给P2口
MOV P2,A
INC R0 ;地址加一
LCALL DELAY ;延时
DJNZ R3,MAIN ;判断显示4位数
AJMP START      ;4位数显示完成,又重新显示

DELAY: MOV R6,#10
DEL0: MOV R7,#20
DEL1: DJNZ R7,DEL1
DJNZ R6,DEL0
RET

TIM0: DJNZ R4,RETS    ;T0定时器函数
MOV R4,#5
DJNZ R5,RETS
CPL P3.7        ;翻转脉冲电平,周期=400us*500=200ms
MOV R5,#100
RETS: RETI

TIM1: CLR TF1 ;T1定时器函数
RETI

TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END