74hc595驱动点阵程序

来源:本站
导读:目前正在解读《74hc595驱动点阵程序》的相关信息,《74hc595驱动点阵程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《74hc595驱动点阵程序》的详细说明。
简介:本文主要讲了74hc595驱动点阵程序,希望对你的学习有所帮助。

74hc595驱动点阵程序

用74HC595、138、4953等做的单色屏模组驱动程序

#include <intrins.h>

#define uchar unsigned char

#define uint unsigned int

#define NOP _nop_()

sbit OE = P2^0;

sbit A1 = P2^1;

sbit B1 = P2^2;

sbit SHCP=P2^4; //11脚SHCP 移位时钟

sbit STCP=P2^3; //12脚STCP 锁存时钟

sbit DATA=P3^7; //数据输入

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();

}

}

提醒:《74hc595驱动点阵程序》最后刷新时间 2024-03-14 00:53:20,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《74hc595驱动点阵程序》该内容的真实性请自行鉴别。