找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2483|回复: 1
打印 上一主题 下一主题
收起左侧

[求助]大神们帮忙看一个串口的代码呗~~~

[复制链接]
跳转到指定楼层
楼主
ID:58832 发表于 2014-1-20 15:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/////////////////////////////////////////////
//                                         //
//    定义声明                             //
//                                         //
/////////////////////////////////////////////


#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

unsigned char flag, a, i;
uchar code table[]="I get";
void init();



/////////////////////////////////////////////
//                                         //
//    串口初始化                           //
//                                         //
/////////////////////////////////////////////



void init()
{
        TMOD = 0x20;                               //设置T1定时器工作方式2
        TH1 = 0xfd;                                //T1定时器装初始值
        TL1 = 0xfd;                                //T1定时器装初始值
        TR1 = 1;
        REN = 1;                                   //允许串口接收
        SM0 = 0;                                   //设定串口工作方式
        SM1 = 1;                                   //设定串口工作方式
        EA = 1;                                    //开总中断
        ES = 1;                                    //开串口中断
}




/////////////////////////////////////////////
//                                         //
//    主函数                               //
//                                         //
/////////////////////////////////////////////



void main()
{
        init();
        while(1)
        {
                if(flag==1)
                {
                        ES = 0;
                        for(i = 0;i<6;i++)
                        {
                                SBUF = table[i];
                                while(!TI);
                                TI = 0;
                        }
                        SBUF = a;
                        while(!TI);
                        TI = 0;
                        ES = 1;
                        flag = 0;
                }
        }
}



/////////////////////////////////////////////
//                                         //
//    串口中断服务                         //
//                                         //
/////////////////////////////////////////////


       
void ser() interrupt 4
{
        RI = 0;
        a = SBUF;
        flag = 1;
}




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:58832 发表于 2014-1-20 15:58 | 只看该作者
编译没有错误,就是不好使呀{:soso_e109:}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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