资源简介
文件夹中有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
相关资源
- MSP430小车控制
- msp430g2553测频程序
- msp430g2553测频率
- MSP430驱动SD卡程序
- msp430产生SPWM波程序
- 基于msp430g2553的触摸按键程序
- msp430元件库封装
- msp430f5438a操作nrf24l01
- msp430中断嵌套程序
- MSP430+LORA
- RS232c串口通信在pc与单片机通信的应用
- proteus仿真的单片机串口通信,请使用
- 基于Labview的串口通讯
- msp430f5438的AD转换结果通过串口输送到
- MSP430控制LCD1602显示
- ADC序列通道多次转换12864液晶程序ms
- msp430串口计算器
- 按键控制MSP430F5529单片机控制灯闪烁
- MSP430F系列单片机bootloader原理及实现方
- MSP430F5529原理图
- MSP430F149单片机对继电器的控制程序和
- MSP430 SD卡FAT16源码!!!经典
- 串口通信实验报告 含代码
- LCD1602程序 for MSP430F449
- STM32的GPIO口模拟串口通信.rar
- 基于MSP430F6638的数字钟代码
- 2018年TI杯电子设计大赛FDC2214、TPS630
- 基于串口通信的上位机控制软件(l
- MSP430F5529LP 串口通信 UART 代码 CCS工程
- 基于MSP430的UART串口控制机械臂
评论
共有 条评论