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

📄 欢迎光临停止营业.c

📁 基于C51的点阵时钟显示仿真电路和源码
💻 C
📖 第 1 页 / 共 4 页
字号:
// A B C D 对应P1.0; P1.1 ; P1.2; P1.3
//--------------------------------
#include "reg52.h"

#define  uchar unsigned char
#define  uint  unsigned int
//========================
//****滚屏事件定义****
#define	 MSG_MV_L	 1 	//左移
#define	 MSG_MV_R	 2	//右移
#define	 MSG_MV_U    3	//上移
#define	 MSG_MV_D    4	//下移
#define	 MSG_NONE	 0	//无
uchar MSG_MV = 0;
//========================
//****显示状态定义****
#define STA_gTIME	1	//滚动显示时间
#define	STA_gTEMP	2	//滚动显示温度
#define	STA_gWORD	3	//滚动显示文字
#define	STA_sTIME	4	//静态显示时间
#define	STA_sWEEK	5	//静态显示星期
#define	STA_sDATE	6	//静态显示日期
#define STA_sYEAR	7	//静态显示年份
#define	STA_sTEMP	8	//静态显示温度
#define	STA_sWORD	9	//静态显示文字
#define STA_CHG		10	//校时模式
#define STA_SONG	11	//滚动显示诗歌
#define STA_COPYRIGHT	12	//开机显示
uchar STATE = 1;
//=========================
//****校时状态定义****
#define CHG_HOUR	1	//调整小时
#define CHG_MIN		2	//调整分
#define CHG_SEC		3	//调整秒
#define CHG_MON		4	//调整月
#define CHG_DAY		5	//调整日
#define CHG_WEEK	6	//调整星期
#define CHG_YEAR	7	//调整年
uchar CHANGE = 1;
uchar hide_times = 0;	//校时闪烁时间变量
uchar HIDE = 0;		//隐藏显示标志位
uchar TMP_TIME = 0; 
//=========================
//****按键定义****
sbit  key0 = P1^0;
sbit  key1 = P1^1;
sbit  key2 = P1^2;
sbit  key3 = P1^3;

#define KEY0	0x0e
#define KEY1 	0x0d
#define KEY2 	0x0b
#define KEY3 	0x07

#define KEY0_S	0x0e	//KEY0短按下
#define KEY1_S	0x0d	//KEY1短按下 
#define KEY2_S	0x0b	//KEY2短按下
#define KEY3_S	0x07	//KEY3短按下
#define KEY0_L	0x1e	//KEY0长按下
#define KEY1_L	0x1d	//KEY1长按下
#define KEY2_L	0x1b	//KEY2长按下
#define KEY3_L	0x17	//KEY3长按下
#define KEY_NONE	0	//无按键
uchar MSG_KEY = KEY_NONE;
uchar key_times = 0;	//持续时间
uchar key_keep_times = 0;
uchar cur_key_val = 0;
uchar key_done = 0;	//按键事件有无做好
uchar exit = 0;	//校时状态下长时间无按键退出
//=========================
//uchar time_read_times = 0;	//读时间
//uchar tem_read_times = 0;	//读温度
//=========================
//****引脚定义****
sbit  CLK =P2^5 ;		  //74HC595移时钟 
sbit  STB =P2^4	;	  // 74HC595锁存信号 
sbit  Red=P2^7	;	  //红色数据输出引脚低电平有效	    
sbit  Greed=P2^6;	 //全屏控制使能0,低电平有效
sbit  OE = P0^7; 	  //全屏使能
//======================== 
//****DS1302**** 
sbit SCLK=P0^4;   //位定义1302芯片的接口,时钟输出端口定义在P2.4引脚
sbit DATA=P0^5;   //位定义1302芯片的接口,数据输出端定义在P2.5引脚
sbit RST=P0^6;    //位定义1302芯片的接口,复位端口定义在P2.6引脚

typedef struct __SYSTEMTIME__
{
	uchar Second;
	uchar Minute;
	uchar Hour;
	uchar Day;
	uchar Month;
	uchar Week;
	uchar  Year;
}SYSTEMTIME;	//定义的时间类型
SYSTEMTIME Time;


//=========================================
//****18B20****
sbit DQ = P0^7
 ;  //定义DS18B20端口DQ  

unsigned char data  temp_data[2] = {0x00,0x00} ;
unsigned char data  temp_ram[5] =   {0x00,0x00,0x00,0x00,0x00} ;
unsigned char code  ditab[16] =    {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,
                                    0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
//==========================================
bit presence  ;
uchar SendData;		  //要发送的数据变量 
uchar hang;			//行扫描变量  (半屏只有16行,所以hang=0到15)
uchar move_times = 0;	//左右移动位数
uchar start_word = 0;


uchar data h_dispram[10]; 	//显示缓存
uchar code *disword[26];	//显示文字指针


void  Keyscan (void); //修改参数按键扫描子程序 
void  Sendping(); //发送半屏子程序
void  Put_Wdispram(uchar first_word);//
void  Put_Hdispram(); //把显示文字放入显示缓存
void  Move_Left();	//左移
void  Move_Right();	//右移
void  RL_Move();
void  UD_Move();
void  Show_Line();
void  Show_Move_Word(uchar code *WORDS[][8]);
void  delay();
void  SendByte(void);
void  RowsCan(void);
void  Disp_Temperature();
void Put_gTEMP();
void Change_obj();

uchar ReadKey1();



uchar code MY_WORDS[][16]= 
					{ 
{0x10,0x08,0x04,0x7F,0x01,0x21,0x12,0x0A,0x04,0x06,0x0A,0x11,0x21,0x41,0x80,0x00},
{0x04,0x04,0x04,0xA4,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x04,0x84,0x14,0x08,0x00},/*"刘",0*/
{0x02,0x01,0x3F,0x20,0x40,0x00,0x00,0x7F,0x01,0x01,0x01,0x01,0x01,0x01,0x05,0x02},
{0x00,0x04,0xFE,0x04,0x08,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"宁",1*/
{0x01,0x01,0x01,0x01,0x01,0x1F,0x10,0x10,0x10,0x1F,0x10,0x01,0x28,0x24,0x44,0x00},
{0x00,0x00,0xF8,0x00,0x10,0xF8,0x10,0x10,0x10,0xF0,0x10,0x10,0x88,0x44,0x44,0x00},/*"点",2*/
{0x00,0xF8,0x88,0x97,0xA1,0x91,0x8A,0x8F,0x88,0xA8,0x97,0x80,0x80,0x80,0x80,0x80},
{0x80,0x80,0x80,0xFC,0x00,0x40,0x40,0xFC,0x40,0x40,0xFE,0x40,0x40,0x40,0x40,0x40},/*"阵",3*/
{0x00,0x00,0x3F,0x00,0x00,0x00,0xFF,0x03,0x07,0x06,0x0C,0x18,0x31,0x7F,0x20,0x00},
{0x00,0x30,0xF8,0x00,0x00,0x0C,0xFE,0x00,0x00,0x40,0x20,0x10,0xF8,0x0C,0x08,0x00},/*"云",0*/
{0x01,0x01,0xFF,0x01,0x02,0x3F,0x24,0x22,0x2F,0x21,0x3F,0x21,0x21,0x21,0x21,0x00},
{0x00,0x04,0xFE,0x00,0x00,0xFC,0x24,0x44,0xF4,0x04,0xFC,0x04,0x04,0x14,0x08,0x00},/*"南",1*/
{0x02,0x02,0x04,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x00},
{0x00,0x00,0x00,0xF8,0x08,0x08,0x08,0x08,0xF8,0x08,0x08,0x08,0x08,0xF8,0x08,0x00},/*"白",2*/
{0x04,0x04,0x7F,0x04,0x14,0x10,0x24,0x7C,0x09,0x10,0x7E,0x20,0x06,0x78,0x20,0x00},
{0x40,0x40,0xFE,0x40,0x40,0x40,0x7C,0x84,0x04,0x44,0x24,0x24,0x04,0x04,0x28,0x10},/*"药",3*/
{0x08,0x08,0x1F,0x10,0x20,0x4F,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},



					};

uchar code NO_WORDS[][16]={

{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"0",0*/
{0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00},/*"1",1*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00},/*"2",2*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00},/*"3",3*/
{0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00},/*"4",4*/
{0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00},/*"5",5*/
{0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"6",6*/
{0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00},/*"7",7*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},/*"8",8*/
{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00},/*"9",9*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",10*/ 
{0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},/*":",11*/ 
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"空格",12*/
						};
uchar code TMP_WORDS[][16]={


{0x02,0x01,0x3F,0x20,0x40,0x3F,0x04,0x08,0x1F,0x01,0x01,0x3F,0x01,0x01,0xFF,0x00},
{0x00,0x00,0xFE,0x04,0x08,0xFC,0x00,0x20,0xF0,0x10,0x00,0xF8,0x00,0x00,0xFE,0x00},/*"室",3*/
{0x40,0x27,0x24,0x07,0x94,0x54,0x17,0x20,0x2F,0xC9,0x49,0x49,0x49,0x49,0x5F,0x40},
{0x00,0xF0,0x10,0xF0,0x10,0x10,0xF0,0x00,0xFC,0x24,0x24,0x24,0x24,0x24,0xFE,0x00},/*"温",4*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00},/*":",5*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",6*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",7*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",8*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00},/*".",9*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",10*/
{0x00,0xC0,0xC0,0x3E,0x42,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x44,0x38,0x00,0x00},/*"C",11*/
							};
uchar code TIME_WORDS[][16]={

{0x01,0x01,0x02,0x04,0x08,0x12,0x21,0xC0,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x01},
{0x00,0x00,0x80,0x40,0x20,0x18,0x8E,0x84,0x00,0xF0,0x20,0x20,0x40,0x40,0x80,0x00},/*"今",0*/
{0x00,0x3F,0x01,0x01,0x01,0x01,0x7F,0x01,0x01,0x02,0x02,0x04,0x08,0x10,0x20,0x40},
{0x00,0xFC,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x80,0x40,0x20,0x18,0x0E,0x04,0x00},/*"天",1*/
{0x00,0x0F,0x08,0x0F,0x08,0x0F,0x00,0xFF,0x01,0x09,0x09,0x09,0x15,0x23,0x40,0x00},
{0x00,0xF0,0x10,0xF0,0x10,0xF0,0x00,0xFE,0x00,0x00,0xF8,0x00,0x00,0x00,0xFE,0x00},/*"是",2*/

{0x08,0x0F,0x10,0x10,0x20,0x4F,0x88,0x08,0x08,0x08,0xFF,0x00,0x00,0x00,0x00,0x00},
{0x00,0xFC,0x80,0x80,0x80,0xF8,0x80,0x80,0x80,0x80,0xFE,0x80,0x80,0x80,0x80,0x80},/*"年",1*/
{0x07,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x07,0x04,0x08,0x08,0x10,0x20,0x40,0x00},
{0xF0,0x10,0x10,0x10,0xF0,0x10,0x10,0x10,0xF0,0x10,0x10,0x10,0x10,0x50,0x20,0x00},/*"月",2*/
{0x00,0x1F,0x10,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x10,0x10,0x1F,0x10,0x00,0x00},
{0x00,0xF0,0x10,0x10,0x10,0x10,0xF0,0x10,0x10,0x10,0x10,0x10,0xF0,0x10,0x00,0x00},/*"日",3*/
{0x00,0x1F,0x10,0x1F,0x10,0x1F,0x01,0x11,0x1F,0x21,0x21,0x4F,0x01,0x01,0x7F,0x00},
{0x00,0xF8,0x08,0xF8,0x08,0xF8,0x00,0x00,0xFC,0x00,0x00,0xF8,0x00,0x00,0xFE,0x00},/*"星",4*/
{0x22,0x22,0x7F,0x22,0x3E,0x22,0x3E,0x22,0x22,0xFF,0x00,0x24,0x22,0x43,0x81,0x00},
{0x00,0x7C,0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x7C,0x44,0x84,0x84,0x14,0x08,0x00},/*"期",5*/
						};
uchar code WEEK_WORDS[][16]={
	
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"一",0*/
{0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00},
{0x00,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0xFE,0x00,0x00,0x00},/*"二",1*/
{0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00},
{0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00},/*"三",2*/
{0x00,0x7F,0x44,0x44,0x44,0x44,0x44,0x44,0x48,0x48,0x50,0x60,0x40,0x7F,0x40,0x00},
{0x00,0xFC,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x7C,0x04,0x04,0x04,0xFC,0x04,0x00},/*"四",3*/
{0x00,0x7F,0x02,0x02,0x02,0x02,0x02,0x3F,0x04,0x04,0x04,0x04,0x04,0xFF,0x00,0x00},
{0x00,0xF8,0x00,0x00,0x00,0x00,0x20,0xF0,0x20,0x20,0x20,0x20,0x24,0xFE,0x00,0x00},/*"五",4*/
{0x04,0x03,0x01,0x01,0xFF,0x00,0x00,0x04,0x06,0x04,0x08,0x08,0x10,0x20,0x40,0x00},
{0x00,0x00,0x80,0x00,0xFE,0x00,0x00,0x80,0x40,0x20,0x10,0x18,0x0C,0x0C,0x08,0x00},/*"六",5*/
{0x00,0x1F,0x10,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x10,0x10,0x1F,0x10,0x00,0x00},
{0x00,0xF0,0x10,0x10,0x10,0x10,0xF0,0x10,0x10,0x10,0x10,0x10,0xF0,0x10,0x00,0x00},/*"日",0*/

};

uchar code SONG_WORDS[][16] = {
	
{0x00,0x08,0x04,0x04,0x00,0x0F,0x01,0x01,0x7F,0x01,0x02,0x04,0x08,0x30,0x00,0x00},
{0x40,0x40,0x40,0x80,0xE0,0x00,0x00,0xF8,0x00,0x00,0x80,0x40,0x30,0x1C,0x00,0x00},/*"关",0*/
{0x00,0x08,0x04,0x04,0x00,0x0F,0x01,0x01,0x7F,0x01,0x02,0x04,0x08,0x30,0x00,0x00},
{0x40,0x40,0x40,0x80,0xE0,0x00,0x00,0xF8,0x00,0x00,0x80,0x40,0x30,0x1C,0x00,0x00},/*"关",1*/
{0x00,0x00,0x18,0x68,0x49,0x6B,0x4D,0x69,0x49,0x4D,0x71,0xC1,0x01,0x01,0x01,0x00},
{0x40,0x40,0xA0,0x90,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x10,0x1E,0x60,0x00,0x00,0x00},/*"雎",2*/
{0x00,0x00,0x10,0x11,0x1D,0x75,0x15,0x15,0x17,0x25,0x24,0x40,0x87,0x00,0x00,0x00},
{0x40,0x40,0xF0,0x10,0x50,0x10,0x70,0x00,0x1C,0xE4,0x04,0xF4,0x04,0x14,0x08,0x00},/*"鸠",3*/
{0x01,0x01,0x01,0x01,0x1E,0x04,0x04,0x08,0x18,0x2B,0x48,0x88,0x0F,0x08,0x08,0x00},
{0x00,0x00,0x00,0xF0,0x00,0x40,0x40,0x40,0x70,0xC0,0x40,0x7C,0x80,0x00,0x00,0x00},/*"在",4*/
{0x00,0x10,0x08,0x07,0x40,0x21,0x06,0x04,0x13,0x10,0x20,0x20,0x20,0x00,0x00,0x00},
{0x00,0x00,0x1E,0xF0,0x10,0x90,0x90,0x90,0x90,0x10,0x10,0x10,0x30,0x10,0x00,0x00},/*"河",5*/
{0x00,0x04,0x02,0x00,0x03,0x3C,0x00,0x03,0x0C,0xF0,0x0C,0x03,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0xE0,0x40,0x80,0x00,0x00,0x00,0x00,0x80,0x7E,0x00,0x00,0x00},/*"之",6*/
{0x00,0x00,0x20,0x12,0x02,0x82,0x4B,0x0A,0x2A,0x22,0x24,0x48,0x50,0x00,0x00,0x00},
{0x00,0x08,0x08,0x48,0x48,0x48,0x68,0xD8,0x48,0x48,0x48,0x08,0x08,0x08,0x00,0x00},/*"洲",7*/
{0x02,0x01,0x01,0x3E,0x24,0x18,0x08,0x10,0x25,0x38,0x12,0x2E,0x31,0x02,0x04,0x00},
{0x00,0x00,0xF8,0x88,0x40,0x20,0x40,0x78,0xC8,0x48,0x88,0x90,0x50,0x20,0x00,0x00},/*"窈",8*/
{0x02,0x01,0x11,0x1E,0x24,0x08,0x00,0x24,0x14,0x0C,0x74,0x04,0x08,0x10,0x20,0x00},
{0x00,0x00,0xF8,0x88,0x40,0x00,0x90,0xA0,0xC0,0xA0,0x94,0x84,0x84,0x7C,0x00,0x00},/*"窕",9*/
{0x00,0x02,0x22,0x13,0x02,0x83,0x5C,0x02,0x2B,0x2A,0x52,0xC3,0x06,0x02,0x00,0x00},
{0x00,0x00,0x00,0x80,0x38,0x48,0x90,0x50,0x20,0x50,0x88,0x0E,0x00,0x00,0x00,0x00},/*"淑",10*/
{0x02,0x02,0x02,0x02,0x02,0x02,0x07,0xFC,0x04,0x02,0x01,0x06,0x18,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x40,0xFE,0x40,0x80,0x80,0x80,0x60,0x10,0x00,0x00,0x00},/*"女",11*/
{0x00,0x01,0x0E,0x02,0x7F,0x02,0x03,0x3E,0x04,0x08,0x17,0x24,0xC4,0x07,0x00,0x00},
{0x00,0xF0,0x10,0x1E,0xE0,0x20,0xE0,0x00,0x00,0xF0,0x10,0x10,0x70,0x80,0x00,0x00},/*"君",12*/
{0x00,0x01,0x0E,0x00,0x01,0x01,0x7F,0x00,0x00,0x00,0x00,0x00,0x06,0x01,0x00,0x00},
{0x00,0xE0,0x40,0x80,0x00,0x7C,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00},/*"子",13*/
{0x00,0x10,0x10,0x11,0x10,0x14,0x1E,0xE5,0x14,0x08,0x14,0x22,0x40,0x00,0x00,0x00},
{0x00,0x00,0x78,0x90,0x20,0x40,0x3E,0xE0,0x20,0x20,0x20,0x20,0x60,0x20,0x00,0x00},/*"好",14*/
{0x00,0x00,0x20,0x10,0x03,0x30,0xD4,0x22,0x21,0x22,0x15,0xF8,0x07,0x00,0x00,0x00},
{0x80,0x90,0x88,0xF0,0x80,0x90,0xB0,0xC0,0xA0,0x90,0x88,0x00,0x80,0x7E,0x00,0x00},/*"逑",15*/

				};
uchar code CPYRT_WORDS[][16] = {

{0x00,0x08,0x04,0x04,0x7B,0x01,0x22,0x12,0x0C,0x06,0x09,0x11,0x20,0x40,0x00,0x00},
{0x00,0x02,0x04,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x04,0x04,0x0C,0x00,0x00},/*"刘",0*/
{0x00,0x01,0x00,0x00,0x3F,0x60,0x00,0x3F,0x01,0x01,0x01,0x01,0x00,0x03,0x00,0x00},
{0x00,0x00,0x80,0x04,0xFC,0x00,0x04,0xF8,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00},/*"宁",1*/
{0x00,0x06,0x14,0x24,0x3F,0x44,0x7F,0x04,0x24,0x3F,0x24,0x24,0x25,0x04,0x00,0x00},
{0x00,0x02,0x02,0x92,0x12,0x12,0xD2,0x12,0x52,0xD2,0x52,0x42,0x82,0x0C,0x04,0x00},/*"制",2*/
{0x00,0x0C,0x08,0x09,0x11,0x1A,0x34,0x54,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00},
{0x00,0xC0,0x80,0x04,0xF8,0x40,0x40,0x7C,0x40,0x40,0x44,0x78,0x40,0x40,0x00,0x00},/*"作",3*/
};

void Put_Wdispram(uchar code *WORDS[][8]){	//,uchar first_word
	uchar i;
	disword[0] = &NO_WORDS[12][0];
	for(i=1;i<25;i++){
		disword[i] = &WORDS[i-1][0];	//first_word+
	}
}	

void  Put_Hdispram(){
	uchar i;
	for(i=0;i<10;i++){
		h_dispram[i] = *(disword[i+start_word]+hang);	//
	}
}

void Move_Left(){
	uchar i;
	for(i=0;i<9;i++){
		h_dispram[i] = (h_dispram[i] << (move_times)) | (h_dispram[i+1] >> (8-move_times));
	}
}

void Move_Right(){
	uchar i;
	for(i=9;i>0;i--){
		h_dispram[i] = (h_dispram[i] >> (move_times)) | (h_dispram[i-1] << (8-move_times));
	}
}

void RL_Move(){
	//
	switch(MSG_MV){
		case MSG_MV_L:	//左移
			Move_Left();
			break;
		case MSG_MV_R:	//右移
			Move_Right();
			break;
		case MSG_NONE:
			break;
		default:
			break;
		}
}

void Move_Up(){
	//
	uchar i,j,m,n;
	for(m=0;m<16;m++){
		for(n=0;n<4;n++){
			for(j=0;j<16-m;j++){
				for(i=0;i<10;i++){
					h_dispram[i] = *(disword[i]+m+j);		//
				}
				Show_Line();
			}
			for(j=16-m;j<16;j++){
				for(i=0;i<10;i++){
					h_dispram[i] = *(disword[i+8]+m+j-16);		//0x00
				}
				Show_Line();
			}
		}
	}
}

void Move_Down(){
	//
	uchar i,j,m,n;
	for(m=0;m<16;m++){
		for(n=0;n<4;n++){
			for(j=0;j<m;j++){
				for(i=0;i<10;i++){
					h_dispram[i] = *(disword[i+8]+15-m+j);		//
				}
				Show_Line();
			}
			for(j=m;j<16;j++){
				for(i=0;i<10;i++){
					h_dispram[i] = *(disword[i]-m+j);		//0x00
				}
				Show_Line();
			}
		}
	}
}

void UD_Move(){
	//
	switch(MSG_MV){
		case MSG_MV_U:	//左移
		//	Move_Up();
			break;
		case MSG_MV_D:	//右移
		//	Move_Down();
			break;
		case MSG_NONE:
			break;
		default:
			break;
		}
}

void Show_Line(){
	uchar m;
	OE=1;
	for(m =0;m<8;m++)  
	{	
		SendData = h_dispram[m+1];
		SendByte();
	}
	STB = 0;
	STB = 1;		 //上升沿数据锁存 
	RowsCan();		//行扫描 
	OE = 0;
//	delay();	//
}

void Show_sWord(){
	int m,i;// 
	hang = 0;
	for(m=0;m<7;m++){
		for(i=0;i<16;i++){
			Put_Hdispram();	//把第i行放入行缓冲
			Show_Line();
			//delay();	//看需要
		}

⌨️ 快捷键说明

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