定时器与数码管

---恢复内容开始---

 1 #include <reg52.h>
 2 #define uchar unsigned char
 3 int num=0,i=0;
 4 uchar duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
 5     void delay()//定义延时函数方便调用
 6     {
 7        int a=50000;
 8        while(a--);
 9     }
10     void intertime() //定时器启动初始化
11     {
12             ET0=1;            //打开定时器0分开关
13             EA=1;                   // 打开总开关
14             TMOD=0x01;               //工作方式1
15         TH0=(65535-50000)/256;  //赋值即从什么数值开始定时
16             TL0=(65535-50000)%256;  //将一万的整数赋值给高八位  余数的部分赋值给第八位
17             TR0=1;                  //达到溢出值 就会触发中断 跳到中断服务函数执行
18     }
19 void main()
20 {
21     intertime();//定时器初始化
22     while(1);   //让程序不执行下去  响应定时器初始化 执行中断
23 }
24 void cgh() interrupt 1
25 {
26       TH0=(65535-50000)/256;//工作方式1要手动装载初值
27           TL0=(65535-50000)%256;
28       num++;   //每50ms  num 就自动加一
29
30      if(num==10)//如果num达到10就是  每0.5s就会执行if后的内容
31      {
32
33          num=0;//清0 方便下一次从0开始计算到10
34           i++;
35           if(i==10) //让数码管显示0到9
36          i=0;
37         P2=~duan[i];//往P2口送数据
38         delay();
39       }
40 }

---恢复内容结束---

时间: 2024-10-01 04:21:54

定时器与数码管的相关文章

2017.11.20 定时器与数码管

&& : 逻辑与,都为真则真 ||: 逻辑或,一个为真则为真 !:逻辑非, &:按位与 |:按位或 ~:按位取反 ^:按位异或,相异为1.例如A=0b11001100,B=0b11110000,F=A^B=0b00111100 时钟周期:晶振就是时钟源,就是晶振分之一. 机器周期:完成一个操作的最短时间.一个机器周期是12个时钟周期. 定时器:打开定时器后,定时器"存储寄存器"的值经过一个机器周期自动加1,也就是说,机器周期是定时器的计数周期. 定时器存储寄存器

10.1 单片机数字秒表程序

不同数据类型间的相互转换 在 C 语言中,不同数据类型之间是可以混合运算的.当表达式中的数据类型不一致时,首先转换为同一种类型,然后再进行计算.C 语言有两种方法实现类型转换,一是自动类型转换,另外一种是强制类型转换.这块内容是比较繁杂的,因此我们根据常用的编程应用来讲部分相关内容. 当不同数据类型之间混合运算的时候,不同类型的数据首先会转换为同一类型,转换的主要原则是:短字节的数据向长字节数据转换.比如: unsigned char a; unsigned int b; unsigned in

通过红外实现温度的无线测量与传输

为保持网友一定的独立性,作者挂出绝大部分 源码(并非全部)以供参考,拒绝不动脑筋的伸手党! 1.介绍 本系统由两部分组成: 温度采集端 温度显示端 原理:通过温度传感器采集温度显示在液晶屏或者数码管上,并将温度通过红外发送到红外接收头,然后解调解码数据,将温度显示出来,实现温度的无线测量 2.控制器的选择 方案一:采用MSP430来处理 Msp430是一种超低功耗的混合信号处理器,采用精简指令集,单个始终走起就可以执行一条指令,速度比51快得多.因此用430来处理比较器返回来的数据是比较快捷的,

干货干货,230个仿真原理图和带源码经典案例学习

今天来给大家共享资料来了,想学Proteus的小伙伴有福了,不用找得焦头烂额的了,这里有proteus的大部分实例,而且附带源代码呢,想要更多proteus资料的小伙伴可以加群:813238832,各种资源共享,技术交流,问题解答,都不是问题,不存在脑壳疼的........ Proteus简介:Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件,支持电路图设计.PCB布线和电路仿真.Proteus支持单片机应用系统的仿真和调试,使软硬件设计在制作PCB板

51零基础学单片机语言开发·经典必学,有视频、课件、源码

51零基础学单片机语言开发·经典必学,有视频.课件.源码51零基础学单片机语言开发·经典必学,包括每一节的视频.课件和源码!内容很大,一共是3.86G,赶紧顶我的帖子吧!从零基础到大牛,你值得拥有,具体看图片,希望能帮到大家,把自己所学的东西分享出来,你们可以到闯客网技术论坛下载,已经上传到上面了,上面关于单片机的资料非常多,同时也有单片机交流群呢:6133777058,是个不错的论坛下载链接:https://bbs.usoftchina.com/thread-199194-1-6.html 视

proteus学习教程大全

proteus学习资源大全,热衷于分享资料,资源共享,这个proteus也是收集了很久的资料,一直以来学习嵌入式就很枯燥,幸好有一起能够学习和资源共享的小伙伴共同交流技术上的痛点和难点,同样也希望更多人加入:787059199,因为我的很多资源都是在闯客网技术论坛上找到的,同时包括这个proteus大全,给你们安利了下载链接:https://bbs.usoftchina.com/thread-211758-1-1.html 目录第1章 8051单片机C语言程序设计概述 1.1 8051单片机引脚

Proteus仿真+C8051源码(100例)+红外线遥控仿真

从百度网盘下载,提取码:di7r 目录结构 ├─Proteus仿真+C8051源码(100例) │ │ 源码解释.doc │ │ │ └─基于8051+Proteus仿真 │ │ 案例压缩包相关说明.txt │ │ │ ├─第 01 篇 基础部分 │ │ ├─01 闪烁的LED │ │ │ │ Last Loaded 闪烁的LED.DBK │ │ │ │ 闪烁的LED.DSN │ │ │ │ 闪烁的LED.PWI │ │ │ │ │ │ │ ├─code │ │ │ │ led │ │ │ │

AVR单片机教程——蜂鸣器

引子 定时/计数器(简称定时器)是单片机编程中至关重要的一部分,再简单的单片机也会带有定时器. 也许你会觉得我们已经在delay函数中接触过定时器了,然而并不是,它只是软件地通过"浪费时间"来实现延时.我们接触定时器在数码管中,segment_auto函数可以自动完成动态扫描,好像在main函数背后又开了一个线程,两者并行执行一样.这就用到了定时器中断. 中断是一种必要的程序流程控制方法,但这两讲我们先聚焦于利用定时器来输出波形. 本讲中,我们用定时器来输出一定频率的方波,让蜂鸣器发出

定时器0的方式1 定时器1的方式1 数码管和led

#include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit dula=P2^6; sbit wela=P2^7; sbit led1=P1^0; uchar code table[]= { 0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71 }; void delayms(uint); vo