📄 欢迎光临停止营业.c
字号:
// 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 + -