资源简介
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 版图书管理系统
相关资源
- 批处理实现自动修改mac代码夹测试工
- GPS经纬度转换为平面坐标的c代码,包
- Proteus8.9 VSM Studio WINAVR编译器仿真ATM
- ucos在avr atmega16上的移植
- 简易的smtp服务器与客户端的C代码
- C代码版本的HTTP POST上传文件/JSON
- mpu6050驱动基于mega16
- avr128 mpu6050测试并串口发送
- IAR for avr 6.11 注册机
- AVR单片机ATmega16L驱动一个数码管Prot
- AVR M16例程大全
- AVR-ATmega16双机通信双向,并带反馈I
- 26 用AVR与1601LCD设计的计算器.zip
- 基于AVR单片机人体热释红外感应
- avr IAR 控制步进电机正反快慢转
- zw_cailunchong-1305615-C代码.zip
- 同态加密c代码
- spring ioc+mvc代码
- oc学生成绩管理系统和计算器
- AES256 c代码及demo例程
- NC代码解释器
- 基于ATMega16的freemodbus主站程序移植
- AVR-mega128单片机实现温度DS18B20,prot
- k近邻算法knn的c代码
- FreeRTOS在AVR上的移植
- 电子指南针C代码
- MPU6050的DMP程序 基于ATMEGA16 可移植
- 基于AVR单片机的土壤水分检测系统设
- JPG、PNG、GIF等图像格式转换为SVG矢量
- AVR串口例程
评论
共有 条评论