• 大小: 7KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: 其他
  • 标签: MSP430  串口通信  

资源简介

文件夹中有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


评论

共有 条评论