您现在的位置: 主页 > MCU > 单片机技术应用 > 51 汇编编程:8×8 点阵驱动 -
本文所属标签:
为本文创立个标签吧:

51 汇编编程:8×8 点阵驱动 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]
;有个题目,要求把C语言的程序,改成汇编的,链接如下:;看他原来的程序,是驱动8*8LED点阵显示字符的。;;根据程序,做而论道画出了点阵驱动电路,运行C程序后显示如下所示:;;;LED所显示的全部字符都在

;有个题目,要求把C语言的程序,改成汇编的,链接如下:

本文引用地址: http://www.21ic.com/app/mcu/201806/764357.htm


;看他原来的程序,是驱动8*8LED点阵显示字符的。

;

;根据程序,做而论道画出了点阵驱动电路,运行C程序后显示如下所示:

;


;

;LED所显示的全部字符都在下面给出了,有些字符的图形,还是很有创造力的,呵呵

;全部代码如下:


;8*8LED点阵


ORG0000H

JMPSTART

;-----------------------

RED:

DB0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x18;//i

DB0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0xFC,0xFC;//l

DB0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C;//o

DB0x00,0x00,0x44,0x44,0x44,0x44,0x28,0x10;//v

DB0x00,0x3E,0x02,0x02,0x3E,0x02,0x02,0x3E;//e

DB0x81,0xA5,0xDB,0xC3,0xA5,0x99,0x81,0xFF;//u

;-----------------------

START:

MOVDPTR,#RED

MOVR2,#254

LP0:MOVR3,#0

LP1:MOVR5,#100

LP2:MOVR4,#0

LP3:MOVA,R3

ADDA,R4

CALLDISP

INCR4

CJNER4,#8,LP3

DJNZR5,LP2

;-----------------

MOVA,R3

ADDA,#8

MOVR3,A

CJNER3,#48,LP1

SJMPLP0

;-----------------------

DISP:

MOVCA,@A+DPTR

MOVP2,A

MOVP0,R2

MOVA,R2

RLA

MOVR2,A

DJNZR7,$

DJNZR7,$

MOVP2,#0

RET

;-----------------------

END


;做而论道把汇编程序提交后,却出现下面的提示:

;

;>_

;

;这种事情,出现过多次,申诉后,也没有什么结果的。

;

;呵呵,百度知道的某些网管,判断能力、水平,真难以用语言描述。

;

;

;本题目给出的C程序如下:


#include

#defineucharunsignedchar

#defineuintunsignedint

ucharcodeRED[]={

0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x18,//i

0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0xFC,0xFC,//l

0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,//o

0x00,0x00,0x44,0x44,0x44,0x44,0x28,0x10,//v

0x00,0x3E,0x02,0x02,0x3E,0x02,0x02,0x3E,//e

0x81,0xA5,0xDB,0xC3,0xA5,0x99,0x81,0xFF//u

};


voiddelay(uintt)

{

for(;t>0;t--);

}


voidmain()

{

ucharr,j,q=0,t=0;

while(1){

for(r=0;r<40;r++){

for(j=q;j

P0=(~(0x01<

P2=RED[j];delay(200);P2=0;

t++;t%=8;

}

}

q+=8;q%=48;

}

}


大家可以试试,两种程序的功能,是否相同。




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 51 汇编编程:8×8 点阵驱动 -
 

"51 汇编编程:8×8 点阵驱动 -"的相关文章

网站地图

围观()