资源简介
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的简易计算器
- 基于单片机万年历+温度+LCD12864 prote
- Verilog HDL编写的FPGA LCD12864液晶显示代
- LCD12864汉字显示原理图及程序
- lcd12864字库生成软件
- 基于LPC2366的LCD12864-5液晶驱动程序
- LCD12864显示屏使用手册串行方式,12
- 8086仿真-LCD12864
- 12864液晶屏.zip
- LCD12864串行显示DS18B20温度和超声波测
- LCD12864读取DS1302模块,显示实时时间
- LCD12864硬件连接图
- 矩阵键盘+lcd12864液晶显示
- LCD12864 万年历 单片机 农历 显示 温度
- 基于MSP430F149控制LCD12864串口显示C程序
- 51单片机控制乒乓球游戏
- 基于HC-SR04超声波测距LCD12864显示源码
- lcd12864最全中文资料
- LCD12864封装Altium Designer库文件
- 基于MC9S12XS128的LCD12864驱动程序
- Proteus 仿真MSP430之LCD12864
- 用DS1302与LCD12864设计的可调电子钟及仿
- LCD12864实现贪吃蛇游戏
- 28335控制LCD12864液晶显示
- lcd12864二维码源代码
- LCD12864显示ADC0809
- LCD12864驱动及接口程序(SPI通信)
- arduino和ds1302的基于lcd12864闹钟,按键
- tm4c123gh6pm LCD12864描点绘图
- Proteus中单片机89C51在LCD12864显示
评论
共有 条评论