单片机实验指导书02957.doc_第1页
单片机实验指导书02957.doc_第2页
单片机实验指导书02957.doc_第3页
单片机实验指导书02957.doc_第4页
单片机实验指导书02957.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机实验指导书02957 单片机原理及应用实验指导书葛洪军编黑龙江工程学院电子系xx2年4月哈尔滨前前言51系列单片机作为嵌入式系统应用系统中的一员,在大学本科的学习中占有极其重要的地位,被誉为进入高新技术企业的基本敲门砖。 涵盖硬件设计、软件编程等技术门类。 通过对51系列单片机的学习,使学生对嵌入式系统有较深入的理解,对以后进一步研究其他类型的嵌入式系统将有很大的帮助。 单片机作为最典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展,特别适合应用系统对功能、可靠性、成本、体积、功耗严格要求的专用系统。 近年来,除了各种类型的工控机,各种以通用微处理器构成的计算机主板模块、以通用微处理器为核,片内扩展一些外围功能电路单元构成的嵌入式微处理器,甚至单片形态的PC机等,都实现了嵌入式应用,成为嵌入式系统的庞大家族。 当今,单片微型计算机技术迅速发展,由单片机技术开发的智能化测控设备和产品广泛应用到各个领域,单片机技术产品和设备促进了生产技术水平的提高。 单片机以体积小、功能强、可靠性好、性能价格比高等特点,已成为实现工业生产技术进步和开发机电一体化和智能化测控产品的重要手段。 一些高技术企业迫切需要大量熟练掌握单片机技术,并能开发、应用和维护管理这些智能化产品的高级工程技术人才。 本实验指导书内容分为八个实验,涵盖单片机基本应用技能实验,包括基础实验、综合性实验和设计性实验。 为学生后续的单片机及其嵌入式应用系统的学习打下一个基本的技术实验平台。 实验内容以MCS-51系列单片机为应用主体,练习MCS-51单片机指令系统、汇编语言程序设计,并行I/O口的使用,中断系统和定时/计数器、A/D转换接口和D/A转换接口技术、键盘与显示器接口技术等内容。 目录实验1WAVE6000单片机仿真系统简介与汇编仿真调试-1实验2基于ISP下载方式的单片机I/O口驱动LED流水灯硬件仿真实验-3实验3延时扫描方式驱动LED显示的软、硬件仿真实验-5实验4中断扫描方式驱动LED显示的软、硬件仿真实验-6实验5分、秒时钟显示的软、硬件仿真实验-实验6单片机与键盘接口实验-实验7单片机与D/A转换器的接口实验-实验8单片机与A/D转换器的综合接口实验-9验实验1WAVE6000单片机仿真系统简介与汇编仿真调试 一、实验目的 1、熟悉WAVE6000单片机仿真编程环境; 2、应用WAVE6000进行汇编和编译; 3、掌握运用WAVE6000进行软件仿真调试; 4、熟悉51单片机汇编语言指令系统。 二、实验设备计算机一台,WAVE6000集成调试软件 三、实验内容 三、实验内容应用WAVE6000建立一个项目,并在项目的基础上建立一个后缀为.asm文件,将该文件添加到已经创建的项目中,进行汇编语言编程并进行调试。 四、WAVE6000仿真开发环境入门WAVE6000单片机仿真系统是南京伟福实业有限公司开发的一种高性能,低价格的通用单片机开发工具,可用于4位至16位单片机的软、硬件开发和调试。 它由WAVE6000单片机仿真系统硬件和WAVE6000集成调试软件组成。 WAVE6000单片机仿真系统硬件采用大规模在线可编程芯片制造,将整个单片机仿真控制电路、总线跟踪、实时实效分析集成到一片大规模芯片中,仿真CPU外置在防真头上,通过更换不同的仿真头,可对各种单片机进行仿真。 WAVE6000集成调试软件,具有、汇编、编译、调试和软件模拟调试等功能,所有的操作均可通过窗口和菜单来完成。 这些窗口和菜单方便用户编写汇编语言、C语言软件及方便软件的调试,通过查看窗口及程序的单步、断点执行可以直观地反应各个寄存器以及内RAM单元的变化的状态,从而直观地反应程序运行情况,提高软件的开发效率。 其器可以超大型原文件(仅受硬盘大小限制)。 支持汇编语言、C高级语言调试。 本实验是WAVE6000的、汇编、编译、调试和软件模拟调试实验。 点击WAVE6000集成调试软件的图标,进入WAVE6000集成调试软件,如图1所示由于该集成调试软件可以对不同的4位至16位单片机的软、硬件进行开发与调试,所以需要对所仿真调试的CPU进行设置(即选择不同的单片机型号)。 只需要点击仿真设置图标即可改变对不同单片机的仿真。 点击后出现图-2。 对话框共有4个选项为语言、目标文件、仿真器与通信设置。 图-2仿真器设置图标点击仿真设置图标选择CPU图1WAVE6000集成开发环境点击仿真设置图标点击语言选项,出现对话框如图-3所示。 其中,设置应对编译器进行选择,一共有三项,一般选择伟福汇编器即可,当然可以选择keil c(V4)或者keil c(V5)编译器。 选好后不必点击对话框下面的“好”,可以再继续选择目标文件选项。 点击目标文件后,要选择“缺省地址”项,并且选中“生成BIN文件”以及“生成HEX文件”,即在该开发系统中所编的汇编语言文件可以被伟福编译器或者keil c编译器生成可执行的机器语言二进制代码或十六进制代码文件,该文件我们在后面的下载方式的硬件仿真实验中将要使用。 其余选项可以不去选择。 再点击仿真器选项,如图4所示。 选择仿真器处点击E6000/L,选择仿真头处点击POD8X5XP,在进行CPU选择,选择8752项,选择该选项则可以进行对89C 52、图3语言、目标文件对话框图4仿真器设置对话框89S52单片机的仿真。 在对话框的下面选择“使用伟福软件模拟器”,该选项必须选择。 在对话框的下面选择“使用伟福软件模拟器”,该选项必须选择。 由于我们只进行伟福开发软件的模拟仿真,即没有硬件系统,所以可以不进行通信设置。 晶振频率一般会默认12MHz,如果没有出现默认项,则可以输入12000000,即选择系统晶振为12MHz。 选项选择完成后,点击对话框下面的“好”,则仿真器选项设置完成。 此时出现对话框如图5所示。 再点击好,则完成设置。 完成仿真设置后,集成开发环境出现对话框上部出现如图6所示软件模拟器 (8752)UNTITLED。 WAVE6000集成调试开发软件是按项目的方式来管理文件的。 在其他的软件开发环境中使用的是工程的方式管理文件(如keil c开发环境),两者区别不大。 由于使用者没有建立自己的“项目”与“文件”,所以在开发环境的上面出现UNTITLED字样。 编程者必须在开发环境下建立自己的项目与文件。 在建立项目与文件之前,开发者应在计算机的某个盘中建立自己的文件夹。 注意,文件夹必须是英文名称或者汉语拼音名称。 绝对不能出现汉字等,否则不可能进行正确的编译。 开发者应在计算机的某个盘中建立自己的文件夹。 注意,文件夹必须是英文名称或者汉语拼音名称。 绝对不能出现汉字等,否则不可能进行正确的编译。 图5仿真器设置完成对话框图6完成仿真环境设置后图标点击伟福6000文件选项,选择新建项目如图7所示。 点击新建项目后出现图8对话框,要求加入模块文件,由于是编程者第一次创建项目,还没有文件需要包含在该项目中,所以可以选择点击“取消”。 再次点击文件选项中的“保存项目”,出现对话框如图9所示。 图9保存项目对话框点击选择文件夹所在盘并选中该文件夹图8新建项目的模块文件点击取消点击新建项目图7建立新项目该对话框需要编程者在对话框的“文件名(N)”框中输入一个项目名称。 假设编程者在D盘建立一个文件夹,取名为ggg。 点击选中D盘ggg文件夹名称后,就可以在保存文件的对话框中的文件名(N)建立自己的项目名称。 如图10所示。 注意项目名不要加任何后缀。 注意项目名不要加任何后缀。 在ggg文件夹下给出自己给项目起的名字,可以是英文的,也可以是汉语拼音的,假设编程者给出的项目名为GHJ,如图10所示。 点击保存后,则在伟福开发环境的上部出现伟福6000软件模拟器 (8752)D:GGGGHJ.PRJ,如图11所示。 表明编程者的项目已经建立,下面可以进行程序文件的建立、程序的输入与调试等。 在开发环境下点击文件选项,选择“新建文件”,当然,也可以直接点击图11所示的新建文件图标。 出现对话框如图12所示。 文件无名称,所以在对话框上部出现“NONAME1”。 此时编程者可以直接在对话框中输入任何英文文字,再点击如图13所示的保存文件。 则出现对话框如图14所示。 图10在选定的文件夹中建立项目图11项目建立后开发环境图标点击新建文件图标注意建立的汇编语言文件一定要保存在更才所建立的项目文件夹中。 若项目与汇编语言文件不在一个文件夹中,则不能被正确调试执行。 注意建立的汇编语言文件一定要保存在更才所建立的项目文件夹中。 若项目与汇编语言文件不在一个文件夹中,则不能被正确调试执行。 图12新文件对话框点击保存文件图13新建文件的保存图14文件建立与文件名输入在文件名中输入汇编语言文件名称,英文与汉语拼音均可。 注意汇编语言文件名称一定要加上后缀.ASM。 注意汇编语言文件名称一定要加上后缀.ASM。 如图14所示,文件名称shiyan1.asm输入完成后,点击保存即可,则新文件建立完成。 在开发环境中出现如图15所示状态。 图15所示状态表示文件已经建立,并存储在D盘的GGG文件夹,文件名称为shiyan1.asm。 此时编程者可以将图12所示的刚才胡乱输入的几个字符删掉,然后就可以按行图15文件建立后的开发环境显示状态显示文件所在盘符及文件名图16添加模块文件输入汇编语言程序。 前面我们讲过,伟福6000开发环境是通过项目来管理文件的,如果要对shiyan1.asm汇编语言文件进行编译、调试等,则必须要把该文件加入到当前项目的模块文件中,具体做法是鼠标移动到开发窗口的“模块文件”处,然后点击右键,则出现如图16所示界面。 具体做法是鼠标移动到开发窗口的“模块文件”处,然后点击右键,则出现如图16所示界面。 在下拉菜单中选择加入模块文件,当然我们知道模块文件就是我们已经建立的shiyan1.asm文件,一般会默认指向我们建立项目的盘符与文件夹,双击D盘GGG文件夹中的shiyan1.asm(或者选中后点击打开),则该文件加入到所建项目的模块文件中,出现如图17所示,此时表明可以对所输入的汇编语言文件进行编译、调试了。 注意不要选择加入包含文件,否则可能引起错误!在一个项目下可以建立多个文件,多个文件必须和该项目保存在一个文件夹中,只能对加入模块文件中的一个文件进行编译、调试,不能同时加入两个模块文件。 如需要对另一个文件进行调试,可以选择删除当前模块中的文件(只是从模块中删除,文件仍保留在文件夹中),删除方法和加入模块文件差不多,鼠标移动到文件名处,点击右键在下拉菜单中选择从项目中删除即可。 五、实验程序及调试过程 1、实验程序数据传送实验。 将内RAM30H35H中的的数据传送到外RAM的0000H0005H中。 输入下面ASM51汇编程序并进行调试(必须在英文状态下,最好大写方式)。 程序如下ORG0000H AJMPMAIN ORG0030H MAINMOV SP,#0D0H图17加入模块文件后的开发环境DXHMOV30H,#01H MOV31H,#02H MOV32H,#03H MOV33H,#04H MOV34H,#05H MOV35H,#06H CALL CSONG NOP NOP AJMP DXH CSONGMOV R0,#30H MOV DPTR,#0000H MOV R7,#6LOOPMOV A,R0MOVXDPTR,A INC R0INC DPTRDJNZ R7,LOOP RETBCD码转换实验程序假设内RAM40H中有一二进制数,将其转换成BCD码存放在30H、31H、32H中。 ORG0000H AJMPMAIN ORG0010H MAINMOV SP,#0D0H MOV40H,#80H DXHMOV A,40H LCALL BCD_ZH SJMP$BCD_ZH MOVB,#100DIV AB MOV30H,A MOV A,#10XCH A,B DIVABMOV31H,A MOV32H,B RET 2、调试过程程序输入完成后,可以进行汇编语言的编译、调试工作。 在进行编译、调试之前,对开发环境状态栏的一些按钮进行熟悉,包括上部状态栏按钮与下部状态栏按钮。 如图 18、19所示。 图19下部状态栏按钮作用指示编译信息栏程序代码窗口外扩展RAM显示窗口内RAM显示窗口图18上部状态栏按钮作用指示编译按钮全速执行按钮复位按钮跟踪执行按钮单步执行按钮忽略断点全速执行按钮CPU窗口按钮图18中的上部状态信息栏有编译按钮,对已输入的汇编语言文件进行编译,变成可执行的机器语言文件(二进制代码文件)。 当文件编译完成后(没有错误时),在图19的状态信息栏中显示保存目标文件DGGGGHJ.HEX(0000H0058H)保存目标文件DGGGGHJ.BIN(0000H0058H)此时显示该文件已被正确编译,其中显示的0000H0058H表示该文件生成的可以执行文件的大小,即占用程序存储空间的大小。 如果文件输入有错误,则点击编译后,可以在信息栏中直接显示出错误行,如图20所示。 直接双点击现实的错误信息,系统会直接指向汇编语言出现错误处,仔细查看并修改后,重新进行编译,直至所有错误被消除后,才能完成正确编译并被调试、执行。 状态信息栏框的上部有四个切换按钮,分别是项目窗口钮按钮Project,显示当前项目下所编译调试的文件;常用寄存器窗口显示钮按钮REG,显示最常用的寄存器内容;特殊功能寄存器窗口钮按钮SFR,显示所选型号单片机全部特殊功能寄存器的内容;查看窗口钮按钮Watch,显示所编译文件及单片机一些特殊功能寄存器的信息。 初学者一般选择点击REG窗口,根据调试情况,查看最常用的寄存器内容的变化情况。 图18中的复位按钮,当点击复位按钮后,在状态信息栏的下部(见图19底部)显示PC0000的状态指示,还包括DPTR、累加器A、程序状态字PSW及栈指针SP的信息。 显示单片机复位后这些寄存器的状态。 当然也可以通过点击REG窗口以及SFR窗口查看点击复位后的单片机各个寄存器的状态。 当点击复位按钮后,在文件框的上部有一个绿色条,文件框的边缘有一个箭头指向绿色条。 表示程序计数器PC指向要执行的第一条指令,此时可以进行软件的仿真调试,可以点击单步执行按钮,程序单步执行就是只执行一条指令,点按单步图20编译后信息栏错误提示按钮可以在REG查看各个寄存器的状态,点击图19的内RAM显示窗口,也可以查看单片机片内RAM的个单元的变化状态。 本实验室将内RAM单元30H35H但中的内容传送到外扩展RAM的0000H0005H中,共传送6个数据,由于我们是模拟仿真实验,所以可以查看虚拟外扩展RAM的数据传送情况,可以点击外扩RAM查看窗口,通过单步执行程序查看相应外扩展RAM单元的变化状态。 当所输入的汇编语言文件通过编译后,可以点击程序代码窗口,查看生成机器语言情况。 也可以点击如图18所示的CPU窗口按钮,查看每条语句对应生成机器语言代码状况,此时出先disassembly窗口,显示每条汇编语言对应的二进制代码。 可以把鼠标放在disassembly上,点击右键选择关闭该窗口。 断点设置,程序调试往往需要断点设置。 所谓断点设置(或者断点调试)是指当程序全速执行到设置的断点处时,程序会停止运行,也就是停止到所设置的断点处。 这种情况特别适合要调试某一段子程序,可以在子程序的调用指令处设置断点(也称入口处设置断点)。 设置方法是将光标放到要设置断点的指令处,然后点击工具条中的执行选项,选择设置/取消断点,这时在指令处出现红色条纹显示,说明断点设置完成,若要取消断点则可重复上述过程。 3、实验要求 (1)编译该程序,如程序有错,则在信息栏中有错误信息行提示,双击该行信息则指向错误语句行,修改后重新编译。 (2)编译无误后,在状态栏打开寄存器窗口,寄存器窗口显示对应所选51系列单片机机型中当前工作寄存器及特殊功能寄存器的状态。 (3)在状态栏打开DATA窗口,该窗口显示单片机内部RAM的当前值。 (4)在状态栏中单击复位按钮,可观察复位后时的PC值及其他寄存器复位时的值。 (5)单步执行该程序,观察各寄存器的变化,内部RAM区的变化。 (6)打开XDATA区,观察0000H0006H中的数值变化。 (7)设置断点运行。 在CALLCSONG语句处及LCALLBCD_ZH处设置断点,复位后,点击全速运行,运行至断点处后,在点击跟踪运行,观察SP的变化,各寄存器的变化,内部RAM区的变化。 对第一个程序打开XDATA区,观察0000H0005H中的数值变化。 (8)在工具拦中打开CPU窗口,观察被编译后每条语句对应的程序代码。 六、实验报告及要求 1、在实验报告中抄写实验程序,并在每条程序旁加上被编译后的CODE代码。 2、实验数据,按给定表格添表并加以分析。 3、写出完整的实验报告(实验目的,实验设备,实验内容(含实验程序),实验步骤,实验结果及分析,思考题)。 七、思考题 1、单片机复位后的PC值及P1P3口的值,IE及TMOD值 2、语句MOV SP,#0D0H的目的。 3、如何设置断点和取消断点? 4、跟踪运行和单步运行有何不同? 八、预习要求复习MCS-51的指令系统,重点掌握伪指令、数据传送指令、乘除法指令及子程序调用指令的使用方法,熟悉子程序的调用过程。 参考表格表一内RAM地址单元内容外RAM单元内容验实验2基于ISP下载方式的单片机I/O口驱动LED流水灯硬件仿真实验 一、实验目的 1、掌握通过ISP技术给单片机下载程序的方法。 2、熟悉数字系统综合实验箱硬件环境,建立单片机硬件实验环境。 3、熟练使用WAVE6000仿真软件,并进一步掌握使用WAVE6000进行软件调试。 4、掌握单片机I/O口编程,熟悉ISP下载软件使用方法。 二、实验设备计算机一台,WAVE6000集成调试软件,ISP下载软件,数字系统综合实验箱一台。 三、实验内容在数字试验箱的实验系统上搭建如图1所示电路。 单片机的P0口接8个发光二极管,采用反逻辑的驱动方法,即给P0口的某个引脚置0时发光二极管点亮。 现要求用程序控制8个发光管的亮暗,包括实现流水灯等效果。 最后通过ISP软件将汇编后的程序下载到单片机,观察运行结果。 四、数字系统综合实验箱介绍 1、实验箱总体布局 四、数字系统综合实验箱介绍 1、实验箱总体布局数字系统试验箱是集单片机实验、FPGA实验的综合实验系统。 通过实验箱上的线路连接,可以进行单片机I/O接口实验、LED显示驱动实验、键盘接口实验、D/A换转实验、A/D转换实验等。 本实验要求学生动手自己连接,将P0口引出的接线端子与8个LED灯引出的接线端子连接。 试验箱的总体布局如图2所示。 在数字综合系统实验箱中,共分为13个模块。 其中,单片机最小系统采用STC型单片机构成,该型单片机与51系列单片机完全兼容。 其优点是容易将编程者编好AT89S52P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.71K8+5V图1P0口驱动8位LED原理图3938373635343332的计算机程序下载到单片机中,极易实现单片机的硬件仿真实验。 单片机的P0P3口全部接上拉电阻,P0P3口可通过接线端子连接到相应的模块组成具体的实验电路,实现单片机不同接口的实验要求。 试验箱配备ISP下载的USB转串口的专用连接线一根,一端与计算机的USB接口连接,另一端与该接口连接。 配备电源线一根,连接220V电源至实验箱,实验箱左侧配有电源开关,其内部将220V电源经变压、整流稳压后,给试验箱各个模块提供电源。 2、实验电路的连接 2、实验电路的连接本实验是单片机的P0口驱动8个LED,实现用程序控制8个发光管的亮暗,包括实现流水灯等不同效果。 要求学生使用连接排线将P0口与LED灯接口实验模块的接线端子相连接,构成如图1所示的硬件实验电路。 五、实验程序及调试过程 1、实验程序本实验可实现8个发光二极管交替亮灭,实现亮一秒灭一秒显示。 还可以实现只有一个LED灯流水方式点亮。 当然,可以实现多种方式的LED亮灭实验过程,单片机最小系统模块LED显示实验模块ISP下载接口USB转串下载D/A转换实验模块A/D转换实验模块矩阵式按键接口实验模块I2C及E2PROM实验模块LED灯接口实验模块FPGA核心单元数字电路实验单元模块交通灯、静态显示电路实验单元模块辅助仪表模块蜂鸣器及温度传感器、SPI接口实验图2数字系统综合试验箱电路总体布按键接口实验模块开关接口实验模块学生可以自己根据希望的方式进行编程实现。 打开伟福6000开发软件,输入下面ASM51汇编程序并进行调试(必须在英文状态下,最好大写方式)。 8个发光管间隔交替亮暗,亮1s灭1s的实验程序如下MAINMOV A,#55H LOOPMOVP0,A LCALL DEL_1S CPLA SJMPLOOP DEL_1SMOV R5,#20D3MOV R6,#200D2MOV R7,#123D1DJNZ R7,D1DJNZ R6,D2DJNZ R5,D3RET END只有一个灯亮循环点亮的程序如下MAINMOV A,#0FEH LOOPMOVP0,A LCALLDEL_1S RL A SJMPLOOP DEL_1SMOV R5,#20D2MOV R6,#200D1MOV R7,#123DJNZ R7,$DJNZ R6,D1DJNZ R5,D2RET END 2、调试过程程序输入完成后,可以进行汇编语言的编译、调试,直至汇编语言文件调试通过伟福6000的软件仿真。 通过单步调试、断点调试,在SFR窗口查看P0口的变化状况。 在仿真窗口的信息栏中可以看到生成的可执行的十六进制文件,参看实验1中的图19。 在图19中,生成的可执行十六进制(或二进制)文件与编程者所建立的项目名称一致,窗口显示出生成的十六进制可执行文件存储在编程者所建立项目的所在盘符及所在文件夹位置。 ISP下载方式实验,即将该程序下载到单片机中进行硬件仿真实验。 ISP下载方式介绍在计算机的桌面或从计算机开始处点击运行ISP下载程序,名称为STC_ISP_V480,出现如图3所示界面。 在图3所示界面中,首先要进行Step1(步骤1)MCU Type(单片机型号)选择。 实验箱中单片机型号为STC89LE52RC。 不能选择错误,否则将不能进行正确下载实验。 不能选择错误,否则将不能进行正确下载实验。 Step3(步骤3)下载界面中的(下载通讯)端口选择,需要编程者确认单片机的下载数据接口与计算机USB端口哪一个相连接,当计算机的USB与单片机的下载数据接口连接后,打开电源,将鼠标放置到“我的电脑”然后点击右键,图3ISP下载软件界面再点击“管理”,在打开的对话窗口中点击“设备管理器”,再使用鼠标点击“端口”前面的“+”,在这里可以查看到USB串行口连接的具体是哪一个端口。 显示应该为Prolific USB-to-serial CommPort(4)。 其中括号内的4即为实际下载的连接端口。 应该在ISP下载软件的选择上选4端口。 如图3所示。 Step2(步骤2)、Step4(步骤4)的选项应该严格按照图3ISP下载软件界面所示方式选择。 Step5(步骤5)的选项也要严格按图3所示的方式点击对沟,这样的选择使当前调试编译的程序重复下载到单片机中,而不用每次都要选择是对哪个盘中哪个文件夹中的可执行文件进行下载。 选择完成后,点击打开程序文件,选择要下载的文件所在位置,该文件必须是被编译完生成的十六进制可执行文件,其后缀为.HEX。 然后点击“download/下载”,将点击下载后,按一下数字试验箱的单片机模块上的按钮,目的是将STC单片机断电一次,这是该机型下载的要求,必须这样进行。 单片机断电一次,这是该机型下载的要求,必须这样进行。 程序下载后,单片机开始执行下载到单片机的程序,编程者可以具体查看软件的执行过程是否能反应出编程者的目的要求。 如果不对,则可在重新在伟福6000上重新进行编程,再次进行下载,直至达到要求为止。 对第二个程序进行软件的、调试编译及下载的硬件实验过程,如果可能将延时子程序的延时时间改变一下,观察其改变后的硬件显示效果。 3、实验要求 (1)编译该程序,如程序有错,按照第一个实验的排错过程进行排错。 (2)编译无误后,打开相应状态栏窗口,进行软件模拟运行。 观察P0口各个引脚在单步执行时的变换状态。 该状态对应硬件的工作情况。 (3)通过单步运行调试延时子程序的延时时间,达到1S要求为止。 (4)在工具拦中打开CPU窗口,观察被编译后每条语句对应的程序代码。 六、实验报告及要求写出完整的实验报告(实验目的,实验设备,实验内容(含实验程序),实验步骤,实验结果及分析,思考题)。 七、思考题 七、思考题如果P0口、P1口共连接16个LED灯,画出硬件原理图,并编程实现16个发光管间隔交替亮暗,亮1s灭1s的实验程序。 八、预习要求预习伟福6000软件仿真实验软件,含项目的建立、文件的建立及使用方法等。 预习ISP下载软件界面的使用方法。 验实验3延时扫描方式驱动LED显示的硬件仿真实验 一、实验目的 1、掌握通过ISP技术给单片机下载程序的方法。 2、熟悉数字系统综合实验箱硬件环境,建立单片机硬件实验环境。 3、熟悉并掌握利用伟福6000开发软件的编程、模拟调试过程。 4、熟悉并掌握LED显示的硬件接口设计方法,并进一步掌握采用延时扫描方式驱动LED的程序设计方法。 二、实验设备计算机一台,WAVE6000集成调试软件,ISP下载软件,数字系统综合实验箱一台。 三、实验内容在数字试验箱上配有驱动LED数码管的实验电路。 参看实验2中的数字系统综合实验箱的总体布局图中的LED显示模块。 其在实验模块中的4位LED驱动电路如图1所示。 其中,数码管LED采用共阳极,各个显示段可以通过连接导线与P0口相连形成段选电路,因为采用共阳极接法,4位LED的阳极公共端通过4个PNP型三极管与+5V电源连接。 P2口的P2.4P2.7通过2k电阻连接到4个三极管的基极,控制三极管的导通,从而形成位选电路。 实验箱上的LED显示模块上有8位排式开关,向上推到on出,则P0口的8根线通过8个200电阻与LED的段选线(a、b、c、d、e、f、g、dp)相连接,4位排式开关+5V ab cd ef gdp 12342008P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0P2.4P2.5P2.6P2.72k4图14位LED驱动电路AT89S52向上推到on出,则P2口的P2.4P2.7通过2k电阻连接到4个三极管的基极。 如果将排式开关向下推,则P 0、P2口线与之断开,此时学生可以通过连接导线进行连接。 实验内容要求采用延时方式编程驱动4位LED。 四、实验程序及调试过程本实验是4位LED的延时动态驱动显示实验。 假设在内RAM的30H33H有待显示的4位BCD码,在程序中给出了BCD码。 1、实验程序如下ORG0000H AJMPMAIN ORG0030H MAIN:MOVSP,#0D0H MOV30H,#01MOV31H,#02MOV32H,#03MOV33H,#04MOV R0,#30H MOV R2,#0EFH MOV R3,#4DXH:LCALL QUDONGLCALLDEL_2ms TC11:AJMP DXHQUDONG:MOV A,R0MOV DPTR,#DMB MOVCA,A+DPTR MOVP0,A MOVP2,R2INC R0MOV A,R2RL A MOV R2,A DJNZ R3,TC MOV R0,#30H MOV R2,#0EFH MOVR3,#4TC:RET DMB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H修改变量,指向下一位要显示的BCD码所在单元,位选指向下一位通过查表找出该位BCD显示的段码,输出该位段码位选择输出,指示显示哪一位判断4位都扫描完成了吗?如果没有则返回,如果完成了要重新指向第一位,变量重新赋值DEL_2ms:MOVR5,#4D1:MOVR6,#250D2:DJNZ R6,D2DJNZR5,D1RET 2、调试过程程序输入完成后,可以进行汇编语言的编译、调试,直至汇编语言文件调试通过伟福6000的软件仿真。 通过单步调试、断点调试,在SFR窗口查看P0口的变化,即通过查表指令后输出在P0口的内容是否是共阳极显示段码的值,同时查看P2口的变化情况,P2的变化显示出哪一位LED将被驱动点亮。 调试延时2ms的延时子程序是否基本正确。 调试完成后可以进行ISP下载,即将该程序下载到单片机中进行硬件仿真实验,观察显示效果。 3、实验要求 (1)编译该程序,如程序有错,按照排错过程进行排错。 (2)编译无误后,打开相应状态栏窗口,进行软件模拟运行。 观察P 0、P2口的输出状态,该状态对应硬件的工作情况。 (3)选择断点运行,通过单步运行调试延时子程序的延时时间,达到2ms延时要求为止。 (4)完成正常显示后,考虑在第三位显示LED上加上小数点?在原来的软件上加一些语句,重新编译下载后,看看能否实现? (5)在原有软件基础上能否让第一位LED实现从09每秒一次的变化呢? 五、实验报告及要求写出完整的实验报告(实验目的,实验设备,实验内容(含实验程序),实验步骤,实验结果及分析,思考题)。 六、思考题 六、思考题如果P0口、P2口共连接8个LED显示器,画出硬件原理图,并编程实现8个LED显示的实验程序。 七、预习要求预习伟福6000软件仿真实验软件,含项目的建立、文件的建立及使用方法等,掌握利用伟福6000的软件模拟调试方法。 熟悉ISP下载实验方法。 附/*软件延时显示4位LED的C语言程序*/#include#include#includeunsigned chardata disdata4=1,2,3,4;unsigned charcode xtab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;int yy1=0;void display(unsigned chari,unsigned charj)P0=xtabdisdatai;P2=j;void delay_2ms(unsigned charcount1)unsigned chari,j;for(i=0;i (1)display(count,yiwei);delay_2ms (3);count+;yiwei=yiwei3)count=0;yiwei=0x10;if(yy1=300)yy1=0;disdata2+;if(disdata29)disdata2=0;验实验4中断扫描方式驱动LED显示的硬件仿真实验 一、实验目的 1、掌握通过ISP技术给单片机下载程序的方法。 2、熟悉数字系统综合实验箱硬件环境,建立单片机硬件实验环境。 3、熟悉并掌握利用伟福6000开发软件的编程、模拟调试过程。 4、掌握中断方式下的程序设计,熟悉并掌握采用中断扫描方式驱动LED的程序设计方法。 二、实验设备计算机一台,WAVE6000集成调试软件,ISP下载软件,数字系统综合实验箱一台。 三、实验内容实验模块中的4位LED驱动电路如图1所示。 搭建实验电路与实验3完全相同。 各个显示段可以通过连接导线与P0口相连形成段选电路,4位LED的阳极公共端通过4个PNP型三极管与+5V电源连接。 实验要求采用定时器1中断定时扫描方式实现对4位LED数码管进行显示。 四、实验程序及调试过程 四、实验程序及调试过程本实验是4位LED的中断动态驱动显示实验。 利用定时器1定时2ms的方式实现4位LED的动态显示过程。 假设在内RAM的30H33H有待显示的4位BCD码,在程序中给出了BCD码。 1、实验程序如下+5V ab cd ef gdp 12342008P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0P2.4P2.5P2.6P2.72k4图14位LED驱动电路ORG0000H AJMPMAIN ORG001BH;定时器1中断入口地址LJMP TI_ZDXS ORG0030H MAIN:MOVSP,#0D0H;定义栈指针MOV TMOD,#10H;定义定时器1的工作方式MOV TCON,#00H;定时器运行控制器清0MOV TH1,#0F8H;给定时器1赋初值MOV TL1,#30H MOV30H,#01;给RAM的30H33H赋待显示的4位BCD码MOV31H,#02MOV32H,#03MOV33H,#04MOVR0,#30H;R0指向要显示单元首地址MOVR2,#0EFH;位选驱动扫描模式MOVR3,#4;显示几位LED SETBEA SETBET1SETB TR1DXH:NOPNOPAJMPDXHTI_ZDXS:MOVA,R0MOVDPTR,#DMB MOVCA,A+DPTR MOVP0,AMOVP2,R2INCR0MOVA,R2RLAMOVR2,A DJNZR3,TC MOVR0,#30H MOVR2,#0EFH MOVR3,#4TC:MOV TH1,#0F8H MOVTL1,#30H RETIDMB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H 2、调试过程程序输入完成后,可以进行汇编语言的编译、调试,直至汇编语言文件调试通过伟福6000的软件仿真。 在中断入口处设置断点,点击全速运行看是否在中断入口处停止,重复点击查看工具栏下面的执行时间,该时间反应多长时间进入中断一次,既反应出中断定时是否为2ms。 随后进行跟踪调试,进入中断服务程序单步执行,在SFR窗口查看P0口的变化,即通过查表指令后输出在P0口的内容是否是共阳极显示段码的值,同时查看P2口的变化情况,P2的变化显示出哪一位LED将被驱动点亮。 调试完成后可以进行ISP下载,将该程序下载到单片机中进行硬件仿真实验,观察显示效果。 3、实验要求 (1)编译该程序,如程序有错,按照排错过程进行排错。 (2)编译无误后,打开相应状态栏窗口,进行软件模拟运行。 观察P 0、P2口的输出状态,该状态对应硬件的工作情况。 (3)选择断点运行,将断点设置在中断程序入口处,用于调试当定时时间到后是否能进入到中断程序。 同时检验中断延时是否为2ms。 如果不是2ms,可以重新设置定时其初值。 (4)完成正常显示后,考虑在第三位显示LED上加上小数点?在原来的软件上加一些语句,重新编译下载后,看看能否实现? (5)在原有软件基础上能否让第四位LED实现从09每秒一次的变化呢? 五、实验报告及要求写出完整的实验报告(实验目的,实验设备,实验内容(含实验程序),实验步骤,实验结果及分析,思考题)。 六、思考题 六、思考题如果采用T0定时器编程中断定时显示,程序如何改写?画出单片机扩展2片74HC377实现扩展8位LED(共阴极)的电路原理图。 七、预习要求 1、预习中断入口地址及中断编程技术,定时器的工作方式、初值的计算及设置方法。 2、预习伟福6000软件仿真实验软件的使用,掌握利用伟福6000的软件模拟调试方法。 熟悉ISP下载实验方法。 附/*带小数点的中断扫描显示*/#include#include#includeunsigned chardata disdata4=5,7,2,0;unsigned charcode xtab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned chari,yiwei=0x10;unsigned intx1=0;void display()interrupt3if(i=2)P0=xtabdisdatai&0x7f;elseP0=xtabdisdatai;P2=(yiwei);yiwei=yiwei9)disdata0=0;实验5分、秒时钟显示的硬件仿真实验 一、实验目的 一、实验目的 1、掌握通过ISP技术给单片机下载程序的方法。 2、熟悉数字系统综合实验箱硬件环境,建立单片机硬件实验环境。 3、熟悉并掌握利用伟福6000开发软件的编程、模拟调试过程。 4、掌握中断方式下的程序设计,掌握中断保护过程。 熟悉主程序的一般设计方法。 二、实验设备计算机一台,WAVE6000集成调试软件,ISP下载软件,数字系统综合实验箱一台。 三、实验内容实验电路采用与实验4的中断方式显示LED实验完全相同,如图1所示。 要求学生动手搭建实验电路。 电路共有4位LED显示,要求学生在原有中断扫描显示的程序中,实现2位LED显示秒,60进制,另外2个LED显示分,也采用60进制,秒计数到60后向分计数加一,分计数到60后清0的过程。 要求学生独立编程实现,利用ISP下载到单片机实现秒、分的实验要求。 四、实验程序及调试过程 四、实验程序及调试过程 1、实验程序本实验是在中断定时方式动态扫描显示4位LED的程序基础上,要学生自主设计实现分秒的计数显示程序。 设计中要考虑中断过程的保护问题,比如,主程中要+5V ab cd ef gdp 12342008P0.7P0.6P0.5P0.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论