单片机串行通信优秀课程设计优质报告.doc
《单片机串行通信优秀课程设计优质报告.doc》由会员分享,可在线阅读,更多相关《单片机串行通信优秀课程设计优质报告.doc(34页珍藏版)》请在咨信网上搜索。
《单片机原理及接口技术》 课程设计汇报 课题名称 两个单片机之间串行通讯接口设计 学院 自机学院 专业 机械设计制造及其自动化 班级 1班 姓名 学号 时间 目录 一、 设计任务概述………………………………………………3 (1)设计目标…………………………………………………3 (2)课程设计要求………………………………………………3 (3)课程设计内容……………………………………………4 1、设计要求:………………………………………………………… 3 2、设计方案:………………………………………………………… 3 二、硬件设计 ……………………………………………………………3 1、51片机串行通信功效……………………………………………… 3 2、MAX232芯 ………………………………………………………… 6 3、DS18B20温度传感…………………………………………………… 7 4、整体电路设计…………………………………………………………8 三、软件设计………………………………………………………………10 1、串行通信软件实现 …………………………………………………10 2串行通信传输方法…………………………………………………10 3、串行通信工作方法…………………………………………………10 4、程序步骤图 ……………………………………………………10 四、联合调试 ………………………………………………………12 附录 ……………………………………………………………13 一.设计任务概述 (1)设计目标 单片机课程设计作为独立数学步骤,是自动化及相关专业集中实践性步骤系列之一,是学习完《单片机原理及应用》课程后,并在进行相关课程设计基础上进行一次综合练习。 单片机课程设计过程中,我们经过查阅资料、接口设计、程序设计、安装调试等步骤,完成一个基于MCS-51系列单片机,包含多个资源应用,并含有综合功效小应用系统设计。让我们不仅将课堂上学到理论知识和实际应用结合起来,而且能够对电子电路、电子元器件等方面知识深入加深认识,同时在软件编程、调试、相关仪器设备和相关软件使用技能等方面得到较全方面锻炼和提升。让我们增加了对单片机感性认识,加深对单片机理论方面了解,同时也加深单片机内部功效模块应用。使我们了解和掌握单片机应用系统软硬件设计过程、方法及实现,强化单片机应用电路设计和分析能力。提升我们在单片机应用方面实践技能和科学作风;培育我们综合利用理论知识处理问题能力。 (2)课程设计要求 经过对课题分析,进行系统功效设计,选择器件,划分软硬件功效,用Proteus软件在PC机上完成硬件原理图设计。用汇编语言,完成软件设计。然后使用Proteus仿真软件在PC机上进行系统仿真,调试电路和修改调试程序,直至达成设计要求和取得满意效果。 (3)课程设计内容 1).A机控制B机两个LED闪烁,B机控制A机数码管加一显示。 2).使用DS18B20温度传感器,由B机测量温度后由A机显示. 二、关键步骤及方案 (1)关键步骤 1) 对题目进行分析 2) 确定电路图需要元件 3) 画出电路图 4) 写出运行程序 5) 加载并调试修改程序 (2)关键方案 利用AT89C51芯片、复位电路、时钟电路、LED数码管等,使 A机控制B机两个LED闪烁,B机控制A机数码管加一显示。使用DS18B20温度传感器,由B机测量温度后由A机显示. 把P1口高7位和数码管 相连,绿灯表示通行方向。P2口和LED显示器相连,用来输出显示数字。 系统原理框图以下: AT89C51 晶振电路 复位电路 电源 LDE显示器 LED数码管 数码驱动芯片 【摘要】串行通信是单片机一个关键应用。此次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信。通信结果实用数码管进行显示。两个单片机之间采取RS232进行双机通信。在通信过程中,使用通信协议进行通信。 【关键字】52单片机,串行通信,接口,DS18B20 一、总体设计 1.设计要求: (1单片机之间进行串行通信,发送端将0~f循环发送到接收端,并在接收端显示。 (2)使用DS18B20温度传感器,由B机测量温度后由A机显示. 2.设计方案: 此次设计,对于两片AT89C51,采取RS232进行双机通信。发送方数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号抵达接收方串行口接收端。接收方接收后,在数码管上显示接收信息及利用LED显示通信结果,和此同时由DS18B20测量温度后由另一单片机显示。为提升抗干扰能力,还能够在输入输出端加光耦合进行光电隔离。 软件部分,经过通信协议进行发送接收,主机先送信号给从机,从机接收信号后发出应答信号并显示对应内容. 二、硬件设计 1.51单片机串行通信 图1.AT89C51 计算机和外界信息交换称为通信,常见通信方法有两种:并行通信和串行通信。51单片机用4个接口和外界进行数据输入和数据输出就是并行通信,并行通信特点是传输信号速度快,但所用信号线较多,成本高,传输距离较近。串行通信特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输距离较远。 51单片机串行接口是一个全双工接口,它能够作为UART(通用异步接收和发送器)用,也能够作为同时移位寄存器用。51片机串行接口结构以下: (1)数据缓冲器(SBUF) 接收或发送数据全部要先送到SBUF缓存。有两个,一个缓存,另一个接收,用同一直接地址99H,发送时用指令将数据送到SBUF即可开启发送;接收时用指令将SBUF中接收到数据取出。 (2)串行控制寄存器(PCON) SCON用于串行通信方法选择,收发控制及状态指示,各位含义以下: SM0 SM1 SM2 REN TB8 RB8 TI RI SM0,SM1:串行接口工作方法选择位,这两位组合成00,01,10,11对应于工作方法0、1、2、3。串行接口工作方法特点见下表 SM0 SM1 工作方法 功效 波特率 0 0 0 8位同时移位寄存器(用于I/O扩展) fORC/12 0 1 1 10位异步串行通信(UART) 可变(T1溢出率*2SMOD/32) 1 0 2 11位异步串行通信(UART) fORC/64或fORC/32 1 1 3 11位异步串行通信(UART) 可变(T1溢出率*2SMOD/32) SM2:多机通信控制位。 REN:接收许可控制位。软件置1许可接收;软件置0严禁接收。 TB8:方法2或3时,TB8为要发送第9位数据,依据需要由软件置1或清0。 RB9:在方法2或3时,RB8位接收到第9位数据,实际为主机发送第9位数据TB8,使从机依据这一位来判定主机发送时呼叫地址还是要传送数据。 TI:发送中止标志。发送完一帧数据后由硬件自动置位,并申请中止。必需要软件清零后才能继续发送。 RI:接收中止标志。接收完一帧数据后由硬件自动置位,并申请中止。必需要软件清零后才能继续接收。 (3)输入移位寄存器 接收数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。 (4)波特率发生器 波特率发生器用来控制串行通信数据传输速率,52系列单片机用定时器T1作为波特率发生器,T1设置在定时方法。波特率时用来表示串行通信数据传输快慢程度物理量,定义为每秒钟传送数据位数。 (5)电源控制寄存器PCON 其最高位为SMOD。 (6)波特率计算 当定时器T1工作在定时方法时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期)。因为是定时方法,T1计数率= fORC/12。产生溢出所需机器周期数=模M-计数初值X。 2.MAX232芯片 用89C51串行接口通信,假如两台单片机之间距离很近(不超出1.5m),能够采取直接将两台单片机串行接口直接相连,利用其本身TTL电平(0-5V)直接传输数据信息。假如传输距离较远(超出1.5m),因为传输线阻抗和分布电容,会产生电平损耗和波形畸变,以至于检测不出数据或数据犯错。此时可利用 RS232标准总线接口,将单片机输出TTL电平转换为RS232标准电平(逻辑1为-15—-5V;逻辑0为+5-—+15V)。用RS232可将传输距离提升到15m,假如想远距离传输,能够采取RS422或RS485。 电平转换芯片MAX232是美信企业(MAXIM)生产,专用于进行将TTL电平转换为RS232电平芯片,MAX232内部有泵电源,能将+5V电源电压在芯片内提升到RS232电平所需+10V或-10V电平。 图2.电平转换芯片MAX232 3.DS18B20温度传感器 数字温度传感器DS18B20介绍 1、DS18B20关键特征 1.1、适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方法下可由数 据线供电 1.2、独特单线接口方法,DS18B20在和微处理器连接时仅需要一条口线即可实现微处理器和DS18B20双向通讯 1.3、 DS18B20支持多点组网功效,多个DS18B20能够并联在唯一三线上,实现组网多点测温 1.4、DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管集成电路内 1.5、温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃ 1.6、可编程 分辨率为9~12位,对应可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温 1.7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度愈加快 1.8、测量结果直接输出数字温度信号,以"一 线总线"串行传送给CPU,同时可传送CRC校验码,含有极强抗干扰纠错能力 1.9、负压特征:电源极性接反时,芯片不会因发烧而烧毁, 但不能正常工作。 2、DS18B20外形和内部结构DS18B20内部结构关键由四部分组成:64位光刻ROM 、温度传感器、非挥发温度报警触发器TH和TL、配置寄存器。DS18B20外形及管脚排列以下图1: DS18B20引脚定义: (1)DQ为数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方法时接地)。 图2: DS18B20内部结构图 3、DS18B20工作原理 DS18B20读写时序和测温原理和DS1820相同,只是得到温度值位数因分辨率不一样而不一样,且温度转换时延时时间由2s 减为750ms。 DS18B20测温原理图3所表示。图中低温度系数晶振振荡频率受温度影响很小,用于产生固定频率脉冲信号送给计数器1。高温度系数晶振 随温度改变其振荡率显著改变,所产生信号作为计数器2脉冲输入。计数器1和温度寄存器被预置在-55℃所对应一个基数值。计数器1对 低温度系数晶振产生脉冲信号进行减法计数,当计数器1预置值减到0时,温度寄存器值将加1,计数器1预置将重新被装入,计数器1重 新开始对低温度系数晶振产生脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值累加,此时温度寄存器中数值即 为所测温度。图3中斜率累加器用于赔偿和修正测温过程中非线性,其输出用于修正计数器1预置值。 4.整体电路设计 最终设计电路以下图3所表示,发送方数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号抵达接收方串行口接收端。接收方接收后,经过P1口在数码管上显示接收信息。 A机控制B机LED,B机控制A机数码管加一显示 B机 DS18B20温度传感器检测温度送A 机显示 三、软件设计 1.串行通信软件实现 (1)串行口工作于方法1;用定时器1产生9600bit/s波特率,工作于方法2。 (2)功效:将本机ROM中数码表TAB[16]中16个数发送到从机,并保留在从机内部ROM中,从机收到这16个数据后送到一个数码管循环显示。 (3)通信协议:主机首先发送连络信号(信号),从机接收到以后返回一个连络信号(BBH)表示从机已准备好接收。 (4)通信过程使用第九位发送奇偶校验位。 (5)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00H,不然返回FFH。 (6)主机发送一个数据后,等候从机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。 (7) 经过通信协议进行发送接收,A机向B机发送操作代码A、B、C或停止发送,对应开关K1按一下两机 LED1全部亮,按第二下两机LED2全部亮,再按下时,LED1、LED2全亮,再按则四灯全灭。 (8)K2控制B机向A机发送字符,依据按键次数逐次加1至9,10为关闭状态,同时B机接收A机命令,受K1控制LED灯亮、灭。 ( 9) 由B机DS18B20测量温度后A机显示测量温度值. 2串行通信传输方法 串行通信传送方向通常有三种 (1)单向(或单工)配置,只许可数据向一个方向传送; (2)半双向(或半双工)配置,许可数据向两个方向中任一方向传送,但每次只能有一个站点发送; (3)全双向(全双工)配置,许可同时双向传送数据,所以,全双工配置是一对单向配置,它要求两端通信设备全部含有完整和独立发送和接收能力。 3、串行通信工作方法 方法1接收时,数据从引脚RXD(P3.0)端输入。接收是在SCON寄存器中REN位置1前提下,并检测到起始位(RXD上检测到1→0跳变,即起始位)而开始。接收时,定时信号有两种:一个是接收移位时钟(RX时钟),它频率和传送波特率相同,也是由定时器T1溢出信号经过16或32分频而得到;另一个是位检测器采样脉冲,它频率是RX时钟16倍,亦即在一位数据期间有16位检测器采样脉冲,为完成检测,以16倍于波特率速率对RXD进行采样。 4程序步骤图 (1) 发送端程序步骤图 主程序开始 从机应答 程序初始化 主机发送信号K1按下 主机发送数据 输出完成? 清除标志位 未应答 未完成 (2)接收方程序步骤图 主程序开始 接收完成? 程序初始化 K2按下,接收数据 未完成 发送信号 接收完成? 未完成 清除标志位 重新接收 显示 四、 联合调试 在protues上进行仿真试验。首先使用KeilC将编写完成程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真试验,结果以下图所表示,能够看到,接收端已将接收到数据完整显示了出来。 附录 A机控制B机LED #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit LED1=P1^0; sbit LED2=P1^3; sbit K1=P1^7; uchar Operation_No;//操作代码 //数码管代码 uchar code DSY_CODE[]={0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //延时 void DelaysMS(uint ms) { uchar i; while(ms--)for(i=0;i<120;i++); } //向串口发送字符 void Putc_to_SerialPort(uchar c) { SBUF=c; while(TI==0); TI=0; } //主程序 void main() { LED1=LED2=1; P0=0x00 SCON=0x50;//串口模式一 ,许可接收 TMOD=0x20;//T1工作模式2 PCON=0X00;//波特率不倍增 TH1=0xfd; TL1=0xfd; TI=RI=0; TR1=1; IE=0x90;//许可串口中止 while(1) { DelaysMS(100); if(K1==0)//按下K1时选择操作代码0,1,2,3 { while(K1==0); Operation_No=(Operation_No+1)%4; switch(Operation_No)//依据操作代码发送A/B/C或停止发送 { case 0: Putc_to_SerialPort( 'X');LED1=LED2=1; break; case 1: Putc_to_SerialPort( 'A'); LED1=~LED1;LED2=1; break; case 2:Putc_to_SerialPort( 'B'); LED2=~LED2;LED1=1; break; case 3:Putc_to_SerialPort( 'C'); LED1=~LED1;LED2=LED1; break; } } } } //甲机串口接收中止函数 void Serial_INT()interrupt 4 { if(RI) { RI=0; if(SBUF>=0&&SBUF<=9)P0=DSY_CODE[SBUF]; elseP0=0x00; } } B机控制A机数码管加一显示 #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit LED1=P1^0; sbit LED2=P1^3; sbit K2=P1^7; uchar NumX=-1; //延时 void DelaysMS(uint ms) { uchar i; while(ms--)for(i=0;i<120;i++); } //主程序 void main() { LED1=LED2=1; P0=0x00; SCON=0x50;//串口模式一 ,许可接收 TMOD=0x20;//T1工作模式2 TH1=0xfd;// 波特率9600 TL1=0xfd; PCON=0X00;//波特率不倍增 RI=TI=0; TR1=1; IE=0x90; while(1) { DelaysMS(100); if(K2==0) { while(K2==0); NumX=++NumX%11;//产生0~10范围内数字,其中10表示关闭 SBUF=NumX; while(TI==0); TI=0; } } } void Serial_INT()interrupt 4 { if(RI) //如收到则LED则动作 { RI=0; switch(SBUF)//依据所收到不一样命令字符完成不一样动作 { case 'X': LED1=LED2=1; break; //全灭 case 'A': LED1=0;LED2=1; break;//LED1亮 case 'B': LED2=0;LED1=1; break;// LED2亮 case 'C': LED1=LED2=0; //全亮 } } } B机 DS18B20温度传感器检测温度送A 机显示 A机程序 #include<reg52.h> #define uchar unsigned char #define uint unsigned int #include <intrins.h> #define delayNOP() {_nop_();_nop_();_nop_();_nop_();} sbit LCD_RS = P2^0; sbit LCD_RW = P2^1; sbit LCD_EN = P2^2; uchar code Temp_Disp_Title[]={"Current Temp : "}; uchar Current_Temp_Display_Buffer[]={" TEMP: "}; uchar code Temperature_Char[8] = { 0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00 }; uchar code df_Table[]= { 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9 }; uchar CurrentT = 0; uchar Temp_Value[]={0x00,0x00}; uchar Display_Digit[]={0,0,0,0}; bit DS18B20_IS_OK = 1; int b; sbit DQ = P3^4; void DelayXus(uint x) { uchar i; while(x--) { for(i=0;i<200;i++); } } void Delay(uint x) { while(--x); } uchar Init_DS18B20() { uchar status; DQ = 1; Delay(8); DQ = 0; Delay(90); DQ = 1; Delay(8); DQ = 1; return status; } bit LCD_Busy_Check() { bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; delayNOP(); result = (bit)(P0&0x80); LCD_EN=0; return result; } void Write_LCD_Command(uchar cmd) { while(LCD_Busy_Check()); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; } void Write_LCD_Data(uchar dat) { while(LCD_Busy_Check()); LCD_RS = 1; LCD_RW = 0; LCD_EN = 0; P0 = dat; delayNOP(); LCD_EN = 1; delayNOP(); LCD_EN = 0; } void LCD_Initialise() { Write_LCD_Command(0x01); DelayXus(5); Write_LCD_Command(0x38); DelayXus(5); Write_LCD_Command(0x0c); DelayXus(5); Write_LCD_Command(0x06); DelayXus(5); } void Set_LCD_POS(uchar pos) { Write_LCD_Command(pos|0x80); } void Display_Temperature(b) { uchar i; uchar t = 150, ng = 0; if((Temp_Value[1]&0xf8)==0xf8)//是负温度 { Temp_Value[1] = ~Temp_Value[1]; Temp_Value[0] = ~Temp_Value[0]+1; if(Temp_Value[0]==0x00) Temp_Value[1]++; ng = 1; } Display_Digit[0] = df_Table[Temp_Value[0]&0x0f];//取低四位 CurrentT = ((Temp_Value[0]&0xf0)>>4) | ((Temp_Value[1]&0x07)<<4); Display_Digit[3] = CurrentT/100;//百位 Display_Digit[2] = CurrentT%100/10;//十位 Display_Digit[1] = CurrentT%10;//各位 Current_Temp_Display_Buffer[11] = Display_Digit[0] + '0'; Current_Temp_Display_Buffer[10] = '.'; Current_Temp_Display_Buffer[9] = Display_Digit[1] + '0'; Current_Temp_Display_Buffer[8] = Display_Digit[2] + '0'; Current_Temp_Display_Buffer[7] = Display_Digit[3] + '0'; if(Display_Digit[3] == 0) Current_Temp_Display_Buffer[7] = ' '; if(Display_Digit[2] == 0&&Display_Digit[3]==0) Current_Temp_Display_Buffer[8] = ' '; if(ng) { if(Current_Temp_Display_Buffer[8] == ' ') Current_Temp_Display_Buffer[8] = '-'; else if(Current_Temp_Display_Buffer[7] == ' ') Current_Temp_Display_Buffer[7] = '-'; else Current_Temp_Display_Buffer[6] = '-'; } Set_LCD_POS(0x00); for(i=0;i<16;i++) { Write_LCD_Data(Temp_Disp_Title[i]); } Set_LCD_POS(0x40); for(i=0;i<16;i++) { Write_LCD_Data(Current_Temp_Display_Buffer[i]); } Set_LCD_POS(0x4d); Write_LCD_Data(0x00); Set_LCD_POS(0x4e); Write_LCD_Data('C'); } //延时 void DelaysMS(uint ms) { uchar i; while(ms--)for(i=0;i<120;i++); } void Read_Temperature() { if(Init_DS18B20()==1) DS18B20_IS_OK=0; else { WriteOneByte(0xcc); WriteOneByte(0x44); Init_DS18B20(); WriteOneByte(0xcc); WriteOneByte(0xbe); Temp_Value[0] = ReadOneByte(); Temp_Value[1] = ReadOneByte(); DS18B20_IS_OK=1; } } //主程序 void main() { SCON=0x50;//串口模式一 ,许可接收 TMOD=0x20;//T1工作模式2 PCON=0X00;//波特率不倍增 TH1=0xfd; TL1=0xfd; TI=RI=0; TR1=1; IE=0x90;//许可串口中止 LCD_Initialise(); Read_Temperature(); while(1) { if (RI) //RI接收中止标志 RI=0; //清除RI接收中止标志 b=SBUF; //SUBF接收/发送缓冲器 Display_Temperature(b); } } B机程序 #include<reg52.h> #define uchar unsigned char #define uint unsigned int #include <intrins.h> #define delayNOP() {_nop_();_nop_();_nop_();_nop_();} uchar CurrentT = 0; uchar Temp_Value[]={0x00,0x00}; uchar Display_Digit[]={0,0,0,0}; bit DS18B20_IS_OK = 1; sbit DQ = P3^4; //延时 void Delay(uint x) { while(--x); } void DelaysMS(uint ms) { uchar i; while(ms--)for(i=0;i<120;i++); } void DelayXus(uint x) { uchar i; while(x--) { for(i=0;i<200;i++); } } uchar Init_DS18B20() { uchar status; DQ = 1; Delay(8); DQ = 0; Delay(90); DQ = 1; Delay(8); DQ = 1; return status; } uchar ReadOneByte() { uchar i,dat=0; DQ = 1; _nop_(); for(i=0;i<8;i++) { DQ = 0; dat >>= 1; DQ = 1; _nop_(); _nop_(); if(DQ) dat |= 0X80; Delay(30); DQ = 1; } return dat; } void WriteOneByte(uchar dat) { uchar i; for(i=0;i<8;i++) { DQ = 0; DQ = dat& 0x01; Delay(5); DQ = 1; dat >>= 1; } } Read_Temperature() { if(Init_DS18B20()==1) DS18B20_IS_OK=0; else { WriteOneByte(0xcc); WriteOneByte(0x44); Init_DS18B20(); WriteOneByte(0xcc); WriteOneByte(0xbe); Temp_Value[0] = ReadOneByte(); Temp_Value[1] = ReadOneByte(); DS18B20_IS_OK=1; } } //主程序 void main() { SCON=0x50;//串口模式一 ,许可接收 TMOD=0x20;//T1工作模式2 TH1=0xfd;// 波特率9600 TL1=0xfd; PCON=0X00;//波特率不倍增 RI=TI=0; TR1=1; IE=0x90; while(1) { Read_Temperature(); if(DS18B20_IS_OK) { SBUF=Read_Temperature(); } while(TI==0); TI=0; } } 五、参考文件 1、智能电源和高级数字信号控制器设计 ,Bryan Kris,电子设计应用,-10-01 2、基于AVR单片机多功效电源设计 ,李雪莉, 张岩,现代电子技术,-09-01 3、一个箱式分区所及其电力智能电源监控装置研制 ,宁建斌,电力自动化设备,-09-25 4、基于80C196KC单片机智能型开关电源研- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 串行 通信 优秀 课程设计 优质 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文