嵌入式系统与接口技术课程设计ARM7的串口聊天程序设计.doc
《嵌入式系统与接口技术课程设计ARM7的串口聊天程序设计.doc》由会员分享,可在线阅读,更多相关《嵌入式系统与接口技术课程设计ARM7的串口聊天程序设计.doc(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扫描按键;液晶;字模INTRODUCTIONEmbedded microcontroller chip is an upgraded version, it integrates a number of 32-bit timers,
4、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 equivalent role. M
5、odern 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 core using LPC
6、2138, 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.KEYWORDS: LPC2138
7、,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键盘串口通信LPC2138160*1284X12键盘图2.1.2 系统结构图2.
9、2 硬件各部分设计由于本实验比较简单,而且没必要花费比较多的钱做实物,所以采用Proteus来仿真,可以更快地达到验证该系统的功能,电路如图2.2.1所示。系统左图系统右图图2.1.2 系统电路图3 软件设计3.1 软件流程设计本设计采用ADS1.2编译软件,用C语言编程,可以很容易的移植前者写的硬件的驱动程序,以节约编程的时间,上层的控制程序可以很容易的用C语言来设计出控制的流程,程序流程图如图3.1.1:系统初始化液晶,串口,键盘键盘按键扫描液晶显示按下按键 按下ENTER? 液晶显示按下字符串 串口发送输入数据 接收标志有效? 图3.1.1 系统程序流程图显示输接收数据3.2 程序模块3
10、.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,0x4004,0x4008,0x4010,0x4020,0x4040,0x4
11、080,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,M,.,?, ,;键盘扫描采用线反转法:uint16 Get_Key_AS
12、CII(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&(Key_Pin)|Key_Line_Scan;/ read Line Dela
13、yNS(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液晶采用横向打点法,因此,对应的字符及图形字模要留意。字符格式为8X8. 定义列表:液晶驱动程序:
14、 #define WR (129) /p1.29 写控制位#define CD (131) /p1.17 数据指令选择控制位#define RD (130) /p0.26读控制位#define CE (128) /p0.27 LCD片选#define DIR (127) /p1.22 74LS245数据传送方向#define LOCK (126)/p0.15 74LS245数据锁存控制位#define DPT (0xff18;IO1CLR = IO1CLR | RD;/读无效return (data) ;/返回值为读取的数据/等待可读写函数void ReadEnable()uchar temp
15、;while(temp=ReadState()&0x03)!=0x03);/*void ControlPinIni()PINSEL0 = 0x00000003;PINSEL1 = 0x00000000;PINSEL2 = 0x00000000;IO1DIR = IO1DIR |WR|RD|CE|LOCK;IO1DIR = IO1DIR |CD|DIR;IO1SET = IO1SET |LOCK;/*/*写命令、写数据命令* 数据1、数据2、命令、参数个数*/void wr_data(char data1,char data2,char cmd,char num)char temp;temp=n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 接口 技术 课程设计 ARM7 串口 聊天 程序设计
链接地址:https://www.31ppt.com/p-2393780.html