9秒倒计时

1、设计目的

9秒倒计时,计时结束灯闪烁,设置开始按键与重置按键

2、仿真电路

3、程序

#include<reg51.h>
#include<math.h>
sbit led=P1^0;
int t0_num=0;  //定义T0中断响应次数
int number_led=9;  //定义8段led显示数字
/****************************************
函数功能:8段共阳极led显示数字a                                —f     b                           | |g                                 —e     c                           | |d         h                   — .
*****************************************/
int led_8CA_number(int number)
{int led;int num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};  //8段共阳极led数字显示段码编码switch(number){case 0:led=num[0];break;case 1:led=num[1];break;case 2:led=num[2];break;case 3:led=num[3];break;case 4:led=num[4];break;case 5:led=num[5];break;case 6:led=num[6];break;case 7:led=num[7];break;case 8:led=num[8];break;case 9:led=num[9];break;default:led=0xff;break;}return led;
}
/****************************************
函数功能:定时器T0的初始值设置
*****************************************/
void t0_init_value(int t)
{TH0=((int) (pow(2,16)-t*pow(10,-3)*12*pow(10,6)/12))/256; TL0=((int) (pow(2,16)-t*pow(10,-3)*12*pow(10,6)/12))%256;  //设置定时器初值
}
/****************************************
函数功能:定时器T0的定时初始化
*****************************************/
void t0_init(int t)
{TMOD=0x01;  //设置T0工作于定时工作方式1t0_init_value(t);IE=0x00;    //禁止中断ET0=1;   //开启T0溢出中断EA=1;    //开启总中断
}
/****************************************
函数功能:外部中断0服务子程序,开始倒计时
*****************************************/
void start() interrupt 0
{TR0=1;
}
/****************************************
函数功能:外部中断1服务子程序,重置倒计时
*****************************************/
void stop() interrupt 3
{TR0=0;led=1;P2=0xff;number_led=9;TH0=15536/256; TL0=15536%256;  //设置定时器初值
}
/****************************************
函数功能:定时器T0的中断服务子程序,1s定时闪烁
*****************************************/
void second_1s() interrupt 1
{TH0=15536/256; TL0=15536%256;  //设置定时器初值if(t0_num==20){t0_num=0;P2=led_8CA_number(number_led);number_led--;if(number_led==-1){led=~led;number_led=0;}}elset0_num++;        //中断次数计数
}
/****************************************
函数功能:主函数
*****************************************/
void main()
{t0_init(50);   //调用定时初始化函数EX0=1;EX1=1;PX1=1;while(1);   //持续运行
}

设计(C语言)

51单片机实例8——9秒倒计时相关推荐

  1. 51单片机实验 LED半秒闪烁 定时器0方式2 中断实现

    51单片机实验 LED半秒闪烁 定时器0方式2 中断实现 实验目的: P1.0接一个发光管,实现亮半秒灭半秒, 要求使用定时器0工作方式2,中断实现. C语言代码: #include "at ...

  2. 单片机c语言99秒倒计时,51单片机99秒倒计时C语言源程序

    51单片机99秒倒计时C语言源程序 51单片机实现数码管99秒倒计时,其实很简单,就是使用定时器中断来实现.目的就是学习怎样用单片机实现倒计时,从而实现一些延时控制类的东西,99秒只是一个例子,你完全 ...

  3. 51单片机数码管交通灯倒计时c语言,51单片机数码管倒计时模拟交通灯汇编程序...

    /********************************************************************** 51单片机数码管倒计时模拟交通灯汇编程序 LED数码管为 ...

  4. 【51单片机实例】智能小车(一)--------小车的前进、后退和停止

    51智能小车系列 智能小车(二)-------- 小车的红外遥控调速 智能小车(三)-------- 小车的红外循迹 文章目录 前言 一.硬件选择 1.1 小车底盘 1.2 电机 1.3 51单片机最 ...

  5. 单片机课堂思考题-2000秒倒计时?

    99秒倒计时,改为2000(6666)秒倒计时. #include<8052.h> #define LSC P1_7 //特殊功能寄存器的位定义, #define LSB P1_6 //3 ...

  6. 51单片机实例1——用单片机控制一个灯亮

    用单片机控制一个灯亮 1.设计目的 用单片机I/O口控制一个灯亮 2.仿真电路 3.程序设计(C语言) #include<reg51.h> //包含51单片机寄存器定义的头文件sbit l ...

  7. 51单片机实例5——基于单片机的花样彩灯

    基于单片机的花样彩灯 1.设计目的 (1)4种样式持续循环 (2)花样1:从上到下依次点亮8位led (3)花样2:从下到上依次熄灭8位led (4)花样3:从两边向中间依次点亮8位led (5)花样 ...

  8. 51单片机实例4——使用P3口实现8位LED依次点亮与熄灭

    使用P3口实现8位LED依次点亮与熄灭 1.设计目的 使用P3口实现8位LED依次点亮与熄灭 2.仿真电路 3.程序设计(C语言) #include<reg51.h> //包含单片机寄存器 ...

  9. 51单片机实例3——使用P3口依次点亮8位LED

    使用P3口依次点亮8位LED 1.设计目的 使用P3口流水点亮8位LED 2.仿真电路 3.程序设计(C语言) #include<reg51.h> //包含单片机寄存器的头文件 /**** ...

最新文章

  1. R语言构建xgboost模型:使用xgboost构建泊松回归(poisson regression)模型
  2. APK Expansion Files / Obb 接入介绍
  3. objc swift 混编
  4. Avaddon勒索解密工具原理解析
  5. Redis 命令--Redis列表(List))
  6. 数据清洗最基础的10个问题,基本涵盖目前常见的数分场景!
  7. 阿里云发布OAMKubernetes标准实现与核心依赖库
  8. 电脑安装系统出错蓝屏报错为 STOP 0xc0000020 ,什么原因?
  9. php 数据导出到excel文件,PHP - 如何将数据动态导出到Excel文件(.xls)?
  10. verilog中的initial块、always块详细解释
  11. 排序 --- 6.2 Merge Two Sorted Lists || 6.3 Merge k Sorted Lists --- 图解
  12. 新疆大学ACM-ICPC程序设计竞赛五月月赛(同步赛)
  13. 94 - 绘制谢尔宾斯基三角形
  14. 设置Win7自动关机的两种方法
  15. 【H5】两种加密解密方法:
  16. linux mint安装搜狗输入法
  17. 如何用java语言编写小游戏?(贪吃蛇)
  18. 台式计算机的选购注意事项,笔记本电脑选购注意事项大全
  19. 软件工程期末概念复习
  20. 服务器怎么买,腾讯云服务器新手购买的流程方法步骤

热门文章

  1. 神经网络中“端到端”思想
  2. 根据Date类型出生年月日计算出年龄
  3. 【学习总结】企业信息化管理之数据管理发展与探索之路
  4. 导出CSV后,时间字段无法自动识别-0xEF,0xBB,0xBF
  5. 具有可视化的功能的一款开源软件Gource
  6. 大数据与云计算学习计划 (一) 云计算系统管理 3 Linux系统命令行基础 (概念与实操)
  7. 基于IPC$的横向移动
  8. 【Node.js】之项目准备和首页
  9. 科技英语翻译计算机化考试,《信息科技英语翻译》期末考试 A卷参考答案
  10. 学做安卓一键锁屏应用