//-----------------------------------------------------------------
// 名称: PG12864LCD显示驱动程序(T6963C) (不带字库)
//-----------------------------------------------------------------
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include <string.h>
#include <math.h>
#include <string.h>
#include "PG160128.h"
#define INT8U unsigned char
#define INT16U unsigned int
//-----------------------------------------------------------------
// 变更LCD与MCU的连接时,
// 只需要修改以下数据端口,控制端口及控制引脚定义
//-----------------------------------------------------------------
//LCD数据端口
#define LCD_DATA_PORT PORTC
#define LCD_DATA_PIN PINC
#define LCD_DATA_DDR DDRC
//LCD控制端口
#define LCD_CTRL_PORT PORTD
//LCD控制引脚定义(读,写,命令/数据寄存选择)
#define WR PD0
#define RD PD1
#define CD PD2
//-----------------------------------------------------------------
//LCD控制引脚相关操作
//ASCII字模宽度及高度定义
#define ASC_CHR_WIDTH 8
#define ASC_CHR_HEIGHT 12
#define HZ_CHR_HEIGHT 12
#define HZ_CHR_WIDTH 12
//液晶宽度与高度定义
const INT8U LCD_WIDTH = 20; //宽160像素(160/8 = 20个字节)
const INT8U LCD_HEIGHT = 128; //高128像素
//下面的英文,数字,标点符号等字符点阵存放于程序Flash空间中
//使用时要用pgm_read_byte(INT8U*)函数读取,该函数在avr/pgmspace.h中申明
//本例使用的图像点阵也存放于Flash中.
prog_uchar ASC_MSK[96 * 12] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,// < 0x20时
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// ' '
0x00,0x30,0x78,0x78,0x78,0x30,0x30,0x00,0x30,0x30,0x00,0x00,// '!'
0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// '"'
0x00,0x6c,0x6c,0xfe,0x6c,0x6c,0x6c,0xfe,0x6c,0x6c,0x00,0x00,// '#'
0x30,0x30,0x7c,0xc0,0xc0,0x78,0x0c,0x0c,0xf8,0x30,0x30,0x00,// '$'
0x00,0x00,0x00,0xc4,0xcc,0x18,0x30,0x60,0xcc,0x8c,0x00,0x00,// '%'
0x00,0x70,0xd8,0xd8,0x70,0xfa,0xde,0xcc,0xdc,0x76,0x00,0x00,// '&'
0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// '''
0x00,0x0c,0x18,0x30,0x60,0x60,0x60,0x30,0x18,0x0c,0x00,0x00,// '('
0x00,0x60,0x30,0x18,0x0c,0x0c,0x0c,0x18,0x30,0x60,0x00,0x00,// ')'
0x00,0x00,0x00,0x66,0x3c,0xff,0x3c,0x66,0x00,0x00,0x00,0x00,// '*'
0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00,// '+'
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x60,0x00,// ','
0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,// '-'
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x00,0x00,// '.'
0x00,0x00,0x02,0x06,0x0c,0x18,0x30,0x60,0xc0,0x80,0x00,0x00,// '/'
0x00,0x7c,0xc6,0xce,0xde,0xd6,0xf6,0xe6,0xc6,0x7c,0x00,0x00,// '0'
0x00,0x10,0x30,0xf0,0x30,0x30,0x30,0x30,0x30,0xfc,0x00,0x00,// '1'
0x00,0x78,0xcc,0xcc,0x0c,0x18,0x30,0x60,0xcc,0xfc,0x00,0x00,// '2'
0x00,0x78,0xcc,0x0c,0x0c,0x38,0x0c,0x0c,0xcc,0x78,0x00,0x00,// '3'
0x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x0c,0x1e,0x00,0x00,// '4'
0x00,0xfc,0xc0,0xc0,0xc0,0xf8,0x0c,0x0c,0xcc,0x78,0x00,0x00,// '5'
0x00,0x38,0x60,0xc0,0xc0,0xf8,0xcc,0xcc,0xcc,0x78,0x00,0x00,// '6'
0x00,0xfe,0xc6,0xc6,0x06,0x0c,0x18,0x30,0x30,0x30,0x00,0x00,// '7'
0x00,0x78,0xcc,0xcc,0xec,0x78,0xdc,0xcc,0xcc,0x78,0x00,0x00,// '8'
0x00,0x78,0xcc,0xcc,0xcc,0x7c,0x18,0x18,0x30,0x70,0x00,0x00,// '9'
0x00,0x00,0x00,0x38,0x38,0x00,0x00,0x38,0x38,0x00,0x00,0x00,// ':'
0x00,0x00,0x00,0x38,0x38,0x00,0x00,0x38,0x38,0x18,0x30,0x00,// ';'
0x00,0x0c,0x18,0x30,0x60,0xc0,0x60,0x30,0x18,0x0c,0x00,0x00,// '<'
0x00,0x00,0x00,0x00,0x7e,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,// '='
0x00,0x60,0x30,0x18,0x0c,0x06,0x0c,0x18,0x30,0x60,0x00,0x00,// '>'
0x00,0x78,0xcc,0x0c,0x18,0x30,0x30,0x00,0x30,0x30,0x00,0x00,// '?'
0x00,0x7c,0xc6,0xc6,0xde,0xde,0xde,0xc0,0xc0,0x7c,0x00,0x00,// '@'
0x00,0x30,0x78,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0x00,0x00,// 'A'
0x00,0xfc,0x66,0x66,0x66,0x7c,0x66,0x66,0x66,0xfc,0x00,0x00,// 'B'
0x00,0x3c,0x66,0xc6,0xc0,0xc0,0xc0,0xc6,0x66,0x3c,0x00,0x00,// 'C'
0x00,0xf8,0x6c,0x66,0x66,0x66,0x66,0x66,0x6c,0xf8,0x00,0x00,// 'D'
0x00,0xfe,0x62,0x60,0x64,0x7c,0x64,0x60,0x62,0xfe,0x00,0x00,// 'E'
0x00,0xfe,0x66,0x62,0x64,0x7c,0x64,0x60,0x60,0xf0,0x00,0x00,// 'F'
0x00,0x3c,0x66,0xc6,0xc0,0xc0,0xce,0xc6,0x66,0x3e,0x00,0x00,// 'G'
0x00,0xcc,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,// 'H'
0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,// 'I'
0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0xcc,0x78,0x00,0x00,// 'J'
0x00,0xe6,0x66,0x6c,0x6c,0x78,0x6c,0x6c,0x66,0xe6,0x00,0x00,// 'K'
0x00,0xf0,0x60,0x60,0x60,0x60,0x62,0x66,0x66,0xfe,0x00,0x00,// 'L'
0x00,0xc6,0xee,0xfe,0xfe,0xd6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,// 'M'
0x00,0xc6,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0x00,0x00,// 'N'
0x00,0x38,0x6c,0xc6,0xc6,0xc6,0xc6,0xc6,0x6c,0x38,0x00,0x00,// 'O'
0x00,0xfc,0x66,0x66,0x66,0x7c,0x60,0x60,0x60,0xf0,0x00,0x00,// 'P'
0x00,0x38,0x6c,0xc6,0xc6,0xc6,0xce,0xde,0x7c,0x0c,0x1e,0x00,// 'Q'
0x00,0xfc,0x66,0x66,0x66,0x7c,0x6c,0x66,0x66,0xe6,0x00,0x00,// 'R'
0x00,0x78,0xcc,0xcc,0xc0,0x70,0x18,0xcc,0xcc,0x78,0x00,0x00,// 'S'
0x00,0xfc,0xb4,0x30,0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x00,// 'T'
0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,// 'U'
0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x00,0x00,// 'V'
0x00,0xc6,0xc6,0xc6,0xc6,0xd6,0xd6,0x6c,0x6c,0x6c,0x00,0x00,// 'W'
0x00,0xcc,0xcc,0xcc,0x78,0x30,0x78,0xcc,0xcc,0xcc,0x00,0x00,// 'X'
0x00,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x30,0x30,0x78,0x00,0x00,// 'Y'
0x00,0xfe,0xce,0x98,0x18,0x30,0x60,0x62,0xc6,0xfe,0x00,0x00,// 'Z'
0x00,0x3c,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3c,0x00,0x00,// '['
0x00,0x00,0x80,0xc0,0x60,0x30,0x18,0x0c,0x06,0x02,0x00,0x00,// '\'
0x00,0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3c,0x00,0x00,// ']'
0x10,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// '^'
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,// '_'
0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// '`'
0x00,0x00,0x00,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0x76,0x00,0x00,// 'a'
0x00,0xe0,0x60,0x60,0x7c,0x66,0x66,0x66,0x66,0xdc,0x00,0x00,// 'b'
0x00,0x00,0x00,0x00,0x78,0xcc,0xc0,0xc0,0xcc,0x78,0x00,0x00,// 'c'
0x00,0x1c,0x0c,0x0c,0x7c,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,// 'd'
0x00,0x00,0x00,0x00,0x78,0xcc,0xfc,0xc0,0xcc,0x78,0x00,0x00,// 'e'
0x00,0x38,0x6c,0x60,0x60,0xf8,0x60,0x60,0x60,0xf0,0x00,0x00,// 'f'
0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0x7c,0x0c,0xcc,0x78,// 'g'
0x00,0xe0,0x60,0x60,0x6c,0x76,0x66,0x66,0x66,0xe6,0x00,0x00,// 'h'
0x00,0x18,0x18,0x00,0x78,0x18,0x18,0x18,0x18,0x7e,0x00,0x00,// 'i'
0x00,0x0c,0x0c,0x00,0x3c,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0x78,// 'j'
0x00,0xe0,0x60,0x60,0x66,0x6c,0x78,0x6c,0x66,0xe6,0x00,0x00,// 'k'
0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7e,0x00,0x00,// 'l'
0x00,0x00,0x00,0x00,0xfc,0xd6,0xd6,0xd6,0xd6,0xc6,0x00,0x00,// 'm'
0x00,0x00,0x00,0x00,0xf8,0xcc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,// 'n'
0x00,0x00,0x00,0x00,0x78,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,// 'o'
0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x66,0x7c,0x60,0xf0,// 'p'
0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0x1e,// 'q'
0x00,0x00,0x00,0x00,0xec,0x6e,0x76,0x60,0x60,0xf0,0x00,0x00,// 'r'
0x00,0x00,0x00,0x00,0x78,0xcc,0x60,0x18,0xcc,0x78,0x00,0x00,// 's'
0x00,0x00,0x20,0x60,0xfc,0x60,0x60,0x60,0x6c,0x38,0x00,0x00,// 't'
0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,// 'u'
0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x00,0x00,// 'v'
0x00,0x00,0x00,0x00,0xc6,0xc6,0xd6,0xd6,0x6c,0x6c,0x00,0x00,// 'w'
0x00,0x00,0x00,0x00,0xc6,0x6c,0x38,0x38,0x6c,0xc6,0x00,0x00,// 'x'
0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x3c,0x0c,0x18,0xf0,// 'y'
0x00,0x00,0x00,0x00,0xfc,0x8c,0x18,0x60,0xc4,0xfc,0x00,0x00,// 'z'
0x00,0x1c,0x30,0x30,0x60,0xc0,0x60,0x30,0x30,0x1c,0x00,0x00,// '{'
0x00,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x00,0x00,// '|'
0x00,0xe0,0x30,0x30,0x18,0x0c,0x18,0x30,0x30,0xe0,0x00,0x00,// '}'
0x00,0x73,0xda,0xce,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// '~'
};
struct ty
没有合适的资源?快使用搜索试试~ 我知道了~
avr.rar_AVR proteus_AVR单片机_visual c
共690个文件
c:87个
d:87个
aps:71个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 4 浏览量
2022-09-21
08:59:50
上传
评论
收藏 1.43MB RAR 举报
温馨提示
avr单片机初学程序和proteus仿真
资源推荐
资源详情
资源评论
收起资源包目录
avr.rar_AVR proteus_AVR单片机_visual c (690个子文件)
1602液晶工作于四位模式实时显示当前时间.aps 5KB
PG160128A液晶图文演示.aps 5KB
用工作于计数方式的TC0实现100以内的脉冲或按键计数.aps 4KB
1602液晶显示DS1302实时时钟.aps 4KB
SHT75温湿度传感器应用.aps 4KB
用工作于异步模式的T2控制的可调式数码管电子钟.aps 4KB
TIMER1与TIMER2控制十字路口秒计时显示屏.aps 4KB
1602LCD字符液晶测试程序.aps 4KB
LGM12864液晶显示程序.aps 4KB
8位数码管段位复用串行驱动芯片MAX6951应用.aps 4KB
8只数码管扫描显示多个不同字符.aps 4KB
LED模拟交通灯.aps 4KB
DS18B20温度传感器测试.aps 4KB
TIMER0控制数码管扫描显示.aps 4KB
TIMER1定时器比较匹配中断控制音阶播放.aps 4KB
8只数码管滚动显示单个数字.aps 4KB
用TIMER1输出比较功能调节频率输出.aps 4KB
数码管显示拨码开关编码.aps 4KB
单片机与PC机双向串口通讯仿真.aps 4KB
TIMER0控制单只LED闪烁.aps 4KB
用带SPI接口的数模转换芯片MAX515调节LED亮度.aps 4KB
TIMER1控制交通指示灯.aps 4KB
继电器控制照明设备.aps 4KB
数码管BCD解码驱动器7447与4511应用.aps 4KB
单只数码管循环显示0-9.aps 4KB
串行共阴显示驱动器MAX7219与7221应用.aps 4KB
INT0及INT1中断计数.aps 4KB
开关控制报警器.aps 4KB
报警器与旋转灯.aps 4KB
74HC138与74HC154译码器应用.aps 4KB
TIMER0控制流水灯.aps 4KB
74HC595串入并出芯片应用.aps 4KB
16键解码芯片74C922应用.aps 4KB
Flash程序空间中的数据访问.aps 4KB
TIMER1控制的PWM脉宽调制器.aps 4KB
K1-K4控制LED移位.aps 4KB
可编程接口芯片8155应用.aps 4KB
INT0中断计数.aps 4KB
EEPROM读写与数码管显示.aps 4KB
MPX4250压力传感器测试.aps 4KB
用TIMER1输入捕获功能设计的频率计.aps 4KB
MMC存储卡测试.aps 4KB
数码管显示4×4键盘矩阵按键.aps 4KB
TG12864液晶串行模式演示.aps 4KB
按键发音.aps 4KB
2×20串行字符液晶演示.aps 4KB
数码管显示两路AD转换结果.aps 4KB
可编程外围定时计数器8253应用.aps 4KB
用74LS148与74LS21扩展中断.aps 4KB
用DAC0832生成多种波形.aps 4KB
用62256扩展内存.aps 4KB
看门狗应用.aps 4KB
用定时器设计的门铃.aps 4KB
闪烁的LED.aps 4KB
100000秒以内的计时程序.aps 4KB
用8255实现接口扩展.aps 4KB
16段数码管演示.aps 4KB
左右来回的流水灯.aps 4KB
模拟比较器测试.aps 4KB
SPI接口温度传感器TC72应用测试.aps 4KB
花样流水灯.aps 3KB
用TWI接口控制MAX6953驱动4片5X7点阵显示器.aps 3KB
用带SPI接口的MCP23S17扩展16位通用IO端口.aps 3KB
用TWI接口控制MAX6955驱动16段数码管.aps 3KB
红外遥控仿真发射器.aps 3KB
正反转可控的步进电机.aps 3KB
正反转可控的直流电机.aps 3KB
用SPI接口读写AT25F1024.aps 3KB
红外遥控器受控端程序.aps 3KB
用TWI接口读写24C04.aps 3KB
8×8LED点阵屏显示数字.aps 3KB
1602液晶显示DS1302实时时钟.apsx 5KB
可编程外围定时计数器8253应用.apsx 5KB
用TWI接口读写24C04.apsx 5KB
用TIMER1输入捕获功能设计的频率计.apsx 4KB
数码管显示两路AD转换结果.apsx 4KB
花样流水灯.apsx 4KB
16键解码芯片74C922应用.apsx 4KB
MMC存储卡测试.apsx 4KB
用DAC0832生成多种波形.apsx 3KB
ST75湿度传感器应用.apsx 3KB
DS18B20温度传感器测试.apsx 3KB
1602液晶工作于四位模式实时显示当前时间.apsx 3KB
mmc存储卡测试.aws 992B
1602液晶工作于四位模式实时显示当前时间.aws 772B
1602液晶显示ds1302实时时钟.aws 707B
ds18b20温度传感器测试.aws 689B
spi接口温度传感器tc72应用测试.aws 555B
TG12864液晶串行模式演示.aws 508B
lgm12864液晶显示程序.aws 504B
1602lcd字符液晶测试程序.aws 502B
sht75温湿度传感器应用.aws 490B
数码管显示两路ad转换结果.aws 469B
用工作于异步模式的t2控制的可调式数码管电子钟.aws 433B
用工作于计数方式的tc0实现100以内的脉冲或按键计数.aws 401B
用带spi接口的数模转换芯片max515调节led亮度.aws 386B
8位数码管段位复用串行驱动芯片max6951应用.aws 384B
数码管显示4×4键盘矩阵按键.aws 377B
用twi接口控制max6953驱动4片5x7点阵显示器.aws 377B
timer1与timer2控制十字路口秒计时显示屏.aws 374B
共 690 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
刘良运
- 粉丝: 68
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功