⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 st16c55x.h

📁 MSP430接ST16C55X的串口扩展卡程序
💻 H
字号:
#include<msp430x13x.h>


//数据口线,P4口
#define DATA_DIR_IN    (P4DIR=0x00)      
#define DATA_DIR_OUT   (P4DIR=0xFF) 
#define DATA_IN         P4IN
#define DATA_OUT        P4OUT

//读写信号控制线,P1.0
#define RW_DIR_OUT     (P1DIR|=0x01)   
#define RW_R           (P1OUT|=0x01)
#define RW_W           (P1OUT&=0xFE)

//控制寄存器选择线A0,P1.1
#define A0_DIR_OUT     (P1DIR|=0x02) 
#define A0_H           (P1OUT|=0x02)
#define A0_L           (P1OUT&=0xFD)

//控制寄存器选择线A1,P1.2
#define A1_DIR_OUT     (P1DIR|=0x04) 
#define A1_H           (P1OUT|=0x04)
#define A1_L           (P1OUT&=0xFB)

//控制寄存器选择线A2,P1.3
#define A2_DIR_OUT     (P1DIR|=0x08) 
#define A2_H           (P1OUT|=0x08)
#define A2_L           (P1OUT&=0xF7)

//串口选择线 A3,P1.4
#define A3_DIR_OUT     (P1DIR|=0x10) 
#define A3_H           (P1OUT|=0x10)
#define A3_L           (P1OUT&=0xEF)

//串口选择线 A4,P1.5
#define A4_DIR_OUT     (P1DIR|=0x20) 
#define A4_H           (P1OUT|=0x20)
#define A4_L           (P1OUT&=0xDF)

//使能 CS,P1.6
#define CS_DIR_OUT     (P1DIR|=0x40) 
#define CS_H           (P1OUT|=0x40)
#define CS_L           (P1OUT&=0xBF)

//中断请求 IRQ,P1.7
#define IRQ_DIR_IN     (P1DIR&=0x7F) 
#define IRQ_IN         (P1IN&=0x80)


//接收完毕 RXRDY,P3.0
//#define RXRDY_DIR_IN   (P3DIR&=0xFE) 
//#define RXRDY_IN       (P3IN&=0x01)

//发送完毕 TXRDY,P3.1
//#define TXRDY_DIR_IN   (P3DIR&=0xFD) 
//#define TXRDY_IN       (P3IN&=0x02)

#define RHR            {A2_L;A1_L;A0_L;}   //接收寄存器
#define THR            {A2_L;A1_L;A0_L;}   //发送寄存器

#define IER            {A2_L;A1_L;A0_H;}   //中断使能寄存器
#define FCR            {A2_L;A1_H;A0_L;}   //FIFO控制寄存器
#define ISR            {A2_L;A1_H;A0_L;}   //中断状况寄存器
#define LCR            {A2_L;A1_H;A0_H;}   //行控制寄存器
#define MCR            {A2_H;A1_L;A0_L;}   //MODEM控制寄存器
#define LSR            {A2_H;A1_L;A0_H;}   //行状态寄存器
#define MSR            {A2_H;A1_H;A0_L;}   //MODEM状态寄存器
#define SPR            {A2_H;A1_H;A0_H;}   //中间结果暂存器 

//波特率设置寄存器
#define DLL            {A2_L;A1_L;A0_L;} 
#define DLM            {A2_L;A1_L;A0_H;}

//波特率参数
unsigned char baud_rate[8][2]={
	                              {0x80,0x01},     //300
	                              {0x60,0x00},     //1200
	                              {0x30,0x00},     //2400
	                              {0x0c,0x00},     //9600
	                              {0x06,0x00},     //19200
	                              {0x03,0x00},     //38400
	                              {0x02,0x00},     //56k
	                              {0x01,0x00}      //115k
	                      }; 

//串口选择
#define CH_COM1	       {A3_L;A4_L;}                     
#define CH_COM2	       {A3_H;A4_L;}
#define CH_COM3	       {A3_L;A4_H;}
#define CH_COM4	       {A3_H;A4_H;}	        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -