登录  | 立即注册

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

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 点亮LED灯和定时器

[复制链接]
发表于 2022-1-20 21:50:35 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 单片机
学习安排: 定时器与数码管基础
开始时间: 2022-01-16
结束时间: 2022-01-20
#include<reg52.h>

sbit LED = P0^0;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

void main(1)
{
           ENLED = 0;
           ADDR3 = 1;
           ADDR2 = 1;
           ADDR1 = 1;
           ADDR0 = 0;
       
           while(1)
                 {
                 LED = 0;
                 for(i=0; i<30000; i++);
                 LED = 1;
                 for(i=0; i<30000; i++);
                 }
]

#include<reg52.h>

sbit ADDR0 = P0^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

unsigned char code LedChar[]={
           0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
     0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E,
     };

void main()
{
           unsigned char cnt = 0;
     unsigned char sec = 0;
       
     ENLED = 0;
     ADDR3 = 1;
     ADDR2 = 0;
     ADDR1 = 0;
     ADDR0 = 0;

     TMOD = 0x01;
           TH0 = 0xB8;
           TL0 = 0x00;
           TR0 = 1;
           while(1)
                 {
                           if(TF0 == 1)
                                 {
             TF0 = 0;       
             TH0 = 0xB8;
             TL0 = 0x00;
             cnt++;
                                           if(cnt >= 50);
             {
                 cnt = 0;
                 P0 = LedChar[sec];
                 sec++;
                 if(sec >= 16)
                                                           {
                                                                     sec = 0;
                 }
                                     }         
                                                 
                     }       
     }       
}                 

好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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