收藏 分销(赏)

单片机和超级终端通信.doc

上传人:xrp****65 文档编号:7023006 上传时间:2024-12-25 格式:DOC 页数:3 大小:30KB 下载积分:10 金币
下载 相关 举报
单片机和超级终端通信.doc_第1页
第1页 / 共3页
单片机和超级终端通信.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
//单片机连接PC的超级中断,实现单片机和计算机互相通信 #include <reg52.h> #define uchar unsigned char #define uint unsigned int uchar Choice; uchar Flag; //void DelayMS(uint);//延时函数 void Sendchar(uchar);//字符发送函数 void Sends(uchar *s);//发送函数 void Serial_init();//初始化串口 void Send_menu();//默认开机时超级终端菜单 void Process();//处理用户选择函数 //*************************************主函数************************// void main() { Serial_init(); //初始化 Send_menu(); //发送默认菜单 while(1) { if(Flag) //如果有用户向52发送命令 Process(); //,则处理 } } /* void DelayMS(uint ms) { uchar i; while(ms--) for(i=0;i<10;i++); } */ void Sendchar(uchar c) { //TI = 0; SBUF = c; //发送 (字符) while(!TI); TI=0; // DelayMS(10); // 不延时易出错 试试while(!TI);TI=0; } /*void Sends(uchar *s) { uchar temp; temp = *s; while(temp != 0) { if (temp == '\n') { Sendchar('\r'); //返回行首 } Sendchar(temp); s++; temp = *s; } }*/ void Sends(uchar *s) //比较上面的简单 { while(*s) { if (*s == '\n') { Sendchar('\r'); //返回行首 } Sendchar(*s); s++; } } void Serial_init() { SCON=0x50; //串口模式1,允许接收 TMOD=0x20; //T1工作模式2 TH1=0xfd; //波特率9600 TL1=0xfd; PCON=0x00; //波特率不倍增 EA=1; //总中断开关打开 ES=1; //允许串口中断 TR1=1; //启动定时器1 } void Send_menu() { Sends(" ||**欢迎使用单片机测试系统^_^**||\n\n\n"); Sends(" 请输入[1-5]\n"); Sends(" 1.发光二极管测试 \n"); Sends(" 2.8——LED测试 \n"); Sends(" 3.1602测试 \n"); Sends(" 4.串口测试 \n"); Sends(" 5.readme \n"); Sendchar(0x0a); Sendchar(0x0a); Sendchar(0x0a); //换行 Sendchar('\r'); //返回行首 } void Process() { switch (Choice) { case '1': Sends("发光二极管测试中......\n退出请按'0'键 \n ");P2=0xfe;Flag=0; break; case '2': Sends("8—LED 测试中...... \n退出请按'0'键 \n ");P2=0xfc;Flag=0; break; case '3': Sends("1602测试中......\n退出请按'0'键\n ");P2=0xf8;Flag=0; break; case '4': Sends("串口测试中......\n退出请按'0'键\n ");P2=0xf0;Flag=0; break; case '5': Sends("*****************readme**************************\n");Flag=0; Sends("made by lxc on Feb.10\n联系方式:liuxuecheng@");Sends("\n");P2=0xe0; break; case '0': Sends("\n"); Sends(" \n");Send_menu();P2=0xff;Flag=0; break; default: Sends("**********只能输入(1-5)**********\n"); Sends("\n");Flag=0; break; } } void Receive_int() interrupt 4 { if(RI) { RI=0; //清接收中断标志 Flag = 1; Choice = SBUF; //得到用户选择 } } //如果原文转载请表明出处。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服