⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dotled.c

📁 led显示程序~~ARM S3C2410 分享了~~谢谢支持~~
💻 C
字号:
/*********************************************************************************************
* File:		Dotled.c
* Author:	embest
* Desc:		DotLed_Test 
* History:	
*********************************************************************************************/

/*------------------------------------------------------------------------------------------*/
/*	 								include files						 				    */
/*------------------------------------------------------------------------------------------*/
#include "2410lib.h"
#include "ziku.h"
#include "fonts.h"
#include "led16x16.h"

/*------------------------------------------------------------------------------------------*/
/*	 								constant define						 				    */
/*------------------------------------------------------------------------------------------*/
#define En_Dataout rGPBDAT |= 0x20
#define DisEn_Dataout rGPBDAT &= 0xFFDF

#define CLK_H rGPDDAT |= 0x400                            
#define CLK_L rGPDDAT &= 0xFBFF                            

#define Rdata_H rGPCDAT |= 0x1                      
#define Rdata_L rGPCDAT &= 0xFFFE                      

#define Ldata_H rGPCDAT |= 0x1
#define Ldata_L rGPCDAT &= 0xFFFE

#define Lstr_H rGPBDAT |= 0x10
#define Lstr_L rGPBDAT &= 0xFFEF

#define Rstr_H rGPGDAT |= 0x100
#define Rstr_L rGPGDAT &= 0xFEFF

/*------------------------------------------------------------------------------------------*/
/*	 								global variables					 				    */
/*------------------------------------------------------------------------------------------*/
INT8T cTemp;
INT8T cEnChange0,cEnChange1;
UINT8T dispram[32];

/*********************************************************************************************
* name:		write_L4094
* func:		write list data
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void write_L4094(UINT16T data)
{
	UINT8T i;     
	Lstr_H;  
	for(i=0;i<16;i++)
	{
		CLK_L;
        if(data & 0x01==1)
			Ldata_H;
        else
         	Ldata_L;
        data = data >> 1;      
        CLK_H;
	}
	Lstr_L;
}

/*********************************************************************************************
* name:		write_R4094
* func:		write row data
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void write_R4094(UINT8T data)
{
   UINT8T i;       
   Rstr_H;
   for(i = 0; i < 8; i++)
   {
		CLK_L;
        if(data & 0x01==1)
        	Rdata_H;
        else
         	Rdata_L;
        data = data >> 1;      
        CLK_H;
	}
	Rstr_L;
}

/*********************************************************************************************
* name:		led_char_disp
* func:		led char display
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void led_char_disp(void)
{
	UINT8T i=0;
	UINT8T j=2,k=0;
	UINT16T x;

	for(i = 0; i < 32; i++)
		dispram[i] = ~l_display_array[i];
	i=0;
	while(i < 16)
	{
		Rstr_L;										// Enable RSTR
		Lstr_L;										// Enable LSTR
		DisEn_Dataout;								// lock the data

		do {   										// Write the row data
			j--;
			write_R4094(dispram[i * 2 + j]);
		}while(j);

		x=~(0x8000 >> i);	   						// Write one list data
		write_L4094(x);

		En_Dataout;									// Output the data

		for(k = 0;k < 250; k++);

		i++;
		j = 2;

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -