找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机串口通信程序问题

查看数: 2490 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-12-13 10:54

正文摘要:

我写的一个程序,用串口助手向单片机发送三个10进制数如图,然后取数显示在LCD1602上,为什么不行呢 大家帮我看下 #include<stc12.h>//头文件 unsigned int date[3],num; unsigned int value; #include<i ...

回复

ID:348408 发表于 2018-12-18 23:19
LCD1602有显示 ?是乱码还是?
ID:213173 发表于 2018-12-13 10:54
本帖最后由 wulin 于 2018-12-19 16:57 编辑

unsigned char date[3];
bit flag=0;
/***************************/
void main()                                       
{
        .........
        while(1)  
        {
                if(flag==1)
                {
                        ES=0;                        //关串口中断
                        flag=0;
                        value=date[2]*100+date[1]*10+date[0];
                        ...........
                        ES=1;                //开串口中断


/******************************/
void Uart() interrupt 4
{
        static unsigned char num=0;//静态计数变量
        RI=0;                                        //接收中断请求标志位清0        
        date[num]=SBUF;                //接收到的数据串保存在缓存数组
        num++;
        if(num>=3)
        {
                flag=1;                                //接收完成标志置1
                num=0;                                //计数变量清0
        }
}

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表