久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
16x16點陣使用兩個74HC595顯示圖片 源程序
[打印本頁]
作者:
鹿鹿鹿
時間:
2017-5-8 12:38
標題:
16x16點陣使用兩個74HC595顯示圖片 源程序
最近在研究單片機驅動16x16點陣,分享一個程序~
關于大家想要顯示的圖形,可以自行更改uchar code tab1[] ={..}的內容
0.png
(45.64 KB, 下載次數: 102)
下載附件
2017-5-9 02:01 上傳
單片機源程序:
#include <REG51.H>
//--重定義函數變量--//
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define GPIO_KEY P1
//--定義SPI要使用的 IO--//
sbit MOSIO = P3^4;
sbit R_CLK = P3^5;
sbit S_CLK = P3^6;
//---全局變量聲明--//
ulong column; //點陣列
ulong row; //點陣行
ulong dt;
void Delay10ms(unsigned int c);
unsigned char Key_Scan();
//--點陣顯示數組--//
unsigned char code tab0[] =
{0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08,
0x00, 0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80,
0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08, 0x00,
0x10, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x00};
uchar code tab1[] ={255,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,255,255};
uchar code tab2[] ={255,255,1,128,253,191,5,160,5,160,5,160,5,160,5,160,5,160,5,160,5,160,5,160,5,160,253,191,1,128,255,255} ;
uchar code tab3[] = {255,255,1,128,253,191,5,160,245,175,21,168,21,168,21,168,21,168,21,168,21,168,245,175,5,160,253,191,1,128,255,255};
uchar code tab4[] ={255,255,1,128,253,191,5,160,245,175,21,168,213,171,85,170,85,170,213,171,21,168,245,175,5,160,253,191,1,128,255,255};
uchar code tab5[] ={0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
uchar code tab6[] = {0,0,0,0,0,0,0,0,0,0,224,7,32,4,160,5,160,5,32,4,224,7,0,0,0,0,0,0,0,0,0,0};
uchar code tab7[] = {0,0,0,0,0,0,248,31,8,16,232,23,40,20,168,21,168,21,40,20,232,23,8,16,248,31,0,0,0,0,0,0};
uchar code tab8[] = {0,0,254,127,2,64,250,95,10,80,234,87,42,84,170,85,170,85,42,84,234,87,10,80,250,95,2,64,254,127,0,0};
//--全局函數聲明--//
void HC595SendData( uchar BT3, uchar BT2,uchar BT1,uchar BT0);
void main(void)
{
int k, i, ms;
i = 40; //顯示時間
while(1)
{
//--顯示10--//
for(ms = i; ms > 0; ms--)
{
for(k = 0; k < 16; k++)
{
HC595SendData(~tab1[2*k +1],~tab1[2*k],tab0[2*k],tab0[2*k + 1]);
}
}
HC595SendData(0xff,0xff,0,0);
//--顯示09--//
for(ms = i; ms > 0; ms--)
{
for(k = 0; k < 16; k++)
{
HC595SendData(~tab2[2*k +1],~tab2[2*k],tab0[2*k],tab0[2*k + 1]);
}
}
HC595SendData(0xff,0xff,0,0);
//--顯示08--//
for(ms = i; ms > 0; ms--)
{
for(k = 0; k < 16; k++)
{
HC595SendData(~tab3[2*k +1],~tab3[2*k],tab0[2*k],tab0[2*k + 1]);
}
}
HC595SendData(0xff,0xff,0,0);
//--顯示07--//
for(ms = i; ms > 0; ms--)
{
for(k = 0; k < 16; k++)
{
HC595SendData(~tab4[2*k +1],~tab4[2*k],tab0[2*k],tab0[2*k + 1]);
}
}
HC595SendData(0xff,0xff,0,0);
//--顯示06--//
for(ms = i; ms > 0; ms--)
{
for(k = 0; k < 16; k++)
{
HC595SendData(~tab5[2*k +1],~tab5[2*k],tab0[2*k],tab0[2*k + 1]);
}
}
HC595SendData(0xff,0xff,0,0);
//--顯示05--//
for(ms = i; ms > 0; ms--)
{
for(k = 0; k < 16; k++) //歡
{
HC595SendData(~tab6[2*k +1],~tab6[2*k],tab0[2*k],tab0[2*k + 1]);
}
}
HC595SendData(0xff,0xff,0,0);
//--顯示04--//
for(ms = i; ms > 0; ms--)
{
for(k = 0; k < 16; k++)
{
HC595SendData(~tab7[2*k +1],~tab7[2*k],tab0[2*k],tab0[2*k + 1]);
}
}
HC595SendData(0xff,0xff,0,0);
//--顯示03--//
for(ms = i; ms > 0; ms--)
{
for(k = 0; k < 16; k++)
{
HC595SendData(~tab8[2*k +1],~tab8[2*k],tab0[2*k],tab0[2*k + 1]);
}
}
HC595SendData(0xff,0xff,0,0);
}
}
void HC595SendData( uchar BT3, uchar BT2,uchar BT1,uchar BT0)
{
uchar i;
//--發送第一個字節--//
for(i=0;i<8;i++)
{
MOSIO = BT3 >> 7 ; //從高位到低位
BT3 <<= 1;
S_CLK = 0;
S_CLK = 1;
}
//--發送第一個字節--//
for(i=0;i<8;i++)
{
MOSIO = BT2 >>7; //從高位到低位
BT2 <<= 1;
S_CLK = 0;
S_CLK = 1;
}
//--發送第一個字節--//
for(i=0;i<8;i++)
{
MOSIO = BT1 >> 7; //從高位到低位
BT1 <<= 1;
S_CLK = 0;
S_CLK = 1;
}
//--發送第一個字節--//
for(i=0;i<8;i++)
{
MOSIO = BT0 >> 7; //從高位到低位
BT0 <<= 1;
S_CLK = 0;
S_CLK = 1;
}
//--輸出--//
R_CLK = 0; //set dataline low
R_CLK = 1; //片選
R_CLK = 0; //set dataline low
}
unsigned char Key_Scan()
{
unsigned char keyValue = 0 , i; //????
//--????1--//
if (GPIO_KEY != 0xFF) //????K1????
{
Delay10ms(1); //????
if (GPIO_KEY != 0xFF) //??????????
{
keyValue = GPIO_KEY;
i = 0;
while ((i<50) && (GPIO_KEY != 0xFF)) //????????
{
Delay10ms(1);
i++;
}
}
}
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
下載:
dianzhen.zip
(1.44 KB, 下載次數: 37)
2017-5-8 12:37 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
slaoliu
時間:
2018-12-13 11:07
謝謝,正需要。
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲国产精品久久
|
成人在线视频免费观看
|
国产a一区二区
|
免费av播放
|
亚洲国产成人精品久久久国产成人一区
|
精品一区在线免费观看
|
国产一区
|
一区二区三区四区免费视频
|
亚洲av毛片成人精品
|
日韩超碰
|
在线不卡视频
|
免费一看一级毛片
|
久久不卡视频
|
热99
|
国产免费av在线
|
99这里只有精品视频
|
国产99久久久国产精品下药
|
久久精品一
|
国产精品99视频
|
毛片一级片
|
国产精品精品视频一区二区三区
|
一级片片
|
日日操操
|
91精品在线观看入口
|
精品一区av
|
国产精品一区二区三区四区
|
亚洲成人国产精品
|
成人中文网
|
精品一区电影
|
97精品一区二区
|
天天操天天摸天天爽
|
中文字幕国产视频
|
91天堂
|
中文字幕第一页在线
|
伊人免费网
|
欧美一级欧美三级在线观看
|
日本免费一区二区三区
|
在线欧美亚洲
|
精品欧美一区二区中文字幕视频
|
国产高潮好爽受不了了夜夜做
|
欧美二级
|