美文网首页
2018-02-13@单片机

2018-02-13@单片机

作者: ermaoHa | 来源:发表于2018-02-13 19:12 被阅读0次

定时器知识点

由于注释不知道怎么了,复制代码有问题,所以还是截图了,代码加解释,加油
郭天祥10天学会单片机系列

#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula =P2^6;
sbit wela=P2^7;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x5e,
0x76,0x79,0x38,0x3f,0
};     
uchar temp,t0,t1,bai,shi,ge,flag,flag1;
uint shu;
void init();
void display(uchar,uchar,uchar,uchar,uchar,uchar);
void delay(uint z)
{
    uint t1,y;
    for (t1=z;t1>0;t1--)
        for(y=110;y>0;y--);
}
void main()
{
    init();
    while(1)
    {
        if(flag!=1)
            display(7,6,5,bai,shi,ge);
        else
            display(16,17,18,18,19,20);
    }
}
void init()
{
    shu=432;
    temp=0xfe;
    P1=temp;
    TMOD=0x11;/*定时器0工作,工作方式为3仅有T0可以

                定时器/计数器工作方式寄存器
                TMOD特殊功能寄存器,不可以位寻址,89H复位即清零
                定时器1            定时器0
                GATA C/T非 M1 M0   同定时器1
                GATA
                原理图......即可
                GATA=0;仅有TCON寄存器TRX来控制
                GATA=1;有TCON TRX与外部中断INT0 INT1
                C/T非模式选择位
                M1M0方式选择位
                M1  M0
                0   0   方式0,13位定时器/计数器
                0   1       1,16
                1   1       2,8位初值自动重装,8位定时器/计数器
                1   1       3,仅T0分成8位计数器 T1停止计数

                定时器控制TCON寄存器
                特殊功能寄存器,88H-8FH可位寻址                  
                复位即清零
                TF1 TR1 TF0 TR0 用于定时器和计数器,
                IE1 IT1 IE0 IT0用于外部中断
                TF1:溢出标志;利用定时器中断不需要操作;
                    用查询需要软件清零
                TR1:GATE=1,INT1=1 TR1=1开启定时器1
                IE1:外部中断请求标志
                    IT1=0;电平触发方式INT1为低电平时置1否则IE1清零
                    IT1=0;跳变沿沿触发方式从高到底负跳变有效
                
                定时器初值问题
                时钟周期位12MHZ要计满2^16-1个数,溢出一次需要65536微妙
                约等于65.5ms,50ms,就是累加5000次就溢出,则1s即是20个
                50ms,65536-50000   /256 TH0 %TH0*/
void timer0()interrupt 1
{
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    T0++;
    if(flag!=1)
    {
        if(t0==10)
        {
            t0=1;
            temp=_crol_(temp,1);
            P1=temp;
        }
    }
    else
    {
        if(t0%4==0)
            P1=~P1;
        if(t0==60)
        {
            TR0=0;
            p1=0XFF;
            flag1=1;
        }
    }
}

void timer1()interrupt 3
{
    TH1=(65536-50000)/256;
    TL0=(65536-50000)%256;
    t1++;
    if(t1==2)
    {
        t1=0;
        shu--;
        bai=shu%100;
        shi=shu%100/10;
        ge=shu%10;
        if(shu==398)
        {
            TR0=0;
            TH0=(65536-50000);
            TL0=(65536-50000);
            TR0=1;
            flag=1;
            t0=0;
            P1=0xff;
            TR1=0;
        }
    }
}


}

相关文章

  • 2018-02-13@单片机

    定时器知识点 由于注释不知道怎么了,复制代码有问题,所以还是截图了,代码加解释,加油郭天祥10天学会单片机系列

  • 2018-02-13@单片机

    按键程序 文天祥10天学会单片机系列

  • 单片机学习开篇

    一、单片机简介 1.1 单片机的定义 单片机(Signal Chip Microcontrollers)是...

  • 1.0 什么是51单片机?

    51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,...

  • 单片机小系统介绍

    什么是单片机小系统? 单片机小系统,或者称为小应用系统,是指用少的元件组成的单片机可以工作的系统。 单片机小系统的...

  • Mac下单片机开发环境的搭建

    先来简单介绍一下51单片机: 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖...

  • 单片机串行口通信原理

    单片机通信是指单片机与单片机之间、单片机与计算机之间的通信。 通信可以分成两种方式:并行通信方式和串行通信方式。 ...

  • 实验二: 独立按键移植小板实验

    实验器材 1:共阴单片机(大板)和共阳单片机(小板) 2:电脑、keil软件、烧录软件。 一、单片机的使用: 使用...

  • 51单片机基本结构

    姓名:陈婧娴 学号:19021211245 【嵌牛导读】:51单片机是初学者常接触的单片机,本文着重介绍51单片机...

  • 2019-09-24单片机有很多种

    1. 51单片机发展史 1.1、51单片机由Intel公司设计诞生 (1)1971年,Intel推出4位单片机I...

网友评论

      本文标题:2018-02-13@单片机

      本文链接:https://www.haomeiwen.com/subject/iwxstftx.html