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

📄 upd6464a.h

📁 用upd6464 给TV信号 加叠加字符
💻 H
字号:
//==============================
//FileName=upd6464a.h
//Date=20060518
//==============================
#include"SST89x5x4.H"

#ifndef	_UPD6464A_H_
#define	_UPD6464A_H_

//硬件引脚的定义
sbit UPD6464A_CLK	=P1^0;
sbit UPD6464A_CS	=P1^1;
sbit UPD6464A_DAT	=P1^2;

sbit CLK=P1^0;
sbit CSY=P1^1;
sbit VTXD=P1^2;

//常数的定义
#define	CONST_COLUMN_NUMBER_MAX		24	//一行字符的个数

//特殊的自定义字符码
#define	CHAR_CA		0x80
#define	CHAR_RIGHT	0x81
#define	CHAR_LEFT	0x82
#define	CHAR_UP		0x83
#define	CHAR_DOWN	0x84


//UPD6464A操作指令的定义
#define	CONST_UPD6464A_CMD_CONTINUE_END		0x7f	//双字节连续命令的结束字符
#define	CONST_UPD6464A_CMD_WRITE_LINE_MAX	0x0B	//写入操作时的最大行号
#define	CONST_UPD6464A_CMD_WRITE_COLUMN_MAX	0x17	//写入操作时的最大列号	

//单字节命令
#define	UPD6464A_CMD_VIDEO_RAM_CLR		0x00	//清除RAM

#define	UPD6464A_CMD_DISPLAY_NO_BLINK		0x00	//控制显示的闪烁部分
#define	UPD6464A_CMD_DISPLAY_2HZ_BLINK		0x01
#define	UPD6464A_CMD_DISPLAY_1HZ_BLINK	0x02
#define	UPD6464A_CMD_DISPLAY_HALFHZ_BLINK	0x03

#define	UPD6464A_CMD_DISPLAY_LC_OFF		0x00	//控制显示的LC振荡部分
#define	UPD6464A_CMD_DISPLAY_LC_ON		0x01	//工作时须设置为ON

#define	UPD6464A_CMD_DISPLAY_DISP_OFF		0x00	//控制显示的显示部分
#define	UPD6464A_CMD_DISPLAY_DISP_ON		0x01	

#define	UPD6464A_CMD_COLOR_BLACK		0x00	//颜色控制部分		
#define	UPD6464A_CMD_COLOR_BLUE			0x01
#define	UPD6464A_CMD_COLOR_GREEN		0x02
#define	UPD6464A_CMD_COLOR_WHITE		0x07

#define	UPD6464A_CMD_BACKGROUND_NO		0x00	//背景控制
#define	UPD6464A_CMD_BACKGROUND_BLACK_FRAMING	0x01
#define	UPD6464A_CMD_BACKGROUND_BLACK_FILLING	0x02
#define	UPD6464A_CMD_BACKGROUND_BLACK_ON_WHITE	0x03

#define	UPD6464A_CMD_OSC_OFF			0x00	//视频信号和晶振控制的晶振部分
#define	UPD6464A_CMD_OSC_ON			0x01

#define	UPD6464A_CMD_VS_MODE_EXTERNAL		0x00	//视频信号和晶振控制的视频信号部分
#define	UPD6464A_CMD_VS_MODE_INTERNAL		0x01

#define	UPD6464A_CMD_VSM_NTSC			0x00	//视频信号的分类方式
#define	UPD6464A_CMD_VSM_PAL			0x01
#define	UPD6464A_CMD_VSM_PAL_M			0x02
#define	UPD6464A_CMD_VSM_SECAM			0x03
#define	UPD6464A_CMD_VSM_PAL_N			0x04

#define	UPD6464A_CMD_OSC_METHOD_Q		0x00	//振荡方式控制:外部振荡
#define	UPD6464A_CMD_OSC_METHOD_4		0x01	//振荡方式控制:内部LC振荡

//双字节命令
#define	UPD6464A_CMD_75_IRE			0x00	//输出幅度控制: 字符
#define	UPD6464A_CMD_90_IRE			0x01
#define	UPD6464A_CMD_1V_PP			0x00	//输出幅度控制: 信号强度
#define	UPD6464A_CMD_2V_PP			0x01

#define	UPD6464A_CMD_1_DOT			0x00	//1点线宽
#define	UPD6464A_CMD_2_DOT			0x01	//2点线宽

#define UPD6464A_CMD_BLINK_OFF			0x00	//连续写命令的初始字节中闪烁控制
#define UPD6464A_CMD_BLINK_ON			0x01


//操作宏的定义
#define	CLK_HIGH	UPD6464A_CLK =1
#define	CLK_LOW		UPD6464A_CLK =0

#define	CS_HIGH		UPD6464A_CS =1
#define	CS_LOW		UPD6464A_CS =0

#define	DAT_HIGH	UPD6464A_DAT =1
#define	DAT_LOW		UPD6464A_DAT =0

//函数的声明
uchar upd6464a_get_disp_code(uchar ascii);

void upd6464a_video_clr_ram(void);
void upd6464A_display_control(uchar disp, uchar lc, uchar blink);
void upd6464A_internal_color_control(uchar color);
void upd6464A_background_control(uchar select_bg);

void upd6464A_osc_mode_control(uchar osc, uchar vs_mode);
void upd6464A_format_mode_control(uchar format);
void upd6464A_osc_method_control(uchar method);

void upd6464A_disp_position_control(uchar x, uchar y);
void upd6464A_write_addr_control(uchar line, uchar coloum);
void upd6464A_output_level_control(uchar lum, uchar level);
void upd6464A_character_size_control(uchar high, uchar dot);

void upd6464A_character_display_control(uchar blink, uchar *dat_str, uchar len);

#endif

//End Of File

⌨️ 快捷键说明

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