资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
/单片机连接PC的超级中断,实现单片机和计算机互相通信#include #define uchar unsigned char#define uint unsigned intuchar 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;i10;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工作模式2TH1=0xfd; /波特率9600TL1=0xfd;PCON=0x00; /波特率不倍增EA=1;/总中断开关打开ES=1;/允许串口中断TR1=1;/启动定时器1void Send_menu()Sends( |*欢迎使用单片机测试系统_*|nnn);Sends( 请输入1-5n);Sends( 1.发光二极管测试 n);Sends( 2.8LED测试 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(8LED 测试中. 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.10n联系方式:liuxuechengfoxmail.com);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 4if(RI)RI=0; /清接收中断标志Flag = 1; Choice = SBUF;/得到用户选择 /如果原文转载请表明出处。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号