




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 仿真软件的使用,简单程序设计一实验目的:1掌握单片机仿真软件的基本操作方法;2熟悉汇编语言源程序的编辑、汇编、运行和检查运行结果的方法(能查看各存储空间中值的变化);3掌握简单程序编写的基本方法和技巧;二实验内容:1. 将内部RAM的30H33H四个存储单元內分别存放01H、02H、03H、04H四个数;然后送至工作寄存器R0R3。2将内部RAM的30H33H四个存储单元內的数分别传送至外部RAM的2030H-2033H存储单元中。3. 将内部RAM的3032H的连续3个字节中的无符号数相加,结果的低位送33H单元,高位送34H单元三实验步骤:1实验内容1的步骤(1)新建文件,输入能实现实验内容1的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果:检查R0R3的内容;(3)单步运行程序,并检查运行结果:检査R0R3的内容;(4)查看程序的机器码。 2实验内容2的步骤(1)新建文件,输入能实现实验内容2的源程序并以 .ASM为扩展名存盘(2)编译并运行程序,检查运行结果:检査外部RAM 2030H2033H单元的內容(3)单步运行程序,并检查运行结果;(4)查看程序的机器码。 3实验内容3的步骤(1)新建文件,输入能实现实验内容3的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果;(3)单步运行程序,并检查运行结果,检查33H、34H单元内容;(4)查看程序的机器码 四实验程序 1实验内容1的程序 ORG 0000H MOV 30H,#00H MOV 31H,#01H MOV 32H,#02HMOV 33H,#03HMOV R0,30HMOV R1,31HMOV R2,32HMOV R3,33HEND2实验內容2的程序 ORG 0000H MOV 30H,#00H MOV 31H,#11H MOV 32H,#22H MOV 33H,#33H MOV DPTR,2030H MOV R0,#30H MOV R1,#04H LOOP:MOV A,R0H MOVX DPTR,A INC R0 INC DPTR DJNZ R1,LOOP SJMP $ END3实验内容3的程序 ORG 0000H MOV 30H,#0F8H MOV 31H,#0C6H MOV 32H,#0D9H CLR C MOV A,30H ADD A,31H JC NEXT1 SJMP NEXT2 NEXT1:INC R1 NEXT2:ADD A,32H MOV 33H,A JC NEXT3 SJMP NEXT4 NEXT3:INC R1 NEXT4:MOV 34H,R1 SJMP $ 五实验报告要求:1对实验内容1和实验内容2的程序加注释。2画出实验内容3的程序流程图。实验二 循环程序及子程序的设计一实验目的:1掌握循环程序及子程序的编写方法和技巧;2掌握循环程序的调试方法和步骤;3掌握主程序调用子程序时保护现场和恢复现场的基本技巧。二实验内容:1. 求1+2+3+4+100=? 试编程实现之,要求将高八位存放至R1,低八位存放于R0;2求1+2+3+4+100=?要求结果为BCD码数,千位和百位存放于R1,十位和个位存放于R0。3将在内部RAM 30H单元开始的3个8位二进制数转换为BCD码,并存放到40H开始的单元內(高位在前,低位在后)。三实验步骤:1实验内容1的步骤(1)新建文件,输入能实现实验内容1的源程序并以 .ASM为扩展名存盘;(2)编译並运行该程序,检查运行结果;(3)单步运行该程序,检查运行结果。2实验内容2的步骤(1)新建文件,输入能实现实验内容2的源程序并以 .ASM为扩展名存盘;(2)编译並运行该程序,检查运行结果;(3)单步运行该程序,检查运行结果。3实验内容3的实验步骤(1)新建文件,输入能实现实验内容3的源程序并以 .ASM为扩展名存盘;(2)向内部RAM的3032H单元分别送入F8H、7EH、48H三个8位二进制数;(3)运行程序,检查运行结果。四参考程序1参考程序1 ORG 0000H MOV A,#00H MOV R2,#64H MOV R1,#00H MOV R3,#01H LOOP:ADD A,R3 JC NEXT1 SJMP NEXT2 NEXT1: INC R1 NEXT2: INC R3 DJNZ R2,LOOP MOV R0,A END2参考程序2: ORG 0000H MOV R4,#00H MOV A, #00H MOV R1, #00H MOV R2, #64H LOOP: ADD A, R1 DA A MOV R3, A MOV A, R4 JC NEXT1 SJMP NEXT2 NEXT1: ADD A, #01H DA A MOV R4, A NEXT2: MOV A, R1 ADD A,#01H DA A MOV R1,A MOV A,R3 DJNZ R2, LOOP MOV R0, A MOV A, R4 MOV R1,A END 五实验报告要求:1画出实验内容1的程序流程。2对实验内容2的程序加注释。 3写出实验内容3的程序清单。附:实验内容3程序流程图主程序 子程序实验三 并行口输入输出一实验目的:1了解并行口输入/输出方式的工作原理及使用方法;2掌握并行口输入/输出方式的编程方法;3掌握软件延时子程序的编写方法。二实验内容:1. 用单片机P1口作输出,接8只发光二极管。当输出位是“1”时,发光二极管亮;输出位是“0”时,发光二极管灭。编写程序时按下列顺序循环点亮发光二极管:从左向右依次点亮全灭全亮从右向左依次点亮全亮循环。2. 用单片机P1口的P1.0P1.3作输入,分别接开关K0K3;P1.4P1.7作输出,分别接发光二极管L0L3。开关K0为高电平时,发光二极管L0亮,K0为低电平时,发光二极管L0灭,余类同。试编桯实现之。三实验步骤:1实验内容1的步骤(1)按图3-1接线,经检查正确,方可通电;(2)新建文件,输入能实现实验內容1的源程序并以 .ASM为扩展名存盘;(3)运行程序,检查运行结果。2实验内容2的步骤(1)按要求接线,经检查正确,方可通电;(2)新建文件,输入能实现实验内容2旳源程序并以 .ASM为扩展名存盘;(3)运行程序,检查运行结果四实验程序 1参考程序1:ORG 0100H MOV SP,#60H START: MOV P1,#0FFH CALL DELAY MOV P1,#00H CALL DELAY MOV R1,#01H MOV R2,#08H MOV A,R1 MOV P1,A CALL DELAY MOV A,R1 RL A MOV R1,A DJNZ R2 SJMP START DELAY: MOV R5,#10H DELAY1: MOV R4,#0AFH DELAY2: MOV R3,#0FFH DJNZ R3,$ DJNZ R4,DELAY2 DJNZ R5,DELAY1 RET END2参考程序2: ORG 0100H MOV SP,#60H START: MOV P1,#0FFH MOV A,P1 ANL A,#0FH SWAP A MOV P1,A CALL DELAY SJMP START DELAY: MOV R5,#10H DELAY1: MOV R4,#0AFH DELAY2: MOV R3,#0FFH DJNZ R3,$ DJNZ R4,DELAY2 DJNZ R5,DELAY1 RET END五实验报告要求:1画出实验内容1的接线图2对实验內容2的程序加注释附图:图3-1內容1的接线图 图3-2 内容1程序流程图 实验四 外中断一实验目的:1掌握单一外中断系统的接线,中断请求信号的产生及中断方式下程序的编写;2掌握单片机区分多个外中断源的方法,运用延时的方法,探索在多个外中断源请求中断时的自然优先级。二实验内容:1. 由INT1引入外中断请求信号,使P1.4P1.7所连接的发光二极管分别显示P1.0P1.3连接的开关状态。 (“1”亮, “0”灭)2. 将两个外中断源经或非门连接后由INT0引入单片机,在两个外中断请求端连接手动开关K0和K1,由P1口的P1.0、P1.1反映各外中断请求的状态。主程序使P1.2相联的发光二极管交替亮灭,然后分别闭合开关K0或K1,模拟单个外中断源产生的中断。K0引起的中断,使P1.3相连的发光二极管交替亮灭10次后返回主程序;K1引起的中断,使P1.4相连的发光二极管交替亮灭10次后返回主程序;然后同时闭合开关K0、K1,使与P1.3和P1.4相连的发光二极管各交替亮灭10次后返回主程序,以模拟多个外中断同时到来时所产生的中断。三实验步骤:1实验内容1按图4-1接线,设计相应的程序,运行并调试。2实验内容2按图4-2接线,设计相应的程序,运行并调试。四参考程序1参考程序1: ORG 0000H LJMP MAIN ORG 0013H LJMP INTONE ORG 0100H MAIN: MOV SP,#60H MOV IE,#84H CLR IT1 LOOP: MOV A,#0FFH MOV P1,A CALL DELAY MOV A,#00H MOV P1,A CALL DELAY SJMP LOOP ORG 0200H INTONE: PUSH 03H PUSH 04H PUSH 05H PUSH ACC LOOP1:MOV P1,#0FH ;P1的低四位为”1”, 便于输入开关的状态 MOV A,P1 ;读P1片脚 SWAP A ;P1低四位的状态到高四位 MOV P1,A ;从P1囗输出 CALL DELAY JB P3.0,LOOP1 ;要退出中断,便P3.0碰一下地 POP ACC POP 05H POP 04H POP 03H RETI DELAY :MOV R3,#05H DELAY1:MOV R4,#0AFH DELAY2:MOV R5,#0FFH DJNZ R5,$ DJNZ R4,DELAY2 DJNZ R3,DELAY1 RET END2参考程序2 ORG 0000H LJMP MAIN ORG 0003H LJMP INTZERO ORG 0100H MAIN:MOV SP,#60H MOV IE,#81H CLR IT0LOOP::SETB P1.2 CALL DELAY MOV A,#00H CLR P1.2 CALL DELAY SJMP LOOP ORG 0200HINTZERO:PUSH 03H PUSH 04H PUSH 05H PUSH ACC JB P1.0,NEXT0LOOP1: JB P1.1,NEXT1 SJMP NEXT2NEXT0: MOV R2,#0AH LOOP2: SETB P1.4 CALL DELAY CLR P1.4 CALL DELAY DJNZ R2,LOOP2 SJMP LOOP1NEXT1: MOV R2,#0AHLOOP3: SETB P1.5 CALL DELAY CLR P1.5 CALL DELAY DJNZ R2,LOOP3 NEXT2:POP ACC POP 05H POP 04H POP 03H RETI DELAY :MOV R3,#05H DELAY1:MOV R4,#0AFH DELAY2: MOV R5,#0FFH DJNZ R5,$ DJNZ R4,DELAY2 DJNZ R3,DELAY1 RET END 五实验报告要求:记录不成功的实验现象,分析原因。对运行正确的程序加注释,写出总结和体会。图4-1 实验内容1的参考接线图图4-2 实验內容2的参考接线图实验五 定时器/计数器的定时控制一实验目的:掌握定时器/计数器的编程方法及应用。二实验内容: 实现发光二极管闪烁(亮1s,灭1s)。由P1.0连接发光二极管L0, P1.1连接T1。设fosc=6MHZ,T0与T1串联使用。 (T0以方式1定时,T1以方式2计数)。三实验步骤:1. 分析题目要求,绘制简单的接线图;2. 设计相应的程序,运行并调试。四参考程序 ORG 0000H AJMP MAIN ORG 000BH AJMP SFT0 ORG 001BH AJMP SFT1 ORG 0100H MAIN:MOV IE, #8AH MOV IP, #00H MOV TMOD,#61H MOV TH0,#3CH MOV TL0,#0B0HMOV TH1,#251MOV TL1,# 251CLR P1.1SETB TR0SETB TR1SJMP $ORG 0200HSFT1: CPL P1.0 RETIORG 0300H SFT0:MOV TH0,#3CH MOV TL0,#0B0H CPL P1.1 RETI五实验报告要求:1. 分别写出T0的定时初值和T1的计数初值的完整求解过程;2. 写出上述参考程序的注释;3.记录不成功的实验现象,分析原因。整理好运行正确的程序,写出总结和体会。附: 参考图实验六 数据存储器和程序存储器的扩展一. 实验目的:掌握数据存储器和程序存储器的扩展方法。二.实验内容: 1.利用循环赋值程序给内部RAM的30H3FH存储单元分别赋值00H0FH,再将内部RAM 30H3FH存储单元的内容,写至外部RAM的8000H800FH存储单元和8F00H8F0FH存储单元。2.将外部RAM 8F008F0FH存储单元的内容,读入内部RAM 404FH存储单元。3.利用74LS138实现对2片程序存储器2764和1片数据存储器61256的扩展,在图6-1基础上完成所有连线图,并写出各芯片的地址范围。三.实验步骤:1.扩展外部数据存储器61256(存储容量32K),该芯片片选信号RAM CS接至片选CS0。绘制简单的接线图。2.根据实验内容1和2的要求,设计相应的程序,运行并调试。3.更换芯片片选端(如接至片选CS1或CS2),再做实验内容1和2。四. 参考程序 1. 参考程序1: ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV SP,#60H MOV R0,#30H MOV A, #00H MOV R2, #10H LOOP0: MOV R0, A INC A INC R0 DJNZ R2,LOOP0 MOV R2,#10H MOV R0,#30H MOV DPTR,#8000H LOOP1:MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R2,LOOP1 MOV R2,#10H MOV R0,#30H MOV DPTR,#8F00H LOOP2:MOV A,R0 MOV DPTR,A INC R0 INC DPTR DJNZ R2,LOOP2 END 2. 参考程序2: ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#60H MOV DPTR,#8F00H MOV R0,#40H MOV R2,#10H LOOP:MOVX A,DPTR MOV R0, AINC DPTRINC R0DJNZ R2, LOOPEND 五.实验报告要求:1. 写出参考程序1的注译2.记录不成功的实验现象,分析原因。整理好运行正确的程序,写出总结和体会。3.画出实验内容3的接线图,推出各芯片的地址范围。附: 参考图 图6-1程序存储器和数据存储器的扩展实验七 外扩可编程I/O接口芯片8255A一实验目的:1学习8255A的硬件接线和地址分配;2学习8255A的软件编程;3掌握单片机通过并行可编程接口芯片8255A输入 / 输出的方法。二实验内容: 将8255A的A口作为输入口,接8个单刀双掷开关K0K7;B口作为输出口,接8个发光二极管L0L7。开关K0为高电平时,发光二极管L0亮,K0为低电平时,发光二极管灭。三实验步骤:1根据电路具体接线,(接8255的)硧定囗地址;2编写程序,实现8255A的初始化并完成将A口输入的数据从B口输出;3分析题目要求,绘制简单的接线图;4设计相应的程序,运行并调试。四参考程序 将A囗输入的数据从B囗输出的程序如下(接8255的) ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#60H MOV A ,#90H MOV DPTR,#9003H MOVX DPTR, A LOOP:MOV DPTR,#9000H MOVX A,DPTR MOV DPTR,#9001H MOVX DPTR,A CALL DELAY SJMP LOOP DELAY:MOV R3,#05H DELAY1:MOV R4,#0AFH DELAY2:MOV R5,#0FFH DJNZ R5,$ DJNZ R4,DELAY2 DJNZ R3,DELAY1 RET END五实验报告要求:画出电路全图,对上述程序加注释,写出总结和体会。附: 参考图 图 71 单片机控制8255进行输入输出接线图实验八 显示实验一实验目的:1. 掌握LED显示器的接口方法和编程方法;2. 掌握八段数码管LED显示器动态显示的工作原理。二实验内容: 利用WAVE6000实验装置提供的显示电路,把显示缓冲区存储的数据在六位LED数码管上显示出来。可分成二个模块: 赋值模块:给显示缓冲区的各单元赋值。 显示模块:将显示单元的内容在六位LED数码管上动态显示。三实验步骤:1. 按照流程图分析参考程序,在读懂的基础上编写或修改程序;2. 将显示器的片选连接孔KEY/LEDCS与片选口CS0连接;3. 输入编好的程序,汇编并运行。4. 观察程序运行后LED 的显示。5. 按照思考题的要求,修改程序进行实验。四.。参攷程序:在六个LED数码管上从左至右分别显示1、2、3、4、5、6的程序 ORG 0000H OUTBIT EQU 8002H OUTSEG EQU 8004H LEDBUF EQU 60H LJMP START ORG 0100H START: MOV SP,#50H START1: MOV R1,#06HMOV R0,#LEDBUFMOV A, #00H LOOP0: MOV R0,A INC R0 INC A DJNZ R1,LOOP0 CALL DISPLAY SJMP START1 DISPLAY: MOV R0,#LEDBUF MOV A,R0 MOVC A,A+DPTR MOV DPTR,#OUTSEG MOVX DPTR,A MOV DPTR,#OUTBIT MOV A,R2 MOVX DPTR,A MOV R6,#01H CALL DELAY MOV A,R2 RR A MOV R2,A INC R0 DJNZ R1,LOOP2 RET DELAY: MOV R7,#00H DELAY1: DJNZ R7,DELAY1 DJNZ R6,DELAY1 RET LEDTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H, DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H END五.实验电路原理图: 图81显示器段码位码示意图六 参考流程图七实验报告要求:1记录实验现象,分析原因,对上述程序加注释,写出总结和体会。2囬答下列七个问题(1)如果显示5、6、7、8、9、0如何修改程序?(2)LEDTAB(字形码表)每一个码代表什么?(3)如果把CS0改为CS1,程序如何修改?(4)怎样关显示?(5) MOVC 和MOVX 指令有何不同?(6)LEDBUF EQU 60H 是什么指令?什么含义?实验九 键盘扫描和显示实验一实验目的:1进一步掌握LED八段数码管显示器动态显示的工作原理和编程方法2掌握键盘扫描的工作原理和编程方法。二实验内容: 利用WAVE6000实验装置提供的键盘扫描电路和显示电路,完成键盘扫描和显示实验。把按键输入的键码在六位LED数码管上显示出来。可分成三个模块:1. 键输入模块:扫描键盘,读取一次键盘并将键值存入键值缓冲单元。2. 显示模块:将显示单元的内容在六位LED数码管上动态显示。3. 主程序:调用键输入模块和显示模块。三实验步骤:1按照流程图分析参考程序,在读懂的基础上编写或修改程序;2将键盘和显示器的片选连接孔KEY/LED与片选口连接;3输入编好的程序,汇编并运行。4观察程序运行后LED 的显示,按下数字键,再观察LED 的显示。5按照思考题的要求,修改程序进行实验。四 参考流程图图91主程序流程图图92显示子程序流程图 图93取键值子程序流程图五实验电路原理图: 图94输出显示段码、位码及取键值原理图六参考程序 ORG 0000H OUTBIT EQU 8002H OUTSEG EQU 8004H KEYIN EQU 8001H LEDBUF EQU 60H LJMP START ORG 0100H START:MOV SP,#50H MOV R1,#06H MOV R0,#LEDBUF MOV A,#00H LOOP0: MOV R0,A INC R0 INC A DJNZ R1,LOOP0 LOOPM: CALL DISPLAY CALL TESTKEY JZ LOOPM CALL GETKEY ANL A,#0FH MOV R1,#06H MOV R0,#LEDBUF LOOPN:MOV R0,A INC R0 DJNZ R1,LOOPN CALL DELAY LJMP LOOPM DISPLAY:MOV R0,#LEDBUF MOV R1,#06H MOV R2,#02H LOOP1: MOV DPTR,#LEDTAB MOV A,R0 MOVC A,A+DPTR MOV DPTR,#OUTSEG MOVX DPTR,A MOV DPTR,#OUTBIT MOV A,R2 MOVX DPTR,A MOV R6,#01H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度河北省护师类之护士资格证真题练习试卷B卷附答案
- 2025江苏兴化市招聘教师67人笔试备考题库参考答案详解
- 2024年河北邯郸大名县招聘村(居)党务、村务(居务)工作者354名招聘笔试备考试题及一套完整答案详解
- 2025广西来宾市招聘乡村振兴专员221人笔试备考试题及一套完整答案详解
- 2025年东莞市公务员考试行测真题完整答案详解
- 2025年宝鸡市公务员考试行测试卷历年真题及一套完整答案详解
- 2025年辽宁省初中学业水平模拟练习卷物理(8)(含答案)
- 宁夏银川市2024-2025学年高二上学期期中考试物理试卷(解析版)
- 山东省威海市2023-2024学年高二下学期期末考试数学试题(解析版)
- 绿色施工与房产项目的结合
- 贵州国企招聘2025贵州省粮食储备集团有限公司招聘76人笔试参考题库附带答案详解析版
- 检查与检验结果审核制度
- 国开期末考试《城市管理学》机考试题及答案(第11套)
- 新疆维吾尔自治区建筑工程补充预算定额说明
- 学前儿童语言教育课件精品ppt
- 机械原理课程设计--自动打印机
- 蒸发设备操作讲解
- (完整版)电大法律专业专科毕业论文
- 东风汽车零部件编码规则
- CATIA在汽车底盘设计中的应用
- 【简谱】亲爱的旅人啊简谱
评论
0/150
提交评论