版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022/9/3可编辑1本章导读本章介绍单片机控制实验与实训的内容。在实验中介绍了单片机与新热敏微打接口设计等实用性的内容;在实训中加强了工具软件的使用,通过Keil Vision3开发单片机C语言程序实例,让读者掌握单片机C程序的开发过程;通过项目化实例介绍了用proteus ISIS进行单片机实验的虚拟仿真的方法;通过威龙VP-ISP1编程器进行ISP编程,介绍了对传统编程技术的一大革新的ISP技术。这些项目化内容还适用于维修电工等工种技师、高级技师的单片机技术培训的应会项目。第10章 单片机的实验与实训2022/9/3可编辑210.1.1 关于单片机控制实验与实训1硬件要求(1)微机一台
2、,目前市售的微机均能满足要求。(2)通用编程器一台。(3)用户板。可采用市售的通用印刷线路板,或用Protell99SE自制,按实验电路自行布局、焊接与调试,更接近生产实际;也可利用现有的各类用户板,相关实验程序必要时可以稍作修改,但在硬件上受益不如前者。用户板5V稳压电源一个。(4)有条件的话,可以有一台仿真器,将会使编程调试更方便。10.1 单片机应用系统实验2022/9/3可编辑32软件要求(1)一个好的采用Windows平台的MCU开发软件是必须的。例如,Keil Software公司的Keil C51中的Keil Vision3是值得首选的。Keil C51软件的安装与使用,请分别参
3、见2.22.3节;用Keil Vision3开发C语言程序实例参见10.2.1小节。(2)如果上述硬件要求中,只有一台微机,为弥补相应硬件的不足,不妨用protues软件建立单片机仿真虚拟实验室。proteus7_1sp2的安装, 以及与Keil C51集成调试项目实例请参见10.2.3小节。3实验内容的说明(1)在学习指令与程序设计时,本着边学边上机实验10.1.1 关于单片机控制实验与实训 2 2022/9/3可编辑4练习的原则,在相应章节的例题中已经要求读者用Keil Vision3进行上机验证,并给出了程序的运行结果。这样,本章不再安排此类实验。其中: MCS-51的指令系统实验,请按
4、第4章例4.4例4.13、例4.15、例4.16、例4.18和例4.19中的要求进行。 MCS-51汇编程序设计实验,请按第5章例5.1、例5.2、例5.4、例5.7、例5.9例5.13、例5.15、例5.16中的要求进行。(2)本章主要安排单片机片内集成功能部件以及接口应用的实验。1. 实验目的与功能要求(1)熟悉MCS-51并行口的结构和基本应用;掌握并10.1.2实验1 I/O口控制流水灯扫描 1 2022/9/3可编辑5口编程技巧和软件延时方法。(2)编制源程序,控制用户板上8个LED按如下方式扫描:先是亮灯从低向高逐位扫描,再从高向低逐位扫描,循环3次;接着,全亮全暗3次;此后,暗灯
5、从低向高逐位扫描,再从高向低逐位扫描,循环3次。此后重新循环。 2. 实验电路与程序(1)设计原理图用89C2051控制的,可参照图2.2,在P1口接上8组LED与限流电阻串联组合;用89S51或89C51,可用图10.8电路。 (2)编制源程序汇编源程序lsd10_1. asm见教材P.221P.222。3. 实验步骤10.1.2实验1 I/O口控制流水灯扫描 2 2022/9/3可编辑6(1)按设计的原理图,制作用户板,并排除硬件上的问题。利用现成用户板, 要注意是否要修改源程序。(2)用MedWinV3开发本项目(或用Keil Vision3)按9.3介绍方法创建新项目lsd10_1,编
6、辑上述源程序lsd10_1.asm并导入到该项目中。汇编、连接该项目,通过反复纠错,直至把程序调试出来。按9.4介绍的方法分别进行用户系统的模拟仿真。用单步执行程序,观察对应R3值的P1口值的变化规律应如表10.1所示。也可用ME-52HU进行硬件仿真,观察LED灯随程序 运行扫描变化是否正确。在仿真中,如果发现错误,要重新进行源程序的编辑、汇编和连接,直至正确为止。10.1.2实验1 I/O口控制流水灯扫描 3 2022/9/3可编辑7(3)将十六进制代码固化到芯片用WH-500APU编程器的,见2.5节说明进行;用西尔特SUPERPRO/280U编程器的,见10.2.1节第(5)中进行。(
7、4)脱离仿真器,在用户板上运行将固化好的单片机芯片插入用户板的芯片座上,并给用户板加上电源,观察流水灯扫描的实际效果。10.1.2实验1 I/O口控制流水灯扫描 4 2022/9/3可编辑84. 思考题(1)修改源程序,设计新的扫描模式。(2)计算D01S子程序中的延时时间。1. 实验目的与功能要求(1)掌握用定时器产生音频方波的方法,掌握定时器中断程序的设计方法。(2)熟悉单片机音乐报警硬件电路设计与乐曲演奏程序编程技巧,编制汇编源程序,演奏 “铃儿响叮当”。2. 实验电路与程序(1)设计原理图只要在实验1的电路基础上,在P3.7加接一个9012三极管去驱动蜂鸣器的电路,如图10.1所示。1
8、0.1.3 实验2控制蜂鸣器音乐发声-铃儿响叮当 1 2022/9/3可编辑9(2)单片机音乐发声原理单片机演奏音乐时,要确定实现音调和节拍的算法。音调表示一个音符唱多高的频率。节拍表示一个音符唱多长的时间。10.1.3 实验2控制蜂鸣器音乐发声-铃儿响叮当 2 2022/9/3可编辑10在图10.1中可通过定时器产生不同频率的音符方波,经P3.7去控制9012导通与截止,从而使蜂鸣器发出不同的音调,并通过延时来控制音调的节拍,就可以使蜂鸣器演奏乐曲了。 音调算法曲调中各音符频率是已知的,如表10.2(见教材P.224)给出了三个八度音的频率。按频率的倒数算出其周期,半周期时间由定时器在模式1
9、下定时产生,而计数初值C0的计算已在6.7节中推出为:C0 = 2k t fosc /12定时器模式1时k=16;再将音符频率f半周期时间作为定10.1.3 实验2控制蜂鸣器音乐发声-铃儿响叮当 3 2022/9/3可编辑11时时间t,即t= 1/(2f ),代入上式有: C0=216 t fosc/(24f )按此算法,求出各音符的计数初值,如表10.2中第3和第6列。每当定时器定时时间到,就使P3.7反相,再重新定时输出,直至此音符的节拍完。 节拍的算法音符的节拍采用软件延时来实现。确定一个基本时长(1/4拍)延时程序, 则对于1/4拍时长,只需一次延时,对于2/4拍时长,则需二次延时,依
10、次类推。各曲调的1/4和1/8拍时长设定参见表10.3 (教材P.225)。3. 实验步骤(1)按音调节拍算法处理“铃儿响叮当”乐谱建立表10.4(见教材P.225)对应音符频率的计数初10.1.3 实验2控制蜂鸣器音乐发声-铃儿响叮当 4 2022/9/3可编辑12值表将图10.2 所示乐谱中的每个音符的简谱,按从低到高的音调,在表10.4的第1列中排列。第2列是对应简谱的编号,便于在程序中对简谱处理。第3、4列分别是对应的频率和10.1.3 实验2控制蜂鸣器音乐发声-铃儿响叮当 5 2022/9/3可编辑13定时器的计数初值。在源程序中也将按此顺序建立决定音调的定时器计数初值表TAB1。
11、建立乐谱的音调节拍码表按“铃儿响叮当”乐谱的顺序,把每一个简谱的音调及节拍,变换成一个字节的数据,其中音调码为高4位,节拍码为低4位,如此乐谱中第一个简谱的音调节拍码为12H。在源程序中也将按此建立乐谱的音调节拍码表TAB,表的最后用00H来表示乐曲结束。程序执行时将依次取出音符的音调节拍码,根据高4位音调码来查初值表TAB1,以决定音符播放的音调;根据低4位节拍码来控制执行基本时长的延时程序的次数,以实现音符播放的节拍。一个音符唱完后,接着,取出10.1.3 实验2控制蜂鸣器音乐发声-铃儿响叮当 6 2022/9/3可编辑14下一个音符,直至播放完最后一个音符。(2)编制源程序。汇编源程序J
12、Bells10_2.asm见教材P.226P.228。(3)按原理图制作用户板,并排除硬件上的问题。(4)用MedWinV3开发本项目创建新项目JBells10_2,编辑上述JBells10_2.asm源程序并导入到该项目中。汇编、连接该项目。进行用户系统的模拟仿真,也可以用ME-52HU进行硬件仿真。(5)脱离仿真器,在用户板上运行将十六进制代码固化到单片机芯片,并插入用户板的芯片座上,并给用户板加上电源。聆听单片机演奏“铃10.1.3 实验2控制蜂鸣器音乐发声-铃儿响叮当 7 2022/9/3可编辑15儿响叮当”乐谱的实际效果。4. 思考题编一个不同乐谱的演奏程序,控制单片机演奏此乐曲。1
13、. 实验目的与功能要求(1)掌握中断控制初始化编程和中断服务程序编程。(2)实验电路如图6.9所示,实现例6.2所述功能要求。2. 实验电路与程序(1)设计原理图:原理图如图6.9所示。(2)编制源程序:汇编源程序见例6.2的int10_3.asm。3. 实验步骤(1)按设计原理图,制作用户板,并排除硬件上的问题。(2)用MedWinV3开发本项目10.1.4 实验3外部中断控制实验 1 2022/9/3可编辑1610.1.4 实验3外部中断控制实验 2 创建新项目int10_3,编辑源程序int10_3.asm并导入到该项目中。汇编、连接该项目, 把程序调试出来。用ME-52HU进行硬件仿真
14、。(5)脱离仿真器,在用户板上运行 将十六进制代码固化到芯片并将芯片插入用户板芯片座上,设置开关为全合状态,并给用户板加上电源。 开关K来回拔动一次产生一个下降沿,通过引脚向单片机请求中断。CPU响应中断,执行中断服务程序,4个发光二极管将根据对应按钮状态刷新为全亮。 将开关SB4和SB3闭合,SB2和SB1打开,重新运行程序,注意记录对应开关状态,LED灯D4和D3是否点亮。4. 思考题2022/9/3可编辑1710.1.5 实验4定时器输出控制实验 1 (1)在中断服务程序中,为什么在读入P1口按钮状态MOV A,P1指令前,要按排一条MOV P1,#0FFH指令?(2)在本实验的电路中使
15、用的R-S触发器去抖开关,能改用软件消除抖动吗?1. 实验目的与功能要求(1)掌握定时/计数器在不同方式下的初始化编程和中断服务程序的编程。(2)熟悉当定时器的定时时间超过某一模式下的最大定时时间时的处理方法。(3)实验电路如图2.2所示,实现例6.5的功能要求,用定时器T0来定时0.1秒延时。2. 实验电路与程序(1)设计原理图:原理图如图2.2所示。(2)编制源程序:汇编源程序见例6.5 的tlsd10_4.asm 。2022/9/3可编辑1810.1.5 实验4定时器输出控制实验 2 3. 实验步骤(1)本实验可以采用图2.2已制作的用户板。 (2)用MedWinV3开发本项目创建新项目
16、tlsd10_4,编辑源程序tlsd10_4.asm并导入到该项目中。汇编、连接该项目,直至把程序调试出来。用ME-52HU进行硬件仿真。(3)脱离仿真器,在用户板上运行将十六进制代码固化到芯片,将固化好的单片机芯片插入用户板的芯片座上,观察单灯闪烁的实际效果。4. 思考题(1)定时器T0在模式0下的最大定时时间仅8.192ms,而要求延时的时间是100 ms,已超过了模式0下的最大定时时间,试问本实验程序中是如何处理的?2022/9/3可编辑1910.1.6 实验5 串口自收自发通信实验 1(2)改用查询方式定时100 ms, 参照例6.4重做本实验。1. 实验目的与功能要求(1)掌握串行口
17、收发程序的编程技巧和调试方法。(2)设计一个自收自发程序。先用数据F0H填充片内RAM单元30H3FH,并将每个数据送P1口驱动LED显示,间隔为0.1S。再将每个数据通过TXD串行发送出去,又通过RXD串行接收回来,并将每个数据高低4位自交换成0FH后,送到片内RAM单元40H4FH单元,同时送P1口驱动LED显示,间隔也为0.1S。2. 实验电路与程序(1)设计原理图采用实验1中的原理图,但要将单片机的TXD引脚和RXD引脚连接起来。(2)编制源程序2022/9/3可编辑2010.1.6 实验5 串口自收自发通信实验 2自收自发通信是调试通信程序和通信接口电路的常用方法,它和双机通信程序的
18、设计方法相似。程序初始化串行口工作在方式2 ,TB8作奇偶校验位。发送和接收都采用查询方式,串行口每发送或接收完一帧串行数据,就清零TI和RI。程序正常运行时,发送的数据为F0H,将驱动P1口低4位LED闪亮;接收的数据自交换后变为0FH,将驱动P1口高4位LED闪亮。汇编源程序stiri10_5.asm见教材P.230P.231。3. 实验步骤(1)可采用实验1中已制作的用户板,但要在印刷板上单片机的TXD和RXD引脚旁焊接引出两个插针,并用跳线帽将两插针短路。(2)用MedWinV3开发本项目2022/9/3可编辑2110.1.7实验6并行A/D转换实验 1创建新项目stiri10_5,编
19、辑源程序stiri10_5.asm并导入到该项目中。汇编、连接该项目,直至把程序调试出来。用ME-52HU进行硬件仿真。(3)脱离仿真器,在用户板上运行将十六进制代码固化到芯片,将固化好的单片机芯片插入用户板的芯片座上,并给用户板加上电源。注意是否观察到:先是P1口LED灯的低4位闪烁,其后是P1口LED灯的高4位闪烁。4. 思考题(1)实验中LED灯高、低4位先后闪烁,说明了什么?(2)改用中断方式编程,重做本实验。1. 实验目的与功能要求(1)熟悉ADC0809的转换性能和编程方法;掌握单片2022/9/3可编辑2210.1.7实验6并行A/D转换实验 2机与ADC0809的连接;了解单片
20、机进行数据采集方法。(2)采用图8.29A/D转换电路,将一路模拟量经ADC 0809的0通道输入,转换成二进制数字量,输出到P1口驱动LED显示。2. 实验电路与程序(1)设计原理图A/D转换原理图如图8.29所示,通过W1分压给ADC0809的0通道输入模拟量;P1口LED显示电路、复位及晶振电路可参照图10.8的接法。(2)编制源程序汇编源程序ad10_6.asm见教材P.232P.233。3. 实验步骤(1)制作用户板2022/9/3可编辑2310.1.7实验6并行A/D转换实验 3按原理图提示制作用户板。(2)用MedWinV3开发本项目创建新项目ad10_6,编辑源程序ad10_6
21、.asm并导入到该项目中。汇编、连接该项目,直至把程序调试出来。用ME-52HU进行硬件仿真。(3)脱离仿真器,在用户板上运行将十六进制代码固化到芯片,将固化好的单片机芯片插入用户板的芯片座上,并给用户板加上电源。旋动电位器W1,使输入IN0的电压分别如表10.5(见教材P.233)第3列所示,注意记录P1口LED灯的状态。4. 思考题(1)改用查询方式重做本实验。(2)修改实验,对一路模拟量连续采样4次并取其2022/9/3可编辑2410.1.8实验7并行D/A转换实验 1值,结果存放在30H单元。1. 实验目的与功能要求(1)掌握DAC0832与单片机的连接,学会利用0832产生波形的编程
22、方法。(2)用DAC0832接口电路作为波形发生器,试编程,从Vo端输出三角波波形。2. 实验电路与程序(1)设计原理图,供参考的D/A转换原理图如图8.32。(2)编制源程序, 三角波波形发生汇编源程序见例8.11的da10_7.asm程序。3. 实验步骤(1)制作用户板参照图8.32所示D/A转换电路,制作用户板。2022/9/3可编辑2510.1.8实验7并行D/A转换实验 2(2)用MedWinV3开发本项目创建新项目da10_7,编辑源程序da10_7.asm并导入到该项目中。汇编、连接该项目,直至把程序调试出来。用ME-52HU进行硬件仿真,D/A转换的输出Vo接示波器探头。仿真正
23、确后,送数字量00H到0832时,调节运放的调零电位器W2,使Vo = 0;送数字量0FFH到0832时,调节运放的反馈电位器W1,使满量程VO = -5V。反复调整零点和满量程。(3)脱离仿真器,在用户板上运行将十六进制代码固化到芯片,将固化好的单片机芯片插入用户板的芯片座上,D/A转换的输出Vo接示波器探头,并给用户板加上电源。用示波器观察Vo波形,测量Vo周期和幅度,并记录。2022/9/3可编辑2610.1.9实验8单片机与新热敏微打接口设计实验 1在无示波器时,可以在Vo端接5V直流小电机,观察小电机的转速变化。4. 思考题(1)编程实现输出波形为方波。(2)在无示波器时,可对本实验
24、进行proteus虚拟仿真,proteus仿真方法请参看10.2.3 节。本项目proteus原理图如图10.3,该图也是运行时的电路情形。在图10.3中用到的元件有:AT89C51、DAC 0832、uA741、RES和POT-LIN(电位器)。在图10.3中用到的虚拟仪器有:OSCILLOSCOPE(示波器)和DC AMMETER(直流电压表)。1. 实验目的与功能要求(1)熟悉输出设备新热敏微打接口设计的软硬件技术。2022/9/3可编辑2710.1.9实验8单片机与新热敏微打接口设计实验 2(2)用单片机控制A61R10-20E525串口热敏微打打印汉字与西文。(3)由读者进行并口热敏
25、微打接口设计,控制WH-A62R10-21E8PA打印汉字与西文。2. 实验电路与程序(1)WH-A6系列新热敏微打性能与接口引脚定义WH-A6系列热敏微打串口使用IDE 10针插座,RS-232电平,其引脚如图10.4(b)所示。并口使用IDE 26针插座,TTL电平,其引脚如图10.6所示。(2)设计原理图单片机与微打A61R10-20E525接口电原理图如图10.5。单片机与微打采用10芯扁平电缆连接。(3)编制源程序2022/9/3可编辑2810.1.9实验8单片机与新热敏微打接口设计实验 3单片机控制WH-A6微打汇编源程序spint10_8.asm见教材P.236P.237。3.
26、实验步骤(1)制作用户板可参照图10.5所示电路制作。(2)用MedWinV3开发本项目2022/9/3可编辑2910.2.1 实训1 用Keil Vision3开发单片机C语言程序 1创建新项目spint10_8,编辑源程序spint10_8.asm并导入到项目中。汇编、连接该项目,直至把程序调试出来。用ME-52HU进行硬件仿真。(3)脱离仿真器,在用户板上运行将固化好的单片机芯片插入用户板的芯片座上,给用户板和微打加上电源,按下打印按钮,观察打印的结果。4. 思考题请读者完成用单片机控制WH-A62R10-21E8PA并口热敏微打的接口设计。1实训目的(1)掌握用Keil Vision3
27、开发单片机C语言程序过程。(2)以AT89S51控制的流水灯C程序8_0ledc.c项目为例,用Keil Vision3进行编辑、编译和模拟调试;要求会2022/9/3可编辑3010.2.1 实训1 用Keil Vision3开发单片机C语言程序 1作相应的设置,产生十六进制文件,并用编程器将其固化到AT89S51芯片中,以便能在用户板上运行。2实训知识(1)AT89S51控制的流水灯用户板可按图10.8电原理图制作。AT89S51引脚与8051兼容,但支持ISP编程。(2)编制相应的C控制源程序,控制板上8个LED按如下方式扫描:先是从低向高逐2022/9/3可编辑3110.2.1 实训1
28、用Keil Vision3开发单片机C语言程序 2位扫描点亮,再从高向低逐位扫描点亮,最后全亮全暗3次,如此不断循环。C源程序8_0ledc.c及相关说明见教材P.239P.241。3实训步骤硬件方面按图10.8制作用户板,软件方面请参照2.32.4节中汇编源程序的开发步骤,下面只简要列出运行Keil Vision3后操作要点。(1)创建新工程使用菜单命令“工程_新建工程”,操作过程参看图2.52.7,操作结果把流水灯工程文件8_0ledc.Uv2存放在用户指定的文件夹下,比如:d:workkeil 8_0ledc。选择CPU厂家和型号在弹出如图2.8所示选择CPU厂家和型号的对话框时,应20
29、22/9/3可编辑3210.2.1 实训1 用Keil Vision3开发单片机C语言程序 3选择Atmel 公司的89S51。复制启动代码到工程在弹出如图2.9所示对话框,询问是否将CPU特殊启动代码拷贝到工程中时,可选择“是(Y)”,工程创建完成。(2)创建C源文件使用菜单命令“文件_新建”,操作过程见图2.10,操作结果把流水灯C源程序8_0ledc.c存放在同一工程文件夹。(3)将源文件添加到工程输入完C源程序后,操作过程参看图2.112.13,操作结果把流水灯C源程序8_0ledc.c添加到本工程,如图10.9。(4)编译连接工程按2.4.3节方法,操作过程参看图2.182.19,操
30、作结果使创建HEX文件有效,即编译后就能得到十六进制文件。2022/9/3可编辑3310.2.1 实训1 用Keil Vision3开发单片机C语言程序 4使用菜单命令“工程_创建目标”,对源文件进行编译连接。按前面介绍方法, 编译源文件,完成后注意观察输出窗口的编译信息,HEX文件已经创建到指定的路径中了,如图10.9。(5)模拟仿真按2.4.2节方法,进行模拟仿真,来调2022/9/3可编辑3410.2.1 实训1 用Keil Vision3开发单片机C语言程序 5试运行程序,观察运行的结果。用快捷键Ctrl+F5进入调试模式使用菜单命令:“外围设备_I/O-Ports_Port 1”,出
31、现P1口的调试窗口如图2.15所示。 用F10进行单步运行在运行第一个for 循环时,注意观察P1口调试窗中,灯从低向高逐位扫描点亮规律应与表10.8中“P1口灯状态”相符。在运行第二个for 循环时,注意观察P1口调试窗中,灯从高向低逐位扫描点亮规律应与表10.8中“P1口灯状态”水平对称。在运行第三个for 循环时,注意观察P1口调试窗中,8灯应全亮全暗3次。2022/9/3可编辑3510.2.2 实训2 用VP-ISP1编程器进行ISP编程 1 用F5进行全速运行在源程序窗口中,用F9在程序的第7、11、13、14、18、20、21、23和25行处设置断点,成功的标志是在行号后将出现小红
32、方块,如图10.9所示。不断按F5,注意观察P1口调试窗出现情形应与单步运行时的相同。(5)用SUPERPRO/280U将十六进制代码固化到芯片见教材P.243P.244。(6)在用户板上运行程序将固化好的AT89S51芯片插入用户板的芯片座子上,加上电源后,就可以看到流水灯实验的实际效果了。1实训目的(1)了解对传统编程技术的一大革新的ISP编程技术。(2)掌握用威龙VP-ISP1编程器将上一实训中产生的2022/9/3可编辑3610.2.2 实训2 用VP-ISP1编程器进行ISP编程 2十六进制文件8_0ledc.hex写入到威龙WL-ISPBOARD-2板上的AT89S51芯片中,或者
33、下载到自制的带有ISP接口的流水灯用户板上AT89S51芯片中。2实训知识(1)什么是ISP?ISP是In-System Programming的缩写,意为“在系统编程”。ISP技术是对传统编程技术的一大革新。利用ISP技术设计电路板时要求预留一个标准的ISP下载线接口,要求使用支持ISP技术的单片机,如AT89S51和AT89S52等。(2)AT89S51支持ISP编程引脚AT89S51单片机提供了一个SPI串行接口,让用户能对内部Flash存储器串行下载,引脚P1.5P1.7新增用于ISP2022/9/3可编辑3710.2.2 实训2 用VP-ISP1编程器进行ISP编程 3编程的第二功能
34、见表10.9,实现ISP编程要用到的引脚连接如图10.15所示。如果是自做用户板,应将这些ISP编程要用到的引脚用跳线针引出,在图10.8中则是作为测试点标出的。(3)VP-ISP1编程器与WL-ISPBOARD-2板的连接编程器通过10芯下载头WL-ISP-U1与用户板下2022/9/3可编辑3810.2.2 实训2 用VP-ISP1编程器进行ISP编程 4载线接口连接,连接后的情形如图10.16(b)。图10.16(b)中使用的WL-ISPBOARD-2是与VP-ISP1配套的用户板,此板上有一个40芯的紧松插座,用以放入待编程的芯片,紧松插座的40芯引脚分别依次引出与两旁的跳线针连接,以
35、方便下载头的跳线帽的插2022/9/3可编辑3910.2.2 实训2 用VP-ISP1编程器进行ISP编程 5入连接。两者连接时要注意以下几点: 10芯下载头WL-ISP-U1插入编程器时,白红蓝棕灰线要在上面,信号线颜色如图10.17所示。下载头的另一端的7个跳线帽要按图10.16(a)所示,正确插入WL-ISPBOARD-2上的插针中。采用自制的用户板,也要按图10.16(a)所示连接。如使用用户板的电源,GND这根线必需插,Vcc不要插。3实训步骤(1)VP-ISP1驱动程序与编程软件安装见教材P.247P.248(2)运行Willon系列通用编程测试软件 用USB通讯电缆将计算机与编程
36、器连接好,指示灯亮。2022/9/3可编辑4010.2.2 实训2 用VP-ISP1编程器进行ISP编程 6双击执行图标 ,启动wellon编程器软件,出现如图10.19窗口(见教材P.248 ),显示编程器初始化成功。(3)选择芯片型号用菜单命令“芯片选择_芯片选择”,出现如图10.20 (见教材P.249 )所示芯片选择对话框:在“芯片厂家”列表框中选择生产厂家ATMEL,在“芯片型号”列表框中选择AT89S51(ISP),单击“确定”按钮。(4)检查插线、放入芯片自动出现适配器资料对话框,再次仔细核对WL-ISP-U1上跳线帽是否按图10.16(a)所示正确插入用户板上的相应插针中。 确
37、认无误后,单击“确定”按钮。将待编程的芯片放入紧松插座上,推平锁紧扳手。(5)芯片编程2022/9/3可编辑4110.2.3 实训3 LED与LCD显示的proteus仿真 1用菜单命令:“文件_打开”,在出现的打开文件对话框中选择“8_0ledc.hex”文件,单击“打开”按钮后,出现如图10.21 (见教材P.249 )所示“读文件缓冲区”对话框,确认无误后,单击“确定” 按钮。文件被读入到缓冲区,如有必要,可以用“编辑_缓冲区编辑”来修改。 用菜单命令:“芯片读写_自动编程”, 自动完成芯片擦除和芯片编程。窗口如图10.22 (见教材P.250 )所示。1实训目的(1)掌握用proteu
38、s与keil连调进行虚拟仿真的方法。(2)会对图8.34所示LED动态扫描电路按例8.7要求,用proteus进行仿真。(3)会对图10.41所示LCD显示电路按实训练习(2)中要求,用proteus进行仿真。2022/9/3可编辑4210.2.3 实训3 LED与LCD显示的proteus仿真 22实训知识(1)Proteus(海神)简介 Proteus是一款集单片机和SPICE仿真于一身的EDA工具软件,其中ISIS可直接在原理图的虚拟原型上进行主流MCU和外围电路编程,与Keil连接调试。 (2)6位LED动态扫描电路如图8.34,相关说明见例8.7。(3)下面只给出主程序, 功能是将十
39、六进制数05依次存放到7AH7FH显示缓冲区,被调用的6位LED动态扫描显示子程序DDIR见例8.7。把此主程序和DDIR子程序组成的汇编源程序存放在名为sdir.asm文件中。ORG0000H AJMPSTARTORG0030H2022/9/3可编辑4310.2.3 实训3 LED与LCD显示的proteus仿真 3START:MOVR1,#06H;显示数据个数送R1MOV R0,#7AH;显示缓冲区首址送R0MOV A,#00H;向显示缓冲区预置数据05IN:MOV R0,AINCAINCR0DJNZR1,INACALL DDIR;6位LED动态扫描显示子程序DDIRSJMPSTART;见
40、例8.73实训步骤(1)安装Proteus软件(见教材P.251 )(2)用proteus绘制图8.34原理图双击Proteus ISIS 7执行图标 出现如图10.23所示ISIS 7 Professional集成开发环境窗口。图中标出了窗口中2022/9/3可编辑4410.2.3 实训3 LED与LCD显示的proteus仿真 4各部分的组成。在图形编辑窗中的蓝色方框内可以绘制原理图, 这个窗没有滚动条,要用预览窗来改变其可视范围。预览窗作用有: 当鼠标点击原理图编辑窗时,会显示整张原理图的缩略图;这时调节绿色方框位置,框内的缩略图部分就是2022/9/3可编辑4510.2.3 实训3 L
41、ED与LCD显示的proteus仿真 5当前原理图窗口中显示的内容; 当一个元件在对象选择窗中被选中时,会显示该元件的预览图,可用对象选择窗下部旋转钮改变元件的方向。Proteus的鼠标操作:右键单击选择元件,右键双击删除元件;左键单击放置元件;先右键后左键编辑元件属性;中轮滚动缩放原理图。绘制图8.34原理图方法如下: 将元件加入到对象选择窗要用到的元件如表10.10,单击对象选择按钮“P”,出现如图10.24所示“Pick Devices” 对话框;“在Keywords”栏中输入“AT89C51”,系统会自动搜索对象库,并把搜索到的结果显示在“Results”栏中;在“Results”栏中
42、选中第一个元件“AT89C51”,单击“OK”按钮,AT89C51就被加入到2022/9/3可编辑4610.2.3 实训3 LED与LCD显示的proteus仿真 62022/9/3可编辑4710.2.3 实训3 LED与LCD显示的proteus仿真 7对象选择窗中了。依此方法把表10.10中的其余元件都加入到对象选择窗中,如图10.25所示。放置元件到原理图编辑窗在对象选择窗中选中AT89C51,在原理图编辑窗的合适位置处单击左键,AT89C51就被放到原理图编辑窗中了。依此方法,在原理图编辑窗的合适位置处放置其余元件。对于表10.10中最后两行的多个相同元件,如电阻R1R8,也可以用块复
43、制方法。放置好R1后,右键单击将其选中,再单击块复制按钮 ,移动鼠标后单击左键,将R1复制到新位置,重复操作至放置好所有电阻,单击鼠标右键退出。添加电源到原理图编辑窗 单击工具箱中Terminals Mode图标,出现如图10.26所示2022/9/3可编辑4810.2.3 实训3 LED与LCD显示的proteus仿真 8终端模式选择框,选中“POWER”,再在原理图编辑窗中合适位置处单击左键,电源就被放置到此窗口中了。 连线 Proteus许多器件的VCC、VDD、GND之类引脚都被隐藏了,在画原理图时不需连接,其它元件之间可按图8.34进行连接。以图10.27中U1的1脚与U3A的1脚的
44、连接来说明:先检查Proteus自动路径功能是否打开,此功能可用Tools菜单中的“Wire Auto Router”命令来打开或关闭。当鼠标指针靠近U1的1脚时,指针变成笔状,同时出现一个红色的小方块,表明找到了连接点,单击鼠标左键;之后,向U3A的1脚移动鼠标指针(不用拖拉)时,走线会自动变成了90的折线;鼠标指针到达U3A的1脚连接点时,指针也会变成笔状,同时出现一个红色的小方块,单2022/9/3可编辑4910.2.3 实训3 LED与LCD显示的proteus仿真 9击鼠标左键,连线就完成了。同样地完成其余的连线。在连接时可以按ESC键或者单击鼠标右键来放弃画线。 标注导线标号图10
45、.27中电阻R1R8下面8个引脚与U2的相应引脚的相连,也可以标注相同导线标号得到连接。下面以图10.27中R1的下面引脚与U2的13脚的连接来进行说明。鼠标指针在R1下面引脚处单击,引出一条短线后再单击,得到一个连接点,用同样方法在U2的13脚处引出一条短线和连接点。单击工具箱中的“Wire Label Mode”图标 ,鼠标指针指向R1下面的引线处,出现“”号时,单击鼠标左键,出现“Edit Wire Label”对话框时,在“String”栏中输入标号名称“a”;用同样方法在U2的13脚处标注导线标号“a”。这样,相同标号的两点就连通了。同样地标注2022/9/3可编辑5010.2.3
46、实训3 LED与LCD显示的proteus仿真 10其余的导线标号。不同的连接点,要用不同的标号,本图中的8个连接点采用的标号是ah。至此, 原理图已完成,如图10.27,该图也是运行时情形。将此设计以sdir7404.DSN存盘。(3)Keil Vision3与Proteus7连调仿真参照2.32.4节中汇编源程序的开发步骤,在2022/9/3可编辑5110.2.3 实训3 LED与LCD显示的proteus仿真 11Keil Vision3中如下操作:创建新工程sdir.Uv2,选择CPU厂家和型号为Atmel 公司的AT89C51,该工程存放在用户指定的文件夹下,比如:d:workkei
47、l sdir。将sdir.asm文件添加到该工程中。设置Keil Vision3与Proteus7连调。按2.4.3节方法,在打开图2.19所示“Options for Target Target 1”选项设置窗时,单击“调试”标签,在出现的“调试”标签页对话框的右栏上部的下拉列表中选中“Proteus VSM Simulator”,并且要选中“使用”前面的单选按钮,使之出现小圆点,如图10.28所示。再单击“设置”按钮,出现如图10.29所示设置通信对话框,在“Host”栏中输入本机地址“127.0.0.1”,如果Proteus安装在网络上2022/9/3可编辑5210.2.3 实训3 LE
48、D与LCD显示的proteus仿真 12另外一台电脑,则要输入另一台电脑的IP地址;在“Port”栏中输入口地址“8000”,设置好后,单击“OK”按钮。按2.4.3节方法,编译连接该工程, 创建文件sdir.hex。Proteus ISIS 7中的设置。打开sdir7404.DSN,在Proteus ISIS 7窗口中,打开“Debug”菜单,选中“Use Remote Debug Monitor”。这样Keil Vision3与Proteus7连调设置就完成了。2022/9/3可编辑5310.2.3 实训3 LED与LCD显示的proteus仿真 13在Keil Vision3中,用各类运
49、行按钮调试运行程序时,就会在Proteus ISIS 7窗口中看到运行的结果。(4)Proteus的单独虚拟仿真连调正确后,对原理图中的AT899C51先右键单击,再左键单击,出现如图10.30所示的“Edit Component”对话框,单击“Program File”栏的浏览按钮,找到并加入上面创建的HEX文件sdir.hex; 然后单击“OK”按钮。至此,就可以在Proteus ISIS 7窗口本身,运行模拟仿真了。单击仿真运行按钮 ,6位LED将动态显示“012345”,同时能清楚地观察到每一个引脚的电平2022/9/3可编辑5410.2.4 实训4数字电子钟控制 1变化,红色代表高电
50、平,蓝色代表低电平,如图10.27所示。4. 实训练习练习1:改用图8.20电路,重做本实训,汇编源程序中的延时采用R6 = 4,R7 = 248,观察显示的不同效果。 练习2:在LM032L的LCD显示屏上向右滚动显示如下两行文字:“! VSM LCD DEMO !”和“A virtual LM032L.”,如图10.31 (见教材P.256)所示。1实训目的(1)熟悉LED动态显示、独立式按键识别和电子钟的时、分、秒数据处理方法。(2)设计一个6位LED显示数字电子钟,要求时、分和秒可调,在Proteus的虚拟仿真通过后,移植到用户板上。2022/9/3可编辑5510.2.4 实训4数字电
51、子钟控制 22实训知识(1)数字电子钟原理图如图10.32, 图中采用6位LED共阴显示器,动态显示时、分和秒,AT89C51的P0口输出七段码,P2口输出位选码;接于P3.0P3.2的三个按键用于秒、分和时的调整。(2)汇编源程序2022/9/3可编辑5610.2.4 实训4数字电子钟控制 3DTSZ.ASM 见教材P.259 P.2616 ,对存储分配和编程算法说明如下。 存储分配与时、分、秒数据处理秒、分、时的时间数分别存放在70H72H单元中,73H单元为秒计数用,即对定时器0的50ms溢出中断进行计数,20次中断为1秒时间到,给秒单元70H加1。秒、分单元进位逢60进1,时单元逢24
52、溢出,此时,秒、分、时单元全部清零,重新开始新一天的计时。对70H72H单元中秒、分、时数据,分别进行拆字,把得到的秒、分、时的个位和十位分别存入7AH7FH显示缓冲区中。 编程算法程序采用查询算法对三个独立键状态进行循环查询,同时调用动态扫描子程序,保持显示器同时是亮的。定时2022/9/3可编辑5710.2.5 实训5交通灯控制 1器0以中断方式工作,进行1秒计数。3实训步骤(1)按实训3介绍的方法,完成数字电子钟项目的Proteus的虚拟仿真。本项目用到的元件为:AT89C51、7SEG-MPX6-CC-BLUE、74LS07、RESPACK-8和BUTTON。(2)在Proteus的虚
53、拟仿真通过后,把此项目移植到用户板上。按9.4介绍的方法用ME-52HU进行硬件仿真。1实训目的(1)熟悉单片机进行逻辑控制和定时控制的基本方法,模拟交通灯控制的工作过程。(2)功能要求:上电后,南北红灯与东西绿灯同时亮。南北红灯亮将维持13s;东西绿灯亮10s,接着黄灯闪烁,亮2022/9/3可编辑5810.2.5 实训5交通灯控制 2暗间隔为0.5s,闪烁3次后熄灭;变为东西红灯亮,南北绿灯亮。同样,东西红灯亮13s;南北绿灯亮10s,接着黄灯闪烁,亮暗间隔为0.5s,闪烁3次后熄灭;此后,恢复为南北红灯亮与东西绿灯同时亮,如此周而复始的循环。当闭合紧急开关时,南北红灯与东西红灯同时亮,以利特种车辆通过。2实训知识(1)交通灯控制原理图如图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 盘子商业机会挖掘与战略布局策略研究报告
- 定时传感器产品供应链分析
- 家用罐装饮料保温容器产品供应链分析
- 船用光反射镜项目运营指导方案
- 家具的定制制造行业相关项目经营管理报告
- 济南市区住房出租合同书
- 多元文化音乐行业经营分析报告
- 自行车车架项目运营指导方案
- 草地曲棍球运动用球商业机会挖掘与战略布局策略研究报告
- 夯实机产业链招商引资的调研报告
- 人教版小学数学四年级上册教材分析
- 国家执业医师资格考试题库(针灸学)
- 茅台红酒推销文案策划案例
- 期中达标测试卷(试题)-2024-2025学年统编版(2024)语文一年级上册
- 2024年地质矿产勘测行业技能鉴定考试-地质录井技能考试近5年真题集锦(频考类试题)带答案
- 第四章第1节 陆地与海洋第1课时教学设计-2024-2025学年商务星球版七年级上册地理
- 社保知识竞赛考试题及答案
- 1-4单元期中提升卷(试题)-2024-2025学年五年级上册数学人教版
- 2024秋期国家开放大学《钢结构(本)》一平台在线形考(阶段性学习测验1至4)试题及答案
- 生物化学第二章核酸的结构和功能
- 2024年秋10月全国自考网络经济与企业管理预测试题含解析
评论
0/150
提交评论