资源简介
文件夹中有MSP430实现串口通信的源程序代码,在IAR中新建工程,添加其中的C文件即可编译、运行。

代码片段和文件信息
#include “Total.h“
const unsigned char PageTable[8] = {76543210};
extern unsigned char cursor_xcursor_y;
extern const unsigned char lyASCII[95][16];
/****本项目中的顶层应用****/
void Display_bckgnd();
//////////////////////////////
//////////////////////////////
//写指令
void write_cmd(unsigned char cmd)
{
SET_CTRDIR P6DIR |= (BIT5+BIT4+BIT3);
DataDir=0xff;
CLR_A0;
CLR_RW;
DataOut=cmd;
SET_E;
_NOP();
_NOP();
CLR_E;
_NOP();
}
//写数据
void write_dat(unsigned char dat)
{
SET_CTRDIR P6DIR |= (BIT5+BIT4+BIT3);
DataDir=0xff;
SET_A0
CLR_RW;
DataOut=dat;
SET_E;
_NOP();
_NOP();
CLR_E;
_NOP();
}
//读指令
unsigned char read_cmd(void)
{
unsigned char cmd;
SET_CTRDIR P6DIR |= (BIT5+BIT4+BIT3);
DataDir=0x00;
CLR_A0;
SET_RW;
SET_E;
_NOP();
_NOP();
_NOP();
cmd=DataIn;
CLR_E;
return cmd;
}
//读数据
unsigned char read_dat(void)
{
unsigned char dat;
SET_CTRDIR P6DIR |= (BIT5+BIT4+BIT3);
DataDir=0x00;
SET_A0;
SET_RW;
SET_E;
_NOP();
_NOP();
_NOP();
dat=DataIn;
CLR_E;
return dat;
}
//////////////////////////////
//////////////////////////////
//查忙
void Busy_wait(void)
{
while(read_cmd() & 0x80 ==0x80);
}
//1-on0-off
void DisplayOnOff(unsigned char doit)
{
Busy_wait();
if(doit!=0x00)
write_cmd(0xaf);
if(doit==0x00)
write_cmd(0xae);
}
//lineaddr: 0~63
void DisplayStartLineSet(unsigned char lineaddr) //行地址
{
unsigned char tmp;
tmp = 0x40 + (lineaddr & 0x3f);
Busy_wait();
write_cmd(tmp);
}
//pageaddr: 0~8
void PageAddrSet(unsigned char pageaddr) //页地址
{
unsigned char tmp;
tmp = 0xb0 +(PageTable[pageaddr] & 0x0f);
Busy_wait();
write_cmd(tmp);
}
//columnaddr: 0~131
void ColumnAddrSet(unsigned char columnaddr) //列地址
{
unsigned char tmp;
tmp = 0x10 + ((columnaddr>>4)&0x0F);
Busy_wait();
write_cmd(tmp);
tmp = columnaddr & 0x0f;
Busy_wait();
write_cmd(tmp);
}
// BUSY ADC ON/OFF RESET 0000
unsigned char StatusRead(void) //读状态
{
unsigned char status;
Busy_wait();
status = read_cmd();
return status;
}
void DisplayDataWrite(unsigned char dat) //写数据
{
Busy_wait();
write_dat(dat);
}
unsigned char DisplayDataRead(void) //读数据
{
unsigned char dat;
Busy_wait();
dat = read_dat();
return dat;
}
//0-normal 1-reverse
void ADCSelect(unsigned char doit) //ADC 左右倒置
{
Busy_wait();
if(doit!=0x00)
write_cmd(0xa1);
if(doit==0x00)
write_cmd(0xa0);
}
//0-nomal 1-reverse
void DisplayNormalReverse(unsigned char doit) //反白显示
{
Busy_wait();
if(doit!=0x00)
write_cmd(0xa7);
if(doit==0x00)
write_cmd(0xa6);
}
//0-normal 1-allpointson
void DisplayAllPointsOnOff(unsigned char doit) //全点开
{
Busy_wait();
if(doit==0x00)
write_cmd(0xa4);
if(doit!=0x00)
write_cmd(0xa5);
}
//0-1/9bias 1-1/7bias
void LC
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8676 2011-08-16 17:29 USART\Basic_OCM12864.c
文件 551 2011-08-14 12:22 USART\Delay.c
文件 872 2011-08-17 11:21 USART\FunDeclare.h
文件 10755 2011-07-23 17:40 USART\lyASCII.c
文件 967 2011-08-17 16:02 USART\Main.c
文件 2739 2011-07-23 17:40 USART\OCM12864.h
文件 486 2011-08-17 11:22 USART\Total.h
目录 0 2011-08-18 11:15 USART
----------- --------- ---------- ----- ----
25046 8
相关资源
- 易语言OTG串口通信
- IAR for MSP430 v7.10.1 注册机
- 基于MSP430G2553的蓝牙控制小车
- DELPHI与西门子200PLC的串口通信实例
- 利用DS1302和msp430进行闹钟和万年历的
- msp430F149操作红外接收模块源码
- [免费]msp430f149控制PS2键盘并用1602显示
- MSP430f149读sd FAT txt
- 《Visual Basic 串口通信与测控应用技术
- MFC串口通信
- 用8位spi实现16位spi
- 基于STM32的深海钻机甲板控制系统
- 4_USART串口通信(空闲中断+DMA.zip
- 基于MSP430单片机的实时多任务操作系
- 三菱PLC串口通信调试软件.rar
- VC++ RS232 RS485串口通信源代码_
- MSP430系列单片机例程(msp430f235)
- MSP430控制AD9850产生频率可调的方波及
- 51串口通信程序+仿真
- msp430f449程序
- Visual Basic串口通信与测控应用技术实
- 基于MSP430的数控直流电压源
- Visual Basic串口通信工程开发导航.(配
- Visual Basic.NET自动化系统监控.(范逸之
- Visual Basic串口通信与测控应用技术实
- Visual Basic串口通信与测控应用技术实
- MSP430F5438A Timer_B 操作实验
- MSP430F5438 UCS 时钟操作实验
- MSP430F5438A Timer_A 操作实验
- MSP430F5438 看门狗实验
评论
共有 条评论