设计论证书与结题报告基于ARM7与HD7279、12864的键盘显示模块.doc
《设计论证书与结题报告基于ARM7与HD7279、12864的键盘显示模块.doc》由会员分享,可在线阅读,更多相关《设计论证书与结题报告基于ARM7与HD7279、12864的键盘显示模块.doc(20页珍藏版)》请在三一办公上搜索。
1、设计类别任务编号报告类型 设计论证书与结题报告 设计题目: 基于ARM7与HD7279、12864的键盘显示模块 学 生: 指导教师: 专 业: 电子信息工程2008级 提交日期: 2011年5月7日 2011年 5月论证题目: 键盘与显示模块任务内容键盘与显示是硬件设备的基本组成模块。本项目为实现按键的输入,数码管与液晶屏显示。首先建立硬件连接,之后基于ARM7编写,并制作pcb板。 论证内容一、 系统硬件组成:1. 硬件系统描述: 硬件实现:(1)、按键与数码管部分:以ARM7LPC2138为核心控制HD7279a ,最终实现按键的串行输入并将输入显示到数码管上。 (有关芯片HD7279a
2、内容请参考“hd7279a 8位数码管64键盘中文”)(2)、LCD显示部分: 以ARM7LPC2131为核心控制液晶屏、以并行传输数据方式将内容显示在液晶屏上(有关12864内容请参考“中显ZX12864R中文字库LCD”)2. 硬件系统框图: (1)、按键与数码管部分: 键盘ARM7 LPC2138HD7279a数码管 (2)、LCD显示部分:ARM7 LPC2131LCD12864 数码管3. 原理图 (1)、按键与数码管部分:按键排阻Hd7279(2)、LCD显示部分:输入端口排阻插排4. pcb这区域放置LCD点阵LCD控制数码管,按键与点阵控制区键盘区数码管 二、 系统软件设计:1
3、、软件系统设计描述: (1)、按键与数码管部分:LPC2138控制HD7279a读写操作,读取键码值显示在数码管上 (2)、LCD显示部分:LPC2131以并行的方式控制液晶屏显示内容 2主流程图:按键与数码管部分流程图 LCD显示部分流程图3、源代码分析:按键与数码管显示程序:/*- FILE Info -*File Name:jpxs.c*Last Modified Date: 2011-05-6*Last Version:V1.0*Description:基于 LPC2138与HD7279 的键盘显示程序设计*-*Created By:姚金龙、张翃敔*Created Date:2011-
4、05-6*E-mail Address:546213859*/ /* Begin of File */* 包含头文件 */#include #include /* HD7279 指令 */#define CMD_RESET 0xA4/ 复位指令#define CMD_MODE10xC8/ 0xC8 | a2 a1 a0下载数据且按方式1译码0-F #define CMD_READ 0x15/ 读键盘数据指令/* 宏定义 */ #defineCS (18) /定义P0.8为HD7279 CS(片选)#defineCLK (19)/定义P0.9为HD7279 CLK #defineDATA (11
5、0)/定义P0.10为HD7279 DATA/* Function name: delay* Descriptions: 延时函数* input parameters: uiD : 定时器精确延时1US,延时参数,值越大,延时越久* output parameters: 无* Returned value: 无*/void delay1u(unsigned long t) T1PR = 0x00000000; /Load prescaler T1TCR = 0x00000003; /Reset counter and prescaler T1MCR = 0x00000003; /On matc
6、h reset the counter and generate an interrupt T1MR0 = t*0x0f; /Set the cycle time T1TCR = 0x00000001; /enable timer while(T1IR & 0x01) = 0); T1IR = 0x01; T1TCR = 0x00000000;/*Function Name:send_byte *Decriptions:向HD7279 中写指令或数据* *-*Input Parameters:cmd: 向HD7279发送数据和指令*Output Parameters:NULL*Valueof
7、Return:NULL*/void send_byte(unsigned char cmd)unsigned char i; IO0CLR |= CS;delay1u(48);/ 长延时for(i = 0;i 8;i+)if(cmd&0x80) / 写“1”IO0SET|=DATA;else/ 写“0”IO0CLR |=DATA; IO0SET|=CLK; / CLK形成下降沿 delay1u(8);IO0CLR |=CLK; delay1u(8);cmd = cmd * 2;/数据左移一位 IO0SET |=DATA;/*Function Name:Init_7279 *Decription
8、s:HD7279 初始化函数 * *-*Input Parameters:NULL*Output Parameters:NULL*Valueof Return:NULL*/void Init_7279(void)unsigned int i;IO0CLR |= CS;/ 片选使能send_byte(CMD_RESET); / 复位 HD7279for(i = 0;i 0x2000;i +);/ 延时,等待 HD7279 完成初始化/*Function Name:write_7279 *Decriptions:向HD7279 中写指令或数据* *-*Input Parameters:cmd: 向
9、HD7279写指令 * dat:向HD7279写数据*Output Parameters:NULL*Valueof Return:NULL*/void write_7279(unsigned char cmd, unsigned char dat)send_byte(cmd); / 写指令send_byte(dat);/ 写数据/*Function Name:receive_byte *Decriptions:从 HD7279 中读一个字节* *-*Input Parameters:NULL*Output Parameters:in_byte:返回从HD7279读回的数值*Valueof Re
10、turn:NULL*/unsigned char receive_byte(void)unsigned char i,in_byte; IO0DIR &=(DATA);/数据口改回输入delay1u(48);/长延时for (i=0;i8;i+) IO0SET |= CLK;/先拉高之后再拉低给下降沿脉冲delay1u(8);/短延时 in_byte=in_byte1;/数据左移一位 if(IO0PIN&0x00000400)/读“1”in_byte=in_byte|0x01; IO0CLR |=CLK; delay1u(8);/短延时 IO0DIR |=DATA; /数据口改回输出retur
11、n (in_byte); /返回读数据/*Function Name:read7279 *Decriptions:从 HD7279 中读数据 * *-*Input Parameters:command:向HD7279发送读指令*Output Parameters:receive_byte():返回从HD7279读回的数值*Valueof Return:NULL*/unsigned char read7279(unsigned char command)send_byte (command);/发送读指令return (receive_byte();/返回读数据/*Function Name:I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 论证 报告 基于 ARM7 HD7279 12864 键盘 显示 模块
链接地址:https://www.31ppt.com/p-2883770.html