山东华宇职业技术学院毕业设计用纸
图2-6 霍尔传感器的测速电路
2.6 LCD显示模块
2.6.1 1602芯片介绍
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A’。1602采用标准的16脚接口,其中:
第1脚:VSS为电源地 第2脚:VDD接5V电源正极
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“阴影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端。 第7~14脚:D0~D7为8位双向数据端。
第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。
7
山东华宇职业技术学院毕业设计用纸
2.6.2电路原理图
图2-7 LCD显示电路
2.7 调速设计模块
PWM波软件软件设计程序流程图:
开始 初始化 按键查询 OPEN是否按下 时 是 Add_speed是否按下 Sub_speed是否按下 Swap或close是否按下 是 是 改变转向或关闭定时器T0开始计时 产生矩形波 增大矩形波占空减小矩形波占空电机
图2-8 软件电机控制的方框图
通过控制总中断使能EA控制电机的开关,同时使能对霍尔传感器输出的方波在单位时间内脉冲个数的计数。其中定时器T0,T1分别对脉冲的宽度、霍尔元件输出的脉冲
8
山东华宇职业技术学院毕业设计用纸
数对应的1秒时间定时。对脉冲宽度的调整是通过改变高电平的定时长度,由变量high控制。变量change、 sub_speed 、add_speed分别实现电机的转向、加速、减速。
/***********通过按键实现对电机开关、调速、转向的控制的程序*****************/
void motor_control() {
if(open == 1)
EA = 1;
if(close == 1)
EA = 0;
if(swap == 1)
{
change = ~change; while(swap != 0)
{}
}
if(sub_speed == 1)
{ high++;
if(high == 30) EA=0;
while(sub_speed != 0)
{}
}
if(add_speed == 1) { high--;
if(high == 5) high = 5;
while(add_speed != 0)
9
山东华宇职业技术学院毕业设计用纸
{}
}
}
2.8测速软件设计
开始 初始化 OPEN是否按下 定时器T1开始计时 对单位时间内的脉冲计数 N 根据公式计算出电机的速度 液晶显示电机速度
图2-9 软件测速的方框图
/****T1中断服务程序********单位时间(S)方波的个数*************/
void time1_int(void) interrupt 3 {
count_speed++; if(count_speed == 20) { count_speed = 0;
num_display = num_medium; num_medium = 0; }
10
}
山东华宇职业技术学院毕业设计用纸
第三章 系统功能调试
3.1调试软件介绍
Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层。按照系统功能来划分,Protel99se主要包含6个功能模块:电路工程设计部分、印刷电路板设计系统、自动布线系统、电路模拟仿真系统、可编程逻辑设计系统、高级信号完整性分析系统。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。KEIL C51编译器由uVision2集成开发环境与编辑器和调试器以及C51编译器组成。其中uVision2集成开发环境中的工程(project)是由源文件、开发工具选项以及编程说明三部分组成的;编辑器和调试器包括源代码编辑器、断点设置、调试函数语言、变量和存储器。
Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。Proteus软件提供多种现实存在的虚拟仪器仪表。此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供Schematic Drawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。当电路设计完成之后,为了减少在
11