网上科普有关“单片机汇编语言8只数码管显示1-8”话题很是火热,小编也是针对单片机汇编语言8只数码管显示1-8寻找了一些与之相关的一些信息进行分析 ,如果能碰巧解决你现在面临的问题,希望能够帮助到您。
1、?数码管显示演示程序:?在8个LED数码管上依次显示1,2,3,4,5,6,7,8 。引用端口:数码管数据p0,数码管控制p2;
DIS_DIGIT?EQU?40H;位选通值,?传送到P2口用于选通当前数码管的数值,
;?如等于0xfe时,?选通P2.0口数码管
DIS_INDEX?DATA?41H
;显示索引,?用于标识当前显示的数码管和缓冲区的偏移量
DIS_BUF?DATA?50H
;显于缓冲区起始地址
ORG0000H
AJMP?MAIN
ORG?000BH
AJMPINTT0
ORG?0100H
MAIN:MOVP0,#0FFH;?初始化I/O口
MOVP2,#0FFH
MOV?TMOD,?#02H;定时器0在模式2下工作?
MOV?TL0,?#38H;?每200μs产生一次溢出
MOV?TH0,?#38H;自动重装初值
SETB?ET0?;使能定时器0中断
SETBTR0;启动定时
SETBEA?;使能总中断
MOVDPTR,?#DIS_CODE;?设定显示初值为1-8
MOVA,#1;初值为1,以后顺序加1
MOVC?A,@A+DPTR
MOVDIS_BUF,A
MOVA,#2
MOVCA,@A+DPTR
MOVDIS_BUF+01H,A
MOVA,#3
MOVCA,@A+DPTR
MOVDIS_BUF+02H,A
MOVA,#4
MOVCA,@A+DPTR
MOVDIS_BUF+03H,A
MOVA,#5
MOVCA,@A+DPTR
MOVDIS_BUF+04H,A
MOVA,#6
MOVCA,@A+DPTR
MOVDIS_BUF+05H,A
MOVA,#7
MOVCA,@A+DPTR
MOVDIS_BUF+06H,A
MOVA,#8
MOVCA,@A+DPTR
MOVDIS_BUF+07H,A
DISPLAY:MOVDIS_DIGIT,#0FEH;?初始从第一个数码管开始扫描
MOVDIS_INDEX,#0
SETB?TR0;?启动定时器0,开始动态扫描显示
MAIN_LP:NOP
;?主程序循环 ,可增加其它代码以改变50H-57H中的值以改变显示内容
SJMP?MAIN_LP
;=====================================================
INTT0:
;?定时器0中断服程序,?用于数码管的动态扫描
PUSH?ACC
PUSH?PSW
MOVP2,#0FFH;?先关闭所有数码管
MOVA,#DIS_BUF;?获得显示缓冲区基地址
ADDA,DIS_INDEX;?获得偏移量
MOVR0,A;?R0?=?基地址?+?偏移量
MOVA,@R0;?获得显示代码
MOVP0,A;?显示代码传送到P0口
MOVP2,DIS_DIGIT;?
MOVA,DIS_DIGIT
;?位选通值左移,?下次中断时选通下一位数码管
RLA
MOVDIS_DIGIT,A
INCDIS_INDEX
;?DIS_INDEX加1,?下次中断时显示下一位
ANLDIS_INDEX,#0x07
;?当DIS_INDEX等于8(0000?1000B)时,?清0
POPPSW
POPACC
RETI?
DIS_CODE:?DB?28h,7eh,0a2h,62h,74h,61h,21h,7ah
DB?20h,60h,30h,25h,0a9h,26h,0a1h,0b1h
;0-9和ABCDEF的数码管显示代码
END
关于“单片机汇编语言8只数码管显示1-8 ”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!
本文来自作者[问柳]投稿,不代表缔安号立场,如若转载,请注明出处:https://oxylanechinavideo.com/cshi/202504-407.html
评论列表(4条)
我是缔安号的签约作者“问柳”!
希望本篇文章《单片机汇编语言8只数码管显示1-8》能对你有所帮助!
本站[缔安号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育
本文概览:网上科普有关“单片机汇编语言8只数码管显示1-8”话题很是火热,小编也是针对单片机汇编语言8只数码管显示1-8寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问...