您的位置 首页 主动

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

;4位共阴数码管显示0123;数码管段码接法A-PD0,B-PD1G-PD6,H-PD7;数码管位码接法OM0-PC0COM4-PC3;目的:;1查表;2间接寻址include

;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,电路图与程序都一应俱全.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/zhudong/317454.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部