资源简介
ATmega8驱动LCM103段式液晶,控制端口可方便的在LCM103.h中修改,方便在AVR系列单片机上移植。LCM103.h和LCM103.c中详细解释了单片机和LCM103的连接方法,方便初学者移植。

代码片段和文件信息
/*******************************
功能:LCM103驱动函数
版本:V1.0
作者:SSJ
时间:2011-09-23
时钟:
备注:AVRStudioV4.13 WINavr20100110
*****************************/
//----------------------- System includes ----------------------------------//
#include
#include
#include
#include
#include
#include
//----------------------- Platform includes --------------------------------//
#include “LCM103.h“
#define BIT(x) (1<<(x))
//----------------------- project includes ----------------------------------//
//----------------------- Defines ------------------------------------------//
/*
1-VDD-----VCC、10k
2-VLCD----10k
3-/INT----NC
4-LED-----NC
5-BZ------NC
6-/BZ-----NC
7-/CS-----CS
8-/RD-----NC
9-/WR-----WR
10-DA-----DA
11-GND----GND
*/
#define INIT_LCM DDRB|=BIT(CS)|BIT(WR)|BIT(DA);PORTB|=BIT(CS)|BIT(WR)|BIT(DA);
#define LCM_CS(i) if (i) PORTB|=(1< #define LCM_WR(i) if (i) PORTB|=(1< #define LCM_DATA(i) if (i) PORTB|=(1<
#define LCM_COMMAND_INIT 0x34 //LCM103模块初始化
#define LCM_COMMAND_RC 0x18 //模块内部RC震荡工作
#define LCM_COMMAND_RC_ON 0x01 //开振荡器
#define LCM_COMMAND_LCD_ON 0x03 //开LCD显示
#define MAX_BIT 10
//----------------------- Type definitions ---------------------------------//
//----------------------- Static variables ---------------------------------//
const unsigned int ucNumTrueValueTable[]= //段码的真值表 0~18 对应 0~9 a~f . - 空白
{// 0DFE0CAG0.0B
0b011101100001//0
0b000001000001//1
0b010100110001//2
0b010001110001//3
0b001001010001//4
0b011001110000//5
0b011101110000//6
0b000001100001//7
0b011101110001//8
0b011001110001//9
0b001101110001//A
0b011101010000//b
0b010100010000//c
0b010101010001//d
0b011100110000//E
0b001100110000//F
0b000000000100//.
0b000000010000//-
0b000000000000//什么都不显示,用于闪烁的实现
};
static unsigned int ucDisplayBuff[MAX_BIT];
//----------------------- Start implementation -----------------------------//
void vLCM103Init(void)
{
_delay_ms(200);
//init the I/O port
INIT_LCM;
vLCM103WriteCommand(LCM_COMMAND_INIT);
vLCM103WriteCommand(LCM_COMMAND_RC);
vLCM103WriteCommand(LCM_COMMAND_RC_ON);
vLCM103WriteCommand(LCM_COMMAND_LCD_ON);
}
void vLCM103WriteCommand( unsigned int usCommand ) //写命令,12位;usCommand:命令代码
{
unsigned char i;
//CS=0
LCM_CS(1); _delay_us(100);
LCM_CS(0); _delay_us(100);
//write 1
LCM_WR(0); _delay_us(100);
LCM_DATA(1);_delay_us(100);
LCM_WR(1); _delay_us(100);
//write 0
LCM_WR(0); _delay_us(100);
LCM_DATA(0);_delay_us(100);
LCM_WR(1); _delay_us(100);
//write 0
LCM_WR(0); _delay_us(100);
LCM_DATA(0);_delay_us(100);
LCM_WR(1); _delay_us(100);
for(i=9;i>0;i--)
{
LCM_WR(0); _delay_us(100);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2152 2011-09-23 20:18 M8_LCM103\default\dep\LCM103.o.d
文件 1678 2011-09-23 20:19 M8_LCM103\default\dep\M8_LCM103.o.d
文件 13792 2011-09-23 20:18 M8_LCM103\default\LCM103.o
文件 13 2011-09-23 20:19 M8_LCM103\default\M8_LCM103.eep
文件 10877 2011-09-23 20:19 M8_LCM103\default\M8_LCM103.elf
文件 2149 2011-09-23 20:19 M8_LCM103\default\M8_LCM103.hex
文件 3800 2011-09-23 20:19 M8_LCM103\default\M8_LCM103.o
文件 1906 2011-09-23 20:19 M8_LCM103\default\Makefile
文件 5095 2011-09-23 20:20 M8_LCM103\LCM103.c
文件 1053 2011-09-23 11:05 M8_LCM103\LCM103.h
文件 175640 2009-08-03 11:22 M8_LCM103\LCM103.pdf
文件 3018 2011-09-23 20:20 M8_LCM103\M8_LCM103.aps
文件 372 2011-09-23 20:20 M8_LCM103\m8_lcm103.aws
文件 503 2011-09-23 20:19 M8_LCM103\M8_LCM103.c
目录 0 2011-09-23 20:21 M8_LCM103\default\dep
目录 0 2011-09-23 20:21 M8_LCM103\default
目录 0 2011-09-23 20:23 M8_LCM103
----------- --------- ---------- ----- ----
222048 17
- 上一篇:红蜘蛛电子教鞭,非常好用的一款小软件
- 下一篇:js 版图书管理系统
相关资源
- modbus51_c代码
- 基于AVR的NRF24L01跳频通信程序
- STM32F030从机中断接收的iic代码,附带
- AVR_GCC程序设计基础
- 自制AVR ATmega16 JTAG2008
- 基于51单片机的教室智能照明控制系统
- 51单片机课程设计内含50多个课程设计
- AVR多功能实验箱DS1302时钟实验源码资
- GY-291 ADXL345模块资料 例程
- LED屏无线控制器的设计方案
- stm32 iap功能实现
- 最全蓝牙协议规范-HFP/A2DP/AVRCP/PBAP/M
- AVR fighter win10 64位 好用版本 亲测好用
- ICCAVR v6.31a破解版+注册工具
- Marlin代码详细注释
- 蓝牙AVRCP1.6协议规范
- AVR单片机嵌入式系统原理与应用实践
- ATmega16(L) 中文数据手册.pdf
- 超声波测距 基于51 pic avr单片机
- 时间差分法帧间差分法opencv和vc代码实
- ICCAVR7.0破解版
- 轮廓波contourlet变换的VC代码
- MWC代码解读
- ATMEL USB ISP
- avr—usb应用,vc上位机读avr数据,程序
- 电子血压计原理图和代码
- MPU6050的C代码程序包括DMP直接解算姿态
- STM32程序。多串口。DMA方式。C代码
- ICCAVR7.22直接安装不需要注册
- ENC28J60最全资料,含51AVRLPCSTM32程序源
评论
共有 条评论