① 求助32*32LED点阵C程序代码及其电路图 非常感谢!!!
哦、我可以帮助你的
哈
② 谁能给我一张单片机控制32x32点阵的电路图,及显示汉子的程序给个例子就行!
pudn里找找,资源很多,总有你要的
③ 单片机点阵电子显示屏制作电路图和汇编编程
ORG0000H
AJMPMAIN
ORG000BH
LJMPINTT0
ORG0030H
MAIN:MOVTMOD,#01H
MOVTL0,#88
MOVTH0,#158
SETBEA
SETBET0
SETBTR0
CLR20H.0
MOVR4,#0
A1:MOVDPTR,#(TAB+32*0)
LCALLDISPLAY
JNB20H.0,A1
CLR20H.0
A2:MOVDPTR,#(TAB+32*1)
LCALLDISPLAY
JNB20H.0,A2
CLR20H.0
A3:MOVDPTR,#(TAB+32*2)
LCALLDISPLAY
JNB20H.0,A3
CLR20H.0
A4:MOVDPTR,#(TAB+32*3)
LCALLDISPLAY
JNB20H.0,A4
CLR20H.0
A5:MOVDPTR,#(TAB+32*4)
LCALLDISPLAY
JNB20H.0,A5
CLR20H.0
A6:MOVDPTR,#(TAB+32*5)
LCALLDISPLAY
JNB20H.0,A6
CLR20H.0
A7:MOVDPTR,#(TAB+32*6)
LCALLDISPLAY
JNB20H.0,A7
CLR20H.0
A8:MOVDPTR,#(TAB+32*7)
LCALLDISPLAY
JNB20H.0,A8
CLR20H.0
LJMPMAIN
DISPLAY:
LOOP2:MOVR0,#0
MOVR1,#0
MOVR2,#16
LOOP:
MOVP1,R1
INCR1
MOVA,R0
MOVCA,@A+DPTR
MOVP2,A
INCR0
MOVA,R0
MOVCA,@A+DPTR
MOVP3,A
INCR0
ACALLDELAY1MS
MOVP2,#0
MOVP3,#0
DJNZR2,LOOP
RET
DELAY1MS:
NOP
MOVR6,#0F8H
LOP1:NOP
NOP
DJNZR6,LOP1
RET
INTT0:
CLRTR0
MOVTL0,#88
MOVTH0,#158
INCR4
CJNER4,#20,LLL
MOVR4,#0
SETB20H.0
LLL:SETBTR0
RETI
TAB:
DB14H,20H,24H,10H,44H,4CH,84H,43H;
DB64H,43H,1CH,2CH,20H,20H,18H,10H;
DB0FH,0CH,0E8H,03H,08H,06H,08H,18H;
DB28H,30H,18H,60H,08H,20H,00H,00H;"欢",0
DB40H,40H,41H,20H,0CEH,1FH,04H,20H;
DB00H,40H,0FCH,47H,04H,42H,02H,41H;
DB02H,40H,0FCH,5FH,04H,40H,04H,42H;
DB04H,44H,0FCH,43H,00H,40H,00H,00H;"迎",1
DB00H,02H,04H,01H,84H,00H,0F4H,0FFH;
DB24H,40H,4FH,40H,44H,42H,4CH,5CH;
DB74H,48H,54H,40H,4FH,58H,44H,47H;
DB44H,42H,44H,40H,04H,40H,00H,00H;"莅",2
DB00H,00H,0F8H,1FH,00H,00H,00H,00H;
DB0FEH,7FH,40H,00H,30H,00H,8FH,7FH;
DB0AH,21H,08H,21H,18H,3FH,68H,21H;
DB08H,21H,88H,7FH,08H,01H,00H,00H;"临",3
DB10H,04H,62H,04H,0CH,0FFH,0E0H,00H;
DB00H,02H,10H,02H,0CH,0FFH,17H,45H;
DB0A4H,44H,44H,44H,0A4H,44H,94H,44H;
DB0CH,0FDH,00H,03H,00H,01H,00H,00H;"洛",4
DB00H,00H,0FEH,0FFH,02H,04H,22H,08H;
DB5AH,04H,86H,03H,00H,00H,0FEH,3FH;
DB42H,10H,42H,10H,42H,10H,42H,10H;
DB42H,10H,0FEH,3FH,00H,00H,00H,00H;"阳",5
DB44H,10H,44H,10H,0FCH,0FH,44H,08H;
DB44H,48H,00H,40H,0FEH,45H,92H,44H;
DB92H,44H,0FEH,7FH,92H,44H,92H,44H;
DB92H,44H,0FEH,45H,00H,40H,00H,00H;"理",6
DB00H,20H,00H,20H,02H,20H,02H,20H;
DB02H,20H,02H,20H,02H,20H,0FEH,3FH;
DB02H,20H,02H,20H,02H,20H,02H,20H;
DB02H,20H,02H,20H,00H,20H,00H,00H;"工",7
④ 求单片机点阵汇编语言编程
1.将片外RAM1000H内容送到片外RAM2000H。
MOV DPTR, #1000H
MOVX A, @DPTR
MOV DPTR, #2000H
MOVX @DPTR, A
2.如果将累加器A的低5位送到P1口的低5位,保持内P1口的高3位不变,累加器A的内容容不变。
PUSH ACC ;保护A
ANL A, #00011111B ;保留A的低5位
ANL P1, #11100000B ;保留P1口的高3位
ORL P1, A ;合成并输出到P1
POP ACC ;恢复A
END
请参考
⑤ 51单片机控制16*16 LED点阵电路图和C程序
驱动电路是个问题。电路完了就是程序了,我这有流动显示的。
⑥ 能不能帮我写一个8*8点阵的代码。随便一个字就行。电路图如下
参考一下其它网友的:
#include <reg51.h>
unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char code digittab[10][8]={
{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0
{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00}, //1
{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //2
{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00}, //3
{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00}, //4
{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5
{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6
{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00}, //7
{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8
{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00} //9
};
unsigned int timecount;
unsigned char cnta;
unsigned char cntb;
void main(void)
{
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{;
}
}
void t0(void) interrupt 1 using 0
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
P3=tab[cnta];
P1=digittab[cntb][cnta];
cnta++;
if(cnta==8)
{
cnta=0;
}
timecount++;
if(timecount==333)
{
timecount=0;
cntb++;
if(cntb==10)
{
cntb=0;
}
}
}
⑦ 单片机中,用点阵怎么实现数字的输出,其程序怎么编写
点阵不管是显示汉字还是数字,一般都是将要显示的汉字或数字用字模提取软件转换出一个数组的内容,然后将这个数组复制到单片机的程序中,以下给你一些C语言程序参考,这个是16*16的点阵,还有就是提醒一下你,你用字模提取软件时要看清楚取码是从哪个方向开始的,然后写程序时也要对应:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint i,k;
void delay(uint i)
{
while(i--);
}
//深
uchar code shen[]=
{0xFF,0xFF,0x9F,0x6F,0xAE,0x67,0xBB,0x6F,
0xB7,0x5F,0xAF,0x3F,0xB8,0x00,0xAF,0x3F,
0xB7,0x5F,0xBB,0x6F,0x9F,0x77,0xEE,0xF7,
0xCF,0x7F,0xD9,0x80,0xBB,0xDF,0xF7,0xDF};
//圳
uchar code zhen[]=
{0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,
0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xFF,0xFF,
0x80,0x0F,0xFB,0xF3,0xF3,0xDD,0xFB,0xDF,
0x00,0x0F,0xFB,0xEF,0xFB,0xE7,0xFB,0xEF};
//从左到右显示
void display1(uchar *P)
{
uint time=1000;//750
for(k=32;k>0;k=k-2)
{
P2=P[k-2];
P1=P[k-1];
delay(time);
}
P2=0xff;P1=0xff;
}
//从右到左显示
void display2(uchar *P)
{
uint time=1000;//750
for(k=0;k<32;k=k+2)
{
P2=P[k];
P1=P[k+1];
delay(time);
}
P2=0xff;P1=0xff;
}
void main()
{
while(1)
{
display1(shen); //深
delay(2000);
display1(zhen); //圳
delay(2000);
}
}
希望能帮助到你,那个字模提取软件很多,好像只有几百K,很容易下载的,如果下载不了,我发给你也可以。
⑧ 如何用VHDL语言编写一个点阵显示电路
如果是较简单的电路,那么我建议你用电路图方式写。
如果是复杂电路,那么你要参考书来写。
是用BCD码表示十进制吗?可以每四位分开看。
比如BCD码q(11 downto 0)可以表示0到999,前四位是个位,中四位是十位,后四位是百位。不知道对于溢出的有什么要求,我设成溢出后不做任何运算。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity add_sub is
port(
clk : in std_logic;
clr : in std_logic;
sl : in std_logic;
q : out std_logic_vector(11 downto 0));
end add_sub;
architecture add_sub_arc of add_sub is
signal cnt : std_logic_vector(11 downto 0);
begin
process(clk,clr,cnt)
begin
if clr = '0' then
cnt <= (others => '0');
elsif clk = '1' and clk'event then
if sl = '0' then -- adder
if cnt /= "100110011001" then
if cnt(3 downto 0) = "1001" then
cnt(3 downto 0) <= (others => '0'); -- units
cnt(7 downto 4) <= cnt(7 downto 4) + '1'; -- tens
else
cnt(3 downto 0) <= cnt(3 downto 0) + '1'; -- units
end if;
if cnt(7 downto 4) = "1001" then -- tens
cnt(7 downto 4) <= (others => '0'); -- tens
cnt(11 downto 8) <= cnt(11 downto 8) + '1'; -- hundreds
end if;
else
cnt <= cnt;
end if;
else -- substractor
if cnt /= "000000000000" then
if cnt(3 downto 0) = "0000" then
cnt(3 downto 0) <= "1001";
cnt(7 downto 4) <= cnt (7 downto 4) - '1';
else
cnt(3 downto 0) <= cnt (3 downto 0) - '1';
end if;
if cnt(7 downto 4) = "0000" then
cnt(7 downto 4) <= "1001";
cnt(11 downto 8) <= cnt (11 downto 8) - '1';
end if;
end if;
end if;
q <= cnt;
end if;
end process;
end add_sub_arc;
⑨ 16*16点阵电路图和程序
是课程设计不? 我刚做完 点阵显示滚动汉字的设计