#include#define uchar unsigned char

uchar miao,t0,flat,shiwei,gewei,;

sbit dula = p2^6;

sbit wela = p2^7;

uchar code table[] =

{ //0-9的编码

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f

};

void delay() //延时用于扫描

{

uchar x,y;

for(x = 1;x > 0;x--)

for(y = 100;y > 0;y--);

}

void display() //显示函数

{

uchar w = 0xc0;

uchar i;

for(i = 0;i < 2;i++) //由于数码管只有两位,所以只扫描两次

{

dula = 1; //先选通段锁存器;

p0 = table1[i]; //给段码送数据

dula = 0; //锁存住段码

delay(); //稍微延时一下

wela = 1; //选通位锁存器;

p0 = w;

wela = 0; //下降沿锁存住位码

delay();

w = _cror_(w,1); //位右移动一位

}

}

void init()

{

tmod = 0x01; //设置定时器0工作方式1

ea = 1; //开总中断

et0 = 1; //开定时器0中断

tr0 = 1; //开定时器0

th0 = (65536 - 50000)/256; //给两个寄存器装初值50ms;

tl0 = (65536 - 50000)%256;

}

void main()

{

init();

while(1)

{

if(flat != 1)

{

table1 [0] = table[gewei];

table1[1] = table[shiwei];

display();

}

else

{

table1[0] = table[0];

table1[1] = table[1];

diplay();

}

}

}

void timer0() interrupt 1 // 定时器0

{

th0 = (65536 - 50000)/256; //重新给两个寄存器装初值;

tl0 = (65536 - 50000)%256;

t0++;

if(t0 == 20) //当定时器到一秒的时候

{

t0 = 0;

miao--;

shiwei = miao / 10; //取出十位数

gewei = miao % 10; //取出个位数

if(miao == 0)

{

tr0 = 0;

shiwei = miao / 10; //取出十位数

gewei = miao % 10; //取出个位数

flat = 1;

}

}

//注意:由于你没有给出数码管的接法等,所以我自己假设的设计一个简单的电路来实现此功能。不一定能在你的实验板上显示出来。

定时器驱动数码管c语言程序,用c语言编写,实用定时器实现数码管15倒计时相关推荐

  1. c语言中fact函数怎么调用,C语言程序题: 1、编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现...

    点击查看C语言程序题: 1.编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现具体信息 答:int fac(int n) //非递归{int f=1; for(;n;) ...

  2. 数码管c语言程序如何控制,跪求,8255控制数码管,单片机c语言程序;

    跪求,8255控制数码管,单片机c语言程序: 答案:3  信息版本:手机版 解决时间 2021-04-29 04:56 已解决 2021-04-28 12:39 8255 PA口--数码管的段选,82 ...

  3. adc0809 c语言程序,单片机C语言程序设计:ADC0809数模转换与显示

    描述 本文分享ADC0809数模转换与显示的单片机C语言程序设计与电路图. ADC0809 数模转换与显示c语言程序 /*名称:ADC0809数模转换与显示 说明:ADC0809采样通道3输入的 模拟 ...

  4. 好听的歌曲单片机c语言程序,单片机C语言程序举例(三)

    原标题:单片机C语言程序举例(三) 14.音乐播放 //此程序在硬件上调试通过 //本程序的晶振采用11.0592M #include sbit speaker=P1^2; unsigned char ...

  5. 步进电机循环脉冲c语言程序,基于C语言的步进电机调速.doc

    课 程 设 计 (论文) 题目 基于C语言的步进电机调速 目 录 0. 前言3 1.基本理论4 2. 方案设计4 2.1 步进电机5 2.2 8255芯片5 3. 硬件电路的工作原理5 3.1 步进电 ...

  6. 最初编写的c语言程序称为,C语言程序设计复习参考答案

    <C语言程序设计复习参考答案>由会员分享,可在线阅读,更多相关<C语言程序设计复习参考答案(46页珍藏版)>请在人人文库网上搜索. 1.随堂练习12]1. 下面哪些标识符属于合 ...

  7. c语言 程序循环,C语言程序设计-循环例子

    <C语言程序设计-循环例子>由会员分享,可在线阅读,更多相关<C语言程序设计-循环例子(28页珍藏版)>请在人人文库网上搜索. 1.C 语言程序设计基础篇,第 7 章 简单程序 ...

  8. 简单说明c语言程序步骤,C语言的入门简介和三个简单的C语言程序详细说明

    学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好.Keil软件是目前最流行开发80C51系列单片机的软件,Keil提供了包括C编译器.宏汇编.连接器.库管理和一个功能强大的仿真调试器等在 ...

  9. c语言程序前言,C语言 程序代码编写规范前言

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 一个好的程序编写规范是编写高质量程序的保证.清晰.规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性 ...

  10. c语言程序基本设计,C语言程序的设计基本6.ppt

    C语言程序的设计基本6 第六章 本章要点 建立循环程序设计的基本概念和逻辑思维 掌握循环程序设计的方法 6.1 if-goto 语句循环 一般形式: goto 标号: 标号:语句 其中:标号用标识符表 ...

最新文章

  1. python2 安装faiss-gpu 报错 faiss/faiss/python/swigfaiss.i:241: Error: Unable to find ‘faiss/impl/platfo
  2. Flink中的状态与容错
  3. Algorithm之EM:Expectation Maximization简介、代码实现
  4. 【机器视觉】 dev_set_tool_geometry算子
  5. Windows 8.1下安装Mac OS X 10.8虚拟机
  6. 2020 华工 数据结构-平时作业_【激光】从上海工博会看华工激光的差异化路线...
  7. 如何测量程序运行时间?
  8. 《c语言从入门到精通》看书笔记——第5章 常用的数据输入输出函数
  9. JavaEE实战班第二天
  10. 小木棍(信息学奥赛一本通-T1442)
  11. Linux下Socket客户端服务器通信
  12. 高考改变命运,来自一个湖南贫困村的真实样本
  13. 三农数据(1996-2020)一:农村综合、乡村人口、文化程度、农村机械等
  14. 用java实现DES解密
  15. php计算1000000以内的质数,1000000以内质数表
  16. RAW WAR WAW 数据相关性
  17. 16、可靠数据传输(rdt)的原理
  18. 在处理时有错误发生:google-chrome-stable/
  19. 巧用千寻位置GNSS软件|点测量采集技巧
  20. Java环境变量配置详解

热门文章

  1. Python 最强编辑器PyCharm详细使用指南!
  2. Logistic Regression逻辑回归的简单解释
  3. C#中的套接字编程(一) --转
  4. 深度学习《再探AE和VAE的区别》
  5. CV《物体识别与检测2 - 多目标识别基本算法》
  6. PRML-系列一之1.5.1~1.5.3
  7. python 配置文件类库_将自定义python模块增加到类库搜索路径下面
  8. python3.7.3安装教程和配置idle_python 3.7.0 安装配置方法图文教程
  9. 《Deep Learning》—— 数学基础
  10. 信号处理:单边、双边频谱间的相互转换(转)