《单片机原理及应用》实验指导.docx

上传人:夺命阿水 文档编号:1486917 上传时间:2024-06-29 格式:DOCX 页数:15 大小:112.90KB
返回 下载 相关 举报
《单片机原理及应用》实验指导.docx_第1页
第1页 / 共15页
《单片机原理及应用》实验指导.docx_第2页
第2页 / 共15页
《单片机原理及应用》实验指导.docx_第3页
第3页 / 共15页
《单片机原理及应用》实验指导.docx_第4页
第4页 / 共15页
《单片机原理及应用》实验指导.docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《《单片机原理及应用》实验指导.docx》由会员分享,可在线阅读,更多相关《《单片机原理及应用》实验指导.docx(15页珍藏版)》请在课桌文档上搜索。

1、实聆一单片机开发系统的使用【实险目的】k了斛单片机开发系统的各主要组成部分;2,掌握仿真器及其软件的使用,初步掌握程序的调试方法.包括跟踪、单步运行和断点设置等;3、熟悉51单片机的指令系统,了解汇编语言程序的设计方法。【实毅原理】51单片机开发系统包括51实验开发板、仿真器、PC机及直流电源.如图DlT所示。其中,PC机与仿真器通过USB口连接.仿真器与51实验开发板通过专用电缆连接“SlDI-I51单片机开发系统的结构【实验内容】I,认识51单片机开发系统的结构。2、初步认识仿真器软件和KeilC51软件界面.3、指令认识及简单程序调试:(1)传送指令设置内部RAM的值,(30H)ZOH(

2、4OH)=IOH.单步执行下列程序,检查结果.MOVRO,#30HMOVA.R()MOVRI,AMOVB.RISJMP$执行后(RO)=(RI)=()=(B)=(30H)=(40H)=_(2)运算指令MOVA.於8HMoVA.*98HMOVA.杪8HMOVA,#98HMOVA.t*98HMOV2(X1,y74HMOVKH,074HMOV2)H.074HMOV20吐#7411MOV20H.#7411SFTBCSETBCSInMrSETBCSCTBCADDA.20HADDA.20HADIX:AJOHSUBBA.20HCJNEA.2OH.(ISJMP$DAASJMPSSJMPSSJMPSQkSJMP

3、$结=三CY=AC=CY=AC=CY=AC=CY=AC=CY=AC=果OV=P=OV=P=OV=P=OV=P=OV=P=单步执行MOVA.WSHMOVB.*74HMU1.ABSJMPSMoVA,也8HMOVB.#74HDIVABSJMPS结果=(B)=三(B=SP=(31H)=(32H)=。4、多字节十进制数加法被加数加数结果高位20HOi30H8920H21H2331H982IH22114532H7222H23H6733H6523H低位SDI-24字节十进制数相加两个4字节十进制数1234567和89987265相加.将其8421BCD码按低位到高位存放在地址为20-23H.3O-33H的R

4、AM中,运算结果存放在20-23H的地址中,如图DIN所示。;主桎序MOVRO.#23HMOVR.ff33HMOVR2.例)4HACA1.1.ADD_BCDSTOP:SJMPSTOP运算程序如下,ADD_BCD为多字节十进制数加法子程序的首地址。分别按,跟踪“、哗步一和.全速”方式调试程序,检查运算结果,区别跟踪“、单步调试方式的不同。在“ADD_BCD子程序”的指令“DAA”处设置断点.再用全速方式运行,到达断点后,观察“A”的值.然后用“单步”运行.观察指令“DAA”的功能:同时理解“断点”方式调试程序的特点。;置横加数首地址;置加数首地址;督被加数和加数的长度(字节数);调用多字节十进制

5、软加法子程序ADDBCD;停止;多字节十进制数加法子程序;入口:ROsRl为被加数和加数的首地址,按低位到高位存放;出口:RO为运算结果的首地址,也按低位到高位存放ADD_BCD:C1.RC1.P:MOVA,ROADDCA,RlDAAMOVR0.ADECRODECRlDJNZR2,1.(X)PRET;进位清零;一字节的被加数一A;一字节加;十进制数调整;存一字节的运算结果;被加数指向下一字节;加数指向下一字节;循环控制;子程序返回END【实脍要求】1、预习:族便各程序.预先分析各程序运行结果.以便和实骐结果比较;2、认真完成各实骏内容.并记录实验结果;3、完成实蛤报告,分析实脍结果,【思考题)

6、1.为什么程序结束用“SJMPS”指令?2、比蛟“跟踪”、“单步”和“新点”调试方式的特点。实验二汇编语言程序设计【实卷目的】I、进一步掌握仿真器及软件的使用;2、进一步熟悉Sl单片机指令系统,掌握汇编语言程序的设计方法;3、进一步掌握程序的调试、诊断和排错方法。【实皴原理】Is多字节无符号数相乘:在51指令系统中,有一条秉法指令MU1.AB,它只能对单字节无符号数相获.对于多字节数的乘法,必须编写相应的程序来实现.常用的方法有.移位加”和.移位乘等。下面以“移位加”为例,为了说明移位加”的乘法原理,先回顾一下二进制乘法手算方法.见图D2-I.IOII被乘数XXlOOl柒数Y柒数Y的最低位=1

7、.部分积=X=IOl1,X左移1位,!OllX=IOllO蓑数Y的次低位=0,部分积=0,X左移1位,0000X=10ll获数Y的次高位=0.部分积=0.X左移1位.0000X=IOlKKW+1011乘数Y的最高位=I,部分积=X=Iollo(X).X左移I位01100011积Z=Z(部分积)=XXY图D2-I多字节无符号数相乘手算嫌法归纳上述算法为以下几点:(I)嘀定积Z的长度,积Z清零;(2)从杀数Y的最低位开始,桧查乘数Y的最低位的值;(3)如值为1.积Z加上被乘数X(即Z=Z+X),否则不加;(4)被乘数X左移1位,(三)依次桧查乘数Y的前一位的值.重复(3);(6)直至乘数Y的俄高位

8、也检查并累加完毕,结束.现在将16位被乘数存放在R2R3.16位乘数存放在R6R7.结果积存放在R4R5R6R7.RO为右移计数器.(R2R3)“R6R7)R4R5R6R7的程序框图见图D2-2).(R2R3)(R6R7)-R4R5R6R7也可以用“移位获”的方法来计算,(R2R3)(R6R7)=(R2)2,1+(R3)(R6)2*+(R7)=(R2)(R6)2,4+(R2)x(R7)28+(R3)x(R6)28+R3R7这样,16位无符号数乘法就转化为8位无符号数乘法和加法了。图D2-2(R2R3)(R6R7-R4R5R6R7移位加算法2,跑马灯实验:饱马灯实验电路原理图如图D2-3所示,单

9、片机通过Pl口与8个发光二极管连接,当Pl口相应管脚输出0时.对应的发光二极管点亮.检出1.则不亮。通过定时给不同的管脚输出0.可以让对应的发光二极管点亮.产生类似于跑马灯的效果。v图D2-3跑马灯实躲电路原理图【实险内容】I、编写程序求8个数的平均值.这8个数以表格形式存放在从tabic开始的单元中.(Dtablc:db02H.03H.(MH.1OH.12H.22H.25H.3OH运行程序检查结果.(2)tablc:dbOC2H.ODOH.8SH.92H.55H.66H.OA5H.74H修改并运行程序,检查结果.2、编写16位无符号数相乘的移位加算法程序,实现(R2R3)(R5R7iR4R5

10、R6R7.(R2R3)=iO88ll.(R6R7)=20AOH,运行程序检查结果;3、指示灯循环显示:(I)Pl口做明出口,接八只发光二极管.嫡写程序.使发光二根管从左向右循环点亮。(2)修改程序.使指示灯从右向左循环.,(3)修改程序,使指示灯两两右循环,(4)修改程序.使指示灯从两边向中间循环。(5)修改程序,使指示灯从中间向两边循环。【实聆要求】1、预习:复习汇编语言编程方法,编写出各实验内容相应的汇编语言程序;2、认真完成各实验内容,并记录实验结果;3、完成实验报告,分析实魁结果.【思考题】I、实验内容1的内容(2为什么不能用内容(1)的程序72,两个双字节BCD码相蓑如何实现?两个双

11、字节原色相乘如何实现?实验三C51程序设计及10实聆【实玲目的】I、掌握C5I程序设计方法及IO的使用;2、掌握CSl程序的调试、诊断和排俏方法。【实骏原理】I、C5!输出结果到标准输出设备:在C语言中,经常使用标准输入输出函数scanf().Pnnm)进行人机交互,但keil环境下,C5I的人机交互有所不同.需要通过串行口在上位机上输入榆出.因此,必须用软件对串行口进行初始化.初始化程序如下:voidSCria1.initiaI(Void)(SCON=OX52;工作模式1X-bitUAK,允许接收TMoD=OX20:定时泗Tl,工作模式2.8位自动重载方式THI=0XF3;波特率为2400T

12、RI=I;定时器Tl开始运行)2、跑马灯实原理同实玲二【实验内容】1、在显示器上显示:(0输出形状为直角三角形的九九乘法表:编写并运行程序,检查结果:(2)打印出以下图案:编写并运行程序.枪查结果.2、编写校睑码程序,运行程序检造结果:编写水平垂走校哙码(奇校哙.,僧校骆生产程序.将你的U位学号生成水平垂直校玲码,你的11位学号可以用ASClI码来表示,然后每位学号ASClI码分别进行奇校蛤这就是水平校晚.对应的校验位存储在最高位。再将上述的水平校验图,进行垂直校验,得到水平垂直校验帮,记下校验码结果。3、指示灯循环显示:(I)Pl口做输出口,接八只发光二极管,编写C51程序.使发光二极管从左

13、向右循环点亮。(2)修改程序,使指示灯从右向左循环。(3)修改程序,使指示灯两两右循环。(4)修改程序,使指示灯从两边向中间循环。(5)修改程序,使指示灯从中间向两边循环。【实验要求】1.预习:发习C51编程方法,课外组写出各实验内容相应C51的程序;2、认真完成各实脸内容,并记录实脸结果;3、完成实验报告,分析实嘘结果:【思考题】1、比较CSI移位运算符与汇编语言的移位指令的异同,在程序中如何体现,2、与汇编语言相比.C51编程有什么优势?实验四键盘与显示电路实聆【实嗡目的】I、了解几种键盘检测原理及编程方法;2、掌樨键盘扫描电路结构和键盘扫描方法.了解按键的软件去抖动方法;3、了解1.ED

14、显示原理及动态显示嫡程方法。【实险原理】1、矩阵式键盘工作原理实验开发板上有个16键的键经.组成4*4矩阵式键盘,如图D4-1所示,将铺盘4根行线和4根列线(1-8)连接至Pl口的PIOPZSD4-2键码4U回回回H0B0C叵团叵回。回回回囚S个按键分别定义为如图D4-2所示键码,则从Pl口返回的键码表如表D4-I所示”表D4l键码表7码扫命、7HOlllBHIOlIDHIlOIEHIlIO7H(77H)(B7H)(D7H)(E7H)Olll789DBHv:2.:特*如果选用C8051RU0单片机内部时钟21钿Hz8分频.要求波特率为9600.则TC=256-24.5IO68x2x960()=

15、96.4960H另外,实验开发板通过VAX232芯片与PC机的串行口相连.电路如图D6T所示:图MT串行口接口电路【实驶内容】1、编写IARTQ串口发送程序:当外部中断0产生低电平.串行口发出数据.在PC上的串口助手显示,串行采用方式1.波特率为9600.定时器1作为波特率发生器工作在方式2.采用系统时钟,,2、编写UARTO串口接收程序利用PC上的串口助手发送数据.单片机接收后通过Pl口在发光二极管显示接收的数据,3、修改WUno串口接收程序,利用PC上的串口助手发送数据.单片机接收后通过在两位数码管上显示接收的数抠的ASCll码。4、修改上面程序,利用PC上的审助手发送数据0匕单片机接收后通过在一位数码管上显示接收的数据.5、修改UARTo窗口程序,当单片机接收到串口助手发送的数据时.发送学号。6、修改UARTO串口程序.利用Pe上的串口助手发送数据.当单片机接收到的数据为O时.发送ABCD,而当接收到的位T时.则发送1234m.【实物要求】I、预习:复习串行口的结构与工作原理.编写出各实验内容相应C51的程序;2、认真完成各实验内容,并记录实睑结果;3、完成实蛤报告,分析实脍结果:【思考题】1,是否可以在两个实验板之间迸行串行通信.如何连接?2、如果两个实脸板在串行通信时波特率不一致.分析会产生什么结果;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号