-
大小: 34KB文件类型: .zip金币: 1下载: 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的DAC7811程序
- STM32的12864驱动程序(免积分)
- OLED12864显示屏,12位ADC,按键中断,
- 基于proteus的12864F3菜单设计带汇编代码
- MSP430G2553小系统电路原理图及PCB图.z
- stm32f103+OLED12864+FFT音乐频谱多种显示效
- (51单片机) 12864 液晶LCD 图文菜单显
- 基于51单片机的12864液晶图片显示全套
- HC-SR04超声波测距模块+OLED12864显示
- stm32+proteus_sht1x+lcd12864_温湿度检测_2
- stm32F407 库函数的麦轮手动车 PS2手柄
- msp430g2553学习开发库
- 12864英文字母和数字字库
- ST7565R控制12864液晶中文说明书
- 51单片机实现12864显示 超声波测距
- 12864的51系列C 程序,适合开发者
- 12864及51单片机驱动程序
- 12864 串行显示(51单片机通用,接三条
- STC89C52实现矩阵键盘输入密码并在12
- LCD点阵12864画温度曲线
- 12864数字钟附阳历农历温度时钟闹钟时
- TX-1C Proteus仿真板
- C51单片机12864菜单实现功能_综合.rar
- FPGA直接驱动LCD12864的Verilog程序
- 拆解某POS机LCD12864液晶的使用说明
- 12864液晶显示介绍
- ADC0809模数装换电压表12864LCD显示
- 12864带字库_滚动显示程序
- 电动车的液晶显示
- st7565r驱动12864液晶
评论
共有 条评论