- 1、本文档共111页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 S3C44B0X接口电路设计与编程
第六章 S3C44B0X接口电路设计与编程 第一节 S3CEV40开发板简介 S3CEV40基本功能 S3CEV40硬件资源 一、S3CEV40基本功能 电源:外部5V电源供电或者由USB接PC供电,电源指示LED以及500mA保险丝 1M×16bit Flash 4×1M×16bit SDRAM 4KB IIC BUS的串行EEPROM 2个串口,其中一个为简单接口,一个为全接线接口,可跳接RS232 MODEM 复位开关 两个中断按钮,两个LED 外部IDE硬盘接口 LCD及TSP触摸屏接口 20针JTAG接口 USB连接器 4×4键盘接口 4个2×20PIN CPU扩展接口 10M 以太网接口 8段数码管 MICROPHONE输入口 IIS音频信号输出口,可接双声道SPEAKER 固态硬盘16M×8bit 320×240 带触摸功能的显示屏 二、S3CEV40硬件资源 1. 片选信号设置 3.多功能I/O引脚分配 第六章 S3C44B0X接口电路设计与编程 第二节 存储器电路设计及编程 SDRAM电路设计 Flash电路设计 存储器应用编程 一、SDRAM电路设计 2. HY57V65160B引脚功能 A11~A0:地址输入 (1) A11~A0作为bank的行地址线 (2) A7~A0作为bank的列地址线 A10定义为是否要进行自动预充电 BA1、BA0:Bank选择 CE:片选 D15~D0:数据线 WE:写使能 二、Flash电路设计 1. 概述 一片Flash(SST39VF160) A19~A0:地址线 D15~D0:数据线 CE:片选 OE:输出使能 WE:写使能 2. 写入与擦除 (1) 字写入 第一步:送出“软件数据保护”的3字节 第二步:送出地址和数据 第三步:内部写入处理 (2) 扇区/块/整片擦除 3. 接口电路 三、存储器应用编程 1. 存储器控制寄存器设置 2. 存储器的读/写 #define RWram (*(unsigned long *)0x0c010200) void cRWramtest(void) { unsigned long * ptr =0x0c010200; //定义一个长指针并赋初值 unsigned short * ptrh=0x0c010200; //定义一个短指针并赋初值 unsigned char *ptrb=0x0c010200;//定义一个字符指针并赋初值 ? unsigned char tmpb; //定义一个字符变量 unsigned short tmph; //定义一个短整型变量 unsigned long tmpw; //定义一个长整型变量 *ptr = 0xAA55AA55; tmpw = *ptr; // 字长读 *ptr = tmpw+1; // 字长写 tmph = *ptrh; // 半字 *ptrh = tmph+1; // 半字 tmpb = *ptrb; // 字节 *ptrb = tmpb+1; // 字节 } 第六章 S3C44B0X接口电路设计与编程 第三节 人机接口电路设计及编程 键盘电路设计及编程 7段LED电路设计及编程 一、键盘电路设计及编程 1. 接口电路 2. 编程 (1) 中断初始化 程序入口处 IRQ向量中断,进入: 中断向量处理宏 : 中断处理宏 : (2) 键盘控制初始化 (3) 中断服务程序 (4) 键盘检测程序 二、7段LED电路设计及编程 1. 接口电路 2. 编程 (1)八段数码管字符显示段码 (2) 显示程序 第六章 S3C44B0X接口电路设计与编程 第四节 串行接口电路设计及编程 串行接口电路设计 UART的编程 一、串行接口电路设计 二、UART的编程 rPCONC = 0x0ff0ffff; rPUPC = 0x30ff; rPCONE = 0x25529; rPUPE = 0x6; static int whichUart=0; void Uart_Init(int mclk,int baud) { int i; if(mclk==0) mclk=MCLK; rUFCON0=0x0; rUFCON1=0x0; rUMCON0=0x0; rUMCON1=0x0; rULCON0=0x3; rUCON0=0x245;
文档评论(0)