[计算机软件及应用]实验三:数码管与键盘控制课件_第1页
[计算机软件及应用]实验三:数码管与键盘控制课件_第2页
[计算机软件及应用]实验三:数码管与键盘控制课件_第3页
[计算机软件及应用]实验三:数码管与键盘控制课件_第4页
[计算机软件及应用]实验三:数码管与键盘控制课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验三数码管与键盘控制IIC总线接口IIC (I2C)概述S3C2410处理器支持一个多主IIC串行总线接口,用于连接微控制器及其外围设备 两根串行线一根专用串行数据线SDA一根串行时钟线SCL每个连接到总线的器件根据唯一的地址来识别 传输数据的设备间是简单的主从关系两个或多个器件同时发起数据传输时,可以通过冲突检测和仲裁来防止数据被破坏数据传输位速率在标准模式下可达100kbit/s,在快速模式下可达400kbit/s,在高速模式下可达3.4Mbit/s 发送到SDA上的每个数据必须是8位的 IIC总线接口(1)4种操作模式 主发送器模式主接收器模式从发送器模式从接收器模式IIC总线接口(2

2、)IIC总线接口空闲时通常处于从模式起始条件当SCL保持高电平时,一个SDA下降沿初始化一个起始条件 停止条件 当SCL保持高电平时SDA的一个上升沿产生一个停止信号IIC总线接口(3)IIC总线接口(4)(主设备)数据发送过程产生起始信号发送从设备地址(即寻找通信对象)接收ACK信号(表明从设备已连接到总线)发送8位数据接收ACK产生结束信号IIC总线接口(5)IIC总线接口(6)IIC总线接口(7)IIC总线接口(8)IIC相关寄存器总线控制寄存器,IICCON总线控制/状态寄存器,IICSTAT总线Tx/Rx移位寄存器,IICDS总线地址寄存器,IICADD IICCON (0 x540

3、00000)0-3: IIC-bus transmit clock frequency 4: IIC-BUS TX/RX interrupt pending flag5: TX/RX interrupt 7: ack generationIICSTAT (0 x54000004)0: IIC-bus last-received bit status flag0: Last-received bit is 0 (ack was received)1: (ack was not received)1: address zero status flag2: address-as-slave stat

4、us flag3: arbitration status flag4: serial output 5: start/stop condition6-7: mode selectionIICADD (0 x54000008)1-7: slave address0: not mapped IICDS (0X500000C)0-7: 8-bit data示例IIC初始化void iic_init_8led(void)f_nGetACK = 0; / Enable interruptrINTMOD = 0 x0; rSRCPND = rSRCPND; / clear all interrupt rI

5、NTPND = rINTPND; / clear all interruptrINTMSK &= BIT_IIC; pISR_IIC= (unsigned)iic_int_8led;/ Initialize iicrIICADD = 0 x10; / S3C2410X slave address rIICCON = 0 xef; / Enable ACK, interrupt, set IICCLK=MCLK/512 rIICSTAT= 0 x10;/ Enable TX/RX 示例向从设备发送数据void iic_write_8led(UINT32T unSlaveAddr,UINT32T

6、unAddr,UINT8T ucData)f_nGetACK = 0; / Send control byte rIICDS = unSlaveAddr; / 0 x70 rIICSTAT = 0 xf0; / Master Tx,Start 11110000 while(f_nGetACK = 0); _nGetACK = 0;/ Send address rIICDS = unAddr; rIICCON = 0 xef;/ Resumes IIC operation. 11101111while(f_nGetACK = 0); f_nGetACK = 0; / Wait ACK / Sen

7、d data rIICDS = ucData; rIICCON = 0 xef; / Resumes IIC operation. while(f_nGetACK = 0); f_nGetACK = 0; / Wait ACK / End send rIICSTAT = 0 xd0;/ Stop Master Tx condition rIICCON = 0 xef;/ Resumes IIC operation. delay(5);/ Wait until stop condtion is in effect.数码管显示结构由8个发光二极管组成“日”字加上右下角的小数点类型共阳极8根二极管阳

8、极连在一起共阴极8根二极管阴极连在一起工作原理低电平信号点亮二极管高电平信号熄灭二极管8个二极管信号可用8位二进制来表示数码管显示开发板中09的表示:0 xFC,0 x60,0 xDA,0 xF2,0 x66,0 xB6,0 xBE,0 xE0,0 xFE,0 xF6连接电路连接电路连接图S3C2410IICSDAIICSCLZLG7290.S3C2410通过IIC向ZLG7290写入一个8位编码即可控制数码管的显示编程实现初始化void iic_init_8led(void)f_nGetACK = 0; / Enable interruptrINTMOD = 0 x0; rSRCPND =

9、rSRCPND; / clear all interrupt rINTPND = rINTPND; / clear all interruptrINTMSK &= BIT_IIC; pISR_IIC= (unsigned)iic_int_8led;/ Initialize iicrIICADD = 0 x10; / S3C2410X slave address rIICCON = 0 xef; / Enable ACK, interrupt, set IICCLK=MCLK/512 rIICSTAT= 0 x10;/ Enable TX/RX 由于通过IIC向控制芯片写数据,所以必须初始化II

10、C有疑问吗?难道GPIO端口E的14、15引脚不用指定IIC功能?编程实现数码管显示void led8_test(void)int i, j, k;iic_init_8led();for(;) for(j=0; j10; j+) for(i=0; i8; i+) k = 9-(i+j)%10; iic_write_8led(0 x70, 0 x10+i, f_szDigitalk); /write to DpRam0DpRam7 of ZLG7290delay(10000); 键盘控制一个瞬时接触开关(按钮)放置在每一行与线一列的交叉点。键盘扫描阵列键盘电路设计原理读取键值的方法中断式键盘按下

11、时产生一个外部中断通知CPU,并由中断处理程序通过不同的地址读取数据线上的状态,判断哪个按键被按下。扫描法对键盘上的某一行发送低电平,其他为高电平,然后读取列值,若列值中有一位是低,表明该行与低电平对应列的键被按下。否则扫描下一行。反转法先将所有行扫描线输出低电平,读列值,若列值有一位是低,表明有键按下;接着所有列扫描线输出低电平,再读行值。根据读到的值组合就可以查表得到键码。IIC读取键值ZLG7290连接键盘由ZLG7290实现键盘按键的检测,并保存在其中的键值寄存器(0X01)中S3C2410通过IIC接口从ZLG7290取得按键数据键盘中断信号,IICSDA IICSCL INT GP

12、IO引脚须功能设置ZLG7290 (slave address =70H )键值寄存器(Key)地址01H,复位值00H。Key 表示被压按键的键值。当Key=0 时,表示没有键被压按连击次数计数器(RepeatCnt)地址02H,复位值00H 。0表示单击键; 大于0 表示键的连击次数。功能键寄存器(FunctionKey)地址03H,复位值0FFH。FunctionKey 对应位的值=0 表示对应功能键被压按。命令缓冲区(CmdBuf0CmdBuf1)地址07H08H,复位值00H00H。用于传输指令。闪烁控制寄存器(FlashOnOff)地址0CH,高4 位表示闪烁时亮的时间,低4 位表示闪烁时灭的时间扫描位数寄存器(ScanNum)地址0DH,复位值7。用于控制最大的扫描显示位数显示缓存寄存器(DpRam0DpRam7)地址10H17H,复位值00H00H。缓存中位置1表示该像

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论