《MCS51单片机实验与课程设计指导书.docx》由会员分享,可在线阅读,更多相关《MCS51单片机实验与课程设计指导书.docx(34页珍藏版)》请在优知文库上搜索。
1、MCS-51单片机试验及课程设计指导书电子工程系单片机教研组杨打生康瑞芳王忠远编写内蒙古电子信息职业技术学院2006.3试验一:WAVE软件运用试验二:常用指令的运用练习试验三:循环程序试验四:查表程序试验五:数制转换程序试验六好用子程序:(编程器的运用)试验七:中断/定时程序试验八:输入检测与输出显示程序课设一、课程设计目的和意义二、成验电路系统的结构和运用方法三、设计参考题目介绍和设计提示性思索题四、设计任务书及耍求五、课程设计报告格式及要求六、考核方法七、课程设计内容及学时支配试验一:IrAVE软件运用一、覆习内容1、试验目的:学习KAVE软件安装和施本运用。2、WAVE软件的安装选择W
2、AVE文件夹下的SETUP.EXE文件并双击接着下步最终到完成。3、安装后写出软件窗口中工具栏中各按钮的名称。伟福V2SO,软件及拟器T52)C:t2000SAP1.BCAlJC.MJJHIH0文件)笑角复)*()项目0)执行)出口)WXS(!2)IRahQP笈己b容遭戊|火,口目土总刀口Zl鱼包参考说明书1234567891011121314151617181920212223244、写出下面二实例各条指令的含义二、试验内容实例一指令的含义ORGOOOOHMOVROEOIH1.I:MOVA,ROMOVPO,AINCROAJMP1.lEND指令的含义实例二ORGOOOOHMOVKO,#0111
3、1.2:MOVA,ROMOVP2,AR1.AMOVRO,A1.JMP1.2END1、打开WAYE见面,新建一个文件后输入实例一程序内容,并保存在我的文档名为A1.ASM,执行编译按钮或项目菜单中的编译2、编译后,如正确扫描过去,不正确提示出错信息修改后再编译直到不提示错误为止。3、打开腐口中的CPf窗口和数据窗口的CODE和DADE写出每条指令的机器操作代码。4、打开窗口中的平排窗口,这样程序窗口、CP1.窗口、数据存储器窗口就并排在整个屏幕。5、,点击单步按钮或F8键进行堆步操作。6、观测CPU窗口的A、PO和数据存储器窗口RO的状态并列表1记录每循环一次下列寄存器的值。表一循环次数1234
4、56789起始ROAPO结束RO8、新建一个文件后输入实例二程序内容,并保存在我的文档名为八2A3M,执行编译按钮或项目菜单中的编译9、Ig史上述2-6步填写下表二循环次数123456789起始RO起始AP2结束R结束RO三、试验报告要求I、写出上述两试验程序各条指令的含义(与预习时相比是否一样)。2、整理表一和表二的数据,分析他们各自实现的功能。3、写出CPU窗口20个特别功能寄存罂及其功能。试验二:常用指令的运用练习一、演习内容1、在WWE软件平台下学习常用指令的特点。2、写出卜面二实例各条指令的含义3、写出二实例实现的功能二、试验内容实例一机器操作代码ORGOOOOII指令的含义MOVP
5、SW1408HMOV30H,#25MOVRQ,#30HMOV,R0MOVDPTR,#0006HMOVA,#35HMOVX0DPTR,MOV,ROMOVX如PTR,AMOVCA,触+DPTRSJMPS功能:1、将程序输入编辑器,保存文件名为MOV.ASM2、对源程序进行编译,修改语法错误3、打开窗口中的CPU窗口和数据窗口的CODE、DADE和XDATE写出每条指令的机器操作代码。4、打开腐口中的平排窗口,这样程序窗口、CPU窗口、内外数据存储器窗口和程序存储器窗口就并摔在整个醉窑.5、单步执行写出Ro在数据存储单元中的地址,执行到SJMP时RO.、DPTR、A的内容实例二指令的含义机器操作代码
6、PoORGIIDOV.IDOVMOVI1.CA1.1.SJMPPP:pushpushIDOV,OOOOHa,434hp,#56hB,#1211,PP$aPoa,#78hmovp,apopppopaRETEND1、将程序输入编辑器,保存文件名为StaCk.ASM2、对源程序进行编译,修改语法错误3、打开窗口中的CPf窗口和数据窗口的CODE和DADE写出每条指令的机器操作代码,4,打开窗口中的平排窗口,这样程序窗口、CHJ窗口、数据存储器窗口就并排在整个屏5、单J执行依据CPU窗口信息、写出每条指令APO的值(在程序后)。三、试验报告要求1、写出上述两试验程序各条指令的含义(与预习时相比是否一样
7、),整理试脸一试验二的结果。2、区分实例一各条传输指令的不同。3、写出指令在执行调用时堆栈SP的变更过程和堆栈在堆栈区所保存内容。试验三:循环程序一、预习内容I、试验目的:1)驾驭循环程序的结构.(循环变量初值、循环变氏的修改、循环体执行的条件。2)循环程序的执行过程3)了解循环的嵌套。2、写出卜.面二实例各条指令的含义。3、试写出各实例实现的功能和试验DE1.AY了程序的延时时间为多少。二、试验内容实例一:试验内容试验题目:流水灯程序清明:指令的含义。ORGOOOOH1.JMPSTARTORGOlOOHSTART:MOVR7,#08HMOVA,#01H1.OOP:MOVPl,AACA1.1.
8、DE1.AYRRDJNZR7,1.OOPSJMP1.ooPDE1.AY:MOVR6,#1001.1.2:MOVR5,#2551.1.l:NOPDJNZR5,1.1.lDJNZR6.1.1.2RETEND试验步骤:I、将程序输入编辑器,保存文件名为1.SD.ASM2,对源程序进行编译,修改语法错误。3、运行程序使程序窗口和CP1.窗口并挎,视察CPU窗口PO口的变更状态现。现象:4、将指令RRA改为R1.八再编译运行,视察PO口现象。现象:5,将DE1.AYMOVR6,#1001100分别改为10和200后编译运行,视察PO口现象.现象:结论:实例二日泡排序法数据排序常用的方法是目泡排序法。原则
9、:执行时从前向后进行相邻数的比较,如数据的大小次序与要求的依次不符就将这两个数互换,否则不互换.对手升序持序,通过这种相邻数的互换,使小数向前移动,大数向后移动。从前向后进行一次目泡(相邻数的互换),就会把最大的数换到最终。再进行一次目泡,就会把次大的数排在倒数其次的位置。无符号数揖序程序。设在片内RAM中,起始地址为30H的8个单元中存放有8个无符号数。设K7为比较次数计数器,初始值为07H,位地址OoH为数据互换标记位。对这些无符号数进行升序排序。程序清单:START:C1.ROOHMOVR7,#07HMOVRO,#30H1.OOP:MOVA,ROMOV2BH,AINCROMOV2AH,R
10、OC1.RCSUBB,一RoJCNEXTMOVRO.2BHDECROMOVR0,2HINCROSETBOOIINEXT:DJNZR7,1.OOPJBOOH,STARTSJMP$1、在WAVE软件中输入上述程序并保存为*ASM文件,编译后,打开窗口中数据窗口的DATA,并使程序窗口与数据窗口DATR的并推。2、在数据窗口DATA中30H-37H填入8个两位十六进制数。存储单元301131H32H33H34H35H36H37H排列前65H32H58H56H42H78H36H20H排列后3,用雎步执行观测30H-37H单元内容的变更。三、试验报告要求I、出上述两试验程序各条指令的含义(与预习时相比是
11、否一样),整理实例一、实例二的结果。2,试分析在实例一如何实现霓虹灯(彩灯)的限制。试验四:查表程序一、预习内容1、试验目的:驾驭依次程序中查表程序的常用指令和其特点。2、写出卜面二实例各条指令的含义。3、试写出各实例实现的功能。二、试设内容实例一平方表在程序存储器的片存储单元中建立起该变量的平方表。用数据指针DPTR指向平方表的首址,则变量与数据指针之和的地址单元中的内容就是变髭的平方值1程序段如卜.:START:指令的含义MOVA,30HAC1.1.SQRMOVRl,AMOVA.31HACA1.1.SQRADDA,RlMOV32H,ASJMP$SQR:MOVDPTR,#TABMOVCA,+
12、DPTR;RETTAB:DB0.1,4,9,16,25,36,49,64,81k在WAVE软件中输入上述程序并保存为*.ASM文件,编译后,打开窗口中数据窗口的DATA,并使程序窗口与数据窗口DATA的并排。2、在数据窗口DATA30H32H填入8个两位十六进制数将执行后的结果填入下表。存储单元30H3IH32H执行前03H06HOOH执行后3、写出DB数据表格在程序存储器的地址地址数据0149162536496481实例二dpgfedcbaW7钠期期Kcomdpgfedcbagfcomabedcomcdpcom一、七段显示外的原理二、代码转换显示(共阴)指令的含义ORGOOOOH1.JMPS
13、TARTORG0030HSTART:MOVA,R3MOVDPTRMAB1.EMOVCA,SA-DPTRMOVPO1ASJMP$TAB1.E:DB3FH.06H.5BH.4FH.66HDB6DH.7DH.07H.7FH.6FHEND1、在WAVE软件中输入上述程序并保存为*.ASM文件,编译后,打开CPIJ窗口和数据窗口的DT,并使程序窗口、数据窗口DT和CODE、CPU窗口并排。2、在DATE窗口R3(03H)单元填入00。3,用单步执行到SJVP$观测PO口的数据并记录。4、修改R3的内容重:新编译在执行其次、三步填写下表。R302H04H08H03110511OAIIIOHPO三、试报告要求I、写出上述两试验程序各条指令的含义(与预习时相比是否一样),整理实例一、实例二的结果。2,试分析在实例一如何采纳MOVCA,A+PC指令也可以实现包表功能,(且不破坏DPTR的内容,从而