步进电机实训报告
步进电机实验报告册(3篇)

第1篇一、实验目的1. 熟悉步进电机的工作原理和特性。
2. 掌握步进电机的驱动方式及其控制方法。
3. 学会使用常用实验设备进行步进电机的调试和测试。
4. 了解步进电机在不同应用场景下的性能表现。
二、实验设备1. 步进电机:选型为双极性四线步进电机,型号为NEMA 17。
2. 驱动器:选型为A4988步进电机驱动器。
3. 控制器:选型为Arduino Uno开发板。
4. 电源:选型为12V 5A直流电源。
5. 连接线、连接器、电阻等实验配件。
三、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的电机。
它具有以下特点:1. 转动精度高,步距角可调。
2. 响应速度快,控制精度高。
3. 结构简单,易于安装和维护。
4. 工作可靠,寿命长。
步进电机的工作原理是:通过控制驱动器输出脉冲信号,使步进电机内部的线圈依次通电,从而产生步进运动。
四、实验步骤1. 搭建实验电路(1)将步进电机连接到驱动器上,确保电机线序正确。
(2)将驱动器连接到Arduino Uno开发板上,使用连接线连接相应的引脚。
(3)连接电源,确保电源电压与驱动器要求的电压一致。
2. 编写控制程序(1)使用Arduino IDE编写程序,实现步进电机的正转、反转、调速等功能。
(2)通过串口监视器观察程序运行情况,调试程序。
3. 调试步进电机(1)测试步进电机的正转、反转功能,确保电机转动方向正确。
(2)调整步进电机的转速,观察电机运行状态,确保转速可调。
(3)测试步进电机的步距角,确保步进精度。
4. 实验数据分析(1)记录步进电机的正转、反转、调速等性能参数。
(2)分析步进电机的运行状态,评估其性能。
五、实验结果与分析1. 正转、反转测试步进电机正转、反转功能正常,转动方向正确。
2. 调速测试步进电机转速可调,调节范围在1-1000步/秒之间。
3. 步距角测试步进电机的步距角为1.8度,与理论值相符。
4. 实验数据分析步进电机的性能指标符合预期,可满足实验要求。
步进电动机实验报告

一、实验目的1. 了解步进电动机的工作原理和驱动方式。
2. 掌握步进电动机的驱动电路设计方法。
3. 熟悉步进电动机的控制程序编写和调试方法。
4. 掌握步进电动机的速度和方向控制方法。
二、实验器材1. 步进电动机一台2. 步进驱动器一台3. 单片机实验板一块4. 电源模块一块5. 连接线若干6. 示波器一台7. 电脑一台三、实验原理步进电动机是一种将电脉冲信号转换为角位移或线位移的电机,其特点是输出角位移与输入脉冲数成正比,转速与脉冲频率成正比。
步进电动机的驱动电路主要由驱动器和控制电路组成。
驱动器负责将单片机输出的脉冲信号转换为步进电动机所需的驱动信号,而控制电路则负责生成步进电动机所需的脉冲信号。
四、实验步骤1. 步进电动机驱动电路设计(1)根据步进电动机的型号和规格,选择合适的驱动器。
(2)设计驱动电路原理图,包括驱动器、单片机、电源模块等。
(3)焊接驱动电路,并检查无误。
2. 步进电动机控制程序编写(1)编写步进电动机控制程序,包括初始化、脉冲生成、速度和方向控制等模块。
(2)通过示波器观察脉冲信号的波形,确保脉冲信号符合步进电动机的要求。
(3)调试程序,确保步进电动机能够按照预期运行。
3. 步进电动机速度和方向控制(1)通过调整脉冲频率控制步进电动机的转速。
(2)通过改变脉冲信号的顺序控制步进电动机的转动方向。
(3)观察步进电动机在不同速度和方向下的运行情况,分析控制效果。
五、实验结果与分析1. 步进电动机驱动电路设计成功,步进电动机能够按照预期运行。
2. 步进电动机控制程序编写成功,能够实现速度和方向控制。
3. 通过调整脉冲频率,步进电动机的转速在0-300转/分钟范围内可调。
4. 通过改变脉冲信号的顺序,步进电动机的转动方向可在正转和反转之间切换。
5. 实验结果表明,步进电动机的速度和方向控制方法可行,控制效果良好。
六、实验总结本次实验成功地实现了步进电动机的驱动电路设计、控制程序编写和速度、方向控制。
步进电机实训报告

步进电机实训报告步进电机是一种控制精度高、速度稳定的电动机,广泛应用于数控机床、印刷设备、机器人等领域。
为了更好地学习和了解步进电机的工作原理和控制方法,我们在实训课程中进行了相关的实验。
以下是我对步进电机实训的报告。
一、实训目的通过本次实训,我们的目标是:1.了解步进电机的基本原理和工作方式。
2.学习步进电机的控制方法,包括常用的全步进控制和半步进控制。
3.掌握使用驱动器控制步进电机的操作方法。
4.实践操作步进电机的编程控制。
二、实训内容1.步进电机原理的学习在实训前,我们首先对步进电机的原理进行了学习。
步进电机是一种开环控制的电机,它通过移动固定步长来达到精确控制位置的目的。
其原理是利用电磁场的相互作用驱动旋转。
2.步进电机的控制方法在实训中,我们学习了两种常用的步进电机控制方法,全步进和半步进。
全步进控制是通过依次激活步进电机的每个线圈来实现的。
半步进控制是在全步进的基础上,再控制每一步的子步进。
3.步进电机驱动器的使用在实验中,我们使用了步进电机驱动器来控制步进电机的运行。
驱动器可以根据输入的控制信号来确定步进电机的运转方式,如指定转向、旋转角度等。
4.步进电机编程控制最后,我们进行了编程实验进行步进电机的控制。
通过编写程序,我们可以实现控制步进电机的转向和角度,从而实现具体的应用。
三、实训过程1.初步了解步进电机的工作原理和构造。
在实训开始前,我们先进行了步进电机原理和构造的简要介绍,包括电机的基本组成部分和工作原理等。
2.学习步进电机的控制方法。
我们学习了全步进和半步进控制方法的原理和实现方式,了解了各自的特点和适用范围。
3.实际操作步进电机驱动器。
我们进行了驱动器的安装和设置,根据实验要求设置步进电机的参数,如转向、转速等。
4.编写程序进行步进电机控制。
通过编写程序,我们实现了步进电机的控制。
在程序中,我们可以设定电机的运转方式、旋转角度和速度等,并对其进行调试。
四、实训总结通过本次步进电机实训,我们深入了解了步进电机的原理和控制方法,学习了步进电机的驱动器使用和编程控制技术。
步进电机控制实训报告

一、实训背景随着科技的飞速发展,步进电机在工业自动化、精密定位、医疗设备等领域得到了广泛的应用。
为了深入了解步进电机的原理和应用,提高自身的动手实践能力,我们进行了步进电机控制实训。
二、实训目标1. 理解步进电机的原理和工作方式。
2. 掌握步进电机的驱动方法和控制方法。
3. 学会使用单片机对步进电机进行编程和控制。
4. 提高团队协作能力和问题解决能力。
三、实训内容1. 步进电机原理步进电机是一种将电脉冲信号转换为角位移或线位移的执行元件。
其特点是响应速度快、定位精度高、控制简单。
步进电机每输入一个脉冲信号,就转动一个固定的角度,称为步距角。
步距角的大小取决于电机的结构,常见的步距角有1.8度、0.9度等。
2. 步进电机驱动步进电机的驱动通常采用步进电机驱动器。
驱动器将单片机输出的脉冲信号转换为驱动步进电机的电流信号,实现对步进电机的控制。
常见的驱动器有L298、A4988等。
3. 单片机控制本实训采用AT89C51单片机作为控制核心。
通过编写程序,控制单片机输出脉冲信号,实现对步进电机的正转、反转、停止、速度等控制。
4. 实训步骤(1)搭建步进电机驱动电路,连接单片机、步进电机、按键等外围设备。
(2)编写程序,实现以下功能:- 正转、反转控制;- 速度控制;- 停止控制;- 按键控制。
(3)使用Proteus仿真软件进行程序调试,验证程序的正确性。
(4)将程序烧录到单片机中,进行实际硬件测试。
四、实训结果与分析1. 正转、反转控制通过编写程序,实现了对步进电机的正转和反转控制。
在Proteus仿真软件中,可以观察到步进电机按照设定的方向转动。
2. 速度控制通过调整脉冲信号的频率,实现了对步进电机转速的控制。
在Proteus仿真软件中,可以观察到步进电机的转速随脉冲频率的变化而变化。
3. 停止控制通过编写程序,实现了对步进电机的停止控制。
在Proteus仿真软件中,可以观察到步进电机在停止信号后立即停止转动。
博图步进电机的实训报告

博图步进电机的实训报告一、实训目的1、了解博图步进电机的结果以及工作原理2、掌握博图步进电机控制系统的设计方法及其调试方法二、实训设备1、硬件:教学实验箱,PC机2、软件:PC机操作系统XP,ADTIDE集成开发环境三、实验内容1、编写程序实现对博图步进电机的驱动2、编写程序实现对博图步进电机的速度调整四、实训原理博图步进电机是将电脉冲信号转换成角位移或线位移的开环控件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机就转过一个步距角。
这一线性关系的存在,加上博图步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域使用博图步进电机来控制变得非常简单。
博图步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。
单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。
多相步进电动机有多相方波脉冲驱动,用途很广。
使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。
每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。
正常情况下,博图步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。
由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。
五、实训小结通过这一周的实训,给我感觉很充实,学到了比平时更多的东西,也觉得时间过的太快了,一下就过去,回顾这一周,给我很大的启发。
我们本来是要做贪吃蛇这个小游戏的,从网上找了许多的资料,也分析了贪吃蛇这个游戏的运行过程,可惜不会将代码转化成ARM环境能够运行的代码,所以就改做控制博图步进电机的实验了。
做完博图步进电机这个实训任务,使我对课本上关于博图步进电机的结构的知识有了更加深刻的理解,而且对其用法掌握得更加熟练。
步进电机综合实验报告

N —— 步进电机旋转一周需输出的字节数;
T —— 代码字节的输出变化周期。
设N=360°/ 18°=20,T=1.43ms,则步进电机的转速为2100转/分。
控制P1口输出的代码字节个数即控制了步进电机的旋转角度。
正方向: A B C D
反方向: A D C B
TR0=1;
}
/*******************************/
void t0_time() interrupt 1
{
TH0=(65536-4608)/256;//定时5ms中断
TL0=(65536-4608)%256;
jj_speed++;
ledwx=_crol_(ledwx,1);
四、实验器材:
51单片机最小系统板一个,G2010实验仪中的20BY-0型4相步进电机一个,四位一体共阴极数码管一个,独立按键三个。
五、实验过程:
硬件电路图:
最小系统与独立按键、数码管显示电路图
步进电机电路图
按键:K1为正反转切换键k2为转速加按键k3为转速减键
显示:共阴极数码管三位整数显示转速,顺时针为正转,首位灭零;逆时针为反转,首位为负
speed[1]=(n/10)%10;
speed[2]=n/100;
if(floag)
speed[3]=10;
else
speed[3]=11;
}
/*******************************/
void main()
{
init(); //初始化
count();
while(1)
{
sum=1;
步进电机驱动器实训报告

一、实训目的本次实训旨在使学生了解步进电机驱动器的基本原理、组成结构和工作方式,掌握步进电机驱动器的调试方法,并通过实际操作提高学生运用理论知识解决实际问题的能力。
二、实训内容1. 步进电机驱动器基本原理步进电机驱动器是将脉冲信号转换为角位移的执行机构。
它主要由脉冲发生器、驱动电路、电机和反馈系统组成。
当脉冲发生器输出一定频率的脉冲信号时,驱动电路根据脉冲信号控制电机的转动,实现精确的位置控制。
2. 步进电机驱动器组成结构(1)脉冲发生器:产生一定频率和周期的脉冲信号。
(2)驱动电路:将脉冲信号转换为电机驱动所需的电流和电压。
(3)电机:将电能转换为机械能,实现角位移。
(4)反馈系统:实时监测电机的位置和速度,为脉冲发生器提供反馈信号。
3. 步进电机驱动器工作方式步进电机驱动器通过控制脉冲信号的频率和周期,实现电机的精确位置控制。
当脉冲信号频率较高时,电机转速较快;当脉冲信号频率较低时,电机转速较慢。
4. 实训步骤(1)了解步进电机驱动器的基本原理和组成结构。
(2)观察步进电机驱动器的实物,了解各组成部分的功能。
(3)搭建步进电机驱动器实验电路。
(4)调试步进电机驱动器,实现电机的精确位置控制。
(5)分析实验数据,总结实验结果。
三、实训过程1. 观察步进电机驱动器实物通过观察步进电机驱动器实物,了解各组成部分的功能,为后续实验做好准备。
2. 搭建实验电路根据实验要求,搭建步进电机驱动器实验电路。
实验电路主要包括脉冲发生器、驱动电路、电机和反馈系统。
3. 调试步进电机驱动器(1)连接脉冲发生器,输出一定频率和周期的脉冲信号。
(2)调整驱动电路参数,使电机正常转动。
(3)观察电机转动情况,确保电机转动平稳、无异常。
(4)调整反馈系统,使脉冲发生器根据电机实际位置调整脉冲信号。
4. 分析实验数据通过实验数据,分析步进电机驱动器的性能。
主要分析内容包括:(1)电机转速与脉冲信号频率的关系。
(2)电机转速与负载的关系。
步进电机正反转实验报告

一、实验名称:
步进电机正反转训练
二、控制要求
要求实现电机的正转三圈, 反转三圈, 电机正转和反转的频率可不相同, 然后这样循环3次, 3次后电机停止转动。
三、PLC I/O地址分配表
PLC的I/O地址连接的外部设备
Y0 电机转向输出点控制转速点CP
Y1 电机的转速输出点控制转向点CW
四、程序梯形图
五、程序分析:
M11.M12、M13的波形图M21.M22.M23的波形图
电机正转的频率是20赫兹, 通过MOV指令送到D5中, 在电机正传三圈后, 电机反转, 反转的频率是40赫兹, 通过MOV指令送到D5中。
电机正转3次, 反转2次, 再通过M23得电进入正转, 重复上面的循环, 即电机正转后再反转, M23才得电一次, 所以可以加一个M23控制一个计数器计数, 当计数器计数到3时, 再通过计数器的常闭开关把M10线圈断电, 从而实现电机停止。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统硬件设计2010/2011学年第1学期专用周实训报告课程名称:可编程控制器专用周班级:计算机控制0901姓名:齐珊教学周数: 1 周指导教师:吴洋、吴刚目录一、课题题目及要求设计并制作一个基于32×32点阵LED模块的书写显示屏,其系统结构如图1-1所示。
在控制器的管理下,LED点阵模块显示屏工作在人眼不易觉察的扫描微亮和人眼可见的显示点亮模式下;当光笔触及LED点阵模块表面时,先由光笔检测触及位置处LED点的扫描微亮以获取其行列坐标,再依据功能需求决定该坐标处的LED是否点亮至人眼可见的显示状态,从而在屏上实现“点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移”等书写显示功能。
图1-1 LED点阵书写显示屏系统结构示意图设计的最终要求是:在点亮功能下当光笔接触屏上某点LED时,能即时点亮该LED;在划亮功能下当光笔快速划过时,能同步点亮划过的各LED,其速度要求2S内能划过并点亮40点LED;在反显功能下能对屏上显示的信息实现反向显示;在屏幕擦除功能下能实现对屏上所显示信息整屏擦除;在笔画擦除功能下,能用光笔擦除屏上所显汉字的笔画;在连写多字功能下,能结合自选的擦除方式,在30S内以划亮方式写出四个汉字且存入机内;在对象拖移功能下,能用光笔将选定显示内容在屏上进行拖移,先用光笔以划亮方式在屏上圈定欲拖移显示对象,再用光笔将该对象拖移到屏上另一位置;当光强改变时,能自动连续调节屏上显示亮度;当光笔连续未接触屏面的时间超过1-5MIN 时,自动关闭屏上显示,并使系统进入休眠模式。
二、实训目的1、运用Proteus中电子线路设计与仿真(了解电路分析、模拟电子技术和数字电子技术)2、熟练掌握电子线路设计与仿真的一般流程3、进一步熟练Proteus电路仿真工具和Keil仿真软件进行系统联调4、能够学会使用可编程控制器等其它应用系统的编程方法5、熟练在Keil软件中熟练输入、设置、调试、排除错误、修改及调试程序的方法6、对给定题目能进行系统设计,能画出硬件原理图及软件流程图7、掌握识别元器件类型、引脚的极性、实物引脚排列方向8、掌握焊接元器件的方法,学会规划、合理布局焊接路电路板方法9、能进行电路板的焊接,并能检查存在的问题10、掌握简单产品的开发流程和详细的设计过程。
11、提高和培养创新能力和团队协作能力12、进一步巩固所学的理论知识,提高运用所学知识分析和解决实际问题的能力,为后续课程的学习打下基础三、设计过程1、系统整体设计根据课题要求,LED点阵书写显示屏由主控模块,按键电路、LED点阵模块、光笔电路及LED点阵驱动显示等部分组成。
系统框图如图2-1所示:图2-1系统框图2、核心控制模块的的设计核心控制模块是系统的大脑,控制着系统的所有输入输出、计算、判断与决策。
“LED点阵书写显示屏”检测精度要求高且数据存储容量大,选择适合的控制模块,能确保其快速是实现稳定及达到系统要求的基本条件。
使用STC系列单片机,该系列单片机是高集成单片机,功能和性能都要比51系列强大很多。
比如STC11F32是1T单片机,速度是AT89S51的12倍。
而且内部集成了内置振荡器和复位,EEPROM、ADC、PWM、四态I/O接口。
3、光笔设计光笔设计的关键是选择合适的传感器件,具有很高的灵敏度和一定的响应时间的传感器才能完成系统的要求及功能。
方案一:采用光敏二极管,与光敏电阻相比有较好的高频特性,具有一定的可靠性,功耗低.相比于光敏电阻而言灵敏度较差,需要较高倍数的放大器才能实现精准识别的效果。
方案二:采用光敏三极管,其工作原理与光敏二极管相似。
但光敏三极管除了具有光敏二极管能将光信号转换成电信号的功能外,还有对电信号放大的功能。
所以其灵敏度更高,响应时间快。
基于以上分析,我们采用光敏三极管作为光笔的检测部件。
4、显示方案的设计采用LCD液晶显示器。
LCD有明显的优点:微功耗、尺寸小,超薄轻巧、显示信息量大、字迹清晰、美观、视觉舒适。
使整个控制系统更加人性化。
采用LCM301液晶显示器,其是串行口显示,所需I/O口较少,节省了资源,焊接电路时也较为方便。
5、点阵显示模式设计将点阵的驱动电源分为两路,一路为正常电压,另一路通过硬件电路调节恰好能使点阵处于微亮状态。
结合软件实现点阵的显示模式的改变。
这样节省了资源的同时,也节约了时间。
三、系统硬件设计1光笔的设计光笔用光电三极管3DU33型光敏三极管检测点阵屏发光的强弱变化电压信号,LM393为比较器。
由于点阵的光强相对较弱,通过光电三极管的电流很小,通过串接硅二极管来提升光电三极管发射极电压,方便后级比较器作业,便于单片机检测信号。
光笔原理图如下图3-1所示:图3-1光笔原理图在一空的笔壳内,将光敏三极管放置在笔壳底端,光敏三极管的引脚从一个与其直径等宽的空管引出至空管的顶部,并在其中一引脚中接一弹片,在接近的地方用铜片贯穿空管且正好卡在笔管的内部。
与此同时,用一弹簧套在空管外部,并将其底不固定,这样,当笔管在点阵屏上上下抖动时,内部光敏三极管就能很好的检测了。
其结构如图3-2所示:图3-2光笔的结构图2 32×32LED点阵的连接经分析要想得到32×32的点阵需要用16个共阳型8×8点阵(其引脚图如图3-3所示)来构建。
其方法是将点阵对应的行线和列线分别进行连接,使每一条行线引脚接一行32个LED,列线也相同。
图3-3LED点阵3 32×32LED点阵的驱动控制电路32×32 LED点阵的行信息控制用2片74HC154,构成5—32译码器,单片机口线控制其译码输出。
列的微亮扫描、点亮也分别用2片74HC154,4个片选分别单独控制,微亮扫描(2.5V)、点亮(5V)电源分别通过三极管构成的开关加到点阵的列控制端。
由于整屏显示是1024个灯循环亮,为提高显示亮度,限流电阻取51欧姆(取消也可以,但为了防止制作调试过程中烧坏LED灯,不取消为好),电路如图3-4所示。
微亮扫描时流过LED的电流为:(2.5-1.8)/51=13.7mA点亮点阵时流过LED的电流为:(5-1.8)/51=62.7mA流过LED电流虽然比较大,但时间很短,因此不会烧坏LED灯。
图3-4LED驱动电路4显示电路部分功能及原理为了满足系统在工作时能准确显示光笔对应亮点所处的行列坐标值,我们采用型号为LCM103的液晶显示器显示。
LCM103为10位多功能通用型8段式液晶显示模块,内含看门狗时钟发生器2种频率的蜂鸣驱动电路内置显示RAM,可显示任意字段笔画划3-4线串行接口可与任何单片机接口。
其接口应用模块如图3-5所示:引脚排列图如表3-1所示。
图3-5 LCD 接口应用模块表3-1 LED 接口引脚排列图5键盘的使用及设计键盘是使用比较简单的独立式键盘,而且具有发光二极管指示功能模块。
在程序中采用中断扫描的方式,在没有键操作时CPU 执行正常程序,只在有键操作时才处理键盘程序。
其电路如图3-6所示:引脚 符号 说明输入/输出 1 VDD 正电源,必须接!输入 2 VLCD LCD 屏工作电压调整,可调整视角对比度,必须接!。
输入3 /INT WDT/定时器输出,集电极开路输出,不用可不接。
输出4 LED 不用 输入5 BZ 压电陶瓷蜂鸣片驱动 +极 输出6 /BZ 压电陶瓷蜂鸣片驱动 -极 输出7 /CS 模块片选,内部上拉,必须接! 输入8 /RD 模块数据读出控制线,内部上拉 输入9 /WR 模块数据/指令写入控制线,内部上拉,必须接! 输入 10 DATA 数据输入/输出,内部上拉,必须接! 输入/输出11VSS 负电源,接地线,必须接!图3-6独立式键盘电路图按键功能:按键一:实现点亮等功能;按键二:修改休眠时间;按键三:实现多姿连写时的保存与回放;按键四:实现整屏擦除于休眠唤醒6光照的检测与控制经分析,想要实现当环境光强改变时能自动连续调节屏上显示亮度的要求,其关键是对点阵周围环境光照的检测与控制。
我们通过硬件电路很好的完成了对光照的检测。
基本原理是用LM358与光敏电阻够成一恒流源并于三极管的基极连接,当光敏电阻因光强的变化而改变其自身阻值时,三极管的基极电压也会随着变化。
与其集电极连接的发光二极管的亮度也会伴随着改变,以此判断周围光强的变化。
电路如图3-7所示:。
图3-7光照检测陕西工业职业技术学院信息工程学院可编程控制器专用周四、系统软件设计1主程序设计主程序包括系统初始化,点阵扫描控制,液晶显示,以及“反显”、“擦除”等功能下数据处理程序,流程图如图4-1所示。
其中点阵扫描控制程序,微亮扫描控制由单片机口控制对以译码器的片选和地址输入,使点阵按行列有规律地循环点亮,由图3-3知点亮显示的列控制信息译码地址与微亮连接在一起,控制点亮的工作过程是通过判断点阵显示缓冲内容对应位的信息,控制其片选,当需要点亮时,控制片选有效,反之,控制片选无效,利用微亮扫描过程实现点亮控制。
图4-1主程序框图2外中断0服务程序(坐标检测)外中断0是作为光笔的检测使用,由图3-2知,光笔碰触显示屏过程中,遇到发光点输出翻转的跳变信号,送给单片机中断,作为中断的触发信号,由于中断程序优先执行,打断微亮扫描过程,在中断服务程序中根据此时的行列扫描的序号,就可判断光点的坐标,进而为其他功能的实现提供依据,流程图如图4-2所示图4-2中断程序框图3.外中断1服务程序(按键处理)外中断1为按键操作处理程序,如图4-3所示:图4-3外中断1服务程序框图4.LCM103驱动程序设计LCM103采用的是串行接口,所有数据都是在脉冲的作用下一位一位按顺序写入模块内部,由时序图知数据线上信息是在脉冲上升沿写入。
写命令的数据格式是12位,单个写数据的格式是13位,写数据也可以连续写,由于每个字位占用内部3个RAM空间存放字段码,因此写数据采用连续写方式比较好。
在数据连续写格式中,前面9位为模式位和模块内部RAM的起始地址,后面数据格式是每3位加1个0,取三个一组构成一个字位的信息,也是12位,这样就可以将所有写操作(命令和数据)分为写9位信息和写12位信息两个功能程序。
显示示字段的排列方式与LED数码管一致,每位字段编码由8段构成,占用连续的3个地址空间,但在写入格式中每个数据是4位,编写字符的字段码时要给每个数据后加0,0~9显示字符的字段码如表4-1所示。
表4-1 0~9显示字符的字段码字符二进制十六进制D0 D1 D2 D3 D0 D1 D2 D3 D0 D1 D2 D30 1 0 0 0 0 1 1 0 1 1 1 0 86EH1 1 0 0 0 0 0 1 0 0 0 0 0 820H2 1 0 0 0 1 1 0 0 1 0 1 0 8CAH3 1 0 0 0 1 1 1 0 0 0 1 0 8E2H4 1 0 0 0 1 0 1 0 0 1 0 0 8A4H5 0 0 0 0 1 1 1 0 0 1 1 0 0e6H6 0 0 0 0 1 1 1 0 1 1 1 0 0EEH7 1 0 0 0 0 1 1 0 0 0 0 0 860H8 1 0 0 0 1 1 1 0 1 1 1 0 8EEH9 1 0 0 0 1 1 1 0 0 1 1 0 8E6H地址低→高在写数据送显示之前,先按照初始化步骤进行初始化,然后写数据,程序见附录。