单片机实验报告概况通信电子监控_通信电子-电子设计.pdf
北京联合大学 单片机实验报告 学 院:自动化 专 业:班 级:学 号:姓 名:2012 年 12 月 29 日实验 1 单片机实验系统硬软件环境认识 一 实验目的 了解单片机实验板、计算机和仿真器组的连接方法,了解 WAVE仿真软件,学会单步、断点和全速运行的程序调试运行方法,学会察看各存储单元、特殊寄 存器等参数变化情况。二 实验设备 伟福通用微控制器实验系统一台,通用计算机一台,WAVE仿真软件 三 实验内容 1.编写计算 1234H0FE7H的程序(程序 1),要求把和的高 8 位存入 51H单元,和的低 8 位存入 50H单元,并用 WAVE仿真软件调试运行。2.编写一个程序(程序 2),实现将 20H29H内的数据由小到大的顺序排列。四 实验步骤 1观察了解通用微控制器实验系统的硬件组成,及其与通用计算机的连接;打 开计算机可在桌面上看到 WAVE仿真软件图标。2键入实验程序(1)双击桌面上的“WAVE中文版”图标,打开开发环境,选择“模拟仿真”,点击“文件”新建一个汇编程序文件,并以.asm 后缀保存。(2)输入实验程序 1。程序 1 代码:ORG 0000H LJMP MAIN ORG 0000H MAIN:MOV A,#34H ADD A,#0E7H MOV 50H,A MOV A,#12H ADDC A,#0FH MOV 51H,A END(3)点击“项目管理”选择“编译”,注意观察编译结果有无错误。若有的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及错误 打开文件进行修改,若无错误转向下一步。3.运行程序(1)编译无误后,点击“窗口/CPU窗口”以便在寄存器(或特殊寄存器)查 看或送入必要的初始数据;点击“窗口/数据窗口”以便在 RAM数据区 DATA中查看或送入必要的初始数据。点击”执行/复位”(2)观察寄存器的值及 PSW各位的初始状态。(3)点击调试/单步(F8),单步运行各条指令,注意观察有关寄存器的值及 PSW的数据变化。(4)也可点击调试/全速运行(Ctrl+F9)连续运行程序。(5)将运行结果填入表 1。表 1:程序 1 运行结果 地址 A 51H 50H 运行前 00 00 00 运行后 22 22 1B 4.将程序 2输入,并在 20H29H单元中输入 10个数据,点击“执行”选择“全速运行”,并将相关结果记录在表 2 中 程序 2 代码:EXCH_FLAG BIT 7FH ORG 0000H CLR R0 MOV 20H,#36 MOV 21H,#01 MOV 22H,#78 MOV 23H,#23 MOV 24H,#15 MOV 25H,#05 MOV 26H,#75 MOV 27H,#89 MOV 28H,#16 MOV 29H,#07 LJMP MAIN 的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及ORG 0030H MAIN:MOV R1,#20H MOV R5,#10 CLR EXCH_FLAG DEC R5 MOV A,R1 LOOP:MOV R3,A INC R1 CLR C MOV A,R1 SUBB A,R3 JNC NO_EXCH SETB EXCH_FLAG MOV A,R3 XCH A,R1 DEC R1 XCH A,R1 INC R1 NO_EXCH:MOV A,R1 DJNZ R5,LOOP JB EXCH_FLAG,MAIN SJMP$END 表 2:程序 2 运行结果 地址 20H 21H 22H 23H 24H 25H 26H 27H 28H 29H 运行前 24 01 4E 17 0F 05 4B 59 10 07 运行后 01 05 07 0F 10 17 24 4B 4E 59 5.改变 20H29H单元中的 10个数据,调试运行程序将结果记录在表 3 中 表 3:程序 2 运行结果 地址 20H 21H 22H 23H 24H 25H 26H 27H 28H 29H 运行前 21 01 19 17 59 3B 24 31 10 07 运行后 01 07 10 17 19 21 24 31 3B 59 五 思考与总结 1要求数据 1234H和 0FE7H分别存入 31H、30H和 33H、32H单元(高字节在高 地址单元),如何编写程序。ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV 30H,#34H MOV 31H,#12H 的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及MOV 32H,#0E7H MOV 33H,#0FH END 2在程序 2中实现将 20H27H内的 8个数据由大到小的顺序排列,应如何修 改程序?答:LOOP中的 JNC NO_EXC改H为 JC_EXC。H的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及数据块首地址一 R1 循环次数一 R5 0排序结束标志 上一单元数一A X 上一单元数一 R3 下一单元地址一 R1 下一单元数一A 两个单元数比较 上一单元下一单元 i N 1一排序结束标志 两个单元交换数据 下一单元数一A 10个数两两比较完成、了吗?-g 排序标志=1?的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及实验 2 并行输入/输出接口 P1 一实验目的 巩固并行输入输出接口的基本知识,掌握 P1口的使用方法。理解 CPU对 P1 口的操作可以是字节操作,也可以是位操作,每一位可以独立定义为输入输出。熟悉汇编语言对 P1 口操作的编程方法。二 实验设备 伟福通用微控制器实验系统一台,通用计算机一台,WAVE仿真软件 三 实验内容 1 按照图 1将 P1.0P1.3接扳鍵开关,P1.4P1.7接发光二极管。依 据 P1.0P1.3 接扳鍵开关状态控制 P1.4 P1.7 发光二极管点亮。图 1 并行接口实验原理图 四 实验步骤 2分别输入程序,调试并运行,记录实验现象。程序代码:ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV P1,#0FFH L1:MOV A,P1 SWAP A ORL A,#0FH MOV P1,A SJMP L1 END 的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及3将 P1.0P1.7 全部接发光二极管,要实现如下功能:开始 P1.0、P1.1 点亮,左移 50次后,P1.6、P1.7 点亮,右移 30次,循环往复之。试编 制程序并实验之。程序代码:ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV A,#03H MOV R1,#50 LJMP ZY1 MOV A,#0C0H MOV R1,#30 LJMP YY1 LJMP MAIN ZY1:DJNZ R1,ZY2 RET ZY2:DEC R1 MOV P1,A RL A LJMP DL500MS RET YY1:DJNZ R1,YY2 RET YY2:DEC R1 MOV P1,A RR A LJMP DL500MS RET DL500MS:MOV R2,#100 DL1:MOV R3,#10 DL2:MOV R4,#250 DL3:DJNZ R4,DL3 DJNZ R3,DL2 的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及DJNZ R2,DL1 RET END 五 思考与总结 1.在实验程序 2 中,若要将循环次数分别改为 100 和 60,应如何修改程序?答:可直接将程序相应指令的 50和 30改为 100和60,也可以再主程序中分别 调用 2 次左移和右移子程序 2.在实验程序 2 中,若要将循环方向改为先右循环再左循环,应如何修改程序?答:可将主程序中相应的左移和右移部分交换调用次序。3.本次实验你有哪些收获?答:感觉自己学到的东西很有趣,很实用,能用自己的思维将功能要求通过程序 转化为可以实际看到的,很有成就感。的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及实验 3 定时器/计数器 实验目的 巩固定时器/计数器的基本知识,掌握定时器/计数器方式控制字的设定方 法,会应用定时器/计数器实现定时和计数功能。熟悉汇编语言对定时/计数器编 程的方法。二 实验设备 伟福通用微控制器实验系统一台,通用计算机一台,WAVE仿真软件 三 实验内容 按照图 1将P1.7 接发光二极管。要求利用定时器控制使 LED亮一秒停一秒,周而复始。注意:其中长时间延时利用内部计数器方式。四 实验原理 原理图如图 1:图 1 定时/计数器实验原理图 定时/计数器方式控制字:定时器 1:方式 2,计数方式,10 次 初值:F6H 定时器 0:方式 1,定时方式,50ms 初值:3CB0H 五 实验步骤 1根据实验内容要求设计程序并实验之。程序代码:ORG 0000H SETB TR1 LOOP:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 T3_10:JBC TF0,T3_20 LJMP MAIN ORG 0030H MOV TMOD,#61H MOV TH1,#0F6H MOV TL1,#0F6H MAIN:的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及SJMP T3_10 T3_20:CPL P1.0 NOP JBC TF1,T3_30 SJMP LOOP T3_30:CPL P1.7 SJMP LOOP END 2若要使 LED亮 0.5 秒停 0.5 秒循环,应如何修改程序?实验之 答:子程序 LOOP改为 LOOP:MOV TH0,#9EH MOV TL0,#58H SETB TR0 六 思考与总结 1定时器的方式控制字 TMOD应如何确定,其值是多少?答:61H=0110 0001B 2T1、T0的初值是如何刷新的?答:T1没有进行刷新,T0由定时 1s后重新进入 LOOP重装 T0初值 3若要用 R7做计数器计定时器 0 溢出次数实现 1秒钟定时,应当怎样修改程序?答:ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV TMOD,#01H MOV R7,#10 LOOP:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 T3_10:JBC TF0,T3_20 SJMP T3_10 T3_20:CPL P1.0 NOP DEC R7 DJNZ R7,T3_30 SJMP LOOP T3_30:MOV R7,#10 CPL P1.7 SJMP LOOP END 4本次实验你遇到了哪些问题?是如何解决的?答:试验中定时器的初值计算和试验箱的晶振周期不清楚,出现了 LED灯亮灭时 间不符合要求,最的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及后请教老师解决了。的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及实验 4 中断的使用 实验目的 进一步理解中断的概念,掌握使用中断功能的一般方法,识记中断服务程序 的入口地址。理解中断服务程序的编程方法。二实验设备 伟福通用微控制器实验系统一台,通用计算机一台,WAVE仿真软件 三实验内容 由中断信号 INT0 控制 P1.7,并连接发光二极管 LED,使其亮灭交替变换。四实验原理 如图 1:图 1 中断实原理图 五实验步骤 1根据实验内容要求设计程序并实验之。程序代码:ORG 0000H LJMP MAIN ORG 0003H;外部中断 0 入口地址 LJMP EX0_INT ORG 001BH;定时器 T1 中断入口地址 LJMP T1_INT ORG 0030H MAIN:MOV SP,#5FH SETB P3.2;初始化 P3.2 即外部中断口 CLR IT1;初始化定时器 1 中断 CLR PX0;初始化外部 0 中断优先 的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及SETB EX0;外部中断 0 允许 SETB EA;中断总允许 SJMP$ORG 1000H EX0_INT:MOV TMOD,#10H;外部中断 0 MOV TH1,#0DCH;定时器 1 初值 CPL P1.7;脉冲取反 BREAK:RETI END 六思考与总结 1外部中断 0、定时器 1 的中断处理程序入口地址分别是多少?答:0003H,001BH 2给实验程序写出注释。答:注释如上。3修改程序使 LED亮 1 秒灭 1 秒并实验之 4若要使 LED灯在开关 SB打开时总是处于灭的状态,试修改程序并实验之 答:EX0_INT中 JNB P3.2,$之后加一句 CLR P1.7 MOV TL1,#00H SETB TR1 SETB ET1 SETB PT1 MOV R7,#100 JNB P3.2,$CLR TR1 RETI ORG 2000H T1_INT:MOV TH1,#0DCH MOV TL1,#00H DJNZ R7,BREAK MOV R7,#100;启动 T1;允许 T1 中断;T1优先;计数 100 次;无外部中断;由外部中断,停止计;T1初值;R7计满 100 次,跳转 BREAK返回 的了解单片机实验板计算机和仿真器组的连接方法了解学会单步断点和全速运行的程序调试运行方法学会察看各存储单元特殊寄存器等参数变化情况二实验设备伟福通用微控制器实验系统一台通用计算机一台仿真软件仿真软件三实实现将内的数据由小到大的顺序排列四实验步骤观察了解通用微控制器实验系统的硬件组成及其与通用计算机的连接打开计算机可在桌面上看到仿真软件图标键入实验程序双击桌面上的中文版图标打开开发环境选择模拟仿真点击文若有错误打开文件进行修改若无错误转向下一步运行程序编译无误后点击窗口窗口以便在寄存器或特殊寄存器查看或送入必要的初始数据点击窗口数据窗口以便在数据区中查看或送入必要的初始数据点击执行复位观察寄存器的值及