IIC驱动程序

iic.c        //管脚需要自行定义

void start(void)        //产生IIC起始信号
{
    IIC_SCL =1;
    delay_us(2);        
    IIC_SDA =1;
    delay_us(2);        
    IIC_SDA =0;
}

void stop(void)            //停止信号
{
  IIC_SCL =0;
  delay_us(2);
  IIC_SDA =0;
  delay_us(2);
  IIC_SCL =1;
  delay_us(2);
  IIC_SDA =1;

}

void Write_Byte(u8 dat)    //写字节
{
    u16 i = 0;            
  for(i = 0; i<8;i++)
  {
         IIC_SCL = 0;
         delay_us(2);
         if(dat&0x01)        //先传低位再传高位
         {
             IIC_SDA=1;
             delay_us(3);
         }
         else
         {
             IIC_SDA=0;
             delay_us(3);
         }     
         dat>>=1;
         IIC_SCL = 1;
         delay_us(3);
  }

}

TM1640驱动点亮LED灯

TM1640.c

u8 DisBuf[16] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};

void Init_Display()    //显示初始化
{
    u8 i;
    
    start();
    Write_Byte(0x40);    //0x40 工作状态 地址自动增加
    stop();
    
    start();
    Write_Byte(0xC0);                        //地址模式
    for(i=0;i<16;i++)
    {
        Write_Byte(DisBuf[i]);
    }
    stop();

start();
    Write_Byte(0x8d);                        //亮度指令
    stop();
}

main函数

main.c

void main(void)
{
    IO_Init();
    Init_Display();
//    Updata_Display();
    while(1)
    {
        ;
    }

}

其他管脚需要根据自己的硬件自行定义

其他函数

void delay_us(u16 us)
{
    while(us--)
    {
        _nop_();        //需要头文件 #include "intrins.h"
    }
}

单片机 基于IIC通讯 驱动TM1640点亮LED灯相关推荐

  1. i.MX6ULL驱动开发 | 24 - 基于platform平台驱动模型点亮LED

    一.编写基本设备驱动模块 编写驱动模块源码: #include <linux/module.h> #include <linux/init.h>static int __ini ...

  2. 星星点灯(点亮LED灯)

    1.点亮LED灯 学习单片机的第一件事就是点亮LED灯,学习ARM开发,也不例外,先拿LED来开刀 我们如何开始呢?我们分为3步: 看原理图 ----- 确定引脚连线 看芯片手册 ----- 确定引脚 ...

  3. 第一节:C#工业控制编程基础--点亮LED灯实验

    第一节:C#工业控制编程基础–点亮LED灯实验 文章目录 第一节:C#工业控制编程基础--点亮LED灯实验 一.实验目的: C#入门基础学习. 二.实验内容: 用C#控制LED的亮灭. 三.实验步骤: ...

  4. 一灯大师,基于imx6ull点亮LED灯

    一.imx6ull GPIO原理 1. STM32 GPIO回顾 我们一般拿到一款全新的芯片,第一个要做的事情的就是驱动其 GPIO,控制其 GPIO 输出高低电平,我们学习 I.MX6U 也一样的, ...

  5. STC89C52单片机 点亮LED灯

    点亮LED灯 一.什么是LED LED全称为半导体发光二极管,采用半导体材料制成的,以直接将电能转化为光能,电号转换成光信号的发光器件:其特点是功耗低.高亮度.色彩艳丽.坑振动.寿命长(正常发光8-1 ...

  6. 51单片机点亮LED灯以及实现2盏LED灯的交替闪烁

    点亮LED灯,根据单片机原理图 将LED灯1和LED灯2介入单片机的口设为低电平即可 代码如下: #include "reg52.h" sbit led1= P3^7; void ...

  7. C51单片机之点亮LED灯

    文章目录 C51单片机之点亮LED灯 1. 了解普通发光二极管的参数,掌握限流电阻的计算方法. 2. 理解单片机最小系统,单片机外围电路,Flash,RAM 和 SFR 这些概念. 3. 了解 Kei ...

  8. 单片机第一个程序----点亮LED灯

    单片机第一个程序----点亮LED灯 准备: 安装Keil软件 软件官网 单片机实验板(某宝可以买到) 简单的C语言编程能力 单片机C语言教程 简单介绍下keil软件的使用方法: 第一步:新建工程,这 ...

  9. 单片机stm32LED流水灯C语言,STM32单片机入门 篇二:单片机编程:从点亮LED灯开始(二)...

    STM32单片机入门 篇二:单片机编程:从点亮LED灯开始(二) 2019-04-26 13:21:48 19点赞 73收藏 19评论 写在前面的话:本篇是承接上一篇文章,属于小白向. 没看过的朋友点 ...

  10. 单片机C语言-1-点亮LED灯

    单片机C语言-1-点亮LED灯 #include "stm32f10x.h" //引入头文件//高低电平 //低电平 GND 0V //高电平 VCC 单片机的VCC供电电压//I ...

最新文章

  1. 笔记-计算机网络基础-无线局域网标准IEEE802
  2. Mysql字符串截取 mysql将字符串字段转为数字排序或比大小
  3. ajax请求web服务返回json格式
  4. js 网页提示框 html文本框,页面版文本框智能提示JS代码
  5. 网络文件系统访问与ftp服务
  6. java 任务链模式,flink部署运行架构
  7. 应用商店打开服务器错误,教你应用商店出现错误的修复方法
  8. UVA489 刽子手的游戏 Hangman Judge
  9. 【股票】成交量VOL隐含的交易秘密
  10. 替代YY语音,自行搭建语音实时服务器
  11. 【OpenCV】将图片黑色背景变成透明背景
  12. 计算机专业学生社会实践,计算机专业学生社会实践报告
  13. 3G0众测靶场-0407 WriteUp
  14. RabbitMQ管理平台功能说明文档
  15. log4j:ERROR Either File or DatePattern options are not set for appender [E].
  16. 2016百度之星总结帖
  17. Unity-奥义技能背景变黑效果
  18. CV实战项目--人脸考勤
  19. 淘宝店铺商品发布API(新)接口,店铺上传接口代码对接教程
  20. VSCode取消references的方法记录

热门文章

  1. 分类变量logistic回归分析--1
  2. badboy使用手册
  3. dell保修(dell保修多久)
  4. linux下mysql命令大全_linux下mysql命令大全
  5. pdf 分形 张济忠_分形理论及其研究方法.pdf
  6. (一)人工智能、AI批量抠图、AI视频抠像、图片换背景、视频换背景、实时抠图、实时抠像、虚拟场景直播系统、虚拟旅游、人像去背景、图像去背景、视频背景消除
  7. 电商直播系统源码该如何突破?
  8. 录屏演示软件 ActivePresenter Pro v7.5.8 中文破解版
  9. HFSS----微带天线设计实例之模型建立
  10. Pyhton词云示例(移植-情人节专用版)