您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 通信网络实验_-_副本
实验一准备性实验(一)实验大纲一、实验目的:1.熟悉掌握实验板各个常用外设的使用,熟悉单片机系统构成及编程、调试方法。2.掌握A/D采样及其转换程序的编写。3.掌握液晶显示驱动的程序编写及测试。4.掌握单片机串行口通信的编程和测试。二、设备环境:一块带有A/D采样、液晶显示、485通信接口的实验板,一个电源适配器,一根标准串口线,PC机一台。三、实验步骤:1.测试实验板工作状态(1)编写一个简单的单片机程序,例如按下开关S3使LED1点亮。(2)将程序由计算机经过RS-232通信模块下载到实验板。(3)断开计算机与实验板间的连线,重新上电,在实验板上运行程序,若能实现预期功能就进行下一步调试,否则检查原因重新调试。2.编写液晶驱动程序并测试,例如显示welcome,整理成一个可调用的显示程序模块,为以后其他程序的测试及开发做准备;3.编写A/D采样程序,通过调用显示程序模块来测试正确与否,编写并调试程序实现持续的A/D转换功能,例如单片机持续进行A/D转换并显示,这时调节电位器,液晶屏显示的电压值会随调节而变动。测试通过后,同样整理成一个可调用的A/D采样程序程序模块;4.编写串口通信程序模块,在主程序中调用该模块连续发送一组简单的二进制数据,利用示波器测取DB9接口(485通信接口)的TXD端的波形,观测所取波形数据是否与发送的一致,若一致,则通信接口和程序测试通过;另外,也可以通过发送一个简单的字符串在两个实验板子之间进行直接简单的串口通信测试,当一个板子能够收到另一板子发过来的字符串并通过液晶正确显示,则通信接口和程序测试通过四、需要验证或研究的问题1、改变电位器,液晶显示值实时改变;2、可以向电脑发送和接受数据,并在液晶显示屏上显示;3、可以通过按键控制LED;4、能够获取拨码开关的值并显示。(二)实验报告一、实验目的:1.掌握单片机实验板的使用,熟悉单片机系统构成及编程、调试方法。2.掌握A/D采样及其转换程序的编写。3.掌握液晶显示驱动的程序编写及测试。4.掌握单片机串行口通信的编程和测试。二、实验过程:1.熟悉实验板资源:1:四针电源插座,可以直接用电脑电源中的5V电源接口直插。注:四个针从外到里(从左至右)分别为+5V、GND、GND、无用。2:通用电源接口。注:以上两个电源接口任选其一。3:两个DB9,485通信接口4:电源开关,拨下为关,拨上为开,也可以通过右边的红色电源灯判断。5:电位器,可用来调节液晶对比度。6:电源灯7:232—485选择插针8:485—MVB选择插针9:端接电阻10:端接电阻引入插针11:LCD液晶12:DB9,232通信接口13:STC12C5A60S2芯片14:两个LED灯15:MVB引入插针16:两个按键17:第二路串口引入插针18:电位器,用于AD采用的输入19:复位按键20:LED灯21:多余的IO口引出插针22:六位拨码开关,实际只有前五位有效(从左至右,往下拨置地,往上拨至高)(1)单片机STC12C5A60S2STC12C5A60S2单片机是单时钟/机器周期(1T)的单片机,内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地),2路PWM,8路高速10位A/D转换,转换速度可达250K/S。其工作频率范围为0-35MHz,片上集成1280字节RAM。具有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)。(2)跳线接口跳线接口P_232/485用于RS-232通信与RS-485通信的切换。当RXD232与RXD、TXD232与TXD跳在一起时,为RS-232通信,用于单片机从PC机上下载程序;当RXD485与RXD、TXD485与TXD跳在一起时,为RS-485通信,用于同各单片机之间的多机通信。(3)1602液晶显示模块1602液晶显示模块最佳工作电压为5V。模块内部的控制器共有11条控制指令,包括清显示、光标返回、置输入模式、显示开/关控制、光标活字符移位、置功能、置字符发生存贮器地址、置数据存贮器地址、读忙标志或地址、写命令和读命令。2.液晶驱动程序的编写并显示功能程序流程为:开始→LCD初始化→延时→设第一行显示位置→显示第一行内容→设第二行显示位置→显示第二行内容。编写并调试程序测试显示单个数字功能,例如每次按下开关,液晶屏会显示一位数字,显示的数字为“0”、“1”、“2”、…“9”、“.”依次循环。编写并调试程序测试显示多位数字的功能,例如在显示屏上同时显示各位数字20093.A/D转换程序编写并显示功能设置模拟信号输入接口;设置A/D转换控制特殊功能寄存器;读取A/D转换结果。编写并调试程序测试A/D转换功能,如按下开关后,单片机进行一次A/D转换,转换的结果换算成电压值,并在液晶屏上显示。4.实验板调试方法(1)用带DB9接口的连线将实验板的J_UART1接口与计算机的DB9串行接口连接,并将跳线接口P_232/485的3、5引脚和4、6引脚分别短接,此时实验板处于断电状态。(2)用编译器将编写的程序编译成*.bin或*.hex格式文件。(3)在计算机上运行单片机编程PC端控制软件STC-ISP.exe软件,通过该软件选择单片机型号、需要烧录的文件、计算机串行口号,选择下次冷启动后时钟源为“外部晶体或时钟”,选择“Download/下载”按钮,然后给实验板上电复位,程序就下载到单片机内部。(4)断开计算机与实验板间的连线,重新上电复位,实验板开始运行程序。5.测试单块实验板串行口收发数据的功能(1)将实验板的跳线接口P_232/485的3、4引脚短接,使单片机的RXD和TXD引脚相连。(2)编写并调试程序实现以下功能:按下开关S3后,单片机进行一次A/D转换,转换结果取高八位由串行口TXD发送,单片机再以查询方式读取串行口RXD的数据,对数据进行换算后在液晶屏上显示。(3)编写并调试程序使第(2)步的功能能够持续实现。三、实验程序:1.主程序://--------------------------------------------------------------------------------//新一代1T8051系列单片机内核特殊功能寄存器C51CoreSFRs//76543210ResetValuesfrACC=0xE0;//Accumulator0000,0000sfrB=0xF0;//BRegister0000,0000sfrPSW=0xD0;//ProgramStatusWordCYACF0RS1RS0OVF1P0000,0000//-----------------------------------sbitCY=PSW^7;sbitAC=PSW^6;sbitF0=PSW^5;sbitRS1=PSW^4;sbitRS0=PSW^3;sbitOV=PSW^2;sbitP=PSW^0;//-----------------------------------sfrSP=0x81;//StackPointer0000,0111sfrDPL=0x82;//DataPointerLowByte0000,0000sfrDPH=0x83;//DataPointerHighByte0000,0000//--------------------------------------------------------------------------------//新一代1T8051系列单片机系统管理特殊功能寄存器//76543210ResetValuesfrPCON=0x87;//PowerControlSMODSMOD0LVDFPOFGF1GF0PDIDL0001,0000//76543210ResetValuesfrAUXR=0x8E;//AuxiliaryRegisterT0x12T1x12UART_M0x6BRTRS2SMODBRTx12EXTRAMS1BRS0000,0000//-----------------------------------sfrAUXR1=0xA2;//AuxiliaryRegister1-PCA_P4SPI_P4S2_P4GF2ADRJ-DPS0000,0000/*PCA_P4:0,缺省PCA在P1口1,PCA/PWM从P1口切换到P4口:ECI从P1.2切换到P4.1口,PCA0/PWM0从P1.3切换到P4.2口PCA1/PWM1从P1.4切换到P4.3口SPI_P4:0,缺省SPI在P1口1,SPI从P1口切换到P4口:SPICLK从P1.7切换到P4.3口MISO从P1.6切换到P4.2口MOSI从P1.5切换到P4.1口SS从P1.4切换到P4.0口S2_P4:0,缺省UART2在P1口1,UART2从P1口切换到P4口:TxD2从P1.3切换到P4.3口RxD2从P1.2切换到P4.2口GF2:通用标志位ADRJ:0,10位A/D转换结果的高8位放在ADC_RES寄存器,低2位放在ADC_RESL寄存器1,10位A/D转换结果的最高2位放在ADC_RES寄存器的低2位,低8位放在ADC_RESL寄存器DPS:0,使用缺省数据指针DPTR01,使用另一个数据指针DPTR1*///-----------------------------------sfrWAKE_CLKO=0x8F;//附加的SFRWAK1_CLKO/*76543210ResetValuePCAWAKEUPRXD_PIN_IET1_PIN_IET0_PIN_IELVD_WAKE_T1CLKOT0CLKO0000,0000Bb7-PCAWAKEUP:PCA中断可唤醒powerdown。b6-RXD_PIN_IE:当P3.0(RXD)下降沿置位RI时可唤醒powerdown(必须打开相应中断)。b5-T1_PIN_IE:当T1脚下降沿置位T1中断标志时可唤醒powerdown(必须打开相应中断)。b4-T0_PIN_IE:当T0脚下降沿置位T0中断标志时可唤醒powerdown(必须打开相应中断)。b3-LVD_WAKE:当CMPIN脚低电平置位LVD中断标志时可唤醒powerdown(必须打开相应中断)。b2-b1-T1CLKO:允许T1CKO(P3.5)脚输出T1溢出脉冲,Fck1=1/2T1溢出率b0-T0CLKO:允许T0CKO(P3.4)脚输出T0溢出脉冲,Fck0=1/2T1溢出率*///-----------------------------------sfrCLK_DIV=0x97;//ClockDivder-----CLKS2CLKS1CLKS0xxxx,x000//-----------------------------------sfrBUS_SPEED=0xA1;//Stretchregister--ALES1ALES0-RWS2RWS1RWS0xx10,x011/*ALES1andALES0:00:TheP0addresssetuptimeandholdtimetoALEnegativeedgeisoneclockcycle01:TheP0addresssetuptimeandholdtimetoALEnegativeedgeistwoclockcycles.10:TheP0addresssetuptimeandholdtimetoALEnegativeedgeisthreeclockcycles.(default)11:TheP0addresssetuptimeandholdtimetoALEnegativeedgeisfourclockcycles.RWS2,RWS1,RWS0:000:TheMOVXread/writepulseis1clockcycle.001:TheMOVXread/writepulseis2clockcycles.010:TheMOVXread/writepulseis3cl
本文标题:通信网络实验_-_副本
链接地址:https://www.777doc.com/doc-322768 .html