计算机实验报告_第1页
计算机实验报告_第2页
计算机实验报告_第3页
计算机实验报告_第4页
计算机实验报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

“计算机组成原理”实验报告 调速电机及转速显示设计概述我的设计目的是通过简单的单片机和芯片,以及八位数码管,实现一个电机调速的功能,并且通过仪表盘把转速显示出来。同时,要求有一个键盘,可以实现转速的输入。设计最大的优点是灵活可调,可编程,并能够显示转速。具有非常强的操作性和控制性,应用范围广泛,应用方法灵活多样,实现成本低。设计思路功能分析:通过单片机控制转速;通过键盘输入转速;通过数码管对转速进行显示;实现方法分析:控制转速。在本次设计中,我选择了直流电机,直流电机的转速由一个差动电路控制,通过调节两端的输入电压差,可以实现转速的调节。此时有两种方法,第一种是通过数模转换,为差动电路两端施加不同的电压,第二种是通过PWM脉宽调制,控制两端的输入占空比,达成调节转速的效果。最终经过可编程、可灵活调节、并且显示转速等多方面的考虑,我选择通过PWM脉宽调制的方法来实现这个功能。确定使用PWM脉宽调制之后,就需要考虑实现脉宽调制的方法。我最终选择了使用8253的方法2来实现这个功能。方法2可以在计时周期内持续输出高电平,并且在周期结束时输出低电平,然后开始下一个周期的计数,比较符合当前设计的需求。通过键盘输入转速。通过键盘输入转速,共有两种方法,第一中是使用中断,检测键盘的输入,并将输入值传递到程序当中;第二种方法是通过扫描法,扫描键盘,检查有无摁下。最终,经过编程以及电路复杂性等问题的分析,我选择了使用扫描法。通过数码管显示。这个问题相对简单,只需要在单片机预先存储数码管的码表,然后在键盘输入时将参数传递给数码管即可。编程思路分析:有两种编程方法可以实现这种思路,其一是使用矩阵键盘进行循环,在矩阵键盘扫描到一个值的时候,将其送8253寄存器;其二是通过中断的方法,当摁下一个键之后,cpu将键值送8253。最终经过仔细的考虑,我决定使用第一种方法。因为cpu无论如何都需要处于一个运转状态,加入中断的话,只是加大了电路的复杂程度,没有实际意义。具体电路1,系统cpu,中心控制电路输入部分电路,矩阵键盘以及8255显示部分定时器部分5,差动电路以及电机部分源代码CODESEGMENT'CODE'ASSUMECS:CODE,DS:DATAIOCON EQU8006HIOAEQU8000HIOBEQU8002HIOCEQU8004HTCONTROEQU0A006HTCON0EQU0A000HTCON1EQU0A002HTCON2EQU0A004HSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXMOVDX,TCONTROMOVAL,00110100B;计数器0,只写计算值低8位,方式3,二进制计数OUTDX,ALMOVDX,TCON0MOVAL,10;时钟为1MHZ,计数时间=1us*20=20us输出频率50KHZ(changedutyrationOUTDX,ALLEADI,TABLE MOVAL,88H MOVDX,IOCON OUTDX,AL MOVAL,0FFH MOVDX,IOA OUTDX,AL KEY4X4: MOVBX,0 MOVDX,IOC MOVAL,0EH OUTDX,AL INAL,DX MOVDX,IOC INAL,DX MOVDX,IOC INAL,DX ORAL,0FH CMPAL,0FFH;0EFH,0DFH,0BFH,7FH JNEK_N_1;不等于转移 INCBX MOVDX,IOC MOVAL,0DH OUTDX,AL INAL,DX MOVDX,IOC INAL,DX MOVDX,IOC INAL,DX ORAL,0FH CMPAL,0FFH;0EFH,0DFH,0BFH,7FH JNEK_N_1;不等于转移 INCBX MOVDX,IOC MOVAL,0BH OUTDX,AL INAL,DX MOVDX,IOC INAL,DX MOVDX,IOC INAL,DX ORAL,0FH CMPAL,0FFH;0EFH,0DFH,0BFH,7FH JNEK_N_1;不等于转移 INCBX MOVDX,IOC MOVAL,07H OUTDX,AL INAL,DX MOVDX,IOC INAL,DX MOVDX,IOC INAL,DX ORAL,0FH CMPAL,0FFH;0EFH,0DFH,0BFH,7FH JNEK_N_1;不等于转移 JMPKEY4X4K_N_1: CMPAL,0EFH JNEK_N_2 MOVAL,0 JMPK_NK_N_2: CMPAL,0DFH JNEK_N_3 MOVAL,1 JMPK_NK_N_3: CMPAL,0BFH JNEK_N_4 MOVAL,2 JMPK_NK_N_4: CMPAL,7FH JNEK_N MOVAL,3 K_N: MOVCL,2 SHLBL,CL;BHX2 ADDAL,BLPUSHAX;MOVDX,TCONTROMOVAL,00110100B;计数器0,只写计算值低8位,方式3,二进制计数OUTDX,ALPOPAX; MOVBL,0 MOVBL,ALMOVDX,TCON0OUTDX,AL MOVAL,[DI+BX] MOVDX,IOA OUTDX,AL JMPKEY4X4 CODEENDSDATASEGMENT'DATA'TABLE DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH;0-FDATAENDSSTACKSEGMENT'STACK'STADB100DUP(?)TOPEQULENGTHSTASTACKENDSENDSTART实验结果左边为电机不转的时候,右边为调节转速的时候。实验心得通过本次设计,我实现了调速电机以及输出显示的功能,感觉受益匪浅。在本次设计的过程中,我遇到了很多的难题,程序出现bug,电路出现bug,芯片出现问题等等,不一而足,但是最终我一一克服了这些难题,实现了既定的目标。本次设计最大的难题在于程序的结构,初始我尝试通过中断来实现这个功能,最后发现这种方法只能白白增加电路的复杂程度和不稳定性,并没有什么优点。但是在cpu需要长期运行的基础上,我使用了扫描矩阵键盘法,扫描矩阵键盘,然

温馨提示

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

评论

0/150

提交评论