实训八步进电机控制电路-山西职业技术学院_第1页
实训八步进电机控制电路-山西职业技术学院_第2页
实训八步进电机控制电路-山西职业技术学院_第3页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机实训指导书山西职业技术学院电气工程与自动化系单片机课程是自动化专业一门实践性较强的专业课,在实际中应用广泛,必须通过 实验手段进行模拟设计及调试,才能进一步验证、巩固和深化所学的理论知识。根据教 学要求,我们特编写此单片机实训指导书,不仅可与理论课程配套使用,也可作实 训指导书使用。单片机实训课程以实践为主,是理论教学的深化和补充,通过实际动手进行外部接 线、编制程序并调试运行,加强理论与实践的相结合,提高学生独立分析问题和解决问 题的能力,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今 后工作打下良好的基础。本实训指导书根据YL-51PR0型号的单片机实验箱提供的实

2、验,共设置了十四个 项目。任课老师可根据各专业的教学大纲以及教学计划的安排,选做部分或全部的实验 项目。由于时间仓促,水平有限,实训指导书在编写过程中,有不足与失误在所难免,将 在使用中不断进行补充与修改,更希望得到宝贵意见和建议。目录实训一 LED闪烁电路 1实训二LED花灯电路 3实训三74HC138译码器电路 5实训四中断控制电路 7实训五定时/计数控制电路 8实训六 双机通信电路 10实训七8155扩展电路 14实训八步进电机控制电路 21实训九 电子音乐盒 24实训十电子琴控制电路 28实训一 8X 8LED点阵控制 31实训十二D/A转换控制电路 34实训十三 A/D转换控制电路

3、38实训十四认识C语言编程 42实训一 LED闪烁电路一、实验目的1. 学会源程序的编写、汇编、调试;2. 学习mov指令及位操作指令setb、clr、cpl的用法;3. 掌握延时程序的嵌套循环结构。二、实验设备PC机,试验箱中A1区MON5仿真模块、A2区MCI总线接口及I/O 口连接区、D1区独立控制的LED模块,排线。三、实验原理P1 口为八位准双向I/O 口,每一位可独立定义为输入输出。CPU对I/O 口的操作可 以是字节操作,也可以是位操作。实验线路如图1所示,控制LED灯的亮灭,是通过改变其两端电平的高低来实现的。在本试验箱中,I/O 口输出为“ 1”时对应的发光二极管灯灭,输出为

4、“ 0”时对应的发光二极管灯亮。编写程序,通过控制 LED的状态,熟悉CPU寸I/O 口的操作指令。VCC 0P11P12P1SP15P16300*81kR13 1iAhr'._L.2 '四、实验内容1 用汇编语言实现八个LED的全亮全灭;2 用汇编语言实现单个LED的闪烁。要求延时时间为0.2S。用Keil-51软件编写源程序,汇编、调试,程序下载到实验箱进行调试、验证五、实验步骤1. 用导线把A2区的J61接口与D1区的J52接口相连;2. 编写一段程序实现LED灯的全亮全灭闪烁;3. 编写一段程序实现单盏LED灯的闪烁。六、实验思考:如何用数据传送指令 MOV语句实现8盏

5、灯的轮流点亮?实训二LED花灯电路一、实验目的1. 巩固源程序的编写、汇编、调试;2. 学习循环移位指令 RR RRC RL、RLC及算数运算类指令dec、inc、及add、subb 的用法。二、实验设备PC机,试验箱中A1区M0N5仿真模块、A2区MCI总线接口及I/O 口连接区、D1区 独立控制的LED模块,排线。三、实验原理循环移位类指令:RL A : An+1(An)其中 n=06; AO J(A7)RLC A : An+1 J (An)其中 n=06; A0 J (C) , C J (A7)RR A : ArJ(An+1)其中 n=06; A7 J(A0)RRC A : An J (

6、An+1)其中 n=06; A7 J (C) , C J (A0)指令描述主要符号:符号意义Rn当前选中的工作寄存器组区的 8个寄存器R0R7( n=07)之一Ri当前选中的工作寄存器组区中的寄存器 R0或R1 (i=0 , 1)direct8位片内RAM单元的直接地址。包括特殊功能寄存器地址#data指令中的8位立即数#data16指令中的16位立即数addr11用于ACALL和AJMP旨令中的11位目的地址,该地址必须放在与下条 指令第一个字节同在一个2KB的ROM间之中addr16用于LCALL和 LJMP指令中的16位目的地址,该地址在 64KB的ROM空间内rel补码形式的8位地址偏

7、移量。用于所有的条件转移和 SJMP指令中, 以下一条指令的第一个字节地址为基准,其值在 -128+127范围内寄存器间接寻址或变址寻址的前缀bit内部RAM或 SFR中的可直接寻址位C布尔处理器的累加器也就是进位/借位标志CY(x)某地址单元或寄存器中的内容(x)以X单元或寄存器中的内容为地址间接寻址单元的内容J将箭头右边的内容送入箭头左边的单元四、实验内容1. 用单片机的P1 口控制8只LED灯,每次点亮1只,从左至右循环;2. 用单片机的P1 口控制8只LED灯,每次点亮1只,从左至右循环后再从右至左循环3次后停止;3. 用单片机的P1 口控制8只LED灯,每次点亮2只,从左至右循环后再

8、从右至左 循环3次后停止。五、实验步骤1. 硬件连接:用导线把 A2区的J61接口与D1区的J52接口相连;2. 软件设计:画出程序流程图,编程实现实验要求。六、实验思考:想出几种实现上述功能的编程方法。实训三74HC138译码器电路一、实验目的通过实验熟悉译码器的使用方法,灵活应用74HC138进行电路设计。二、实验设备PC机,试验箱中A1区M0N5仿真模块、A2区MCI总线接口及I/O 口连接区、C6区 138译码电路、D1区独立控制的LED模块,排线。三、实验原理输入输出使能选择G1CBAY0Y1Y2Y3Y4Y5Y6Y7XHXXXHHHHHHHHLXXXHHHHHHHHHHLLLLLHH

9、HHHHHHLLLHHLHHHHHHHLLHLHHLHHHHHHLLHHHHHLHHHHHLHLLHHHHLHHHHLHLHHHHHHLHHHLHHLHHHHHHLHHLHHHHHHHHHHL74HC138真值表如下表所列,弓I脚图如图 2(a)所示u15LEDI ,ABCA B D2 2 1 7 NG G G Y G74138CCYOY1Y2Y3Y4Y5Y6V141311in1AYO才Y1AY2CY3Y4diY5G3ATY6G2BY774L313SLEW ,LED-IK1.时IJ 1LEI用K1l.EJrLED(5 l(a)引脚图(b)图2译码器实验电路图实验原理图四、实验内容1、编写程序,

10、通过单片机的P1 口控制74HC138的数据输入端,从而选通相应的数 据输出位。2、将译码器数据输出端口连接到 8个发光二极管,验证译码的正确性。五、实验步骤1、短接C6区JP4接口上的短路帽,将C6区J20、J22接口与A2区J61接口的P10P15 相连。实验原理图如图2(b)所示。2、将D1区的J52接口连接到C6区J51译码数据输出接口。3、打开程序调试软件,下载运行编写好的软件程序,查看程序运行结果是否正确。六、实验思考:在单片机电路中,74HC138是如何产生片选信号的?实训四中断控制电路一、实验目的1. 了解51单片机的中断组成、中断原理中断处理过程、外部中断的中断方式;2. 掌

11、握中断功能的编程方法。二、实验设备PC机,试验箱中A1区M0N5仿真模块、A2区MCI总线接口及I/O 口连接区、D1 区独立控制的LED拨码开关、按键模块,排线。三、实验原理80C51的中断系统有5个中断源:外部中断INTO.定时器/计数器TO.外部中断INT1. 定时器/计数器T1和串口 UART中断,它们对应不同的中断矢量。IE是中断允许寄存器,其中 EXO ETO EX1、ET1、ES分别是上述5个中断的允许控 制位,EA是中断总允许位,每个中断只有在相应中断允许且总中断也允许的情况下才能 得到中断响应。5个中断都可以设为高.低2个优先级,IP是中断优先级寄存器,其中 的PX0 PT0

12、 PX1 PT1、PS位分别对应5个中断的优先级设置,置“ 1”时设定为高级 中断,为“ 0”时是低级中断。四、实验内容1. 定时器中断实验编程设定1S定时(按12M计算),定时中断到来时,通过 P1.0 口发出信号,LED 发光二极管亮1S,灭1S,如此循环。2. 外部中断实验每次手动外部输入中断后 P1.0取反一次,也就是每次中断发光二极管变化一次。五、实验步骤1. 定时器中断实验:用排线把总线接口模块和定时/计数/中断实验模块连接起来。把P1.0接到LED指示输入端,接通电源,运行程序。2. 外部中断实验:按上面连接不变,运行程序。六、实验思考编写一个由两个中断控制的流水灯程序实训五定时

13、/计数控制电路一、实验目的1. 了解51单片机中定时器/计数器的基本结构,工作原理和工作方式;2. 掌握工作在定时器和计数器两种方式下的编程方法。二、实验设备PC机,试验箱中A1区M0N5仿真模块、A2区MCI总线接口及I/O 口连接区、D1 区独立控制的LED拨码开关、按键模块,排线。三、实验原理80C51内部有TO、T1两个定时器/计数器,TLO、THO和TL1、TH1分别对应两个定 时器/计数器的低8位和高8位,与定时器/计数器有关的SFR还有TMOD口 TCONTCON中 TRO TR1是TO、T1对应的开始运行控制位,TFO TF1是溢出标志,剩下4 位是两个外部中断INTO、INT

14、1对应的方式控制位ITO、IT1和中断请求标志IE0、IE1。 TMO中,每个定时器/计数器对应GATE C/T、M1 M04位,GATE是选通门控位,它决 定TO、T1的开始运行是否要受外部中断输入引脚电平的控制;C/T是定时器/计数器选择位,在定时器工作方式时,计数输入信号来自内部时钟,每个机器周期计数寄存器加 1,在计数器工作方式时,计数输入信号来自 TO、T1管脚,输入信号每次从1到0跳 变,计数寄存器加1,要注意的是输入信号的最高频率不得大于机器振荡频率的1/24。M1 M0是模式控制位,决定了 TO、T1的四种工作模式,对于每种模式的具体说明请阅 读有关的参考手册。定时器/计数器控

15、制寄存器TCOND7 D6 D5 D4 D3 D2 D1 DO'TF1TR1TFOTROIE1IT1IEOITO定时器/计数器方式寄存器TMODD7 D6 D5 D4 D3 D2D1 DOGATEC/TM1M2GATEC/TM1MO四、实验内容1. 定时器实验:晶振为11.0592MHz.(为方便计算按12MHz计算),用定时器0产生50ms定时,由P1.0输出周期为100ms的方波信号,并通过LED的亮灭观察;2. 计数器实验:手动外部输入脉冲,计数器计到一定值时,由P1.0输出高电平,使LED点亮;3. 定时器/计数器/中断综合实验:正常状态下,LED从中间向两边点亮闪烁,循 环周

16、期为1.6秒,当按键按下后全亮全灭闪烁 8次后返回(延时时间用定时器 完成)。五、实验步骤1. 定时器实验:用40芯排线把主机模块和定时/计数/中断实验模块连接起来。接 通电源,运行程序。2. 计数器实验:用导线把 P3.4(T0)连接到单次脉冲输出端,把 P1.0连接到LED 输入端。接通电源,运行程序。3. 定时器/计数器/中断综合实验:按上面连接不变,运行程序。六、实验思考可否不使用定时器的中断方式,采用定时器与软件计数相结合的方法实现方波输 出?实训六双机通信电路一、实验目的1. 学习串行口的扩展技术,掌握串行口相关寄存器的设定方法;2. 掌握串行口扩展显示器的电路设计原理和编程方法。

17、二、实验设备PC机,试验箱中A1区M0N5仿真模块、A2区MCI总线接口及I/O 口连接区、D1区独 立控制的LED拨码开关、按键模块,排线。三、实验原理与串行口有关的特殊功能寄存器有 SBUF SCON PCON与串行口中断有关的特殊功 能寄存器有IE、IP.1 串行口发送/接收缓冲器SBUF( 99H)2 串行口控制寄存器 SCONSCON的各位的定义和功能如下:SCON;A .3 J J98HPSM1PSM2PRENqIB肘RB8pTk1) SM0 SM1 串行口工作方式选择位2) SM2 多机通信控制位。3) REN串行接收允许位。由软件置1或清0。软件置1时,串行口允许接收, 清0后

18、禁止接收。4) TB8:在方式2和方式3中是发送的第9位数据。5) RB8 在方式2和方式3中是接收的第9位数据。6) TI:发送中断标志位。发送结束时由硬件置位。该位必须用软件清零。7) RI :接收中断标志位。结束接收时由硬件置位。该位必须用软件清零。8) SMO呂I时,方式1、2、3的波特率加倍,否则不加倍。20PF20PF1912MHzii _ T 20PF 13*AT89C51RESETX2AT89C5厂19Iil2MHz TISRESET10u F切-1467a指摆开关TXDRXDGND11111020P20txdRT1GHDEAPl. 0Pl. 1Fl. 2Pl. 3Fl. 4F

19、l, 5Pl. 6Pl. 710J F931+5Vo20PF470X8图3双机通信电路+5Vp四、实验内容利用2片AT89C51芯片,一片用作发送器,记作89C51-T,用来读入P1 口指拨开 关的状态;另一片用作接收器,记作 89C51-R,用来接收89C51-T发送过来的指拨开关 的状态,并将其在 89C51-R输出的8个LED上显示出来。五、实验步骤1、将程序下载至单片机,2、按图3连接电路。六、实验参考程序AT89C51-T的发送程序ORG 0000HAJMP MAINORG 0100H设定堆栈区;串行口工作在方式1,禁止接收;定时器1工作在方式2;波特率为1200MAIN MOV S

20、P #50H ;MOV SCON ,#40HMOV TMOD,#20HMOV TL1,#0E8HMOV TH1,#0E8HSETB TR1MOV 30H,#0FFHMOV P1, #0FFHREAD MOV A,P1CJNE A,30H,KEYAJMP READ;启动定时器1设定指拨开关初值;P1 口设为输入状态读入指拨开关值输入值改变则跳至KEYKEY MOV 30H,AMOV SBUF,AWAIT JBC TI,READAJMP WAITENDAT89C51-R的接收程序ORG 0000HAJMP MAINORG 0100HMAIN MOV SP #50HMOV SCON , #50HMO

21、V TMOD,#20HMOV TL1,#0E8HMOV TH1,#0E8HSETB TR1READ JBC RI,UARTAJMP READUART MOV A,SBUFMOV P1,AAJMP READ;存指拨开关新值;送串行口发送;查看是否送完;设定堆栈区;串行口工作在方式1,允许接收;定时器1工作在方式2;波特率为1200;启动定时器1;是否接收到数据,收到则跳到 UART;收到的数据送A;发送至P1 口END七、实验思考在编写串行口应用程序时应注意这样几个冋题: 必须对串行口进行初始化。具体包 括SCON PCON和波特率的设定。在接收和发送一个字节完毕后必须用软件清除中断标 志。本实

22、训采用软件查询方式编程,请尝试用中断方式实现该功能。实训七8155扩展电路一、实验目的1. 掌握可编程I/O接口芯片8155的接口使用原理;2. 了解8155芯片的结构及编程方法。二、实验设备PC机,试验箱中A1区MON5仿真模块、A2区MCI总线接口及I/O 口连接区、A3区8155扩展模块、D1区独立控制的LED拨码开关、按键模块,排线。三、实验电路原理图及其说明8155是可编程的通用并行输入输出接口电路,其工作原理为:1、8155各引脚功能说明如图4所示:PC3匚1V40VccPC1匚239:PC2TIMER IN匚3383PCIRESET匚437Z)PCOPCS匚536ztPB7TIM

23、ER OUT匸635PB6io/y匚734PU5CEC033PB4RDC9LQ32PB3UR匸10g31PB2ALE匚110030ZIpmADOC1229I noADI匚1328nPA 7AD2C14273PA6AD3匚1525Z)PA5AD4C1625DPA4AD5C17243PA3Al用匚1823nPA2AD7匚1922=1PAI2021PAO(a)引脚图AD0-AD7<=TIMER INTIMER OUTPAD -PA7PB0-PB7命令/状态寄存at14®计数醤=>PCO-PC5GM)Vcc(+5V)(b)内部结构图图4 8155引脚功图RST复位信号输入端,咼电

24、平有效。复位后,3个I/O 口均为输入方式。ADAD:三态的地址/数据总线。与单片机低8位地址/数据总线(P0 口)相连。单片机与8155间的地址、数据、命令与状态信息都通过此总线口传送。RD :读选通信号,控制对8155的读操作,低电平有效WR :写选通信号,控制对8155的写操作,低电平有效。CE :片选信号线,低电平有效。10/ M : 8155的RAM存储器或I/O 口选择线。当10/M = 0时,则选择8155的片 内RAM ADAD上地址为8155中RAM单元的地址(OOH- FFH ;当10/ M = 1时,选择 8155的I/O 口,ADAD上的地址为8155 I/O 口的地址

25、。ALE 地址锁存信号。8155内 部设有地址锁存器,在ALE的下降沿将单片机P0 口输出的低8位地址信息及CE ,10/M 的状态都锁存到8155内部锁存器。因此,P0 口输出的低8位地址信号不需外接锁存器。PAPA: 8位通用I/O 口,其输入、输出的流向可由程序控制。PB0PB7: 8位通用I/O 口,功能同A 口。PGPG:有两个作用,既可作为通用的I/O 口,也可作为PA 口和PB 口的控制信 号线,这些可通过程序控制。TIMER IN:定时/计数器脉冲输入端。TIMER OUT定时/计数器输出端。VCc: + 5V 电源。2、8155的地址编码及工作方式 在单片机应用系统中,815

26、5是按外部数据存储器统一编 址的,为16位地址,其高8位由片选线Ge提供,Ge = 0,选中该片。当Ge = 0,IO/ M = 0时,选中8155片内RAM这时8155只能作片外 RAM使用, 其RAM勺低8位编址为00H- FFH当GE = 0,IO/M = 1时,选中8155的I/O 口,其 端口地址的低8位由ADAD确定,如表所示。这时,A、B、C 口的口地址低8位分别 为01H 02H 03H (设地址无关位为0)。8155地址编码及工作方式如下表所示:AD-AE0选择I/O 口A7A6A5A4A3A2A1A0XXXXX000命令/状态寄存器XXXXX001A 口XXXXX010B

27、口XXXXX011G 口XXXXX100定时器低8位XXXXX101疋时器咼6位及方式8155的A 口、B 口可工作于基本I/O方式或选通I/O方式。C 口可工作于基本I/O 方式,也可作为A 口、B口在选通工作方式时的状态控制信号线。当 C口作为状态控制 信号时,其每位线的作用如下:PC0 AINTR(A 口中断请求线)PC1: ABF(A 口缓冲器满信号)PC2 ASTB (A 口选通信号)PC3 BINTR(B 口中断请求线)PC4 BBF( B 口缓冲器满信号)PC5 BSTB (B 口选通信号)8155的I/O工作方式选择是通过对8155内部命令寄存器设定控制字实现的。命令 寄存器只

28、能写入,不能读出,命令寄存器的格式如图5所示。在ALT1ALT4的不同方式下,A 口、B 口及C口的各位工作方式如下:ALT1 : A 口,B 口为基本输入/输出,C 口为输入方式。ALT2 A 口,B 口为基本输入/输出,C 口为输出方式。ALT3: A 口为选通输入/输出,B 口为基本输入/输出。PCO为AINTR PC1为ABF, PC2为 ASTB,PC4PC5为输出。ALT4: A 口、B 口为选通输入 /输出。PCO为 AINTR PC1 为 ABF,PC2为 ASTB,PC3 为 BINTR PC4为 BBF PC5为 BSTB。00:空操作01:停止计数10:时间到则停止计数1

29、1:置入工作方式和计数 长度后立即启动计数,若 正在计数,溢出后按新的 方式和长度计数0:禁止A 口中断1:允许A 口中断THITU2IEBEAPC2PC1PBPA7定义端口 A0:输入1:输出定义端口 B0:输入1:输出0:禁止B 口中断1:允许B 口中断定义端口 C00: ALT1、A 口、B 口基本输入输出,C 口输入01: ALT1、A 口、B 口基本输入输出,C 口输出10: ALT3,A 口选通输入输出,B 口基本输入输出PC0: AINTRPC1: ABFPC2: ASTBPC3PC5:输入输出PC0: AINTRPC1: ABFPC2: ASTBPC3: BINTRPC4: B

30、BFPC5: BSTB图5命令寄存器格式8155内还有一个状态寄存器,用于锁存输入/输出口和定时/计数器的当前状态,供CPU查询。状态寄存器的端口地址与命令寄存器相同,低 8位是00H,状态寄存器的内 容只能读出不能写入。对其写入时作为命令寄存器;而对其读出时,则作为状态寄存器。状态寄存器的格式如图6所示图6状态寄存器格式3、8155的定时/计数器8155内部的定时/计数器实际上是一个14位的减法计数器,它对 TIMER IN端输入 脉冲进行减1计数,当计数结束(即减1计数“回0”时,由TIMEROUT端输出方波或 脉冲。当TIMER IN接外部脉冲时,为计数方式;接系统时钟时,可作为定时方式

31、。定时/计数器由两个8位寄存器构成,其中的低14位组成计数器,剩下的两个高位(M2 M1用于定义输出方式。其格式如图 7所示:D7D6D5D4D3D2D1DOT7T6T5T4丁 3T2T)TO1计数长度低位D71)6D51)4D3D2DIDOMlM2T13T12T11T10T9T8定时器方武计数长度高位图7定时/计数器寄存器格式实验线路原理如图8所示,PA口为8个发光二极管的位选,PB 口经按键来控制发 光二极管的闪烁。20PF12 眄二iRESETVccEAGNDP2.080C51 alewrIOMPBOALE 8155WRRDRESET恥-GNDTo12345671o o o o o o

32、o o pp ppp-ppp0 12 3 4 5-67 ADADADADADADADADO470X3AOA1A2A3A4A5昶AT pppppppp2, 2K图8实验线路原理图实验箱硬件接线方法:8155的Rst端接C1区电源接口的GND IO/M接A2区J63的 A14 即 P2.6,CE接 A2 区 J63 的 A15 即 P2.7。四、实验内容编写程序使发光二极管全亮全灭闪烁五、实验步骤1、按实验箱硬件连接方法接线,接通电源,运行参考程序;2、连接方式自己定义,编写一个程序运行。六、实验参考程序org OOOOhIjmp mai norg 0100hmain:mov dptr,#7f00

33、h ; 端口地址送 DPTRmov a,#01h;命令寄存器控制字送Amovx dptr,a置8155为A 口为输出口,B 口为输入口mov dptr,#7f01h ;A口地址loop:mov a,#00hmovx dptr,a ;全亮call delaymov a,#0ffhmovx dptr,a ; 全灭call delayljmp loopdelay:mov r0,#00hs1: mov r1,#00hdjnz r1,$djnz r0,s1retend七、实验思考通过按键、外部中断如何来控制灯的闪烁;通过8155 口的扩展定时、计数器如何实现时间的延时,可自行绘制原理图,通过编程实现。实

34、训八步进电机控制电路、实验目的了解步进电机的驱动原理,掌握它的转动控制方法和调速方法、实验设备PC机,试验箱中A1区M0N5仿真模块、A2区MCI总线接口及I/O 口连接区、C10区 步进电机模块、D1区独立控制的LED拨码开关、按键模块,排线。三、实验电路原理图及其说明步进电机具有快速启动、精确定位和直接将数字量转化为角度量的优点,是工业控制及仪表工业中的主要控制元件之一,在工业中得到广泛应用。BA BB BC BD为四相步进电机的四个线圈。单片机通过 ULN2003A俞出步进电机的驱动信号分别控制步进电机的四个线圈处与通电或断电状态电机正转:电机反转:四、实验内容1、编写程序,通过单片机的

35、P1 口控制步进电机的控制端,使其按一定的控制方式 进行转动。2、 分别采用双四拍(ABBC -CD DA* AB f )方式、单四拍(A f B C D+ A )方式和单双八拍(A-AB -B BC CDD 一 DA A )方式编程,控制步进电机的转动方向和转速。3 、观察不同控制方式下,步进电机转动时的振动和步进角的大小,比较这几种控 制方式的优缺点。五、实验步骤1、安装C10区JP6接口上的短路帽,将C10区J41接口与A2区J61接口的P1.0P1.3 对应相连。2、打开程序调试软件,下载运行编写好的软件程序,观察步进电机的转动情况。3、修改步进电机的控制程序,再次运行程序,比较它们的

36、不同控制效果六、实验参考程序BAEQUP1.0BBEQUP1.1BCEQUP1.2BDEQUP1.3ORG0000HAJMP MAINORG 0030HMAIN: MOV SP,#60HACALL DELAYSMRUN:;设置堆栈指针MOV P1,#08H ;AACALLDELAYMOVP1,#0CH;ABACALLDELAYMOVP1,#04H;BACALLDELAYMOVP1,#06H;BCACALLDELAYMOVP1,#02H;CACALLDELAYMOVP1,#03H;CDACALLDELAYMOVP1,#01H;DACALLDELAYMOVP1,#09H;DAACALLDELAYS

37、JMP SMRUN ;循环转动DELAY:MOV R4,#10DELAY1:MOV R5,#250DJNZ R5,$DJNZ R4,DELAY1RETEND七、实验思考设计一个完整的步进电机控制程序,使用户可能通过按键控制电机转动的方向,并且能够调节电机转动的速度。实训九电子音乐盒一. 实验目的学会蜂鸣器的使用。二. 实验设备及器件PC机,试验箱中A1区M0N5仿真模块、A2区MCI总线接口及I/O 口连接区、D4区蜂 鸣器模块。三、实训原理用定时器T1方式1来产生歌谱中各音符对应频率的方波,由 P1.0输出驱动喇叭。 通过调用延时子程序(200 ms的延时子程序)的次数来实现节拍控制。若以1

38、600 ms每拍 为例,那么每拍需要循环调用延时子程序 8次,同理,半拍就需要调用4次。用单片机 控制循环播放一首歌曲。编程方法:通过控制定时器的定时时间来产生不同频率的方波,驱动喇叭发出不同 音阶的声音,再利用延时来控制发音时间的长短,即可控制音调中的节拍。把乐谱中的 音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中。由查表 程序得到定时常数和延时常数,分别用以控制定时器产生的方波频率和该频率方波的持 续时间。当延时时间到时,再查看下一个音符的定时常数和延时常数。依次下去,就可 以自动演奏出悦耳的乐曲。乐曲中的音符、频率及计时常数三者的对应关系如下表所示。 设晶振频率为1

39、2 MHz 音符、频率及计时常数三者的对应关系C调音符5(低音)6(低音)7(低音)1234567频率/Hz392440494524588660698784880988半周期/ms1.281.141.010.950.850.760.720.640.570.51定时值FB00FB8CFC0EFC4AFCAEFD08FD30FD80FDC6FE02四、实验内容1. 编写一段程序,用P1.3 口控制(输出34KHZ®率的方波),使D4区德蜂鸣器发出 嘹亮的响声。2. 按照例程序输入一段程序,用 P1.3 口控制,使D4区的蜂鸣器发出“生日快乐”的 音乐。五、实验步骤1. 使用导线把A2区J

40、61接口的P1.3与D4区J8接口的其中一脚相连。2. 先编写一个延时程序(120200us)。3. 再编写一个循环程序,改变P1.3脚的电平,然后延时。这样,该循环就使P1.3 口输出程序时,D4区的蜂鸣器将发出嘹亮的响声。4. 按以下例程序输入,然后运行,蜂鸣器发出“生日快乐”的音乐。六、实验参考程序org 0000hajmp mai norg 0030hajmp in tt0org 0100hmain: mov sp,#60hmov tmod,#01h;初始化定时器及中断setb et0;开始定时器0中断setb easetb tr0;启动定时器0start0:setb p1.3mov

41、30h,#00hn ext: mov a,#30hmov dptr,#table ;从TABLE中读取数据声响时间movc a,a+dptrmov r2,ajz enddanl a,#0fhmov r5,amov a,r2swap aanl a,#0fhjnz singclr trOajmp disin g:dec amov 22h,arl amov dptr,#table1; 从TABLE1中读取数据声调move a,a+dptrmov thO,amov 21h,amov a,22hrl ainc amove a,a+dptrmov tlO,amov 20h,asetb trOdi: aca

42、ll delay;声音延时inc 30hajmp n exden dd:clr trOajmp startOinttO:push psw; 定时器O中断服务及程序push accmov tlO,2Ohmov thO,21hcpl p1.3pop accpop pswretidelay: mov r7,#02hdelayO:mov r4,#187delay1:mov r3,#248djnz r3,#$djnz r4,delay1djnz r7,delay0djnz r5,delayrettable:db 82h,01h,81h,94h,84h,0B4h,0a4h,04hdb 82h,01h,81

43、h,94h,84h,0c4h,0b4h,04hdb 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94hdb 0e2h,01h,oe1h,0d4h,0b4h,0c4h,0b4h,04h,db 82h,01h,81h,94h,84h,0b4h,0a4h,04h,db 82h,01h,81h,94h,84h,0c4h,0b4h,04h,db 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,db 0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h,00htabil1:dw 64260,64400,64524,64580,64684,6

44、4777,64820,64898dw 64968,65030,65058,65110,65157,65178,65217end实训十电子琴控制电路一、实验目的1. 了解计算机发声原理;2. 熟悉定时器和键盘扫描电路的工作原理及编程方法。二、实验设备及器件PC机,试验箱中A1区M0N5仿真模块、A2区MCI总线接口及I/O 口连接区、D1区独 立控制的按键模块,D4区蜂鸣器模块,排线。三、实验内容1. 编写一段程序,用P3.3 口控制(输出7种音阶标称频率的方波),使D4区的蜂鸣器 发出不同的音调。程序检测按键的状态,当某一按键按下时,蜂鸣器发出对应音调。2. 按照歌曲的音调,使用D1区的按键看

45、K1K7弹奏一首简单的音乐。四、实验步骤1. 使用导线将A2区J58接口 P3.3 口( INT1)和D4区的J8接口相连,然后将D1区的 J53接口和A2区的J61接口对应相连。2. 编写按键的动态键盘扫描程序,根据不同音音阶的频率编写蜂鸣器的音调控制程序, 然后完成电子琴的主程序设计。3. 调试编写好的程序,使用频率计校准音阶的频率,然后使用键盘演奏一段好听的音 乐。五、实验参考程序BUZZ EQU P3.3ORG 0000HLJMP MAINORG 000BHLJMP INT-T0ORG 0100HMAIN:MOV SP,#60HMOV P1,#0FFHMOV TMOD,#01HSETB

46、 ET0SETB EACLR TR0START:MOV R0,P1CJNE R0,#0FFH,KEY1CLR TR0SJMP STARTKEY1:CJNE R0,#0FEH,KEY2MOV 30H,#0FCHMOV 31H,#0E9HLJMP SET-TIMERKEY2:CJNE R0,#0FDH,KEY3MOV 30H,#0FCHMOV 31H,#5CHLJMP SET-TIMERKEY3:CJNE R0,#0FBH,KEY4MOV 30H,#0FCHMOV 31H,#0C1HLJMP SET-TIMERKEY4:CJNE R0,#0F7H,KEY5MOV 30H,#0FCHMOV 31H,

47、#0EFHLJMP SET-TIMERKEY5:CJNE R0,#0EFH,KEY6MOV 30H,#0FDHMOV 31H,#45HLJMP SET-TIMERKEY6:CJNE R0,#0DFH,KEY7MOV 30H,#0FDHMOV 31H,#45HLJMP SET-TIMERKEY7:CJNE R0,#0BFH,NOKEYMOV 30H,#0FDHMOV 31H,#0D6HLJMP SET-TIMERSET-TIMER:SETB TR0SJMP STARTNOKEY:CLR TR0SJMP STARTINT-T0:MOV THO,30HMOV TL0,31HCPL BUZZRETIE

48、ND实训一 8 X 8LED点阵控制一、实验目的1. 了解LED点阵显示原理;2. 掌握利用单片机的I/O 口进行LED点阵的动态显示的编程方法;3. 练习编程、调试的工作过程。二、实验设备PC机,试验箱中A1区MON5仿真模块、A2区MCI总线接口及I/O 口连接区、D1 区独立控制的按键模块,C3区8X 8LED点阵显示区,排线。三、实验内容编写一段程序,用P1 口控制扫描,C5区的74HC164空制显示输出,使C3区的LED 点阵显示一个“X ”四、实验步骤A2 区 J61 接 C3 区 J46, P10P17 对应 LD_1 LD_8C5 区 J97 接 C3 区 J47, Q0Q7对

49、应 LD_ALD_HA2 区 J58 和 C5区 J43 从 INT0CLK INT1 DINA T0DINB T1 CLR对应相接, 短接C5区JP10和C3区JP2五、实验参考程序elk equ P3.2di na equ P3.3di nb equ P3.4clear equ P3.5org 0000hIjmp mai norg 0100hmian: mov sp,#70hmov 50h,#7ehmov 51h,#0bdhmov 52h,#0dbh mov 53h,#0e7h mov 54h,#0e7hmov 55h,#0dbh mov 56h,#0bdh mov 57h,#07eh c

50、lr clear setb elk setb dinasetb dinbsetb clearmai nloop: mov r6,#8h mov dptr,#9000h mov r1,#50h flashcy:mov a,r1mov r0,ainc r1clr amovc a,a+dptr mov p1,0ffh lcall sen dto mov p1,a inc dptr lcall delay djnz r6,flashcy sjmp mai nloop sen dto: push accclr clksen dtime: mov r7,#08hmov a,r0clr csen dcy:rr

温馨提示

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

评论

0/150

提交评论