-
大小: 34KB文件类型: .zip金币: 2下载: 0 次发布日期: 2021-05-09
- 语言: 其他
- 标签: msp430g2553 12864
资源简介
通过msp430g2553串行控制12864显示正弦波,显示不是特别清楚。波形周围散点,仅供参考。

代码片段和文件信息
#include
#define BIT(x) (1 << (x))
#define uint unsigned int
#define uchar unsigned char
uchar LCD_table[]={0x300x310x320x330x340x350x360x370x380x39};//0123456789
//void Draw_dots(uchar xuchar yuchar color);
#define cyCS 0 //P2.0,片选信号
#define cySID 1 //P2.1,串行数据
#define cyCLK 2 //P2.2,同步时钟
#define cyPORT P2OUT
#define cyDDR P2DIR
#define Graphic_Clear 0x01 //檫除点
#define Graphic_Not 0x02 //反相点
#define Graphic_Draw 0x03 //画点
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 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 Ini_Lcd(void)
{
cyDDR |= BIT(cyCLK) + BIT(cySID) + BIT(cyCS); //相应的位端口设置为输出
// P1OUT &=~BIT3;//PSB = 0;
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 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 print_hz(uchar xuchar yconst uchar * ptuchar num)
{
lcd_pos(xy);
uchar i;
for(i = 0;i < (num*2);i++)
Send(1*(pt++));
}
void print_zf(uchar xuchar yuchar zifu)//显示一个字符
{
lcd_pos(xy);
Send
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-08-20 22:56 12864\
文件 4704 2012-08-20 22:56 12864\12864.dep
文件 20124 2012-08-19 22:57 12864\12864.ewd
文件 50142 2012-08-19 22:57 12864\12864.ewp
文件 159 2012-08-19 22:49 12864\12864.eww
目录 0 2012-08-20 10:39 12864\Debug\
目录 0 2012-08-20 15:12 12864\Debug\Exe\
文件 21174 2012-08-20 22:56 12864\Debug\Exe\12864.d43
目录 0 2012-08-19 22:49 12864\Debug\List\
目录 0 2012-08-20 22:56 12864\Debug\Obj\
文件 165 2012-08-20 22:56 12864\Debug\Obj\12864.pbd
文件 34791 2012-08-20 22:56 12864\Debug\Obj\LCD12864P.r43
文件 10082 2012-08-20 16:41 12864\Debug\Obj\main.r43
文件 7200 2012-08-20 22:56 12864\LCD12864P.c
文件 729 2012-08-20 15:54 12864\LCD12864P.h
文件 553 2012-08-20 15:53 12864\main.c
文件 0 2012-08-20 16:41 12864\path.txt
目录 0 2012-08-20 10:39 12864\settings\
文件 1253 2012-08-20 22:54 12864\settings\12864.cspy.bat
文件 7654 2012-08-20 22:56 12864\settings\12864.dbgdt
文件 1252 2012-08-20 22:56 12864\settings\12864.dni
文件 3524 2012-08-20 22:56 12864\settings\12864.wsdt
- 上一篇:Dudas Chart生成图表
- 下一篇:六足机器人程序
相关资源
- 基于MSP430G2553的蓝牙控制小车
- 12864滚动显示汉字
- lcd12864的VHDL程序
- LCD12864滚动显示
- STM32 电子密码锁设计,LCD12864显示
- STM32 LCD12864并口驱动实验
- 使用SPCE061A的ACM12864J液晶显示模块应用
- 基于STM32F103C8单片机的晶联讯电子JL
- 台湾悠景oled 12864 ssd1309 驱动程序 并口
- DS1302+DS13B20+12864,万年历。农历
- 12864液晶Proteus模型
- Lcd12864大时钟万年历 农历生肖温度
- LCD12864驱动程序 带字库版本ST7920内含
- LCD12864驱动程序 并口通信,带字库版
- 12864多功能万年历
- STC89C52+LCD12864+18B20+1302万年历
- 12864专用图片取模软件
- 12864 接线原理图
- 0.96OLED_C51系列_IIC应答_例程
- 带字库LCD12864ST7920的Proteus仿真
- 基于mps430f149的12864液晶显示模块编程
- STM32控制SIM800c,sim900a,接收短信,
- 点阵12864 protues仿真+源码
- 海比邻的HB12864M2A液晶资料
- ST7920中文字型码表
- LX-12864B11 LCD资料
- 基于STM32的使用12864做的俄罗斯方块
- HB12864M1A
- LCD12864不带字库code
- MSP430G2553以4线SPI方式控制0.96寸OLED
评论
共有 条评论