《第二十二课单片机与PC机的串行通信编程实践测试题.docx》由会员分享,可在线阅读,更多相关《第二十二课单片机与PC机的串行通信编程实践测试题.docx(8页珍藏版)》请在第壹文秘上搜索。
1、第二十二课单片机与PC机的串行通信编程实践13.3.1在AVR中产机开发板板上,迸行单片机与PC机(个人电脑)的通信试验1PC机发送一个字符给单片机,单片机收到后即在发光管D1D8上进行显示,同时将其回发给PC机,为使于初学者实验成功.单片机的发送接收均采用查询方式.实验电路可参考第4章的图4-1(AVRDEMO单片机标介试脸板电路原理图).在我的文档中新建一个ac1.3-1.的文件夹.建立一个ac1.31.pj的工程项目,最后单片机培训建立就程序文件ac1.3-1.c.输入下面的程序:#indudeViomI6v.h包含头文件/inc1.ude=_=voidPOrtJnit(Void)初始化
2、端口子函数(PORTA=OxFF;/PD端口初始化输出IIIIIII1.DDRA=0x00;格PA端11设为输入PORTB=OxFF;/PD端口初始化场出IIIIIII1.DDRB=OxFF;粕PB端11设为输出/51PORTC=OxFF;/PD端U初始化输出IIIIIIIIDDRC=OXO0;将PC端I1.设为输入PORTD=OxFF;/PD端口初始化输出Imm1.DDRD=OXO2;将PD端口的PDI设为输出,其它设为输入*XXXXXXXX*voidUart(1.init(VokI)初始化UART子函数(UCSRB=0x00;禁止UART发送和接收UCSRA=0x02;倍速UCSRC=0x
3、06;8位数据位UBRR1.=0x67;波特率9600UBRRH=0x00;UCSRB=Ox18;/允许UART发送和接收单片机C号教F*voidinit_devices(VOid)芯片的初始化子函数PortJnit();调用端初始化子函数Uart(1.init();调用UART初始化子函数/*4(*voidUarto_send(UnSignedChari)发送1个字符的子函数Whii&!(UCSRA&(1.vvUDRE);等待发送缓冲区为空H片机教材UDR=1;发送1个字符/*unsignedcharUart(1.reCeiVe(Void)接收1个字符的了函数(wbi1.e(!(UCSRA&
4、(1.VVRXC);等恃接收数据returnUDR;返回接收到的数据voidmain(void)/匕函数(unsignedchartemp;定义局部变量in1.jdev3s();调用芯片初始化子函数AVRJ;帆教仃WhiIe(I)无限循环temp=uartO_receive();/等待接收数据PoRTB=temp;接收的数据游成低电平后点亮1.EDuartO_send(temp);/再将接收的数据发送出去)编洋通过后,AVR单片机综合试验板接通SV稔用:电源招生成的ac1.3-1.hex文件卜较到试验板上的单片机中.注就标示-UART及1.ECT的双排针应插上中.片机开发短路块。在做实验时.我
5、们需要在PC机上进行恰恩发送.这里使用的是个名叫COMPortDebuger(率1调试器软件的免安装共享软件,其下我他址为:http:或http:/WWW0f三3RRmM三m三1!J”,;,二WtffY3RWHffi三三iJr.*erb*grt口病|年闺图13-1打开申口调试器软件,其界面如图13-1所示。右上方为发送区,右下方PrOte1.培训为接收区.左上方的初始化区域(如波特率、数据位等一般不必更改(初始化为:端口号1、波特率9600、数据位8.停止位8校验位无.若你的PC机串口COMI已占用时,才可考虑改M8M2.将PC机的印口与AVR单片机综合试验板的串口连接好,清空发送区、接收区的
6、娱有内容.然后打开串口.我们做的实5金比较简单,每次只能输入一位字符进行发送.发送区输入1,点发送,我们发现AVR单片机媒合试脸板的8个1.ED(DID8)中,D6.D5.D1.发光管点亮(即数据为0x31)同时接收区立即显小收到的1(见图13-21.发送区单片机论坛输入A点发送.我们发现D7.D1.发光管点充(即数据为0x41),同时接校区立即显示收到的A见图13-3)。通过我对ASCII码去可知,0x31是数字1的ASCII码,0x41是字母A的ASCII图132rai3-3发送区勾选“按16进制显示或发送,接收区勾选“按16进制显示“,发送区输入8,点发送,我们发现AVR单片机缘合试龄板的中,D4发光管点亮(即数据为0x80),同时接收区立即显示收到的08.其界而如图13Y所示.发送区谕入F.点发送,我们发现AVR单片机标合试脸板的中.D1.4发光管点亮(即数据为OXoF),同时FPGA开发段接收区立即显示收到的0F其界面如图135所示。与16进制的数据完全相符。s-m加1国1B9的”*AJTrMJOO2HnqUOJRODftyiIH)由