求一个程序 这个161*161的点阵动态显示出来 要c语言程序

求一个程序 这个161*161的点阵动态显示出来 要c语言程序,第1张

先说第一个154方案的:猛漏

用一个P口的高四位和低四位分枝扰烂别驱动两片154驱动点阵的行和列,另外你还要在点李蠢阵的低电平端的驱动154的输出端加八位反向器。如果我没记错的话,154的输出只有一位是高电平,要反向成唯一低电平。

你第两个我没有太明白,你是要用二个P口只控制16*16的列吗,那行由谁控制呢

延时里有个j, 主程序里又有个j, 而且运宏明虚还在一个地方!

for(j=0j<16j++)

{

P0=0XFF

Hi=1Lo=1

Hi=1

Lo=0

P0=LED[0][j]

delay(1)

Lo=1

Hi=0

P0=LED[1][j]

delay(1)

看这一部分,明显重复旁槐册了!

把其中一个j用另一个字母代替就行了!

还有不懂的问我,Q364630430

/*该程序是一个0-9单个数码管循环显示程序*/

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}//共阴的话取反。

uchar a,t

sbit dula=P2^6

sbit wela=P2^7

void display(uchar a)

void delay(uint z)

void main()

{

dula=0

wela=0

t=0

TMOD=0x01

TH0=(65536-50000)/256

TL0=(65536-50000)%256

EA=1

ET0=1

TR0=1

while(1)

{

if(t==20)

{

t=0

a++

if(a==10)

a=0

}

display(a)

}

}

void display(uchar a)

{

dula=1

P0=table[a]

dula=0

wela=1

P0=0xfe

wela=0

P0=0xff

delay(1)

}

void timer0()interrupt 1

{

TH0=(65536-50000)/256

TL0=(65536-50000)%256

t++

}

void delay(uint z)

{

uint x,y

for(x=zx>0x--)

for(y=110y>0y--)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12520721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存