嵌入式系统与接口技术课程设计ARM7的串口聊天程序设计

上传人:cl****1 文档编号:443416312 上传时间:2022-08-08 格式:DOC 页数:29 大小:423KB
返回 下载 相关 举报
嵌入式系统与接口技术课程设计ARM7的串口聊天程序设计_第1页
第1页 / 共29页
嵌入式系统与接口技术课程设计ARM7的串口聊天程序设计_第2页
第2页 / 共29页
嵌入式系统与接口技术课程设计ARM7的串口聊天程序设计_第3页
第3页 / 共29页
嵌入式系统与接口技术课程设计ARM7的串口聊天程序设计_第4页
第4页 / 共29页
嵌入式系统与接口技术课程设计ARM7的串口聊天程序设计_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《嵌入式系统与接口技术课程设计ARM7的串口聊天程序设计》由会员分享,可在线阅读,更多相关《嵌入式系统与接口技术课程设计ARM7的串口聊天程序设计(29页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统与接口技术 课 程 报 告ARM7的串口聊天程序设计 学号姓名班级电气1081班指导老师目 录目 录摘要IINTRODUCTIONII1 概述11.1 设计任务11.2 设计要求12 系统总方案及硬件设计22.1 系统总方案22.1.1 系统基本功能22.1.2 系统结构原理22.2 硬件各部分设计33 软件设计43.1 软件流程设计43.2 程序模块53.2.1 4X12键盘扫描程序53.2.2 160*128液晶显示驱动:73.2.3 按键功能判断113.2.4 通信功能133.2.5 控制主程序174 PROTEUS仿真214.1 启动状态仿真214.2 输入姓名214.3 输

2、入按键224.4 含有姓名的通信224.5 切换大小写以及组合按键23设计心得24参考文献25摘要摘要嵌入式系统它摒弃了普通计算机复杂的系统结构,把需要用到的设备集成到一块硅片上,能够在成本上得到很好的控制,而在控制效果又能满足实际设计需要的微型计算机。本实验采用基于ARM7架构的LPC2138微处理器,它集成了多个32位定时器、1个或2个10位 多路ADC、10 位DAC、PWM通道和47 个GPIO以及多达9个边沿或电平触发的外部中断使它们特别适用于工业控制和医疗系统。在自动控制系统中,嵌入式芯片起着相当于人的大脑一样的作用。现代控制系统,通过编译出优秀的软件,可以更加接近人的想法来实现控

3、制,他是模糊控制,精确控制,等等控制方法的简单的实现场所。本课程设计通过设计一个具有按键控制、液晶显示功能的通讯聊天工具,核心采用LPC2138,采用4X12扫描按键,显示采用160*128液晶英文显示,通过其中一块芯片上输入的信息,可以传输到另一块芯片上并显示出来。当然,同时也可以输入不同的字模,液晶上也可以显示不同的图案。关键词:LPC2138;IQQ聊天工具;4X12扫描按键;液晶;字模17ABSTRACTINTRODUCTIONEmbedded microcontroller chip is an upgraded version, it integrates a number of

4、32-bit timers, one or two 10-bit 8-channel ADC, 10 位 DAC, PWM channels and 47 GPIO and up to nine edge or level triggered External interrupt enable them particularly suitable for industrial control and medical systems. In the automatic control system, embedded chip, like the human brain plays an equ

5、ivalent role. Modern control system, by compiling the best software, can be more close to peoples ideas to achieve control, he is fuzzy control, precise control, and so simple to achieve control sites. The course design through the design of a key control, LCD display chat tool of communication, the

6、 core using LPC2138, using 4X12 scan button, display with 160 * 128 LCD display in English, through which the information entered on a single chip can be transferred to another piece of chip and displayed. Of course, you can also enter a different font, the LCD can also display different patterns.KE

7、YWORDS: LPC2138,IQQ chat; 4X12 scankeybord; LCD; 广东海洋大学 嵌入系统与接口技术课程设计报告1 概述1.1 设计任务通过学习ARM嵌入式系统,熟悉使用ARM芯片来设计控制系统。本实验使用LPC2138,4X12键盘扫描,160128液晶显示文字图案,控制UART0通信,实现各种控制功能,以及实现更为友好的人机交换界面。1.2 设计要求键盘上有48个数字按键,两个复合键:Caps_lock和Shift;两个功能按键:Enter和Backspace,分别控制确认输出和删除上一输入,尽最大可能模拟电脑键盘排布。160*128液晶用来显示初始画面及双方

8、通讯内容,包括英文大小写,数字及“*”“(”“)”“!”“%”“¥”“#”等常用符号。2 系统总方案及硬件设计2.1 系统总方案2.1.1 系统基本功能两台用于通信的ARM7系统,分别连接着160*128液晶及4*12键盘。其中一台机子通过按键输入一个字符串,按确认后同时在自己及另一台机子的液晶上显示,输入紧随其后清零。由于最大限度地模拟键盘,所以设置了Cap_lock和Shift按键可以大量简化键盘排布的方案。2.1.2 系统结构原理系统采用LPC2138单片机为核心,采用LG 160*128显示,4X12线反转法键盘,系统结构图如图2.1.2所示。LPC2138160*1284X12键盘串

9、口通信LPC2138160*1284X12键盘图2.1.2 系统结构图2.2 硬件各部分设计由于本实验比较简单,而且没必要花费比较多的钱做实物,所以采用Proteus来仿真,可以更快地达到验证该系统的功能,电路如图2.2.1所示。系统左图系统右图图2.1.2 系统电路图3 软件设计3.1 软件流程设计本设计采用ADS1.2编译软件,用C语言编程,可以很容易的移植前者写的硬件的驱动程序,以节约编程的时间,上层的控制程序可以很容易的用C语言来设计出控制的流程,程序流程图如图3.1.1:系统初始化液晶,串口,键盘键盘按键扫描液晶显示按下按键 按下ENTER? 液晶显示按下字符串 串口发送输入数据 接

10、收标志有效? 图3.1.1 系统程序流程图显示输接收数据3.2 程序模块3.2.1 4X12键盘扫描程序定义列表:/按键码对应键值表*#pragma CONST_SEG DEFAULT const uint16 key_code=0x1001,0x1002,0x1004,0x1008,0x1010,0x1020,0x1040,0x1080,0x1100,0x1200,0x1400,0x1800, 0x2001,0x2002,0x2004,0x2008,0x2010,0x2020,0x2040,0x2080,0x2100,0x2200,0x2400,0x2800, 0x4001,0x4002,0

11、x4004,0x4008,0x4010,0x4020,0x4040,0x4080,0x4100,0x4200,0x4400,0x4800, 0x8001,0x8002,0x8004,0x8008,0x8010,0x8020,0x8040,0x8080,0x8100,0x8200,0x8400,0x8800,;/键值对应ASCII码*#pragma CONST_SEG DEFAULT const uchar key_ascii=!,1,2,3,4,5,6,7,8,9,0,+, Q,W,E,R,T,Y,U,I,O,P, %,A,S,D,F,G,H,J,K,L,;,*, -,Z,X,C,V,B,N,

12、M,.,?, ,;键盘扫描采用线反转法:uint16 Get_Key_ASCII(void) uint16 key_code0; uchar i; uchar k; IO0DIR=Key_Row_Scan; /设置为行为输出列为输入 IO0PIN=IO0DIR&(Key_Pin)|Key_Row_Scan;/设置行为高电平列为低电平 DelayNS(10); /小延时,建立电平 key_code0=(IO0PIN&Key_Line_Scan)10; /取列对应位信息 read 语句 IO0DIR=Key_Line_Scan;/设置为列为输出,行为输入,列扫描 IO0PIN=IO0DIR&(Ke

13、y_Pin)|Key_Line_Scan;/ read Line DelayNS(10); /小延时,建立电平 key_code0=key_code0|(IO0PIN&Key_Row_Scan)10); / row+line DelayNS(10); /小延时,建立电平if(key_code0!=0x0000)for (i=0;iKey_Amount;i+)if (key_code0=key_codei) / 得到排列 i return key_asciii; return0xff;/按键无效 3.2.1 键盘扫描图3.2.2 160*128液晶显示驱动:160*128液晶采用横向打点法,因此,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 销售管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号