美文网首页
51单片机day1

51单片机day1

作者: 暖熊熊 | 来源:发表于2017-12-21 12:00 被阅读0次

用位操作和总线操作两种方法完成以下题目

1.熟练建立KEIL工程

2.点亮第一个发光管

总线操作
#include <reg52.h>
#include <intrins.h>
void main()
{
    P1=0xFE;    //让P1口的最低位为0
}
位操作
#include <reg52.h>
#include <intrins.h>
sbit led = P1^0;
void main()
{
    led=0;  //让led为0,第一个发光二极管亮
}

3.点亮最后一个发光管

总线操作
#include <reg52.h>
#include <intrins.h>
void main()
{
    P1=0x7F;    //让P1口的最高位为0
}
位操作
#include <reg52.h>
#include <intrins.h>
sbit led = P1^7;
void main()
{
    led=0;  //让led为0,最后一个发光二极管亮
}

4.点亮1、3、5、7

总线操作
#include <reg52.h>
#include <intrins.h>
void main()
{
    P1=0xAA;    //1010 1010
}
位操作
#include <reg52.h>
#include <intrins.h>
sbit led1 = P1^7;
void main()
{
    led=0;  //让led为0,最后一个发光二极管亮
}

5.点亮二、四、五、六

总线操作
#include <reg52.h>
#include <intrins.h>
void main()
{
    P1=0xC5;    //1100 0101
}
位操作
#include <reg52.h>
#include <intrins.h>
sbit led1 = P1^0;
sbit led3 = P1^2;
sbit led5 = P1^4;
sbit led7 = P1^6;
void main()
{
    led1=0; 
    led3=0; 
    led4=0; 
    led7=0; 
}

6.尝试让第一个发光管闪烁

总线操作
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
uint i,j;
void main()
{
    while(1){
        P1=0xFE;
        for(i=200;i>0;i--)
            for(j=110;j>0;j--);
        P1=0xFF;
        for(i=1000;i>0;i--)
            for(j=110;j>0;j--);
    }
}
位操作
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
sbit led1 = P1^0;
uint i,j;
void main()
{
    while(1){
        led1=0;
        for(i=1000;i>0;i--)
            for(j=110;j>0;j--);
        led1=1;
        for(i=1000;i>0;i--)
            for(j=110;j>0;j--);
    }
}

7.尝试设计出流水灯程序

电路图
总线操作
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char

void delayms(uint xms);

void main()
{
    uchar data1 = 0xFE;
    while(1)
    {
        data1 = _crol_(data1,1);
        P1=data1;
        
        delayms(1000);
    }
}

void delayms(uint xms)
{ 
    uint i,j;
    for(i=xms;i>0;i--)
            for(j=110;j>0;j--);
}
位操作
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int

sbit led0 = P1^0;
sbit led1 = P1^1;
sbit led2 = P1^2;
sbit led3 = P1^3;
sbit led4 = P1^4;
sbit led5 = P1^5;
sbit led6 = P1^6;
sbit led7 = P1^7;

void delayms(uint xms);

void main()
{
    while(1)
    {
        led7=1;
        led0=0;
        delayms(1000);
        led0=1; 
        led1=0;
        delayms(1000);
        led1=1; 
        led2=0;
        delayms(1000);
        led2=1; 
        led3=0;
        delayms(1000);
        led3=1; 
        led4=0;
        delayms(1000);
        led4=1; 
        led5=0;
        delayms(1000);
        led5=1; 
        led6=0;
        delayms(1000);
        led6=1; 
        led7=0;
        delayms(1000);
    }
}

void delayms(uint xms)
{ 
    uint i,j;
    for(i=xms;i>0;i--)
            for(j=110;j>0;j--);
}

相关文章

  • 向51单片机说再见!

    51单片机的辉煌过去 51单片机指MCS-51系列单片机,CICS指令集。由Intel公司开发,其结构增加了如乘(...

  • 51单片机常用波特率初值表(12M晶振)

    为什么51单片机的晶振一般使用11.0592? 用11.0592晶振的原因是51单片机的定时器导致的。用51单片机...

  • 51单片机基本结构

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

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

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

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

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

  • 51单片机day1

    用位操作和总线操作两种方法完成以下题目 1.熟练建立KEIL工程 2.点亮第一个发光管 总线操作 位操作 3.点亮...

  • 来自一个电子狂的学习之路

    一、51单片机生涯 前面介绍了那么多知识,终于可以畅谈我和单片机的故事了。我记得非常清晰,学习51单片机是从1...

  • 电子技能的提升

    一、51单片机生涯 前面介绍了那么多知识,终于可以畅谈我和单片机的故事了。 我记得非常清晰,学习51单片机是从15...

  • mac下进行 51单片机的开发

    前言 纪念下,今天51单片机在mac下运行成功,记录下过程。 过程 1、淘宝 51单片机开发版购买。 56块钱。...

  • 1.0 什么是51单片机?

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

网友评论

      本文标题:51单片机day1

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