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

下载本文档

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

文档简介

单片机实验指导书部分 实验十六Keil C51集成开发环境的使用练习DP-51PROC快速入门DP-51PROC单片机综合仿真实验仪是由广州致远电子有限公司设计的基于Keil C51集成开发环境下的DP系列单片机仿真实验仪之一,是一套功能强大的单片机应用技术学习、调试、开发工具,是单片机教学的好帮手。 DP-51PROC单片机综合仿真实验仪向用户提供了丰富的外围器件和设备接口,可使用户快速掌握单片机原理及其实用接口技术。 同时,基于Keil C51集成开发环境下的TKSMonitor51仿真器具有硬件仿真的功能,可以在Keil uVision2环境下学习编写、调试单片机程序,是一套性能完美的MCU综合实验系统。 通过学习,学生可以掌握运用单片机进行项目开发的过程、步骤和方法,积累一定的调试方法、技巧。 在学习使用DP-51PROC单片机综合仿真实验仪前,用户有必要了解Keil C51集成开发环境。 1.Keil C51简介DP-51PROC单片机综合仿真实验仪在自身强大硬件功能基础之上集成了Keil C51开发调试软件,使用户能够较轻松、快捷的掌握硬件设计方法和软件编程技巧。 实验用计算机中提供了测试版Keil C51V7.0软件,其中包含了一些示范程序和一些受限制的工具。 Keil C51测试版工具软件在功能、创建应用程序和程序代码长度方面都有限制,对于大型应用程序或需要功能更全的Keil C51软件,则需要购买正版的Keil C51软件。 Keil C51Vision2集成开发环境是Keil Software,Inc/Keil ElektronikGmbH开发的基于80C51内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理,编译,连接,目标代码的生成,软件仿真,硬件仿真等完整的开发流程。 Keil C51的使用请根据课堂指导并参看教材中的介绍。 以下简要介绍工作模式选择和调试前的准备工作Vision2的2种工作模式分别是Use Simulator(软件模拟)和Use(硬件仿真)。 其中Use Simlator选项是将Vision2调试器设臵成软件模拟仿真模式,在此模式下不需要实际的目标硬件就可以模拟80C51微控制器的很多功能,在准备硬件之前就可以测试您的应用程序,这是很有用的。 Use选项有高级GDI驱动(TKS仿真器)和Keil Monitor51驱动(适用于像DP-51PROC单片机综合仿真实验仪的用户目标系统),运用此功能用户可以把Keil C51嵌入到自己的系统中,从而实现在目标硬件上调试程序。 若要使用硬件仿真,则应选择Use选项,并在该栏后的驱动方式选择框内选这时的驱动程序库。 在此由于只需要调试程序,因此用户可以选择软件模拟仿真,在图16-1中Debug栏内选中UseSimulator选项,点击确定命令按钮加以确认,此时Vision2调试器即配臵为软件模拟仿真。 2图16-1Debug设臵窗口调试前的准备工作1.硬件环境 (1)检查串口通信电缆,一端连接TKSMonitor51仿真器的RS-232串行通信口,而另一端则连接到PC机的串口上(1或2)。 (2)打开实验仪的工作电源,此时即为仿真调试准备好了硬件环境。 2.软件调试环境的设臵 (1)点击菜单栏上的Project项,会弹出下拉式菜单,这时选择Option fortargettarget1将出现如图16-2所示的调试环境设臵界面。 3图16-2调试环境设臵窗口 (2)第1项Target属性的设臵,对于在TKSMonitor51仿真器上进行的仿真、调试,由于MON51监控程序已经占用了从0000H7FFFH地址单元的程序存储空间,因此用户的应用程序必须从8000H地址单元开始存放,即用户应设臵OffChip CodeMemory栏内的Eprom选项。 (4)Debug环境的设臵首先选择Debug项,进入如图16-3所示的设臵画面,这时就可以对其中的每项进行具体设臵了,当然您完全可以按照图16-3进行设臵(要点在该选项中Use Simulator是软件模拟仿真,它只能对程序的语法及其结构做一般性的分析,与硬件没有联系;而Use选项则是硬件仿真,且根据所选用的驱动而使用不同的硬件仿真方式,对于TKSMonitor51仿真器而言应该选择Keil Monitor51Driver选项)。 同时它的Settings项还为我们提供了一个串口通信设臵环境,通过它我们可以灵活设臵串行通信的端口和波特率,其设臵环境如图16-4所示,但请注意由于在调试模式下,TKSMonitor51仿真器需要与上位机进行通信,因此它们的通信协议必须一致,波特率也必须相同且为9600bps。 当然要进入系统调试环境设臵我们也可以点击工具栏上的快捷图标进入到环境设臵窗口,Keil C51集成开发环境为我们提供了很多这样的快捷功能,好好利用往往能达到事半功倍的效果。 4图16-3Debug调试环境设臵图16-4串口属性设臵 (5)至于其它的选项用户可按默认值进行设臵或不用设臵,最后点击确定加以确认。 - 一、实验目的熟悉Keil C51集成开发环境的使用方法;掌握8031内部RAM和外部RAM的数据操作,从而了解这两部分的特点和应用。 二、实验设备IBM PC机一台,DP-51PROC单片机综合仿真实验仪一台。 一、实验中应注意的问题a)片内数据传送指令MOV和片外数据传送指令的区别;b)探求如何监控程序执行中各类存储器的变化;c)实验结果的体现形式是什么? 二、实验内容和步骤编程58051内部RAM404FH置初值000FH,然后404FH单元内容传到外部RAM的4800480FH单元中;4800480FH传送到8031内部RAM的505FH。 运行程序,验证实验结果。 参考程序ORG8000H RESET1MOV R0,#40H MOV R2,#10H CLR A A1MOVR0,A INCR0INC ADJNZ R2,A1;MOV R0,#40H MOVDPTR,#4800H MOV R2,#10H;A2MOV A,R0MOVXDPTR,A INCR0INC DPTRDJNZ R2,A2MOV R0,#50H MOVDPTR,#4800H MOV R2,#10H A3MOVX A,DPTR MOVR0,A INCR0INC DPTRDJNZ R2,A3END五思考题1.Keil C51集成开发环境集成了哪几个主要功能?2.调试环境怎样进行修改和调整?3.如何监控存储器内容?4.CPU对8051内部RAM和外部RAM存贮器都有哪些寻址方式,为什么8031最适合于智能仪器和控制型的应用场合?实验十七单片机I/O口控制实验 一、实验目的利用单片机的P1口作IO口,使用户学会利用P1口作为输入和输出口。 二、实验设备IBM PC机一台,DP-51PROC单片机综合仿真实验仪一台。 三、实验内容1编写一段程序,用P1口作为控制端口,使D1区的LED轮流亮。 2编写一段程序,用P1.0P1.6口控制LED,P1.7控制LED的亮和灭(P1.7接按键,按下时LED亮,不按时LED灭。 ) 四、实验要求学会使用单片机的P1口作IO口,如果有时间用户也可以利用P3口作IO口来做该实验。 五、实验步骤1用40针排线把DP-51PROC实验仪上的A1区J76接口和A2区J79接口相连,然后使用排线把A2区的J61接口与D1区的J52接口相连。 2.用导线把A2区的J61接口与D1区的J52接口相连。 原理如图17-1所示。 图17-1实验十七原理图3先编写一个延时程序。 4将LED轮流亮的程序编写完整并调试运行。 5使用导线把A2区的J61接口的P1.0P1.6与D1区的J52接口的LED1LED7相连,另外A2区J61接口的P1.7与D1区的J53的KEY1相连。 原理如图2B所示。 6编写P1.7控制LED的程序,并调试运行。 (按下K1看是否全亮)7A2区J61接口的P1.7与D1区的J54的SW1相连。 然后再运行程序,查看结果。 8.如果用户在退出仿真调试模式后想再次进入仿真调试,可以先按一下TKSMonitor51仿真器的复位键(RST)。 用户可以在仿真调试环境下设置断点,单步,全速运行等。 六、实验思考题 (1)请用户思考一下,想出几个实现以上功能的编程方法。 (2)请用户再思考一下,第二个程序中如果使用KEY1作为外部中断控制LED的亮和灭时,程序应如何修改。 实验十八7可编程并行口的扩展 一、实验目的 1、掌握8255A芯片的结构及编程方法,控制字的定义; 2、掌握通过8255A并行口输出控制的方法。 二、实验设备IBM PC机一台,DP-51PROC单片机综合仿真实验仪一台。 三、实验内容及连线方法1.安装8255实验PACK板至PARK2区;2.接线方法A7区的P2_IO 1、P2_IO 2、P2_IO5和P2_CS分别至A2区A 8、A 9、A 10、A15;3.用排线连接8255PACK的J1至D1区的J52。 试编程实现之,观察LED情况。 四、思考题 1、8255能否与8031直接相连? 2、8255控制寄存器、A口、B口、C口如何编址?改为A口为输入口、B口为输出口,应做怎样的修改?8255A控制字1D6D5D4D3D2D1D00001000D71D6D500A口工作在方式0D40A口为输出方式D20B口为方式0D10B口为输入口方式0基本I/O输出鎖存,输入三态方式1选通C作控制状态位方式2双向仅A口,C作控制状态位INPUT1OUTPUT0参考程序ORG8000H MOVDPTR,#7FFFH MOV A,#80H MOVXDPTR,A MOVDPTR,#7CFFH MOV A,#00H MOVXDPTR,A LOOP:LCALL DELAYCPL AMOVXDPTR,A LJMPLOOP END实验十九外部中断 一、实验目的 1、通过实验了解单片机的中断原理、编程方法 2、通过实验了解单片机中断的全过程。 二、实验设备IBM PC机一台,DP-51PROC单片机综合仿真实验仪一台。 三、实验原理熟悉中断的基本编程知识,记住INT0中断矢量口地址。 四、实验内容执行中断程序前应先中断初始化。 图191实验原理图实验内容和步骤1.接线,将A2区P 0、P1口的J 60、J61接D1区LED、KEY口的J 52、J53,A2区INT0接D1区SW1,利用八个开关设置输入参数,将P0.0P0.7设为输出口,驱动LED发光。 利用程序将开关量的数输入单片机内,再向P0输出,LED发光的次序与开关设置相符。 但是,这里要求利用中断控制这一I/O过程。 每请求一次中断,完成一次读写过程,同时,P2口完成走马灯运行。 试编写中断程序,端口的定义同学可以另外自行定义。 2.参考程序(P2走马灯)9ORG8000H LJMPMAIN ORG8003H LJMPINTSUB1ORG8100H MAIN:SETB P3.2;SETB IT0SETB EX0setb px0SETB EAMOV P1,#0FFH MOV A,#1LOOP:MOV P2,A ACALL DELAY RLA SJMPLOOP DELAY:MOV R0,#100DELY0:MOV R7,#100DELY1:MOV R6,#250DJNZ R6,$DJNZ R7,DELY1DJNZ R0,DELY0RET ORG8200H INTSUB1:PUSH ACCMOV A,P1MOV P0,A POP ACC RETIEND 五、思考题1.中断时,电平触发方式和边沿触发方式的区别?2.P1端口作输入时,为什么要先写入0FFH?10实验二十定时器/计数器 一、实验目的 1、通过实验了解定时器的工作原理、编程特性、使用方法。 2、通过实验了解定时器的工作方式选择,定时器的定时与计数选择。 二、实验原理图20-1熟练8031片内定时器的结构,且会计算计数或定时初值。 三、实验中应注意的问题定时/计数器工作方式的选择且每种工作方式所能计数的范围。 四、实验内容及步骤按图接线,在P1.7端接有一发光二极管。 编程要求,利用定时器控制使LED以1HZ亮灭变化,周而复始。 设T0定时间隔100ms(方式1)当定时时间到后,将P1.0的输出反向,再加到T1端作计数脉冲,需要定时两次才构成一个完整的计数脉冲,因此设T1计数5次,就能完成1秒的定时。 定时计数初值的计算与装入(216-x)2S=100mS震荡频率6.144MHz6MHz,则机器周期为2S x=15536=3CB0H振荡周期=机器周期的12分频(256-5)=251=FB参考程序ORG4000H CLR P1.7SETB P1.0MOV TMOD,#61H MOV TH1,#0FBH MOV TL1,#0FBH SETB TR1LOP1:CPL P1.7LOP2:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0LOP3:JBC TF0,LOP4SJMP LOP3LOP4:CPL P1.0JBC TF1,LOP1AJMP LOP2END 五、思考题 1、能否用中断方式来实现定时? 2、能否一次实现定时一秒?实验二十一综合设计实验交通灯控制系统 一、设计题目十字路口交通灯控制系统(见图213-1)。 二、设计目的培养对待控制问题的分析、解决能力,综合运用微机原理的知识,设计出满足要求的51实用程序。 微机原理综合设计实验是微机原理课程的一次综合性训练。 要求通过此在综合设计实验达到以下目的1.掌握微机系统的硬件设计方法(以MCS-51及接口电路为基础)。 2.掌握定时/计数器、输入/输出接口电路设计方法。 3.掌握中断控制编程技术的方法和应用。 4.掌握汇编语言程序设计方法,初探编程技巧。 5.掌握微机控制系统的调试方法。 三、实验说明图21-1微机交通灯实时控制系统用于城市十字路口的交通管理。 南北和东西路口各设红(RA、RB)、黄(OA、OB)、绿(GA、GB)三个交通灯(用LED模拟)。 交通灯的控制要求是1.南北(A)向和东西(B)向的交通灯定时30秒交换一次。 每次交换前,绿灯闪烁4次共4秒,黄灯亮2秒。 其交换时序为南北R AG AG A闪4次O A东西G BG B闪4次O BR B24S4S2S24S4S2S B1A2G AO ARAG BO BR BJ A1B2南东西北2.南、北、东、西向道口各有一个车辆检测器A 2、A 1、B 1、B2。 有车辆经过时,检测器输出信号有效,输出低电平(如A2=0)。 在一个方向道口24秒期间,通过车后超过5秒无车继续通过时,若另一方向道口有车等待,则交通灯自动提前交换。 交换前,绿灯闪烁4次共4秒,黄灯亮2秒。 (在实验时,车辆检测器由开关模拟。 )3.道口设有紧急车辆检测器。 若紧急车辆检测器有效,J=0时,二个方向交通灯立即亮红灯,原有计时器暂时停止计时,直至J=1。 然后又自动继续恢复正常的交通管理。 4.十二个发光管对应东、西、南、北路口的交通灯;也可以简化中断设计,即使系统仅设一个紧急按钮,允许特殊情况下救护车等优先通过,此时交通灯全红,10秒或紧急按钮复位,系统恢复此前的运行状态。 四、思考题本实验与PLC部分的交通灯控制实验内容一致,请比较单片机控制与PLC控制的不同特点。 实验二十二电子琴实验(附加实验) 一、实验目的利用实验仪上提供的按键K1K7作为电子琴按键,控制蜂鸣器发声,使用户了解计算机发声原理,熟悉定时器和键盘扫描电路的工作原理及编程方法。 二、实验设备及器件IBM PC机一台DP-51PROC单片机综合仿真实验仪一台频率计一台 三、实验内容1编写一段程序,用P3.3口控制(输出7种音阶标称频率的方波),使B5区的蜂鸣器发出不同的音调。 程序检测按键的状态,当某一键按下时,蜂鸣器发出对应的音调。 2按照歌曲的音调,使用D1区的按键K1K7,弹奏一首简单的音乐。 四、实验步骤1用导线将A2区P3.3口(INT1)和B5区的BUZZ接口相连,然后将D1区的J53接口和A2区的J61接口一一对应相连。 如图3所示。 图3.3实验4原理图2编写按键的动态键盘扫描程序,根据不同音阶的频率编写蜂鸣器的音调控制程序,然后完成电子琴的主程序设计。 3调试编写好的程序,使用频率计校准音阶的频率,然后使用键盘演奏一段好听的音乐。 五、实验参考程序BUZZ EQUP3.3;端口定义ORG8000H LJMPMAIN ORG800BH LJMPINT_T0ORG8100H MAIN:MOV SP,#60H;初始化堆栈指针MOV P1,#0FFH;设置P1口为输入模式MOV TMOD,#01H;设置定时器0为工作模式1SETB ET0;开定时器0中断SETB EA;开总中断CLR TR0;关闭定时器0START:MOVR0,P1CJNE R0,#0FFH,KEY1;键盘扫描CLR TR0SJMP STARTKEY1:CJNE R0,#0FEH,KEY2;K1键按下MOV30H,#0FBH;设置音阶1MOV31H,#0E9H LJMPSET_TIMER KEY2:CJNE R0,#0FDH,KEY3;K2键按下MOV30H,#0FCH;设置音阶2MOV31H,#5CH LJMPSET_TIMER KEY3:CJNE R0,#0FBH,KEY4;K3键按下MOV30H,#0FCH;设置音阶3MOV31H,#0C1H LJMPSET_TIMER KEY4:CJNE R0,#0F7H,KEY5;K4键按下MOV30H,#0FCH;设置音阶4MOV31H,#0EFH LJMPSET_TIMER KEY5:CJNE R0,#0EFH,KEY6;K5键按下MOV30H,#0FDH;设置音阶5MOV31H,#045H LJMPSET_TIMER KEY6:CJNE R0,#0DFH,KEY7;K6键按下MOV30H,#0FDH;设置音阶6MOV31H,#92H LJMPSET_TIMER KEY7:CJNE R0,#0BFH,NOKEY;K7键按下MOV30H,#0FDH;设置音阶7MOV31H,#0D6H SET_TIMER:SETB TR0;发声SJMP STARTNOKEY:CLR TR0;无键按下SJMP STARTINT_T0:;T0中断服务程序MOV TH0,30H;定时器赋初值MOVTL0,31H CPLBUZZ;输出方波RETI;END 六、实验思考题结合实验仪上的硬件,设计一个可以任意选曲播放的电子音乐盒。 实验二十三定时器输出PWM实验(附加实验) 一、实验目的利用定时器控制产生占空比可变的PWM波。 二、实验设备及器件IBM PC机一台DP-51PROC单片机综合仿真实验仪一台示波器一台 三、实验内容编写一段程序,用P1.0口输出PWM波,用D1区的按键KEY1和KEY2实现占空比的增加和降低。 用示波器查看P1.0口的输出波形。 四、实验要求学会使用单片机的定时器产生250Hz的PWM波。 五、实验步骤1用导线连接A2区的P11与D1区的KEY1。 2用导线连接A2区的P12与D1区的KEY2。 3将示波器的探针连接到A2区的P10。 4用示波器观测P1.0口的PWM波形。 六、实验预习要求认真阅读本节的实验内容,提前做好实验准备工作。 七、实验参考程序PWMH DATA30H;高电平脉冲的个数PWM DATA31H;PWM周期COUNTER DATA32H TEMPDATA33H ORG8000H AJMPMAIN ORG800BH AJMPINTT0ORG8100H MAIN:MOV SP,#60H;给堆栈指针赋初值MOV PWMH,#02H18MOV COUNTER,#01H MOV PWM,#15H MOVTMOD,#02H;定时器0在模式2下工作MOVTL0,#38H;定时器每200us产生一次溢出MOVTH0,#38H;自动重装的值SETB ET0;使能定时器0中断SETB EA;使能总中断SETB TR0;开始计时KSCAN:JNB P1.1,K1CHECK;扫描KEY1,JNB P1.2,K2CHECK;扫描KEY2,如果按下KEY2,跳转到KEY2处理程序SJMP KSCANK1CHECK:JB P1.1,K1HANDLE;去抖动,按下KEY1,跳转到KEY1处理程序SJMP K1HANDLE K1HANDLE:MOV A,PWMH CJNE A,PWM,K1H0;判断是否到达上边界SJMP KSCAN;是,则不进行任何操作K1H0:MOV A,PWMH INCA CJNE A,PWM,K1H1;如果在加1后到达最大值CLR TR0;定时器停止SETB P1.0;置P1.0为高电平SJMP K1H2K1H1:CJNE A,#02H,K1H2;如果加1后到达下边界SETBTR0;重开定时器K1H2:INC PWMH;增加占空比SJMP KSCANK2CHECK:JB P1.2,K2HANDLE;去抖动,按下KEY2,跳转到KEY2处理程序SJMP K1HANDLE K2HANDLE:MOVA,PWMH CJNEA,#01H,K2H0;判断是否到达下边界SJMP KSCAN19;是,则不进行任何操作K2H0:MOVA,PWMH MOVTEMP,PWM DECA CJNEA,#01H,K2H1;如果在减1后到达下边界CLR TR0;定时器停止CLR P1.0;置P1.0为低电平SJMP K2H2K2H1:DEC TEMPCJNEA,TEMP,K2H2;如果到达上边界SETBTR0;启动定时器K2H2:DEC PWMH;降低占空比SJMP KSCANINTT0:PUSH PSW;现场保护PUSH ACCINC COUNTER;计数值加1MOVA,COUNTER CJNEA,PWMH,INTT01;如果等于高电平脉冲数CLRP1.0;P1.0变为低电平INTT01:CJNEA,PWM,INTT02;如果等于周期数MOV COUNTER,#01H;计数器复位SETB P1.0;置P1.0为高电平INTT02:POPACC;出栈POP PSWRETI;END 八、实验思考题 (1)请用户思考一下,用另一种方式实现定时器产生PWM波。 实验二十四20步进电机控制实验(附加实验)一实验目的了解步进电机的工作原理,掌握它的转动控制方式和调速方法。 二实验设备及器件IBM PC机一台DP-51PROC单片机综合仿真

温馨提示

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

评论

0/150

提交评论