微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 合泰单片机数码管显示控制程序

合泰单片机数码管显示控制程序

时间:12-01 来源:互联网 点击:
;4位共阴数码管显示0123

;数码管段码接法A-PD0,B-PD1....G-PD6,H-PD7

;数码管位码接法OM0-PC0...COM4-PC3

;目的:

;1.查表

;2.间接寻址

include HT66F50.inc

ORG0000H

JMPA1

ORG0020H

Q1:

DC03FH; 0

DC006H; 1

DC05BH; 2

DC04FH; 3

DC066H; 4

DC06DH; 5

DC07DH; 6

DC007H; 7

DC07FH; 8

DC06FH; 9

DC077H; A

DC07CH; B

DC039H; C

DC05EH; D

DC079H; E

DC071H; F

A1:

MOVA,0;显示内容

MOV[8AH],A;第一位数码管段码显示内容寄存器

MOVA,1;显示内容

MOV[8BH],A;第二位数码管段码显示内容寄存器

MOVA,2;显示内容

MOV[8CH],A;第三位数码管段码显示内容寄存器

MOVA,3;显示内容

MOV[8DH],A;第四位数码管显示内容寄存器

MOVA,08H;跟CP1C寄存器设置要求选择数据

MOVCP1C,A;设置PC口为I/0口而不是中断口

CLRPCC;设置pc 口为输出口

CLRPDC;设置PD 口为输出口

MOVA,1;设置初始显示位码显示第一位

MOV[80H],A;位码寄存器

MOVA,8AH;设置对应第一位段码寄存器

MOVMP0,A;间接寄存器指针

A2:

CLRPC;清PC(清屏幕)

MOVA,Q1;数据表地址
CLR TBHP ;清数据表地址高位否则出错

ADDA,IAR0;利用间接寄存器找到要显示段码所在数据表的地址

MOVTBLP,A;表格指针寄存器TBLP

TABRDPD;查表并将数据存到PD口寄存器

MOVA,[80H];位码寄存器

MOVPC,A;将位码寄存器的数存到PC口寄存器

;段码和位码的数都有了所以数码管被点亮

INCMP0;间接寄存器指针加1指向下一个段码寄存器

RL[80H];左移位码寄存器控制下一个数码管

SNZ[80H].5;判断是否控制完4个数码管

JMPA2;否返回继续

MOVA,1;是则从新初始化寄存器数据

MOV[80H],A;

MOVA,8AH;

MOVMP0,A;

JMPA1;

END

这里还有一个holtek单片机的数码管程序供大家参考:http://www.51hei.com/mcu/1349.html,电路图与程序都一应俱全.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top