嵌入式- 触摸屏实验

嵌入式- 触摸屏实验
嵌入式- 触摸屏实验

触摸屏实验

实验目的:了解ARM处理器触摸屏的处理机制,掌握在S3C2440A平台下进行触摸屏应用编程需要完成的任

实验器材:Sinosys-EA2440实验箱PC机

实验原理:触摸屏的4 根信号线直接和S3C2440A 的TSYM、TSYP、TSXM 和TSXP 四个引脚相连,由S3C2440A 内部来控制电平的转换和AD 的转换测量。触摸屏的硬件连接图如图1.1:

图1.1 触摸屏信号连接图

s3c2440 一共有4 种触摸屏接口模式,其中,自动(连续)XY 坐标转换模式和等待中断模式应用地比较常见。等待中断模式是在触笔落下时产生一个中断,在这种模式下,A/D 触摸屏控制寄存器ADCTSC 的值应为0xD3,在系统响应中断后,XY 坐标的测量模式必须为无操作模式,即寄存器ADCTSC 的低两位必须清零。自动(连续)XY 坐标转换模式是系统依次转换触点的X 轴

坐标和Y 轴坐标,中X 轴坐标值写入寄存器ADCDAT0 的低10 位中,Y 轴坐标写入寄存器ADCDAT1的低10 位中,在这种模式下,系统同样会产生中断信号。在一般情况下,为实现触摸屏功能,先是设置为等待中断模式,在产生中断后,再设置为自动(连续)XY 坐标转换模式,依次读取触点的坐标值。

实验总结:利用ADS1.2 工具(ADS 工具的使用请参照前面的实验)打开“\SourceCode\Interface\touchpanel_test”的工程文touchpanel_test.mcp 工程文件。在Touchpanel.c 的

Test_Touchpanel 子函数中对触摸屏相关的寄存器进行设置和初始化。

rADCDLY=50000; //Normal conversion mode delay about

(1/3.6864M)*50000=13.56ms

rADCCON=(1<<14)+(ADCPRS<<6); //ADCPRS En, ADCPRS Value Uart_Printf("ADC touch screen test\n");

rADCTSC=0xd3; //Wfait,XP_PU,XP_Dis,XM_Dis,YP_Dis,YM_En pISR_ADC = (int)AdcTsAuto;//指定触摸屏中断的入口地址rINTMSK=~BIT_ADC; //ADC Touch Screen Mask bit clear rINTSUBMSK=~(BIT_SUB_TC);

触摸屏中断服务程序在对寄存器进行设置和指定中断服务程序

的入口地址后,程序进入等待状态,当用触摸笔点按触摸屏时,处理器接受中断,并进入中断服务程序的执行。中断服务程序源码如下:

int i; U32 saveAdcdly;

if(rADCDAT0&0x8000)

{

//Uart_Printf("\nStylus Up!!\n");

rADCTSC&=0xff; // Set stylus down interrupt bit }

rADCTSC=(1<<3)|(1<<2); //Pull-up disable, Seq. X,Y postion measure.

saveAdcdly=rADCDLY;

rADCDLY=40000; //Normal conversion mode delay about

(1/50M)*40000=0.8ms

rADCCON|=0x1; //start ADC 启动AD 转换

while(rADCCON & 0x1); //check if Enable_start is low

while(!(rADCCON & 0x8000)); //check if EC(End of Conversion) flag is high, This line is

necessary~!!

while(!(rSRCPND & (BIT_ADC))); //check if ADC is finished with interrupt bit

xdata=(rADCDAT0&0x3ff);//AD 转换结束后得到(x,y)坐标ydata=(rADCDAT1&0x3ff);

//YH 0627, To check Stylus Up Interrupt.

rSUBSRCPND|=BIT_SUB_TC;

ClearPending(BIT_ADC);

rINTSUBMSK=~(BIT_SUB_TC);

rINTMSK=~(BIT_ADC);

rADCTSC =0xd3; //Waiting for interrupt

rADCTSC=rADCTSC|(1<<8); // Detect stylus up interrupt signal. while(1) //to check Pen-up state {

if(rSUBSRCPND & (BIT_SUB_TC)) //check if ADC is finished with interrupt bit

{

//Uart_Printf("Stylus Up Interrupt~!\n");

break; //if Stylus is up(1) state

} } //等待直到触摸笔离开触摸屏时往串口输出坐标值

Uart_Printf("count=%03d XP=%04d, YP=%04d\n",

count++, xdata, ydata);

rADCDLY=saveAdcdly;

rADCTSC=rADCTSC&~(1<<8); // Detect stylus Down interrupt signal. rSUBSRCPND|=BIT_SUB_TC; rINTSUBMSK=~(BIT_SUB_TC); ClearPending(BIT_ADC);

通过DNW软件将程序下载到实验箱中,点击触摸屏,可以在图上观察到不同坐标的变化,如图1.3

图1.3 触摸屏实验结果

邝坚_北邮嵌入式实验报告

嵌入式系统期末实验

一、实验要求 题目:支持消息驱动模式的实时软件框架 目的:在充分理解嵌入式处理器特点、RTOS 及强实时嵌入式系统软件设计规范的基础上,构建自己的实时系统软件框架基本功能,并在其上自拟应用(如部分模拟TCP 的C/S两端通信流程),测试软件框架的相关功能。 环境:VxWorks 的VxSim 仿真环境或2440(ARM920T) 内容: 必选功能: 1. 消息驱动的Task 统一框架,包含统一消息格式定义及使用规范; 2. 支持消息驱动模式的软定时器的机制; 3. Task 启动同步功能; 4. 体现前次实验中实现的自定义内存管理机制,最大限度降低外部碎片对系统可靠性的威胁。 可选功能(加分): 其它有利于实时处理的有效机制,如:无信号量(互斥)支持的临界资源访问方式,zero copy 等; 二、实现的功能 1. 消息驱动的Task 统一框架,包含统一消息格式定义及使用规范; STATUS Task() { Initialization(MBox, Data Structure, Timer, etc.) Forever{ MsgReceive If(…) { …… }else if(…) { …… } …… } } typedef struct _MESSAGE { int mType; /* 消息类型 0:timer->client *1:client->server 2:server->client*/ int mSendId; /* 发送任务的MESSAGE ID */

int mRecvId; /* 接收任务的MESSAGE ID */ int mData; /* 消息中传递的数据 */ }MESSAGE; 2. 支持消息驱动模式的软定时器的机制; /* timer(id)向客户端消息队列定时发送的定时器*/ STATUS timer(int id) { MESSAGE* txMsg;/* 用于从消息队列中接收消息 */ int tick;/*创建一个定时,用于提醒发送者任务定时发送消息*/ tick=sysClkRateGet(); semTake(semSynStart,WAIT_FOREVER); FOREVER { taskDelay((int)(tick*DELAY_SECOND)); txMsg = (MESSAGE*)memMalloc(MAX_MSG_LEN); txMsg->mType = 0; txMsg->mSendId = MID_TIMER(id); txMsg->mRecvId = MID_CLIENT(id); txMsg->mData = 0; printf("tTimer%d send message to tClient%d!\n",id,id); if(msgQSend(msgQIdClient[id],(char*)&txMsg,MAX_MSG_LEN,WAIT_FOREVER,MSG_ PRI_NORMAL) == ERROR ) { return (ERROR); } } return (OK); } 3. Task 启动同步功能; 由manager()创建的任务优先级最高,先创建timer()、server()、client()的任务,让他们都在等待信号量semSynStart而被阻塞,最后创建manager()的任务,占据CPU,等待其他所有任务都被阻塞,解锁所有等待信号量的任务,让它们同时启动。 /* progStart()启动实例程序*/ STATUS progStart(void) { int id; /* 用来区分不同的定时器或者客户任务 */ mallocPtr=&sysMalloc; mallocPtr->frontBlock = 0;

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

嵌入式系统设计与应用

嵌入式系统设计与应用第五章程序设计与分析(1) 西安交通大学电信学院 任鹏举

本章主要内容 Software Design Cycle ●嵌入式软件中的组件(状态机 、循环缓存器、队列) ●编程模型,如数据流和控制图●编译方法介绍 ●根据性能、大小和功耗来分析 和优化程序 ●如何测试程序以验证其正确性

1 嵌入式程序组件 ●状态机(State machine) 用变量来表示内部的状态,根据输入完成状态的转移交通灯控制、CPU design controller ●循环缓冲区(Circular buffer) I/O input buffer ●队列(Queue)

状态机(1) ● 反应系统(reactive system ):响应外部事件的系统。 ●外部输入是间歇到达● 适合使用状态机描述 ● 有限状态机是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。 ●Moore 机:● Mealy 机:输出只由当前状态确定 输出依赖于当前状态和输入

状态机(2) 例子:一个简单的座位安全带控制器 idle buzzer seated belted 未入座/-入座/定时器启动 未系安全带且定时器未超时/- 未系安全带/定时器启动系好安全带/-系好安全带/蜂鸣器关闭 定时器超时/蜂鸣器启动 未入座/-未入座/蜂鸣器关闭输入/输出-= 无动作

状态机(3) #define IDLE 0#define SEATED 1#define BELTED 2#define BUZZER 3switch (state) { case IDLE: if (seat) { state = SEATED; timer_on = TRUE; } break; case SEATED: if (belt) state = BELTED; else if (timer) state = BUZZER; break; case BELTED: if (!seat) state = IDLE; else if (!belt) state = SEATED; break; case BUZZER: if (belt) state = BELTED; else if (!seat) state = IDLE; break; } Inputs :seat, belt, timer Outputs: buzzer

触摸屏实训报告

天津电子信息职业技术学院 计算机控制综合实训 触摸屏实训报告 姓名 zyh 学号 04 班级电气s07-3班 专业电气自动化 所在系电子技术系 指导教师郑凤歧、张晓燕 完成日期 2009年11月26日 前言 ehsy西域品质提供的西门子5.7英寸触摸屏k-tp178micro系列有如下特点: ☆ 5.7 英寸触摸屏, 蓝色4级灰度显示 ☆ s7-200 plc专用触摸屏 ☆友好的操作界面:触摸屏+按键 ☆快速的系统启动时间和操作响应时间 ☆超大存储空间 ☆触摸声音反馈 ☆硬件设计全面更新,无与伦比的高可靠性 ☆ 5种在线语言切换,32种语言支持,使您的设备能应用于 世界各地 ☆强大的密码保护功能,50个用户组 ☆更高的鲁棒性,防冲击和震动,并能防水耐脏 ☆采用32位arm7处理器,性能优异 ☆集成的lcd控制器,消除了cpu和lcd控制器的之间的 传输瓶颈 ☆组态软件:wincc flexible,编程灵活快捷 ☆为中国用户量身定做,符合中国用户使用习惯 ☆作为众多知名品牌的合作伙伴,ehsy西域以其优良的品 质和服务来保证操作人员的职业健康,安全环境和美好未 来。 - 1 - 技术参数 - 2 - - 3 - k-tp178micro触摸屏的多行业应用 工程机械行业一般来说工作环境恶劣,常常要在露天和强光照射下工作,灰尘、油污很 多,因此要求此类机械设备具有很强的抗冲击、抗振动的能力。 k-tp178micro是该公司专门针对中国中小型自动化产品用户需求而设计的全新 5.7ins7-200专用触摸屏。它集中了同类产品的众多优点,功能强大、性能优越、高可靠性、 外表美观、同时价格低廉,适合使用在众多的自动化设备上。k-tp178micro倾注了全球领先 的设计理念、采用最先进的hmi技术,选用最可靠的电子元器件,以及本地化的生产策略。 k-tp178micro与s7-200plc完美结合,能给客户提供最佳的解决方案。 k-tp178micro以其先进强大的功能,稳定可靠的质量,低廉的价格和完善的服务广泛应

嵌入式实验报告

嵌入式实验报告 学院:信息工程学院 专业:计算机科学与技术班级:计算机班 姓名: 学号: 指导老师:

实验目录 实验一嵌入式系统开发环境实验 (2) 实验二系统节拍定时器实验 (12) 实验三 GPIO控制实验 (16) 实验四外部中断实验 (19) 实验五串口通讯实验 (23)

实验一嵌入式系统开发环境实验 【实验目的】 1.熟悉RealView MDK集成开发环境以及使用方法。 2.熟悉嵌入式系统软件设计方法和流程。 【实验内容】 1. 通过例程熟悉、掌握嵌入式系统的编辑、编译、调试、下载及运行过程。 2. 建立自己的工程文件,在开发板板上调试程序。 【实验步骤】 (一)程序安装 1. 建议在安装之前关闭所有的应用程序,双击安装文件,弹出如图对话框,Next 2.默认选择C盘文件下安装。

3.这样就在c盘底下出现keil文件夹。 4.单击选择菜单“File”-->"License Management" 将弹出下面一张图的界面:复制其中CID号,以便在粘贴到下一步中的破解软件。 5.复制CID

6.运行破解软件,将出现下面一张图的界面,把上步复制的CID号粘贴到相应位置,其他选项如图,然后点击“Generate”按钮,然后复制产生的序列号,粘贴到上一步的下面一张图的LIC输入框中,然后点击右侧的Add LIC,即可完成破解。 7.安装文件夹中的jlink驱动。 (二)工程创建、编译 使用Realview MDK创建、完成一个新的工程只需要以下几个环节: →创建工程并选择处理器→选择工具集→创建源文件→配置硬件选项→配置对应启动代码→编译链接→下载→调试。 1.创建工程并选择处理器 选择Project→New Project…,输入创建的新工程的文件名,即可创建一个新的工程。 2.创建一个新工程时,需要为工程选择一款对应处理器,在NXP 列表下选择LPC1768 芯片。然后点击OK。接下来出现的对话框选择“是或者也可以通过单击Project→Select Device for Target…在本次课程中,我们选择

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 :安磊 班级:计科0901 学号: 0909090310 指导老师:宋虹

目录 课程设计容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------ 6 文件系统的层次结构和功能模块 --------------------- 6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录 -------------------------------------------------- 12

课程设计容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小核可编译至 2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统核,它仅仅包含了任务调度,任务管理,时间管理,存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时核,并在这个核之上提供最基本的系统服务,如信号量,,消息队列,存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

嵌入式系统设计与应用复习资料.docx

嵌入式系统设计与应用复习资料 (一)?单项选择题: 1. 下面哪个系统属于嵌入式系统。 ( 八、“天河一号”计算机系统 C 、联想S10±网木 D ) B 、联想T400笔记本计算机 D 、联想OPhone 手机 2. 软硕件协同设计方法与传统设计方法的最大不同Z 处在于(B )。 A 、软硬件分开描述 C 、协同测试 3. 卜?面关于哈佛结构描述正确的是(A A 、程序存储空间与数据存储空间分离 C 、程序存储空间与数据存储空间合并 4. 下面哪一种工作模式不属于ARM 特权模式 A 、用户模式 B 、系统模式 C 、 5. ARM7TDM1的工作状态包括(D )。 A 、测试状态和运行状态 C 、就绪状态和运行状态 6. USB 接口移动硬盘最合适的传输类型为( A 、控制传输 B 、批量传输 C 、 7. 下而哪一种功能单元不属于I/O 接口电路。(D ) A 、USB 控制器 B 、UART 控制器 C 、以太网控制器 &下面哪个操作系统是恢入式操作系统。(B ) As Red-hat Linux B 、 PCLinux C 、 Ubuntu Linux D 、 SUSE Linux 9. 使用Host-Target 联合开发嵌入式应用,(B )不是必须的。 A 、宿主机 B 、银河麒麟操作系统 C 、目标机 D 、交叉编译器 10. 下面哪个系统不属于嵌入式系统(D )。 A 、MP3播放器 B 、GPS 接收机 C 、“银河玉衡”核心路由器 D 、“犬河一号”计算机系统 11. 在嵌入式系统设计中,嵌入式处理器选型是在进行(C )吋完成。 A 、需求分析 B 、系统集成 C 、体系结构设计 D 、软便件设计 12. 下面哪一类嵌入式处理器最适合于用于工业控制(B )。 A 、嵌入式微处理器 B 、微控制器 C 、DSP D 、以上都不合适 13. 关于ARM 了程序和Thumb 了程序互相调用描述正确的是(B )。 A 、 系统初始化Z 后,ARM 处理器只能工作在一种状态,不存在互相调用。 B 、 只要遵循一定调用的规则,Thumb 子程序和ARM 子程序就可以互相调用。 C 、 只要遵循一定调用的规则,仅能Thumb 子程序调用ARM 子程序。 D 、 只耍遵循一定调用的规则,仅能ARM 子程序调用Thumb 子程序。 14. 关于ARM 处理器的异常的描述不正确的是(C )。 A 、复位属于异常 B 、除数为零会引起异常 B 、软硬件统一描述 D 、协同验证 B 、存储空间与10空间分离 D 、存储空间与10空间合并 (A )0 软中断模式 D 、FTQ 模式 B 、挂起状态和就绪状态 D 、ARM 状态和Thumb 状态 B )0 中断传输 D 、等时传输 D 、LED

实验四触摸屏上位机系统设计

实验四基于触摸屏的抢答器设计 实验目的: 1、进一步掌握基本逻辑指令及其应用; 2、了解PAC人机界面QuickPanel View/Control的基本结构; 3、掌握触摸屏编辑界面的使用、驱动的添加以及通信设置; 4、完成基于触摸屏的4路(或6路)抢答器的设计。 实验设备: 1、GE PACsystem RX3i可编程控制器实验台一台 2、触摸屏一台 2、计算机一台 3、网线一根 实验内容: 一、简单监控程序的设计和运行 1、创建新工程,完成硬件的配置。 2、启动复位电路的设计和运行 (1)在Target1中编制梯形图如图所示: (2)下载并运行程序。 3、监控界面的绘制与运行。 (1)如图所示,创建一个新的触摸屏监控界面 (2)添加和修改驱动

(3)设置触摸屏的IP地址,在触摸屏上“Start”-“Setting”-“Network and Dial-up Connectoions”-“LAN1”-使用“软键盘”-“IP Address:10.0.0.3”-“Subnet Mask:255.255.255.0”-“OK”。 (4)设置触摸屏Target的属性IP与触摸屏IP一致:10.0.0.3。 (5)绘制监控界面,在Panel1中右键可以选择在图中添加:“线”、“圆”、“圆饼”、“按钮”、“跟踪曲线”、“数据入口”、“数据显示”等。 添加如图如示的:①两个“按钮”作为“开”、“关”按钮;②一个“圆”作为“显示灯”。

步骤:①“右键单击Panel1”-“Properties”-“Background Color”-选择“灰色”; ②Panel1中(灰色区域)-“右键单击”-“Button”-“右键单击Button”-“Properties”-“Label”-“open”,确定,“左键双击open按钮”-“Touch”标签,选择“Enable Touch Action Animat”,选择变量“Target1.I00201” ③Panel1中(灰色区域)-“右键单击”-“Button”-“右键单击Button”-“Properties”-“Label”-“close”,确定,“左键双击close按钮”-“Touch”标签,选择“Enable Touch Action Animat”,选择变量“Target1.I00202”; ④Panel1中(灰色区域)-“左键双击圆”-“Color”标签,选择“Enable Fill Color Anim”,选择变量“Target1.Q00001”,“ON”时颜色选择“绿色”,“OFF”时的颜色选择与底色相同的“灰色”,用来显示“电路的开关状态”; (6)使用下载触摸屏界面。 4、运行PAC程序并实现监控。 五、基于触摸屏的4路(或6路)抢答器设计 1、控制要求:设计一个4路(6路)抢答器,任一组抢先按下抢答按钮后,相对应的台面上的灯亮,并用7段数码管显示抢答组号,同时锁定抢答器,使其他组抢答按钮无效;在按下复位开关后,主持人台上的灯亮,可重新开始抢答。 完成如图a所示界面的绘制,运行界面如图b所示。

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

linux 触摸屏驱动程序设计

物理与电子工程学院 《嵌入式系统设计》 课程小论文 课题题目linux 触摸屏驱动程序设计系别物理与电子工程学院 年级08级 专业电子科学与技术 学号050208110 学生姓名储旭 日期2011-12-21

目录 第 1 章嵌入式 linux 触摸屏驱动程序设计........................................................................ - 2 - 1.1 课题设计的目的.......................................................................................................... - 2 - 1.2 课题设计要求.............................................................................................................. - 2 - 第二章课题设计平台构建与流程............................................................................................ - 2 - 2.1 嵌入式系统开发平台构建.......................................................................................... - 2 - 2.1.1 cygwin 开发环境............................................................................................ - 2 - 2.1.2 Linux 开发环境.............................................................................................. - 5 - 2.1.3 Embest IDE 开发环境.................................................................................... - 5 - 2.2 触摸屏设计流程.......................................................................................................... - 5 - 2.3 课题设计硬件结构与工作原理.................................................................................. - 6 - 2.3.1 硬件结构概述.................................................................................................. - 6 - 2.3.2 触摸屏工作原理.............................................................................................. - 8 - 第三章 Bootloader 移植与下载.............................................................................................. - 9 - 3.1 Vivi 源代码的安装.................................................................................................... - 9 - 3.2 Vivi 源代码分析...................................................................................................... - 10 - 3.3 Vivi 源代码的编译与下载...................................................................................... - 11 - 第四章 Linux 内核移植与下载.............................................................................................. - 12 - 4.1 Linux 内核源代码的安装........................................................................................ - 12 - 4.2 Linux 内核源代码分析与移植................................................................................ - 14 - 4.3 Linux 内核编译与下载............................................................................................ - 14 - 第五章触摸屏功能模块程序设计与交叉编译...................................................................... - 16 - 5.1 功能模块驱动程序设计............................................................................................ - 16 - 5.2 触摸屏功能模块交叉编译........................................................................................ - 20 - 第六章根文件系统建立与文件系统下载.............................................................................. - 20 - 6.1 Cramfs 根文件系统分析.......................................................................................... - 20 - 6.2 文件系统映像文件生成............................................................................................ - 21 - 6.3 功能模块运行与调试................................................................................................ - 22 - 第七章课题设计总结与体会.................................................................................................. - 26 - 参考文献:................................................................................................................................ - 27 -

嵌入式实验报告

嵌入式技术 实验报告 系别:计算机与科学技术系 班级:计12-1班 姓名:刘杰 学号:12101020128 总成绩: 评语: 日期:

2.在弹出的对话框中依次选择“cedevice emulator emulator kdstub”。 3.选择“Build OS”菜单的“sysgen”开始构建平台。 1.1.4连接,下载和运行平台 1.选择“Target”菜单下的“Connection option”菜单项。 2.在新的对话框中,配置连接关系 3.选择“Target”菜单下的“attach”菜单项,开始下载。 ?实验结果 操作系统定制成功,能正常运行。 ?结果截图 ?问题总结 由于对实验平台了解不够,致使操作过程中添加和删除组件时不知道该如何下手,影响整个实验进度。 实验1.2: 1.打开Platform Builder,并且打开实验1的工程,在实验1的工程基础上做本实验。

进程显示 IE信息查看

报文监测 实验1.3使用Platform Builder开发应用程序 简单实验步骤 1.打开Platform Builder。 2.选择“File”菜单下的“Open Workspace…”,然后打开实验1中创建的平台,本实验要基于 上面的实验的基础上做。 3.选择“File”菜单下的“New Project or File…”,打开“New Project or File”对话框。 4.在“Projects”选项页中选择“WCE Application”;在“Project Name”中输入项目的名字,例 如“MyApp”。 5.在“New Project Wizard – step 1 of 1”中选择“A typical Hello World Application”,点击“Finish” 按钮。 6.选择“Build”菜单中的“Build MyApp.exe”来编译应用程序。

南邮嵌入式系统B实验报告2016年度-2017年度-2

_* 南京邮电大学通信学院 实验报告 实验名称:基于ADS开发环境的程序设计 嵌入式Linux交叉开发环境的建立 嵌入式Linux环境下的程序设计 多线程程序设计 课程名称嵌入式系统B 班级学号 姓名 开课学期2016/2017学年第2学期

实验一基于ADS开发环境的程序设计 一、实验目的 1、学习ADS开发环境的使用; 2、学习和掌握ADS环境下的汇编语言及C语言程序设计; 3、学习和掌握汇编语言及C语言的混合编程方法。 二、实验内容 1、编写和调试汇编语言程序; 2、编写和调试C语言程序; 3、编写和调试汇编语言及C语言的混合程序; 三、实验过程与结果 1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。 代码1:使用C内嵌汇编 #include int find_gcd(int x,int y) { int gcdnum; __asm { MOV r0, x MOV r1, y LOOP: CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE LOOP MOV r3, r0 MOV gcdnum,r3 //stop // B stop // END } return gcdnum; } int main() { int a; a = find_gcd(18,9);

printf("gcdnum:%d\n",a); return 0; } 代码2:使用纯汇编语言 AREA example1,CODE,readonly ENTRY MOV r0, #4 MOV r1, #9 start CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE start MOV r3, r0 stop B stop END 2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。 代码1:使用纯汇编语言 AREA examp,CODE,READONL Y ENTRY MOV R0,#10 MOV R1,#30 MOV R2,#20 Start CMP R0,R1 BLE lbl_a CMP R0,R2 MOVGT R3,R0 MOVLE R3,R2 B lbl_b lbl_a CMP R1,R2 MOVGT R3,R1 MOVLE R3,R2 lbl_b B . END 代码2:使用C内嵌汇编语言 #include int find_maxnum(int a,int b,int c)

(完整word版)嵌入式系统设计与应用

嵌入式系统设计与应用 本文由kenneth67贡献 ppt文档可能在W AP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 课程名称:课程名称:嵌入式系统设计与应用 总学时:其中讲课36学时,上机实践环节12 36学时12学时总学时:其中讲课36学时,上机实践环节12学时教材:嵌入式系统设计教程》教材:《嵌入式系统设计教程》电子工业出版社马洪连参考书:参考书:1、《嵌入式系统开发与应用》北航出版社、田泽编著. 嵌入式系统开发与应用》北航出版社、田泽编著. 2、《ARM体系结构与编程》清华大学出版社杜春雷编著ARM体系结构与编程体系结构与编程》嵌入式系统设计与实例开发—ARM ARM与C/OS3、《嵌入式系统设计与实例开发ARM与μC/OS-Ⅱ》清华大学出版社王田苗、魏洪兴编著清华大学出版社王田苗、ARM嵌入式微处理器体系结构嵌入式微处理器体系结构》4、《ARM嵌入式微处理器体系结构》北航出版社、马忠梅等著. 北航出版社、马忠梅等著. 张石.ARM嵌入式系统教程嵌入式系统教程》5、张石.《ARM嵌入式系统教程》.机械工业出版2008年社.2008年9月 1 课程内容 绪论:绪论: 1)学习嵌入式系统的意义2)高校人才嵌入式培养情况嵌入式系统设计(实验课)3)嵌入式系统设计(实验课)内容安排 第1章嵌入式系统概况 1.1 嵌入式系统的定义1.2 嵌入式系统的应用领域及发展趋势1.3 嵌入式系统组成简介 第2章嵌入式系统的基本知识 2.1 2.2 2.3 嵌入式系统的硬件基础嵌入式系统的软件基础ARM微处理器的指令系统和程序设计ARM微处理器的指令系统和程序设计 2 第3章 3.1 3.2 3.3 基于ARM架构的嵌入式微处理器基于ARM架构的嵌入式微处理器ARM 概述嵌入式微处理器的组成常用的三种ARM ARM微处理器介绍常用的三种ARM 微处理器介绍 第4章 4.1 4.2 4.3 4.4 4.5 4.6 嵌入式系统设计 概述嵌入式系统的硬件设计嵌入式系统接口设计嵌入式系统人机交互设备接口嵌入式系统的总线接口和网络接口设计嵌入式系统中常用的无线通信技术 3 第5章嵌入式系统开发环境与相关开发技术 5.1 5.2 5.3 5.4 5.5 6.1 6.2 6.3 6.4 概述嵌入式系统的开发工具嵌入式系统调试技术嵌入式系统开发经验嵌入式系统的Bootloader Bootloader技术嵌入式系统的Bootloader技术μC/OS-II操作系统概述C/OS-II操作系统概述ADS开发环境ARM ADS开发环境C/OS-II操作系统在ARM系统中的移植操作系统在ARM μC/OS-II操作系统在ARM系统

ARN触摸屏驱动实验

触摸屏驱动实验 班级:电信091 学号: 200916022xx 姓名: xxx 指导教师: xxx 日期: 2011年11月20日

一、实验目的 1.了解触摸屏基本概念与原理。 2.理解触摸屏与LCD的密切配合。 3.编程实现对触摸屏的控制。 二、实验内容 学习触摸屏基本原理,理解对触摸屏进行输出标定、与LCD显示器配合的过程。 三、预备知识 1、用EWARM集成开发环境,编写和调试程序的基本过程。 2、ARM应用程序的框架结构。 3、能够在LCD上进行格式化输出。 四、实验设备及工具 硬件:ARM嵌入式开发平台、用于ARM920T的JTAG仿真器、PC机Pentium100以上。 软件:PC机操作系统Win2000或WinXP、EWARM集成开发环境、仿真器驱动程序、超级终端通讯程序 五、实验原理及说明 1.触摸屏原理 触摸屏按其工作原理的不同分为表面声波屏、电容屏、电阻屏和红外屏几种。常见的有电阻触摸屏。 如图3-20所示,电阻触摸屏的屏体部分是一块与显示器表面非常配合的多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。

图3-20 (北泰)触摸屏的结构 如图3-21所示,当手指或笔触摸屏幕时(图c),平常相互绝缘的两层导电层就在触摸点位置有了一个接触,因其中一面导电层(顶层)接通X轴方向的5V均匀电压场(图a),使得检测层(底层)的电压由零变为非零,控制器侦测到这个接通后,进行A/D转换,并将得到的电压值与5V相比即可得触摸点的X轴坐标为(原点在靠近接地点的那端): Xi=Lx*Vi / V(即分压原理) 同理得出Y轴的坐标,这就是所有电阻触摸屏共同的最基本原理。 图3-21 触摸屏坐标识别原理 六、实验步骤 1. 启动H-JTAG 仿真器并进行初始化配置。 2.启动EWARM0新建工程,将“Exp5触摸屏驱动实验”中的文件添加到工程。3.在头文件中定义宏及常量(tchscr.c,tchscr.h) 4.编写测试函数(tchscr.c) 将触摸动作及触摸点坐标在超级终端上显示出来。5.校准触摸屏坐标输出,转换坐标,与LCD紧密配合 可以使用TchScr_GetScrXY()函数来获得液晶屏的x、y方向的电压范围,分别点触摸屏有效面积的左上角和右下角,得到下列参数:

相关文档
最新文档