登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 学习啊

[复制链接]
发表于 2018-2-7 22:30:54 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 51单片机
学习安排: 从第一章到第十五章
开始时间: 2018-02-01
结束时间:

  懒到要死,一天写一点,发现很久才写完

第五章  定时器与数码管基础

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

结构

定时器的结构的核心是一个16位的加1计数器,有两个8位计数器组成,定时器T0由TH0和TL0组成,定时器T1由TH1和TL1组成.TMOD和TCON是定时器的控制寄存器。

寄存器TMOD主要用于制定各定时器的功能和工作模式;

寄存器TCON主要用于控制定时器的启动和停止计数,同时设置定时器的状态;

(当单片机进行系统系统复位时,寄存器TMOD和TCON的所有控制位都清零)

功能

定时:单片机在每个机器周期都将计数器的值加1,每个机器周期等于12个振荡器周期,我们的板子是32MHZ。
任务目标:数码管每隔1s计数一次,计到9
#include"STC12C5A60S2.H"


sbit ENLED=P1^1;
unsigned char code LEDchar[] = {
0xC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,
0X80,0X90
  };      //定义0-9  //

void main()      //声明主函数//
{
unsigned char cnt=0;
unsigned char sec=0;
P20=1;
P21=0;
P22=1;
ENLED=0;         //LEDS5输出低电平//


  TMOD = 0X01;
  TH0 = 0X2F;
  TL0 = 0XAA;
  TR0 = 1;         //  初值  //

while(1)
  {
               if(TF0 == 1)
                {
                        TF0 = 0;
                        TH0 = 0x2F;
                        TL0 = 0xAA;
                        cnt++;
                        if(cnt >= 50)// 达到一秒 //
                        {
                                cnt = 0;
                                P0 = LEDchar[sec];
                                
                                if(sec >= 9)//数码管从0到9//
                                {
                                        sec = 0;
                                 }
                                else
                                {
                                        sec++;
                                 }
                         }

                  }
         }

  }












好懒~~不想说~~~
发表于 2018-2-8 09:10:22 | 显示全部楼层
0到9的倒计时
好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表