下载此文档

串品打印在调试程序中的应用.doc


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
//单片机上电后等待从上位机(PC)串口发送过来的命令,同时在数码管的前三位以十进制方式显示A/D采集的数值,在未收到上位发送来的启动A/D转换命令前数码管始终显示000;当收到上位机以十六进制发送来的01后,向上位机发送字符串"Turnonad!",同时间隔一秒读取一次A/D的值,然后把A/D采集回来的8位二进制数转换成十进制数表示的实数电压浮点数,并从串口发送给上位机,形式如"",发送周期也是一秒一次,同时在数码管上也要每秒刷新新的显示的数据;当收到上位机以十六进制发来的02后,向上位机发送字符串"Turnoffad!",然后停止发送电压值,数码管上显示上次结束时保持的值;当收到上位机发来的其它任何数据,向上位机发送字符串"Error!".//#include<>#include<>#include<>#defineucharunsignedchar#defineuintunsignedintsbitdula=P2^6;sbitwela=P2^7;sbitadwr=P3^6;sbitadrd=P3^7;ucharflag,a;unsignedcharflag_uart,flag_time,flag_on,a,i,t0_num,ad_val;floatad_vo;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelayms(uintxms){uinti,j;for(i=xms;i>0;i--) for(j=110;j>0;j--);}voidinit(){TMOD=0x21;//定时/计数器工作方式寄存器TMOD:定时器1工作方式2-8位初值自动重装的8位定时器//定时器0工作方式1,为16位定时器//SCON=0x50;*************TH0=(65536-50000)/256;//定时器T0初值1秒HL0=(65536-50000)%256; //TH1=0xfd; //定时器T1初值串口波特率TL1=0xfd; //方式1的波特率=(2SMOD/32)*T1溢出率TR1=1; //定时器/计数器控制寄存器TCON-TR1定时器T1运行控制位ET0=1; //中断允许寄存器IEET0定时计数器0中断允许位SM0=0;//SM0/SM1/REN都是串行口控制寄存器SCON中的位,单片机刚上电时SCON被清0,SM1=1;//此时串口设定为方式0(同步移位寄存器的输入/输出方式),当执行完REN=1后,REN=1;//单片机便直接开始从RXD引脚接收数据,并不管与它连接的系统有无发送数据,//这时SM0和SM1还未操作,可单片机串口寄存器已经收到数据,并产生串口中断,//因此串口中断中的标志位flag将被置1,当运行到下面两条指令后,串口方式才//设置为方式1,此时才终止串口接收数据,当程序运行到While(1)大循环中时,//因为串口中断服务程序中的标志位flag已被置1,所以接下来发送里面的"Iget",//至于后面的a被发送到上位机后为什么是一个空格!!a=之前没赋值!EA=1; //全局

串品打印在调试程序中的应用 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zbfc1172
  • 文件大小25 KB
  • 时间2019-08-22