2022年芯片SDA实例程序X位LED数码管驱动 .pdf

上传人:H****o 文档编号:39747324 上传时间:2022-09-07 格式:PDF 页数:9 大小:884.78KB
返回 下载 相关 举报
2022年芯片SDA实例程序X位LED数码管驱动 .pdf_第1页
第1页 / 共9页
2022年芯片SDA实例程序X位LED数码管驱动 .pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年芯片SDA实例程序X位LED数码管驱动 .pdf》由会员分享,可在线阅读,更多相关《2022年芯片SDA实例程序X位LED数码管驱动 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、LED 数码管驱动专用 IC SD 7218A 特别功能:内置两线式串行接口、I2C 接口,但没有字节地址,所以不能像 AT24C04那样使用。8 8 数码管接口、64 键键盘接口、100Bytes 静态 RAM、最多可级联 8 片概述名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 9 页 -SD 7218A 是一片具有两线式串行接口的、可同时驱动 8 位共阴式数码管(或 64 只独立 LED)、100Bytes 静态 RAM 的智能显示驱动芯片,该芯片同时还可连接多达 64 键的键盘矩阵。SD 7218A 内部含有译码器,可直接接受 16 进制码,SD 7218A 还具有多种控

2、制指令,如消隐、闪烁、左移、右移、段寻址等。SD 7218A 内部含有 100Bytes 静态 RAM,可通过串行方式读写,用于存储通用数据。SD 7218A 可通过两线串行接口最多可级联 8 片,此时 LED 数为64 8。SD 7218A 有 DIP28 和 SOIC28 两种封装形式。管脚设置?、管脚功能管脚号标号功能特征1,3,8 NC 不用接2 VCC 正电源4 VSS 负电源5,24 CLK 与 CPU 接口的串行时钟线N 沟道开路输入,需要对 VCC 外加上拉电阻6,7 DIG6,DIG7 LED 数码管的位码驱动脚 6、7/键盘列线 7、8 9 KEY 与 CPU 接口的键盘中

3、断信号线CMOS 输出 ,,低电平有效(即当检测到按键时,KEY 引脚变为低电平,并一直保持到按键结束。)名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 9 页 -10,11,12,13,14,15,16,17 SEGA,SEGB,SEGC,SEGD,SEGE,SEGF,SEGG,DP LED 数码管的八段码(即 a,、b、c、d、e、f、g、dp)驱动脚 /键盘行线 1、2、3、4、5、6、7、8 18 DIG0/A0 LED 数码管的位码驱动脚 0/片选地址脚A0/键盘列线 1 此脚接 560K 电阻至 VSS 时,A0=0;此脚不接电阻时 A0=1 19 DIG1/A1 L

4、ED 数码管的位码驱动脚 0/片选地址脚A1/键盘列线 2 此脚接 560K 电阻至 VSS 时,A1=0;此脚不接电阻时 A1=1 20 DIG2/A2 LED 数码管的位码驱动脚 0/片选地址脚A2/键盘列线 3 此脚接 560K 电阻至 VSS 时,A2=0;此脚接 560K 电阻至 VCC 时A2=1.(一定要加 560K 的上拉或下拉电阻)21,22,23 DIG3,DIG4,DIG5 LED 数码管的位码驱动脚 3、4、5/键盘列线 4、5、6 25 DATA 与 CPU 接口的串行数据线N 沟道开路输出 /输入,需要对VCC 外加上拉电阻26 OSCO 晶体振荡输出脚27 OSC

5、I 晶体振荡输入脚28 RST 复位脚低电平有效(一般接 VCC)*;奥宇星单片机工作室;http:/;Copyright 2009 aoyux McuStudio 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 9 页 -;All rights Reserved ;作者:奥宇星 QQ:393193589;AT89S52 晶振频率为 11.0592MHz 指令周期:1.085069us 功能说明:SD7218A 循环左移显示实例程序;*/#include reg52.h#include intrins.h#define uchar unsigned char#define uin

6、t unsigned int sbit sda=P11;/;模拟 I2C 数据传送位sbit scl=P12;/;模拟 I2C 时钟控制状态标志void delay1(uint z)/延时为 1ms uchar x,x1;for(;z0;z-)for(x=0;x114;x+)for(x1=0;x10)i-;名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 9 页 -void star()/开始 sda=1;delay();/5us延时scl=1;delay();/5us延时sda=0;delay();/5us延时 void stop()/停止 sda=0;delay();/5us延

7、时scl=1;delay();/5us延时sda=1;delay();/5us延时 void ack()/应答 uchar z=0;while(sda=1)&(z50)z+;/条件判断,sda=1,则没有应答。如果没有应答则延时:z50,z+;后返回scl=0;delay();/延时 /写一个数据函数/器件写地址 slave_write_address /字节地址 byte_address /待写入数据 data_data void write(uchar slave_write_address,uchar data_data)/写一个数据名师资料总结-精品资料欢迎下载-名师精心整理-第 5

8、页,共 9 页 -uchar temp,temp1,i,ii;star();/开始for(ii=0;ii2;ii+)/根据 24CXX 文档资料,和时序图,按顺序送:器件写地址,字节地址,数据 if(ii=0)temp=slave_write_address;/送 器件写地址temp1=slave_write_address;else if(ii=1)temp=data_data;/送 数据temp1=data_data;for(i=0;i8;i+)scl=0;delay();/延时temp=temp1;temp=temp&0 x80;/相 与 后,把不相关的位清零if(temp=0 x80)

9、/根据前面相 与 后,判断 temp 是否等于 0 x80,是则该位为 1 sda=1;else sda=0;delay();/延时scl=1;delay();/延时scl=0;delay();/延时temp1=temp11;/向左移出 1 位名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 9 页 -sda=1;delay();/延时scl=1;delay();/延时ack();stop();/停止 /读一个数据函数/器件写地址 slave_write_address /器件读地址 slave_read_address /字节地址 byte_address /读出的数据 data

10、_data read(uchar slave_write_address)/读一个数据 uchar temp,temp1,i,x,data_data;star();/开始temp=slave_write_address;/送 器件写地址temp1=slave_write_address;for(i=0;i8;i+)/开始读数据 scl=0;delay();/5us延时temp=temp1;temp=temp&0 x80;/相 与 后,把不相关的位清零if(temp=0 x80)/根据前面相 与 后,判断 temp 是否等于 0 x80,是则该位为 1 sda=1;else sda=0;名师资料

11、总结-精品资料欢迎下载-名师精心整理-第 7 页,共 9 页 -delay();/延时scl=1;delay();/延时scl=0;delay();/延时temp1=temp11;/向左移出 1 位 sda=1;delay();/延时scl=1;delay();/延时ack();/应答for(x=0;x8;x+)data_data=data_data1;/向左移入 1 位sda=1;delay();/延时scl=0;delay();/延时scl=1;delay();/延时if(sda=1)/判断数据线是否是高电平data_data|=0 x01;/把读到的数据或 0X01 /else /dat

12、a_data|=0 x00;ack();/应答stop();/停止return data_data;/返回读到的数据 void init()/0 x50 是器件写地址;0 xff 是待写入的数据或指令)while(1)名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 9 页 -/write(0 x50,0 x6a);/测试指令:/write(0 x50,0 x68);/复位(清除)指令:/write(0 x50,0 x61);/左移指令:/write(0 x50,0 x62);/右移指令:delay1(1000);write(0 x50,0 x63);/循环左移指令:/write(0 x50,0 x64);/循环右移指令:void main()uchar temp;init();/delay1(1000);/写与读的时间间隔应大于5ms,取决于器件 24C02 的响应速度/向器件读一个数据temp=read(0 x51);/向器件读一个数据:(0 xa0 是器件写地址;读出数据)while(1);/跳转,相当于汇编指令 JUMP$名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 9 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁