资源简介
msp430g2553和LCD12864的串行显示代码

代码片段和文件信息
//LCD12864P.c
#include
#define BIT(x) (1 << (x))
#define uint unsigned int
#define uchar unsigned char
uchar LCD_table[]={0x300x310x320x330x340x350x360x370x380x39};//0123456789
void Send(uchar typeuchar transdata);
#define cyCS 0 //P1.0,片选信号
#define cySID 1 //P1.1,串行数据
#define cyCLK 2 //P1.2,同步时钟
#define cyPORT P1OUT
#define cyDDR P1DIR
void delay_1ms()
{
uint i;
for(i=0;i<1140;i++);
}
void delay_nms(uint n)
{
uint i = 0;
for(i = n;i > 0;i--)
delay_1ms();
}
void Ini_Lcd(void)
{
cyDDR |= BIT(cyCLK) + BIT(cySID) + BIT(cyCS); //相应的位端口设置为输出
delay_nms(600); //延时等待液晶完成复位
Send(00x30); /*功能设置:一次送8位数据基本指令集*/
delay_nms(10);
Send(00x02); /*DDRAM地址归位*/
delay_nms(5);
Send(00x0c); /*显示设定:开显示不显示光标不做当前显示位反白闪动*/
delay_nms(5);
Send(00x01); /*清屏,将DDRAM的位址计数器调整为“00H”*/
delay_nms(500);
Send(00x06); /*功能设置,点设定:显示字符/光标从左到右移位DDRAM地址加1*/
delay_nms(10);
}
void Send(uchar typeuchar transdata)//0-写控制命令,1-写数据
{
uchar firstbyte = 0xf8;
uchar temp;
uchar ij = 3;
if(type) firstbyte |= 0x02;
cyPORT |= BIT(cyCS);
cyPORT &= ~BIT(cyCLK);
while(j > 0)
{
if(j == 3) temp = firstbyte;
else if(j == 2) temp = transdata&0xf0;
else temp = (transdata << 4) & 0xf0;
for(i = 8;i > 0;i--)
{
if(temp & 0x80) cyPORT |= BIT(cySID);
else cyPORT &= ~BIT(cySID);
cyPORT |= BIT(cyCLK);
temp <<= 1;
cyPORT &= ~BIT(cyCLK);
}
//三个字节之间一定要有足够的延时,否则易出现时序问题
if(j == 3) delay_nms(1);
else delay_nms(1);
j--;
}
cyPORT &= ~BIT(cySID);
cyPORT &= ~BIT(cyCS);
}
void lcd_pos(uchar xuchar y)//定位
{
uchar pos;
switch(x)
{
case 1:pos=0x80;break;
case 2:pos=0x90;break;
case 3:pos=0x88;break;
case 4:pos=0x98;break;
default:pos=0x80;
}
pos += y;
Send(0pos);
}
void Disp_HZ(const uchar * ptuchar num)//显示汉字
{
uchar i;
for(i = 0;i < (num*2);i++)
Send(1*(pt++));
}
void Disp_SZ(uchar shuzi)//显示一个数字
{
Send(1LCD_table[shuzi]);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 18159 2012-07-26 21:28 LaunchPad 12864串口\Debug\Exe\test18.d43
文件 0 2012-07-26 21:27 LaunchPad 12864串口\Debug\Obj\main.pbi
文件 9943 2012-07-26 21:27 LaunchPad 12864串口\Debug\Obj\main.pbi.cout
文件 19890 2012-07-26 21:27 LaunchPad 12864串口\Debug\Obj\main.r43
文件 0 2012-07-26 21:27 LaunchPad 12864串口\Debug\Obj\test18.pbd
文件 0 2012-07-26 21:27 LaunchPad 12864串口\Debug\Obj\test18.pbd.browse
文件 2866 2012-07-26 21:27 LaunchPad 12864串口\LCD12864P.c
文件 513 2012-07-26 21:27 LaunchPad 12864串口\LCD12864P.h
文件 341 2012-07-26 21:26 LaunchPad 12864串口\main.c
文件 1676 2012-07-26 21:27 LaunchPad 12864串口\settings\test18.cspy.bat
文件 63 2012-07-26 21:28 LaunchPad 12864串口\settings\test18.dbgdt
文件 1044 2012-07-26 21:28 LaunchPad 12864串口\settings\test18.dni
文件 4540 2012-07-26 21:28 LaunchPad 12864串口\settings\test18.wsdt
文件 2058 2012-07-26 21:28 LaunchPad 12864串口\test18.dep
文件 20422 2012-07-26 21:27 LaunchPad 12864串口\test18.ewd
文件 52511 2012-07-26 21:27 LaunchPad 12864串口\test18.ewp
文件 160 2012-07-26 21:24 LaunchPad 12864串口\test18.eww
文件 25 2012-07-26 21:28 LaunchPad 12864串口\test18CustomSfr.sfr
目录 0 2012-07-26 21:27 LaunchPad 12864串口\Debug\Exe
目录 0 2012-07-26 21:24 LaunchPad 12864串口\Debug\List
目录 0 2012-07-26 21:27 LaunchPad 12864串口\Debug\Obj
目录 0 2012-07-26 21:24 LaunchPad 12864串口\Debug
目录 0 2012-07-26 21:28 LaunchPad 12864串口\settings
目录 0 2012-07-26 21:27 LaunchPad 12864串口
----------- --------- ---------- ----- ----
134211 24
- 上一篇:LABVIEW条形码读取
- 下一篇:移动端商城微信小程序源代码
相关资源
- lcd12864的VHDL程序
- LCD12864滚动显示
- STM32 电子密码锁设计,LCD12864显示
- STM32 LCD12864并口驱动实验
- Lcd12864大时钟万年历 农历生肖温度
- LCD12864驱动程序 带字库版本ST7920内含
- LCD12864驱动程序 并口通信,带字库版
- STC89C52+LCD12864+18B20+1302万年历
- 带字库LCD12864ST7920的Proteus仿真
- LCD12864不带字库code
- 通过DS18B20检测环境温度,并在LCD128
- STM32+lcd12864串行方式显示贪吃蛇代码
- STM32 LCD12864 -Z小旋.zip
- LCD12864 在Spartan-3E实现教程和代码
- STM32测试ST7920 LCD12864串并简单程序
- LCD12864工作原理及应用
- LCD12864B使用
- LCD12864打砖块游戏Verilog HDL语言实现,
- STM32 驱动 带字库LCD12864
- LCD12864液晶中文手册
- LCD12864不带字库芯片使用手册
- 2017年电子设计大赛_滚球控制系统源代
- 16管脚LCD12864液晶显示汉字详解
- Arduino的LCD12864例程包含库文件
- lcd12864中文使用手册
- 2017 电赛 滚球控制系统源代码(PIX
- 51单片机音乐播放器的设计,在LCD12
- STM32 LCD12864带日历时钟功能的电子密
- 基于STM32单片机的门禁控制系统-软件
- stm32f103串行驱动LCD12864
评论
共有 条评论