📄 demod.c
字号:
#include <reg51.h>
#include <math.h>
#include <absacc.h>
#include <string.h>
/* 直接访问方式地址定义,根据用户平台接口修改 */
#define cwadd1 XBYTE[0x800] /*写指令代码地址(左)*/
#define cradd1 XBYTE[0xa00] /*写显示数据地址(左)*/
#define dwadd1 XBYTE[0x900] /*读状态字地址(左) */
#define dradd1 XBYTE[0xb00] /*读显示数据地址(左)*/
#define cwadd2 XBYTE[0x400] /*写指令代码地址(右)*/
#define cradd2 XBYTE[0x600] /*写显示数据地址(右)*/
#define dwadd2 XBYTE[0x500] /*读状态字地址(右) */
#define dradd2 XBYTE[0x700] /*读显示数据地址(右)*/
/* 常量定义 */
#define display_on 0x3f;
#define display_off 0x3e;
#define para1 0x40;
#define start_line0 0xc0;
sbit ACC_7=ACC^7;
unsigned int O_X,O_Y,com,dat1;/* O_X: 在显示字符时定义为行地址: 0~7
在绘点显示时定义为行地址(0-63)
O_Y: 列地址(0~127)
com: 指令码寄存器
dat1: 数据寄存器 */
unsigned char code_1,count1;
/* 西文字符库定义 */
code unsigned char CHTAB[96][8]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*" "=00H*/
0x00,0x00,0x00,0x4F,0x00,0x00,0x00,0x00, /*"!"=01H*/
0x00,0x00,0x07,0x00,0x07,0x00,0x00,0x00, /*"""=02h*/
0x00,0x14,0x7F,0x14,0x7F,0x14,0x00,0x00, /*"#"=03h*/
0x00,0x24,0x2A,0x7F,0x2A,0x12,0x00,0x00, /*"$"=04h*/
0x00,0x23,0x13,0x08,0x64,0x62,0x00,0x00, /*"%"=05h*/
0x00,0x36,0x49,0x55,0x22,0x50,0x00,0x00, /*"&"=06h*/
0x00,0x00,0x05,0x03,0x00,0x00,0x00,0x00, /*"'"=07h*/
0x00,0x00,0x1C,0x22,0x41,0x00,0x00,0x00, /*"("=08h*/
0x00,0x00,0x41,0x22,0x1C,0x00,0x00,0x00, /*")"=09h*/
0x00,0x14,0x08,0x3E,0x08,0x14,0x00,0x00, /*"*"=0Ah*/
0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00, /*"+"=0Bh*/
0x00,0x00,0x50,0x30,0x00,0x00,0x00,0x00, /*";"=0Ch*/
0x00,0x08,0x08,0x08,0x08,0x08,0x00,0x00, /*"-"=0Dh*/
0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00, /*"."=0Eh*/
0x00,0x20,0x10,0x08,0x04,0x02,0x00,0x00, /*"/"=0Fh*/
0x00,0x3E,0x51,0x49,0x45,0x3E,0x00,0x00, /*"0"=10h*/
0x00,0x00,0x42,0x7F,0x40,0x00,0x00,0x00, /*"1"=11h*/
0x00,0x42,0x61,0x51,0x49,0x46,0x00,0x00, /*"2"=12h*/
0x00,0x21,0x41,0x45,0x4B,0x31,0x00,0x00, /*"3"=13h*/
0x00,0x18,0x14,0x12,0x7F,0x10,0x00,0x00, /*"4"=14h*/
0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00, /*"5"=15h*/
0x00,0x3C,0x4A,0x49,0x49,0x30,0x00,0x00, /*"6"=16h*/
0x00,0x01,0x01,0x79,0x05,0x03,0x00,0x00, /*"7"=17h*/
0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, /*"8"=18h*/
0x00,0x06,0x49,0x49,0x29,0x1E,0x00,0x00, /*"9"=19h*/
0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00, /*":"=1Ah*/
0x00,0x00,0x56,0x36,0x00,0x00,0x00,0x00, /*";"=1Bh*/
0x00,0x08,0x14,0x22,0x41,0x00,0x00,0x00, /*"<"=1Ch*/
0x00,0x14,0x14,0x14,0x14,0x14,0x00,0x00, /*"="=1Dh*/
0x00,0x00,0x41,0x22,0x14,0x08,0x00,0x00, /*">"=1Eh*/
0x00,0x02,0x01,0x51,0x09,0x06,0x00,0x00, /*"?"=1Fh*/
0x00,0x32,0x49,0x79,0x41,0x3E,0x00,0x00, /*"@"=20h*/
0x00,0x7E,0x11,0x11,0x11,0x7E,0x00,0x00, /*"A"=21h*/
0x00,0x41,0x7F,0x49,0x49,0x36,0x00,0x00, /*"B"=22h*/
0x00,0x3E,0x41,0x41,0x41,0x22,0x00,0x00, /*"C"=23h*/
0x00,0x41,0x7F,0x41,0x41,0x3E,0x00,0x00, /*"D"=24h*/
0x00,0x7F,0x49,0x49,0x49,0x49,0x00,0x00, /*"E"=25h*/
0x00,0x7F,0x09,0x09,0x09,0x01,0x00,0x00, /*"F"=26h*/
0x00,0x3E,0x41,0x41,0x49,0x7A,0x00,0x00, /*"G"=27h*/
0x00,0x7F,0x08,0x08,0x08,0x7F,0x00,0x00, /*"h"=28h*/
0x00,0x00,0x41,0x7F,0x41,0x00,0x00,0x00, /*"I"=29h*/
0x00,0x20,0x40,0x41,0x3F,0x01,0x00,0x00, /*"J"=2Ah*/
0x00,0x7F,0x08,0x14,0x22,0x41,0x00,0x00, /*"K"=2Bh*/
0x00,0x7F,0x40,0x40,0x40,0x40,0x00,0x00, /*"L"=2Ch*/
0x00,0x7F,0x02,0x0C,0x02,0x7F,0x00,0x00, /*"M"=2Dh*/
0x00,0x7F,0x06,0x08,0x30,0x7F,0x00,0x00, /*"N"=2Eh*/
0x00,0x3E,0x41,0x41,0x41,0x3E,0x00,0x00, /*"O"=2Fh*/
0x00,0x7F,0x09,0x09,0x09,0x06,0x00,0x00, /*"P"=30h*/
0x00,0x3E,0x41,0x51,0x21,0x5E,0x00,0x00, /*"Q"=31h*/
0x00,0x7F,0x09,0x19,0x29,0x46,0x00,0x00, /*"R"=32h*/
0x00,0x26,0x49,0x49,0x49,0x32,0x00,0x00, /*"S"=33h*/
0x00,0x01,0x01,0x7F,0x01,0x01,0x00,0x00, /*"T"=34h*/
0x00,0x3F,0x40,0x40,0x40,0x3F,0x00,0x00, /*"U"=35h*/
0x00,0x1F,0x20,0x40,0x20,0x1F,0x00,0x00, /*"V"=36h*/
0x00,0x7F,0x20,0x18,0x20,0x7F,0x00,0x00, /*"W"=37h*/
0x00,0x63,0x14,0x08,0x14,0x63,0x00,0x00, /*"X"=38h*/
0x00,0x07,0x08,0x70,0x08,0x07,0x00,0x00, /*"Y"=39h*/
0x00,0x61,0x51,0x49,0x45,0x43,0x00,0x00, /*"Z"=3Ah*/
0x00,0x00,0x7F,0x41,0x41,0x00,0x00,0x00, /*"["=3Bh*/
0x00,0x02,0x04,0x08,0x10,0x20,0x00,0x00, /*"\"=3Ch*/
0x00,0x00,0x41,0x41,0x7F,0x00,0x00,0x00, /*"]"=3Dh*/
0x00,0x04,0x02,0x01,0x02,0x04,0x00,0x00, /*"^"=3Eh*/
0x00,0x40,0x40,0x40,0x40,0x40,0x00,0x00, /*"_"=3Fh*/
0x00,0x01,0x02,0x04,0x00,0x00,0x00,0x00, /*"`"=40h*/
0x00,0x20,0x54,0x54,0x54,0x78,0x00,0x00, /*"a"=41h*/
0x00,0x7F,0x48,0x44,0x44,0x38,0x00,0x00, /*"b"=42h*/
0x00,0x38,0x44,0x44,0x44,0x28,0x00,0x00, /*"c"=43h*/
0x00,0x38,0x44,0x44,0x48,0x7F,0x00,0x00, /*"d"=44h*/
0x00,0x38,0x54,0x54,0x54,0x18,0x00,0x00, /*"e"=45h*/
0x00,0x00,0x08,0x7E,0x09,0x02,0x00,0x00, /*"f"=46h*/
0x00,0x0C,0x52,0x52,0x4C,0x3E,0x00,0x00, /*"g"=47h*/
0x00,0x7F,0x08,0x04,0x04,0x78,0x00,0x00, /*"h"=48h*/
0x00,0x00,0x44,0x7D,0x40,0x00,0x00,0x00, /*"i"=49h*/
0x00,0x20,0x40,0x44,0x3D,0x00,0x00,0x00, /*"j"=4Ah*/
0x00,0x00,0x7F,0x10,0x28,0x44,0x00,0x00, /*"k"=4Bh*/
0x00,0x00,0x41,0x7F,0x40,0x00,0x00,0x00, /*"l"=4Ch*/
0x00,0x7C,0x04,0x78,0x04,0x78,0x00,0x00, /*"m"=4Dh*/
0x00,0x7C,0x08,0x04,0x04,0x78,0x00,0x00, /*"n"=4Eh*/
0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x00, /*"o'=4Fh*/
0x00,0x7E,0x0C,0x12,0x12,0x0C,0x00,0x00, /*"p"=50h*/
0x00,0x0C,0x12,0x12,0x0C,0x7E,0x00,0x00, /*"q"=51h*/
0x00,0x7C,0x08,0x04,0x04,0x08,0x00,0x00, /*"r"=52h*/
0x00,0x58,0x54,0x54,0x54,0x64,0x00,0x00, /*"s"=53h*/
0x00,0x04,0x3F,0x44,0x40,0x20,0x00,0x00, /*"t"=54h*/
0x00,0x3C,0x40,0x40,0x3C,0x40,0x00,0x00, /*"u"=55h*/
0x00,0x1C,0x20,0x40,0x20,0x1C,0x00,0x00, /*"v"=56h*/
0x00,0x3C,0x40,0x30,0x40,0x3C,0x00,0x00, /*"w"=57h*/
0x00,0x44,0x28,0x10,0x28,0x44,0x00,0x00, /*"x"=58h*/
0x00,0x1C,0xA0,0xA0,0x90,0x7C,0x00,0x00, /*"y"=59h*/
0x00,0x44,0x64,0x54,0x4C,0x44,0x00,0x00, /*"z"=5Ah*/
0x00,0x00,0x08,0x36,0x41,0x00,0x00,0x00, /*"{"=5Bh*/
0x00,0x00,0x00,0x77,0x00,0x00,0x00,0x00, /*"|"=5Ch*/
0x00,0x00,0x41,0x36,0x08,0x00,0x00,0x00, /*"}"=5Dh*/
0x00,0x02,0x01,0x02,0x04,0x02,0x00,0x00, /*"~"=5Fh*/
0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00 /*" "=0x60*/
};
/************************************************************************************************/
/* 中文字符库定义 */
code unsigned char CCTAB[16][8]={
0x82,0x8A,0x92,0xB2,0x02,0xA7,0x92,0x5E, /*蓬90 = 00H*/
0x2A,0xAF,0x2A,0x5A,0x4A,0x83,0x82,0x00,
0x00,0x80,0x40,0x3F,0x41,0x90,0x95,0x95,
0x95,0xFF,0x95,0x95,0x95,0xD0,0x40,0x00,
0x80,0x64,0x24,0x24,0x3F,0x24,0xA6,0x64, /*勃90 = 01H*/
0x20,0x20,0xFF,0x20,0x20,0xF0,0x20,0x00,
0x00,0x08,0x49,0x89,0x7D,0x0B,0x89,0x40,
0x30,0x0E,0x41,0x80,0x40,0x3F,0x00,0x00,
0x40,0x42,0x44,0xCC,0x00,0x20,0x22,0xE2, /*远90 = 02H*/
0x22,0x22,0xE2,0x23,0x32,0x20,0x00,0x00,
0x00,0x40,0x20,0x1F,0x20,0x50,0x4C,0x43,
0x40,0x40,0x47,0x48,0x48,0x6E,0x20,0x00,
0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F, /*大90 = 03H*/
0xA0,0x20,0x20,0x20,0x20,0x30,0x20,0x00,
0x00,0x40,0x40,0x20,0x10,0x0C,0x03,0x00,
0x01,0x06,0x08,0x10,0x20,0x60,0x20,0x00
};
/*************************************/
/* 演示主程序 */
/*************************************/
void main()
{
unsigned char a,b,i,j;
INT_1(); /* 调初始化函数 */
CLEAR(); /* 调清屏函数 */
/*----------绘点显示----------*/
i=0;
j=0;
com=0xc0; /* 显示起始行设置 */
PR1();
PR4();
for(i=0;i<128;)
{
for(j=0;j<64;j++)
{
O_X=i;
O_Y=j;
W_DOT();
i++;
}
for(j=64;j>0;j--)
{
O_X=i;
O_Y=j;
W_DOT();
i++;
}
}
/*----------汉字显示----------*/
O_Y=0;
O_X=0;
code_1=0x00;
CCW_PR();
O_Y=0x01;
O_X=0x30;
code_1=0x04;
CCW_PR();
O_Y=0x02;
O_X=0x50;
code_1=0x08;
CCW_PR();
O_Y=0x03;
O_X=0x70;
code_1=0x0c;
CCW_PR();
O_Y=0x04;
O_X=0x00;
code_1=0x00;
CCW_PR();
O_Y=0x05;
O_X=0x30;
code_1=0x04;
CCW_PR();
O_Y=0x06;
O_X=0x50;
code_1=0x08;
CCW_PR();
O_Y=0x07;
O_X=0x70;
code_1=0x0c;
CCW_PR();
/*------------西文显示----------*/
a=0;
b=0;
code_1=0;
for(i=0;i<96;i++)
{
O_Y=a;
O_X=b;
CW_PR();
b=b+8;
code_1++;
if(code_1==96)
{
i=0;
code_1=0;
}
if(b==128)
{
a++;
b=0;
if(a==8)
{
return;
}
}
}
}
/*************************************/
/* 初始化函数 */
/*************************************/
INT_1()
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -