调速电机及转速显示
一,设计概述
我的设计目的是通过简单的单片机和芯片,以及八位数码管,实现一个电机调速的功能,并且通过仪表盘把转速显示出来。同时,要求有一个键盘,可以实现转速的输入。设计最大的优点是灵活可调,可编程,并能够显示转速。具有非常强的操作性和控制性,应用范围广泛,应用方法灵活多样,实现成本低。
二,设计思路
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. 根据自己的实际完成情况,撰写实验报告。
实验小结:
深圳大学实验报告课程名称:计算机导论项目名称:操作系统与工具软件学院:专业:指导教师:报告人学号:实验时间:20**年10月15日…
电子信息工程学系实验报告适用于计算机课程课程名称面向对象程序设计实验项目名称Visualstudioc60集开发环境的使用实验时间…
西安建筑科技大学实验报告用纸计算机文化基础实验报告评分实验日期20xx年10月17日班级工业设计1101班姓名赵宇学号110940…
计算机硬件的组装实验时间:3月x日晚6:00-9:00学号:姓名:一、实验目的1.加深对理论知识的理解,提高实际动手能力;2.了解…
高职高专教育培养的是技术应用型人才,学校为了培养我们学生的创新精神和和工程实践能力,提高我们的综合素质,故在底13周带领全校学生进…
短短三天的计算机实训结束了,通过这三天的实训,我学到了很多的知识,我深深体会到计算机办公的神奇和奥妙;也掌握了许多的计算机办公技能…
1、planet程序:#includeGL/glut.h#includestdlib.hstaticintyear=0,day=0…
黄河科技学院计算机组装与维护实验报告学院名称班级学号学生姓名20xx年12月18日计算机组装与维护实训报告1计算机组装与维护实训报…
计算机应用基础实训总结报告班级P311210学号29姓名陈桂梅计算机实训在不知不觉中就结束了我感觉自己还有好多东西要学还有好多的东…
《大学计算机基础》综合性实验实验报告题目:个人简历的制作姓名:陈祥班级:材料1209班学号:20xx26910901指导教师:张翼…