打印

串口通信的程序

[复制链接]
821|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yszong|  楼主 | 2016-10-16 19:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dirtwillfly| | 2016-10-16 20:45 | 只看该作者
一般先写串口发送/接收一个字符的,然后扩展成字符串的

使用特权

评论回复
板凳
zhaoxqi| | 2016-10-16 20:58 | 只看该作者
串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。

使用特权

评论回复
地板
午夜粪车| | 2016-10-16 21:01 | 只看该作者
确定T1的工作方式(编程TMOD寄存器);
计算T1的初值,装载TH1、TL1;
启动T1(编程TCON中的TR1位);
确定串行口控制(编程SCON寄存器);
串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。

使用特权

评论回复
5
liliang9554| | 2016-10-16 21:03 | 只看该作者
我一会写个串口程序,争取能仿真出来

使用特权

评论回复
6
午夜粪车| | 2016-10-16 21:05 | 只看该作者

哦,按我的思路?

使用特权

评论回复
7
huangchui| | 2016-10-16 21:07 | 只看该作者
单片机串口通讯程序一般TI官方网站的都有参考实例的,建议上去下载一个下来调试就OK啦

使用特权

评论回复
8
jiajs| | 2016-10-16 21:08 | 只看该作者
我用单片机控制并口通信在彩色液晶模块上实现了!!

使用特权

评论回复
9
jiajs| | 2016-10-16 21:11 | 只看该作者
//单片机通过模拟IO对并口彩色液晶模块的写操作子函数
//M057P256 8位并口彩色液晶模组(半反半透、阳光可视型)
//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前景色
#define WR_BACK 0x06                   //0110        写入8bit的RGB数据,作为8bit背景色
#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 ;


}

//本模块带读功能

使用特权

评论回复
10
yszong|  楼主 | 2016-10-16 21:13 | 只看该作者
哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

评论回复
11
cehuafan| | 2016-10-17 22:17 | 只看该作者
你要实现哪个处理器的?

使用特权

评论回复
12
cehuafan| | 2016-10-17 22:18 | 只看该作者
串口的程序可以直接移植就可以了。

使用特权

评论回复
13
haokeer| | 2016-10-19 22:06 | 只看该作者
看例程,串口的例程,基本上所有的芯片都会放出来的。

使用特权

评论回复
14
myiclife| | 2016-10-19 23:17 | 只看该作者
串口通信都是用中断就行。

使用特权

评论回复
15
myiclife| | 2016-10-19 23:18 | 只看该作者
尽量不需要在串口中断执行函数的。

使用特权

评论回复
16
ghuca| | 2016-10-20 17:14 | 只看该作者
步骤就是datasheet里面的步骤。

使用特权

评论回复
17
ghuca| | 2016-10-20 17:16 | 只看该作者
你配置好寄存器就串口完成了。

使用特权

评论回复
18
尤彼卡| | 2016-10-21 21:10 | 只看该作者
串口在中断方式工作时,要进行中断设置

使用特权

评论回复
19
tongbu2015| | 2016-10-21 22:06 | 只看该作者
串口初始化的程序的一般网上跟官方网站上都有很多的

使用特权

评论回复
20
tongbu2015| | 2016-10-21 22:07 | 只看该作者
可以对照你所需要的MCU的进行搜索的。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

830

主题

11379

帖子

4

粉丝