使用单片机P1口,通过两个74HC573控制一个8乘8的点阵。 求程序啊啊!!!

 我来答
lsk110
2013-01-06 · TA获得超过562个赞
知道大有可为答主
回答量:541
采纳率:0%
帮助的人:1012万
展开全部
#include<reg52.h>

#define uchar unsigned char
#define uint unsigned int
uchar code TAB[]={0x81,0xFD,0xFD,0xC1,0xBF,0xBF,0xBD,0xC3};
uchar i,t,d;
sbit hei_clk =P2^4;
sbit hei_data=P2^5;
sbit wei_x =P2^6;
sbit wei_x =P2^7;

delay(uchar t)
{
while (t--)
{;}
}
void out164(unsigned char k)
{
unsigned char i;
for(i=0;i<8;i++) //因为是1字节是8位,所以循环8次
{
hei_data=k&0x80;
hei_clk=0;
hei_clk=1;
k<<=1;
}
}

void main(void)
{
P2=0x75;
while(1)
{
d=0x01;
out164(d);
for(i=0;i<8;i++)
{
P0=TAB[i];
delay(100); //加大延时,看慢动作可理解点阵的是如何显示的
d=d<<1|d>>7;
P0=0xff; // 消隐,很重要,不加要红一片
out164(d);
}
}
}

你的图怎么有P28脚???标错了吗?
追问

呃还是有点问题仿真不了 程序的8 9行一样 我改了也不行。就是如何显示汉字和图形;方便的话我把仿真发给你帮忙看下,你看行么?主要是数组怎么加。真头疼。先谢谢你 

追答
8、9行确实错了 
sbit duan_x=P2^6;
sbit wei_x =P2^7;

还有P0要改为P1,显示汉字和图形需要用到数组。 你可以加 秋50804007
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式