怎样编写单片机的串口通信的程序,一般的步骤是怎么样的?

2019-08-05 20:47发布

怎样编写单片机的串口通信的程序,一般的步骤是怎么样的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
jiajs
1楼-- · 2019-08-06 11:25
//单片机通过模拟IO对并口彩 {MOD}液晶模块的写操作子函数
//M057P256 8位并口彩 {MOD}液晶模组(半反半透、阳光可视型)
//8051上通过验证
#define WR_XLADDR 0x00                //0000        写入x坐标低地址addr[7:0]
#define WR_XHADDR 0x01                //0001        写入X坐标高地址addr[9:8]
#define WR_YLADDR 0x02                   //0010        写入y坐标地址addr[7:0]

#define WR_2XLADDR 0x0c                //1100        写入清屏结束x坐标低地址addr[7:0]
#define WR_2XHADDR 0x0d                   //1101        写入清屏结束X坐标高地址addr[9:8]
#define WR_2YLADDR 0x0e                //1110        写入清屏结束y坐标地址addr[7:0]

#define WR_FRONT 0x04                //0100        写入8bit的RGB数据,作为8bit前景 {MOD}
#define WR_BACK 0x06                   //0110        写入8bit的RGB数据,作为8bit背景 {MOD}
#define WR_DATA 0x08                //1000        写入8bit数据到数据寄存器 / 读出8bit数据

#define WR_CLR 0x09                        //1001        清屏指令
#define WR_CTRL 0x0a                        //1010        写入8bit数据到控制寄存器

#define LDIS 0x0b                           //1011        定义LCD寄存器开关显示命令指令
#define LDPWM 0x05                           //0101        定义LCD寄存器pwm调节亮度


//MCU硬件连接映射
sbit CS     = P2^7;                      //片选信号,低电平有效
sbit M_WR    = P3^6;                        //写选通,低电平有效
sbit M_RD   = P3^7;                        //读选通,低电平有效

#define WRn_DATA  P0                        //硬件连接的数据总线

//====================================================================================
//函数名称:wr_adata(uchar adata,uchar add)
//函数功能:向地址写入8bit数据
//入口参数:        uchar adata        要写入的数据
//                uchar add        要写入的地址
//返回:无   
//====================================================================================
void wr_adata(uchar adata,uchar add)
{
         //送地址
         P2 = (P2&0xf0)|add;        //P2的低4位为地址线

        //送数据
         WRn_DATA = adata;

        //片选拉低
         CS = 0 ;

        //写选通拉低
         M_WR = 0 ;

//        delay(10);        //此处可以根据实际情况加适当的延时

        //写选通拉高
         M_WR = 1 ;

        //片选拉高
         CS = 1 ;


}

//本模块带读功能
yszong
2楼-- · 2019-08-06 15:07
 精彩回答 2  元偷偷看……
yszong
3楼-- · 2019-08-06 17:48
那就结贴了哈

一周热门 更多>