标题:
用51单片机控制LED显示屏模块,看不懂程序,求各位大神帮忙一下
[打印本页]
作者:
sxszpeng
时间:
2016-1-2 22:11
标题:
用51单片机控制LED显示屏模块,看不懂程序,求各位大神帮忙一下
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define NOP _nop_()
sbit OE = P1^0;
sbit A1 = P1^4;
sbit B1 = P1^5;
sbit SHCP=P1^6; //11脚SHCP 移位时钟
sbit STCP=P1^7; //12脚STCP 锁存时钟
sbit DATA=P3^1; //数据输入
uchar code table[10][32]=
{{0xFE,0xF7,0xBD,0xF7,0xC8,0x77,0xDB,0x77,0xF8,0x01,0xFB,0x77,0x18,0x37,0xDB,0x57,
0xD0,0x57,0xDE,0x77,0xDD,0x77,0xD5,0x77,0xCB,0x77,0xD7,0x77,0xED,0x57,0xFE,0xEF}, //谢
{ 0xFE,0xF7,0xBD,0xF7,0xC8,0x77,0xDB,0x77,0xF8,0x01,0xFB,0x77,0x18,0x37,0xDB,0x57,
0xD0,0x57,0xDE,0x77,0xDD,0x77,0xD5,0x77,0xCB,0x77,0xD7,0x77,0xED,0x57,0xFE,0xEF}
}; //谢
//数据串行输入
void serial_input(uchar dat)
{
uint m;
for(m=0;m<8;m++)
{
if(dat & 0x80)
DATA=1;
else
DATA=0;
SHCP=0;
SHCP=1;
NOP;
NOP;
SHCP=0;
NOP;
NOP;
dat=dat<<1;
}
}
/*******************************************************************************************/
//并出
void serial_output()
{
STCP=1;
NOP;
NOP;
STCP=0;
}
//行显控制
void HC138_scan(uchar temp)
{
OE=1;
A1=0x01 & temp;
B1=0x01 &(temp>>1);
}
/*******************************************************************************************/
/*******************************************************************************************/
//整屏显示
void display()
{
uint i,j,k;
for(k=0;k<4;k++) //显示的四行
{
for(j=0;j<2;j++) //显示3、4列
{
for(i=0;i<2;i++) // 显示1、2列
{
serial_input(table[j][3*8+2*k+i]);
serial_input(table[j][2*8+2*k+i]);
serial_input(table[j][1*8+2*k+i]);
serial_input(table[j][0*8+2*k+i]);
}
}
serial_output();
HC138_scan(k);
}
}
/*******************************************************************************************/
/*******************************************************************************************/
/*******************************************************************************************/
/*******************************************************************************************/
void main()
{
while(1)
{
display();
}
}
这是程序,由于我技术有限,看不懂。望各位大神指导一下。
P10单元板电路图_完整 (2).pdf
2016-1-2 22:09 上传
点击文件名下载附件
187.51 KB, 下载次数: 111
作者:
七彩缤纷
时间:
2016-1-4 22:58
楼主要先说是哪些看不懂.如果都看不懂.那楼主还是多看下一些基础书吧
作者:
sxszpeng
时间:
2016-1-5 19:29
额,我没说清楚
serial_input(table[j][3*8+2*k+i]);
serial_input(table[j][2*8+2*k+i]);
serial_input(table[j][1*8+2*k+i]);
serial_input(table[j][0*8+2*k+i]);
就是这些,主要就是不明白括号里的是什么意思
作者:
鸭梨125
时间:
2017-4-27 13:20
楼主做的是p10的屏吗?电路图在哪里找到的?
作者:
wycjgs
时间:
2017-4-27 13:54
输入的吧
作者:
zl2168
时间:
2017-4-27 15:35
没基础就去看有注释的程序。即使有基础看别人的程序也很累。
作者:
2591165557
时间:
2017-4-27 15:51
serial_input(table[j][3*8+2*k+i]);
serial_input(table[j][2*8+2*k+i]);
serial_input(table[j][1*8+2*k+i]);
serial_input(table[j][0*8+2*k+i]);
这些括号里面是得到前面定义的二维数组里定义的数据,楼主可以百度二维数组看看。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1