ORG 0000H
DATAR0 EQU 50H ;定义保存采集现场数据单元
LJMP MAIN
ORG 000BH ;定义定时/计数器 T0 中断入口地址
LJMP T0P
ORG 0100H
MAIN : MOV SP , #60H ;设置中断指针
MOV TMOD,#01H ;设置定时/计数器 T0 为工作方式 1、定时
MOV TL0 ,#0D0H ;设置定时常数
MOV TH0 ,#80H
SETB TR0 ;开启定时/计数器 T0
SETB ET0 ;打开定时/计数器 T0 中断允许开关
SETB EA ;打开总开关
MOV DPTR,#3000H ;设置第三通道地址
MOVX @DPTR,A ;启动第三通道转换
LOOP: LCALL DATA1
LCALL DISPLAY
SJMP LOOP
T0P: MOV TL0,#0D0H ;重新设置定时常数
MOV TH0,#80H
MOV DPTR,#3000H ;将第三通道地址送 DPTR
MOVX A,@DPTR ;读取转换值
MOV DATAR0,A ;保留转换值
MOVX @DPTR,A ;重启第三通道转换
RETI
DATA1: ;显示格式转换子程序
MOV 79H,#03H
MOV 7AH,#11H
MOV A,DATAR0
ANL A,#0F0H
SWAP A
MOV 7BH,A
MOV A,DATAR0
ANL A,#0FH
MOV 7CH,A
RET
DISPLAY:
MOV R0,#79H ;显示缓冲区首地址送 R0
MOV R3,#01H ;字位码送 R3 保存
MOV A,R3
LD0: MOV P2,A ;字位码送位码端口 P2,点亮该位
MOV A,@R0 ;取出一位要显示的数据
MOV DPTR,#TAB1 ;表首地址送 DPTR
MOVC A,@A+DPTR ;查表获取该数据的字型码
DIR1: MOV P0,A ;字型码送段码端口 P0
ACALL DL11 ;调用延时子程序
INC R0 ;缓冲区地址+1
MOV A,R3 ;取出位码
JB ACC.5,LD1 ;判断 6 位数码管显示完吗?显示完转 LD1
RL A ;未完,左移一位
MOV R3,A ;保存位码
AJMP LD0
LD1: RET ;子程序返回
TAB1: DB 0C0H,0F9H,0A4H,0B0H,99H,92H
DB 82H,0F8H,80H,90H,88H,83H,0C6H,0A1H
DB 86H,8EH,0BFH,0FFH,0FFH
DL11: MOV R7,#02H
DL: MOV R6,#0FFH
DL6: DJNZ R6,DL6
DJNZ R7,DL
RET
END
ORG 0000H
LJMP MAIN
ORG 000BH
AJMP LOOP
ORG 001BH
AJMP LOOP1
ORG 0030H
MAIN:MOV SP,#60H
MOV DPTR,#7FFFH
MOV TMOD,#11H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV TH1,#3CH
MOV TL1,#0B0H
SETB EA
SETB ET0
SETB ET1
SETB TR0
SJMP $
LOOP:MOV A,#0F2H
MOVX @DPTR,A
CLR TR0
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR1
RETI
LOOP1:MOV A,#01H
MOVX @DPTR,A
CLR TR1
MOV TH1,#3CH
MOV TL1,#0B0H
SETB TR0
RETI
END
上一篇:单片机-串口与PC通信
下一篇:单片机-多分支实验
推荐阅读最新更新时间:2024-11-12 15:50
设计资源 培训 开发板 精华推荐
- 【智能硬件】声控灯
- SY89546U EV,用于 GB 以太网交换机的时钟多路复用器的评估板
- MC44602 高性能电流模式控制器 150 瓦离线反激式稳压器的典型应用
- LT1086IM-3.3 具有自动光控制功能的低压差正稳压器的典型应用
- EVAL-AD5273DBZ,AD5273 数字电位器评估板
- 【训练营】WS2812小爱同学炫光底座 694846A
- AD9228-65EBZ,用于评估 AD9228 四通道、12 位、65MSPS 串行 LVDS 1.8V ADC 的评估板
- LTC2992CMS-1 -48V 冗余馈电的典型应用,具有高达 200V 的瞬态保护(1.5kHz I2C 接口)
- 使用 Analog Devices 的 RH108A 的参考设计
- 使用 STMicroelectronics 的 R6902D 的参考设计