计算机实验报告

调速电机及转速显示

一,设计概述

我的设计目的是通过简单的单片机和芯片,以及八位数码管,实现一个电机调速的功能,并且通过仪表盘把转速显示出来。同时,要求有一个键盘,可以实现转速的输入。设计最大的优点是灵活可调,可编程,并能够显示转速。具有非常强的操作性和控制性,应用范围广泛,应用方法灵活多样,实现成本低。

二,设计思路

1,  功能分析:

a)  通过单片机控制转速;

b)  通过键盘输入转速;

c)  通过数码管对转速进行显示;

2,  实现方法分析:

a)  控制转速。在本次设计中,我选择了直流电机,直流电机的转速由一个差动电路控制,通过调节两端的输入电压差,可以实现转速的调节。此时有两种方法,第一种是通过数模转换,为差动电路两端施加不同的电压,第二种是通过PWM脉宽调制,控制两端的输入占空比,达成调节转速的效果。最终经过可编程、可灵活调节、并且显示转速等多方面的考虑,我选择通过PWM脉宽调制的方法来实现这个功能。

b)  确定使用PWM脉宽调制之后,就需要考虑实现脉宽调制的方法。我最终选择了使用8253的方法2来实现这个功能。方法2可以在计时周期内持续输出高电平,并且在周期结束时输出低电平,然后开始下一个周期的计数,比较符合当前设计的需求。

c)  通过键盘输入转速。通过键盘输入转速,共有两种方法,第一中是使用中断,检测键盘的输入,并将输入值传递到程序当中;第二种方法是通过扫描法,扫描键盘,检查有无摁下。最终,经过编程以及电路复杂性等问题的分析,我选择了使用扫描法。

d)  通过数码管显示。这个问题相对简单,只需要在单片机预先存储数码管的码表,然后在键盘输入时将参数传递给数码管即可。

3,  编程思路分析:

有两种编程方法可以实现这种思路,其一是使用矩阵键盘进行循环,在矩阵键盘扫描到一个值的时候,将其送8253寄存器;其二是通过中断的方法,当摁下一个键之后,cpu将键值送8253。最终经过仔细的考虑,我决定使用第一种方法。因为cpu无论如何都需要处于一个运转状态,加入中断的话,只是加大了电路的复杂程度,没有实际意义。

三,具体电路

1,系统cpu,中心控制电路

2,  输入部分电路,矩阵键盘以及8255

3,  显示部分

4,  定时器部分

5,差动电路以及电机部分

四,源代码

CODE    SEGMENT 'CODE'

        ASSUME CS:CODE,DS:DATA

       

IOCON      EQU 8006H

IOA     EQU 8000H

IOB     EQU 8002H

IOC     EQU 8004H

TCONTRO   EQU 0A006H

TCON0     EQU 0A000H

TCON1     EQU 0A002H

TCON2     EQU 0A004H

START:  MOV AX, DATA

        MOV DS, AX

       

MOV AX, STACK

        MOV SS, AX

        MOV AX, TOP

        MOV SP, AX

 MOV DX,TCONTRO

          MOV AL,00110100B  ;计数器0,只写计算值低8位,方式3,二进制计数

          OUT DX,AL

          MOV DX,TCON0

          MOV AL,10   ;时钟为1MHZ ,计数时间=1us*20 =20 us  输出频率50KHZ(change duty ration

          OUT DX,AL

        LEA DI,TABLE

              

         MOV AL,88H

         MOV DX,IOCON

         OUT DX,AL

        

         MOV AL,0FFH

         MOV DX,IOA

         OUT DX,AL

        

KEY4X4:   MOV BX,0

        

         MOV DX,IOC

         MOV AL, 0EH

         OUT DX, AL

        

         IN  AL,DX

         MOV DX,IOC

         IN  AL,DX

         MOV DX,IOC

         IN  AL,DX

        

         OR  AL,0FH

         CMP AL,0FFH ; 0EFH,0DFH,0BFH,7FH

         JNE K_N_1 ;不等于转移

         INC BX

        

         MOV DX,IOC

         MOV AL, 0DH

         OUT DX, AL

        

         IN  AL,DX

         MOV DX,IOC

         IN  AL,DX

         MOV DX,IOC   

         IN  AL,DX

        

         OR  AL,0FH

         CMP AL,0FFH ; 0EFH,0DFH,0BFH,7FH

         JNE K_N_1 ;不等于转移

         INC BX

        

         MOV DX,IOC

         MOV AL, 0BH

         OUT DX, AL

         IN  AL,DX

        

         MOV DX,IOC

         IN  AL,DX

         MOV DX,IOC

        

         IN  AL,DX

         OR  AL,0FH

         CMP AL,0FFH ; 0EFH,0DFH,0BFH,7FH

         JNE K_N_1 ;不等于转移

         INC BX

        

         MOV DX,IOC

         MOV AL, 07H

         OUT DX, AL

        

         IN  AL,DX

         MOV DX,IOC

         IN  AL,DX

         MOV DX,IOC

         IN  AL,DX

        

         OR  AL,0FH

         CMP AL,0FFH ; 0EFH,0DFH,0BFH,7FH

         JNE K_N_1 ;不等于转移

        

         JMP KEY4X4

K_N_1:     CMP AL,0EFH

         JNE K_N_2

         MOV AL,0

         JMP K_N

K_N_2:     CMP AL,0DFH

         JNE K_N_3

         MOV AL,1

         JMP K_N

K_N_3:     CMP AL,0BFH

         JNE K_N_4

         MOV AL,2

         JMP K_N

K_N_4:     CMP AL,7FH

         JNE K_N

         MOV AL,3

        

K_N: MOV CL,2

         SHL BL,CL  ;BH X 2

         ADD AL,BL

PUSH AX;

 MOV DX,TCONTRO

          MOV AL,00110100B  ;计数器0,只写计算值低8位,方式3,二进制计数

          OUT DX,AL

POP AX;

         MOV BL,0

         MOV BL,AL

MOV DX,TCON0

         OUT DX,AL

         MOV AL,[DI+BX]

         MOV DX,IOA

         OUT DX,AL

        

         JMP KEY4X4

                  

CODE    ENDS

     

DATA    SEGMENT 'DATA'

TABLE      DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH ;0-F

DATA    ENDS

STACK   SEGMENT 'STACK'

STA     DB  100 DUP(?)

TOP     EQU LENGTH STA

STACK   ENDS

        END START

五,实验结果

左边为电机不转的时候,右边为调节转速的时候。

 

六,实验心得

通过本次设计,我实现了调速电机以及输出显示的功能,感觉受益匪浅。

在本次设计的过程中,我遇到了很多的难题,程序出现bug,电路出现bug,芯片出现问题等等,不一而足,但是最终我一一克服了这些难题,实现了既定的目标。

本次设计最大的难题在于程序的结构,初始我尝试通过中断来实现这个功能,最后发现这种方法只能白白增加电路的复杂程度和不稳定性,并没有什么优点。但是在cpu需要长期运行的基础上,我使用了扫描矩阵键盘法,扫描矩阵键盘,然后获取键值,将其写入到计时器芯片当中。

本次设计虽然看起来不是特别复杂,但是却有广泛的应用性,在工业制造、电风扇、豆浆机等等一系列需要设定转速的机器中都可以用到。而且设计可编程,操作性强,非常具有灵活性。

当然,实验室中的设计是有其局限性的,比如说我在设计过程中,并没有太多的考虑电路的带负载能力,在实际应用中显然会受到局限。

 

第二篇:计算机第五章实验报告

实验报告五:风景欣赏幻灯片的制作与管理

实验名称:风景欣赏演示文稿的制作

实验目的:

1) 熟练掌握演示文稿的创建、保存放映等方法;熟练掌握在幻灯片中插入文本、图片等常用对象。

2) 熟练幻灯片的格式设置、背景设置和利用主题和母版对外观进行修饰。

3)熟练在幻灯片中设置对象动画效果的方法,掌握幻灯片的切换设置方法,掌握超链接和动作设置的方法。

4)熟练掌握图表的建立及操作

实验任务:务必写完整实验操作步骤

使用PPT建立一个8页以上的,和风景欣赏有关的演示文稿。

要求使用以下各种编辑方法,包括:

1. 设计演示文稿的的封面,发挥你的想象力,为你的作品设计封面,请包含项目:班级、学号、学生姓名、完成日期,并在封面中插入一幅你的照片。

2. 利用模板或母版设置背景

3. 在幻灯片中插入各种素材,主要包括风景图片和简要介绍性的文字。

4. 对每张幻灯片设置切换方式和图片与文字的动画效果。

5. 要求每张幻灯片恰当位置有回到首页和末页两个按钮

6. 根据自己的实际完成情况,撰写实验报告。

实验小结:

相关推荐