实验报告
学生姓名: 翁 学 号:专业班级: 中兴131 实验类型:□ 验证 ■综合 □ 设计□ 创新 实验日期:实验成绩:
一、实验项目名称
触摸屏控制
二、实验目的
了解触摸屏的基本工作原理,学会s3c2410 TouchScreen的配置
三、实验基本原理及设计思路
将综合实验一种的步进电机和直流电机控制用触摸实现。触摸屏不同区域对应不同功能,通过设置全局变量以及X、Y坐标的读取,来实现。 (一) 采集坐标原理
查阅user manual,配置寄存器ADCTSC,再读取ADCDAT寄存器相应位,即可轮流得到X坐标和Y坐标的值。利用综合实验二中掌握的LCD图片显示原理,显示出对应的图片,使人机交互友好。 (二) 电机控制原理
设置全局变量dcdir、pwm、stdir、speed,分别表示直流电机方向、转速,步进电机方向转速。对X、Y的取值区间做分类讨论,从而控制电机。控制原理在综合实验一中已经说明,这里不再赘述。注意每次读到X、Y坐标之后最好对X、Y置0操作。
部分代码: if(Y>466) {
if(733 else if (468 else if (263 else if (10 else if( Y>0 && Y<466) { if(733 else if (468 UART_SendStr(\"步进反转\\n\");; stepmoto_start(3,0); dirst=3; } else if (263 stepmoto_start(dirst,4); } else if (10 stepmoto_start(dirst,5); } } void dcmoto_start(uint32 dcdir,uint32 speed)//直流电机的方向23和加减速45 { if(dcdir==2)//正转 { if(speed == 0)//正转初始化 { pwm_duty=0; UART_SendStr(\"初始化完毕\\n\"); } else if(speed==4) { pwm_duty = pwm_duty + 255/4; } else if(speed==5) { pwm_duty = pwm_duty - 255/4; } if(pwm_duty>255||pwm_duty<0) { pwm_duty = 0; UART_SendStr(\"PWM超出量程 重置为0\\n\"); } rTCMPB0 = pwm_duty; } 四、主要仪器设备及耗材 实验箱一台,PC机一台,JTAG一个。 五、实验现象 加载程序到SDRAM全速运行,LCD显示控制区域图片 点击步进正转区域,实验箱上步进电机转动: 点击步进加速,步进电机转速加快,并在串口助手中打印消息。 电机直流正转区域,试验箱上直流电机初始化: 电机直流加速,直流电机转速加快,并在串口助手中打印消息。 反转同理,串口打印信息如下。 六、实验总结 ADC采集屏幕坐标在不同屏幕采到的坐标不尽相同,并且范围不是0-640与0-480,所以具体的坐标一定要先显示图片,并获取几个关键点的坐标之后才能正确划分功能。剩下的就是步进电机、直流电机的控制了,综合实验一已经完成过了,这里把重要参数改成全局变量后照搬就行。 因篇幅问题不能全部显示,请点此查看更多更全内容