TM1640是驱动数码管的专用集成电路,可以直接驱动16位共阴数码管。
/*********************
*本程序直接驱动16位共阴数码管,各数码管分别驱动0、1、2、……E、F。
*/

include

define clk GPIO0 //时钟信

define dio GPIO1 //数据/地址数据

define uchar unsigned char

define uint unsigned int

                                                                                                                                                            //共阴极数码管

const uchar SEGData[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7C,0x39,0x5E,0x79,0x71,0x00};//1-9-F-不输出
//uchar weidata[4];//位变量
//uchar timecnt,keyzh,dpFlag = 0; //控制第二个数码管的dp的显示
//char time, sec;
void init(void);
void Delay_us(uint); //nus 延时
void tm1640_start(void);//1640开始
void tm1640_stop(void); //1640停止
void tm1640_wrbyte(uchar); //写一个字节
void tm1640_display(void); //写显示寄存器 并开显示

///=============================================
void main(void)
{

init(); //初始化

while(1)
{
tm1640_display(); //写寄存器并开显示
}
}

///=======================================
void Delay_us(uint i) //nus 延时
{
uchar x;
for(;i>0;i–)
for(x=0;x<3;x++) asm(“NOP”);
}
///======================================
void tm1640_start(void) //1640开始
{
clk=1;
dio=1;
Delay_us(2);
dio = 0;
}

void tm1640_stop(void) //1640停止
{
clk = 0;
Delay_us(2);
dio = 0;
Delay_us(2);
clk = 1;
Delay_us(2);
dio = 1;
}
//=========================
void tm1640_wrbyte(uchar oneByte) //写一个字节
{
uchar i;
for(i=0;i<8;i++)
{
clk = 0;
Delay_us(2);
if(oneByte&0x01) dio = 1; //低位在前
else dio = 0;
Delay_us(3);
oneByte=oneByte>>1;
clk=1;
Delay_us(3);
}
}
//======================
void tm1640_display(void) //写显示寄存器 并开显示
{
uchar i;
tm1640_start();
tm1640_wrbyte(0x40);// 40H 地址自动加 1 模式,44H 固定地址模式,本程序采用自加 1 模式
tm1640_stop();
tm1640_start();
tm1640_wrbyte(0xc0);//设置首地址
for(i=0;i<16;i++)//地址自加,不必每次都写地址。
{
tm1640_wrbyte(SEGData[i]); //送数据
}
tm1640_stop();
tm1640_start();
tm1640_wrbyte(0x8a);//开显示 ,亮度:14/16
tm1640_stop();
}
///================================================
void init(void) //初始化程序
{
OPTION=0x80; //禁止弱上拉
WPU= 0x00; //关闭弱上拉
INTCON = 0X00; //开总中断和T1中断
TRISIO=0x08; //IO 口做输出
//IOCB = 0X00; //电平变化触发中断;全关
CMCON=0x07; // 设置全部为普通数字IO口 关闭所有比较器
GPIO=0x08; //端口0 输出低电平
}

TM1640与PIC12F629的结合相关推荐

  1. 基于Stm32f103针对TM1640驱动数码管

    最近,在学习stm32f103芯片的使用,发现单片机很多东西,必须亲力亲为去写一遍才会明白里面的坑!第一次写,有问题请大佬指出. 之前学习了一下TM1640芯片,一直没有时间在开发板上实践,直到最近才 ...

  2. [STM32F1]基于STM32F103实现TM1640点亮16位共阴极数码管,显示“0~F”数字

    本节我们目标是实现TM1640点亮16位共阴极数码管,显示"0~F"数字: 1. 硬件设计 GPIO初始化配置 SCL(PB6)  SDA(PB7):开漏输出,通过IO模拟驱动TM ...

  3. GD32F427开发板试用 驱动TM1640显示屏

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:swag 一.硬件介绍 TM1640 是一种LED(发光二极管显示器)驱动控制专用电路, ...

  4. STC单片机驱动TM1640

    硬件连接SCLK  DIN 是连到单片机的ISP吗?  写了驱动代码   数码管不亮是什么原因 求大神讲解

  5. Arduino基本人机接口:点阵LED、汉字库、键盘

    简 介: 基于Arduino UNO对于常见到的矩阵按键,LED电专显示以及汉字库的读写进行了测试,并且给出了相应的实验程序.这为后面制作完整的电路板的原理设计以及相应的测试打下了基础. 关键词: A ...

  6. IO口多路查理复用:三个单片机IO口控制六个LED

    简 介: 本文介绍了单片机的IO控制 LED 中的复用技术,特别查理复用基本原理和特点进行了介绍.使用一款IS31FL3731可以构成16×9的PWM亮度可控的 LED 矩阵. 关键词: 查理复用,C ...

  7. php 设置window计划任务,windows下设置计划任务自动执行PHP脚本

    背景: 环境部署在linux下或者windows中,可以使用windows的自动任务设置自动执行脚本执行一些日常运维任务 图形界面设置相对比较简单 准备工作: wamp(集成的PHP执行环境) 已经写 ...

  8. ioca0中断 pic单片机_单片机入门知识-PIC为例程序.ppt

    PIC单片机原理及应用 内容提要 单片机概述 PIC单片机的特色 PIC单片机的程序设计 单片机概述 单片机正名为:微控制器 --MCU ,MicroController Unit 单片机概述 何为单 ...

  9. 51单片机控制动态数码管的显示

    动态数码管的显示 学会设计静态数码管的显示后,我们可以在各个静态数码管显示之间加入延时函数,写进while(1)循环内,这样就能实现动态数码管的显示.根据以前的内容,我们先生成延时函数,然后写一个简单 ...

  10. proteus各个版本下载

    Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司).它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器 ...

最新文章

  1. FFmpeg中libavutil库简介及测试代码
  2. 以local模式使用Xshell+Xmanager远程监控jvisualvm
  3. namespace-C#命名空间
  4. “深度学习已死,可微编程万岁!”LeCun老师为何又语出惊人?
  5. linux操作系统使用论文_Linux学习2 使用VirtualBox安装国产深度操作系统
  6. 为Autodesk Infrastructure Map Server(AIMS) Mobile Viewer创建自定义控件
  7. 2019最新java自学路线
  8. matlab逻辑回归两次成绩录取查询,【多元逻辑回归分类】基于matlab的MNIST实践
  9. Python类和包的介绍
  10. 第1关:学会使用 Gensim
  11. 照片太大了怎么改小kb?图片压缩在线处理方法
  12. 王慧文清华产品课(一)
  13. windows下缩短cmd路径的方式
  14. LeetCode 118 Pascal's Triangle(帕斯卡三角形)(vector)
  15. Oracle命令行工具基本操作及SQL 命令
  16. 《火柴男人》:一切都是骗局但我要…
  17. java调用bat脚本实现pppoe拨号_pppoe客户端自动拨号原理及实现
  18. BIM IFC模型在线查看工具
  19. win10系统护眼色,word2016页面显示仍是白色
  20. js混淆加密,通过混淆Js代码让别人(很难)无法还原

热门文章

  1. 最近在用的一个跟单软件
  2. STM32F427V系列的触摸屏驱动
  3. 华为网络篇 传输文件-08
  4. 视频解码测试软件,视频解码:视频解码性能测试_平板电脑评测-中关村在线
  5. 马哥linux第30期,马哥Linux第三周
  6. 单点登录原理与代码实现
  7. 用usbserver实现加密狗共享
  8. 持久化配置管理 diamond 使用简介
  9. SQL基础教程学习第一站:PostgreSQL下载安装以及如何创建并登录数据库
  10. matlab电气应用,基于MATLAB/Simulink的高压直流输电系统的仿真研究.pdf