微机原理与接口技术系列课程设计_第1页
微机原理与接口技术系列课程设计_第2页
微机原理与接口技术系列课程设计_第3页
微机原理与接口技术系列课程设计_第4页
微机原理与接口技术系列课程设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、第五部分课程设计汇编及接口技术课程设计任务书1.课程设计安排地点:微机原理与接口技术实验室第一批:某些班的单号设计题目:步进电机控制系统1、下载课程设计任务书,查找资料,进行初步设计;2、进入实验室,完成设计任务;3、完成设计报告,打印。4、报告交到办公室。第二批:某些班的双号设计题目:竞赛抢答器的设计与实现1、下载课程设计任务书,查找资料,进行初步设计;2、进入实验室,完成设计任务;3、完成设计报告,打印。4、报告交到办公室。2 .课程设计报告的格式完成设计任务后,在课程设计的最后阶段,需要总结全部设计工作,写出完整、规范的设计报告,在指定的时间内提交指导教师。课程设计报告要求使用A4纸打印

2、,在左侧装订。要求有完整的格式,包括封面、目录、正文等,具体如下:1 .封面(见下一页)2 .目录(正文前必须要有目录)3 .正文内容(一)设计任务与要求(二)设计方案(包括设计思路、使用到哪些芯片、各个芯片的作用)(三)硬件线路设计(包括线路图及连线说明)(四)软件设计(包括程序流程图)(五)源程序(要有注释)(六)调试过程(包括实验过程中的硬件连线,实验步骤、出现的问题、解决的方法、使用的实验数据等)(七)总结(在整个设计过程中的心得和体会,150字左右)4 .参考资料成绩:汇编及接口技术课程设计题目:步进电机控制系统班级:口子万:姓名:时间:5.1 步进电机控制系统一、设计目的1 .了解

3、步进电机控制的基本原理。2 .掌握控制步进电机转动的编程方法。3 .进一步熟练8255的使用。二、设计内容编程控制步进电机,使其能够正常运转,要求:1 .开关K8控制电机的启动与停止。当K8向上拨时,电机启动,向下拨时电机停止。2 .开关K7控制电机的正反转。当K7向上拨时,电机正反转;向下拨时,电机反转。3 .开关K1K6控制电机的转速:K1向上拨时,得到最低转速,K6向上拨时,得到最高转速。4 .在数码管上显示速度编号。三、编程提示步进电机驱动原理是通过对每相线圈中的电流的顺序切换(实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化),来使电机作步进式旋转。驱动电路由脉冲

4、信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。本实验使用的步进电机线圈由四相组成,驱动方式为二相激磁方式,如图4.1所示。二工87-cJ-JT1Mo图4.1步进电机原理图表4.1步进电机激磁方式相顺序HAHBHCHD0+一一1一+一2一一+3+_一_一+注:当实验结束要立即关闭电源,否则一直停留在某一相上会使电机发热如表4.1所示,首先使HA线圈和HB线圈有驱动电流,接着使HB和HGHC和HDHD和HA又返回到HA和HB有驱动电流,按这种顺序切换,电机轴按顺时针方向旋转。四、参考实验LA.DO,一L.AD1一一LAD2.*-1L.AD3.LAD4_一ADOADIAD2AD3AD4A

5、D51弓PAOAD6gAD7nPASAOAlCERDWRLAD5.一Jh.A,.IK瞄M理ELAD6.LAD7U,u-111111nLAO.IORD.IOWR.1.实验连线8255模块的RD、WR连到ISA总线接口模块的IORD、IOWR,8255选通彳t号CE连到ISA总线接口模块的IOY0。8255模块的数据线AD7AD0、地址线A7A0分另1J连到ISA总线接口模块的LAD0LAD7,LA0LA7。步进电机的HA-PA0,HB-PA1,HCPA2,HDPA3。1) 8255的PAD(PA0-PA3)和步进电机的HA、HB、HC、HD相连。2) 8255的PB口(PB0-PB7)和开关K1

6、-K8相连。3) 8255的PC口(PC0-PC7)连接至ULED的(KD0-KD7)。2.运行程序:BJDJ.ASM。观察电机的运转。五、程序清单MY_DATASEGMENTP8255ADW0C800HP8255BDW0C801HP8255CDW0C802HP8255MDW0C803HSHUNDB03H,06H,0CH,09H;顺时针旋转TIMEPDW300H;时间参数DCODEDB?;显示代码MY_DATAENDSMY_CODESEGMENTMY_PROCPROCFARASSUMECS:MY_CODE,DS:MY_DATASTART:MOVAX,MY_DATAMOVDS,AX;FIRST:

7、MOVDX,P8255MMOVAL,82H;OUTDX,ALMOVBL,33HNEW:MOVDX,P8255BINAL,DXTESTAL,80H;K8=PB7JNZTHIRD;SECOND:MOVDX,P8255AMOVAL,0FFH;停止步进电机OUTDX,ALJMPNEW;THIRD:MOVDX,P8255AMOVAL,BLOUTDX,AL;CALLSWITCHCALLDELAY;CALLDISPLY;FORTH:NOPFIFTH:ROLBL,1;JMPNEW;SIXTH:NOPDONE:JMPNEWEXIT1:MOVAX,4C00HINT21HMY_PROCENDP;DELAYPROCN

8、EAR;延时程序PUSHCXPUSHSIDEL0:MOVSI,TIMEPDL1:MOVCX,0FFFFHDL2:LOOPDL2DECSIJNZDL1POPSIPOPCXRETDELAYENDPDISPLYPROCNEAR;显示程序NOPRETDISPLYENDP;SWITCHPROCNEAR;速度子程序PUSHAXPUSHBXPUSHDXSTH1:MOVDX,P8255BNOPMOVAX,300HSTH2:MOVTIMEP,AXPOPDXPOPBXPOPAXRETSWITCHENDPMY_CODEENDSENDSTART六、特别提示1、硬件测试【WINXP【步进电机】2、三个相一致:在硬件测试

9、通过后,要注意三个相一致(1)PNP地址和数据段中的端口地址。(2)控制字和接线。(3)代码段中具体指令的端口地址和接线。3、步步为营:功能模块要一个一个地实现4、附加内容:(1) K8扳上表示启动,步进电机转动。绿灯亮。K8扳下表示停止,步进电机停止。绿灯灭。(2) K7扳上表示顺时针转,红灯亮。K7扳下表示逆时针,即倒转,倒档。红灯灭。(3)K1-K6扳上时,表示不同的速度。步进电机由慢到快。(4)在1、2和3功能实现的基础上,K1-K6扳上时,要在右边的数码管上显示前进的档位。(只用一个LED显示)(5)在1、2、3和4功能实现的基础上,K1扳上,在第一个数码管上显示1;K2扳上,在第二

10、个数码管上显示2。余类推。K7时,显示一1。(6)K8扳上时,喇叭响一下,K8扳下时,喇叭再响一下。5.2竞赛抢答器的设计与实现一、设计目的1 ,了解微机控制的竞赛抢答器的基本原理。2 .进一步熟练8255、(8254)的使用。二、设计内容设计一个7路的智力竞赛抢答器。要求:1、在主持人侧,设置抢答指示电路和启动/复位开关。选手侧各设置1个抢答按钮。2、使用开关K8代表启动/复位开关,K8向上拨时,表示启动一次抢答,绿色发光二极管亮作允许抢答指示。此时选手侧可以按动各自的抢答按钮。3、使用实验仪的逻辑电平开关K1-K7来代表7个抢答按钮。当开关向上拨时表不按下按钮。4、收到第1个抢答信号后,主

11、持人侧红色发光二极管亮(绿色发光二极管灭)作抢答指示,同时实验箱上的喇叭响一下,并且在单个LED数码管显示抢先一组的组别。5、主持人向下拨K8,代表复位操作,指示灯和数码管熄灭。6、主持人可以再次向上拨动K8,启动下一次抢答。7、通过8255、8254完成设计。三、设计提示1、硬件电路设计提示:1) 8255的端口A(PA0-PA7)通过驱动连接到LED的ah各段(KD0-KD7)。2) 8255的端口B(PB0-PB7)和开关K1-K8相连。3) 8255的端口C(如PC7、PC6分别和发光二极管L14(绿)、L13(红)连接。4) 8255的端口C(PC0-PC5)和发光二极管L1-L6相

12、连。5)通过8254定时器T0驱动喇叭。2、编程提示:首先初始化8255,然后判断是启动还是复位操作,若是复位操作,则控制8255输出的数据使绿色和红色指示灯、LED数码管全灭;否则启动下一次抢答,使绿色发光二极管亮,当8255的输入口PB有不为0的数据时,则使绿色发光二极管灭并使红色发光二极管点亮。并判断先拨动开关的组号,在LED上显示出其组号。选做:以上程序调试通过后,可考虑加入使喇叭发声的程序。注意:IOY2的地址比IOY0的多40H。比如IOY0的地址为0D800H,则IOY2的首地址为0D840Ho3、实验连线:(最关键的5根连线,要精挑细选)8255模块的RD、WR分别连到ISA总

13、线接口的IORD、IOWR。8255模块的数据(AD07)、地址线(A07)分别连到ISA总线接口的数据(LAD07)、地址线(LA07)。8255模块选通线CE连到ISA总线接口模块的IOY0。四、程序清单:MY_DATASEGMENTP8255_ADW0DC00HP8255_BDW0DC01HP8255_CDW0DC02HP8255_MDW0DC03HLEDCODEDB0C0H,0F9H,0A4H,0B0H,099H,92H,82H,0F8HDB080H,90H,88H,83H,0C6H,0A1H,86H,8EHKLIDB?;数码管位选信号DCODEDB90H;显示代码缓冲STATDB00

14、H;STAT0为状态位MY_DATAENDSMY_CODESEGMENTMY_PROCPROCFAR;ASSUMECS:MY_CODE,DS:MY_DATASTART:MOVAX,MY_DATAMOVDS,AXMOVDX,P8255_MMOVAL,90H;写8255控制字A、B输出OUTDX,AL;PA输出、PB输入、PC输出。MOVDX,P8255_AMOVAL,0FFH;OUTDX,AL;NEW:MOVDX,P8255_BINAL,DXTESTAL,80HJNZSECONDFIRST:MOVDX,P8255_C;K8=0MOVAL,0C0H;PC7=1,PC6=1OUTDX,ALJMPNE

15、W;SECOND:NOPMOVDX,P8255_BINAL,DXTESTAL,7FH;K0-K7=全0?JNZTHIRDMOVDX,P8255_MMOVAL,0EHOUTDX,AL;PC7=0MOVAL,0DH;PC6=1OUTDX,ALJMPNEWMODE0THIRD:NOPMOVMOVOUTMOVOUTDX,P8255_MAL,0FHDX,ALAL,0CHDX,AL;K0-K7=非全0;PC7=1;PC6=0FORTH:NOPFIFTH:NOPCALLDONE:NOPCALL;CALLJMPMY_PROCENDPSWITCHLEDLAMPDISPLYNEW-SWITCHK1:K2:K3:K

16、4:K5:K6:SWITCHLEDLAMPLEDLAMPDISPLYPROCNEARPUSHAXPUSHDXNOPNOPNOPNOPNOPNOPPOPDXPOPAXRETENDPPROCNEARPUSHAXPUSHDXNOPPOPDXPOPAXRETENDPPROCNEARPUSHAXPUSHDXNOPPOPDXPOPAX;RETDISPLYENDPMY_CODEENDSENDSTART五、特别提示1、硬件测试MY_DATASEGMENTP8255_ADW0dc00HP8255_BDW0dc01HP8255_CDW0dc02HP8255_MDW0dc03HLEDCODEDB0C0H,0F9H,

17、0A4H,0B0H,099H,92H,82H,0F8HDB080H,90H,88H,83H,0C6H,0A1H,86H,8EHMY_DATAENDS全高;土冗MY_CODESEGMENTASSUMECS:MY_CODE,DS:MY_DATASTART:MOVAX,MY_DATAMOVDS,AXMOVDX,P8255_MMOVAL,82H;写8255控制字A、B输出OUTDX,AL;PA输出、PB输入、PC输出HARDTST:MOVDX,P8255_CMOVAL,00H;PC7=0,PC6=0OUTDX,ALTST2:JMPTST2MOVAX,4C00HINT21HMY_CODEENDSENDS

18、TART仝灰;MY_CODESEGMENTASSUMECS:MY_CODE,DS:MY_DATASTART:MOVAX,MY_DATAMOVDS,AXMOVDX,P8255_MMOVAL,82H;写8255控制字A、B输出OUTDX,AL;PA输出、PB输入、PC输出HARDTST:MOVDX,P8255_CMOVAL,0C0H;PC7=1,PC6=1OUTDX,ALTST2:JMPTST2MOVAX,4C00HINT21HMY_CODEENDS10ENDSTART2、三个相一致:在硬件测试通过后,要注意三个相一致(1)PNP地址和数据段中的端口地址。(2)控制字和接线。(3)代码段中指令中的

19、端口地址和接线3、步步为营:功能模块要一个一个地实现六、参考实验1.在四位数码管上循环显示0F。(1)实验连线:8255模块的WR、RD分别连到ISA总线接口的C-SZASZO-IOWR、IORD。8255模块的数据(AD07)、地址线(A07)分别连到ISA总线接口的数据(LAD07)、地址线(LA07)。8255模块选通线CE连到ISA总线接口模块的IOY0o8255的PB07连至I键盘显示模块的KD07;8255的PC03连至I键盘显示模块的KL14。(2)运行程序:DISP.ASM,观察数码管的变化。(3)DISP.ASM源程序MY_DATASEGMENTP8255_ADW0D800H

20、P8255_BDW0D801HP8255_CDW0D802HP8255_MDW0D803HKLDB?;数码管位选信号SGTBDBDB0C0H,0F9H,0A4H,0B0H,099H,92H,82H,0F8H080H,90H,88H,83H,0C6H,0A1H,86H,8EHMYDATAENDs11MY_CODESEGMENTASSUMECS:MY_CODE,DS:MY_DATASTART:MOVAX,MY_DATAMOVDS,AXMOVDX,P8255_MMOVAL,90H;写8255控制字A、B输出OUTDX,AL;PA输入、PB输出、PC输出AGAIN:MOVBX,0START1:MOVC

21、X,04H;显示器个数MOVKL,01H;选中的显示器;DSUP2:MOVAL,SGTBBXMOVDX,P8255_B;送显示器显示OUTDX,AL;MOVAL,KLMOVDX,P8255_C;送位选信号OUTDX,ALINCBXSALAL,1MOVKL,ALCALLDELAY;CMPBX,15JLESTART1JMPAGAIN;转下一轮处理程序EXIT:MOVAX,4C00HINT21HMY_PROCENDpMY_PROCPROCFAR;循环显示0FMY_CODEENDSENDSTART2.电子音乐实验(1) 实验内容及说明本实验演奏出一段乐曲。通过控制8254定时器来产生不同频率的方法,驱

22、动喇叭发出不同音阶的声音,再利用延时来控制发音时间的长短,即可控制音调中的节拍。把乐谱中的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中。由查表程序得到定时常数和延时常数,分别用以控制定时器产生方波和频率和发该频率方波的持续时间。当延时时间到,再查下一个音符的定时常数和延时常数。依次下去,就可自动演奏出悦耳的乐曲。LM386是低电压音频放大器。本实验是用8254定时器T0方式3来产生歌谱中各音符对应频率的方波,由OUT0输12出驱动喇叭。节拍控制可通过调用延时子程序次数来实现。(2) 实验原理图,Q0P7音频电路原理图(3)实验连线:8254模块的GATE0接+5V,OU

23、T0接音频电路VIN(喇叭),CLK0接信号源CLK1,把CLK1的跳线跳到1.5MHzo8254模块的CS选通线ISA总线接口模块的IOY0,WR、RD分别连到ISA总线接口模块的IOWR、IORD。8254模块的数据线AD7AD0、地址线A7A0分别分另U连到ISA总线接口模块的LAD0音频电路连线图块M巴S6二路一(4)运行程序:MUSIC.ASM。(5)MUSIC.ASM源程序MY_DATASEGMENTPARAA8253DW0C400HB8253DW0C401HC8253DW0C402HD8253DW0C403HDELAY_SETEQU2FFHTABDW0B2EH;1DB01HDW0

24、B2EH;1DB01HDW0B2EH;1DB02HDW0EF2H;513DB02HDW08E0H;3DB01HDW08E0H;3DB01HDW08E0H;3DB02HDW0B2EH;1DB02HDW0B2EH;1DB01HDW08E0H;3DB01HDW0779H;5DB02HDW0779H;5DB02HDW0864H;4DB01HDW08E0H;3DB01HDW09F7H;2DB02HDW0000HDB02HDW0FFFFHMY_DATAENDsMY_CODESEGMENTMY_PROCPROCFARASSUMECS:MY_CODE,DS:MY_DATAMAIN:MOVAX,MY_DATAMOVDS,AXSTART:MOVDX,D8253MOVAL,36H;定时器0,先读写低字节后高字节,方

温馨提示

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

评论

0/150

提交评论