登录  | 立即注册

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

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 单片机和c语言

[复制链接]
发表于 2022-1-16 19:29:37 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 单片机和c语言
学习安排: 14学习c语言,15,16学习单片机
开始时间: 2022-01-14
结束时间: 2022-01-16
单片机学习
实现控制小灯的亮灭
#include<reg52.h>
sbit D1=P0^0;
sbit A2=P2^2;
sbit A1=P2^1;
sbit A0=P2^0;
sbit ENLED=P1^1;
void main()
{
  unsigned long int i;
        A2=1;
        A1=1;
        A0=0;
        ENLED=0;
        while(1)
        {
          i=50000;
                D1=0;
                while(i--);
                i=50000;
                D1=1;
                while(i--);
        }
}

将while(1)后面进行更改,改为
while(1)
{
    D1=0;
    for(i=0;i<50000;i++);
    D1=1;
    for(i=0;i<50000;i++);
}
如果将D1=P0^0;进行更改或者添加,可以控制多个小灯的亮灭。

实现小灯的循环
(正着循环)
#include<reg52.h>
sbit A0=P2^0;
sbit A1=P2^1;
sbit A2=P2^2;
sbit ENLED=P1^1;
void main()
{
        unsigned long int i;
        unsigned char cnt;
        A2=1;
        A1=1;
        A0=0;
        ENLED=0;
        while(1)
        {
                P0=~(0x01<<cnt);
                for(i=0;i<100000;i++);
                cnt++;
                if(cnt>=8)
                {
                cnt=0;
                }
        }
}

将P0=~(0x01<<cnt);改为P0=~(0x80>>cnt);可以实现小灯的反着循环


c语言学习
1.了解并分析了i++和++i在式子中的不同
2.能够实现ASCII表的运用
#include<stdio.h>
void main()
{
    char c;
    printf("input a character:");
    scanf("%s",&c);
    if(c<32)
    printf("A\n");
    else if(c>='0'&&c<='9')
    printf("B\n");
    else if(c>='A'&&c<='Z')
    printf("C\n");
    else if(c>='a'&&c<='z')
    printf("D\n");
    else printf("E\n");
}

3.if...else if...else语句的用法
   if(1)
{
    当条件1正确时执行的语句1
}
   else if(2)
{
     当条件2正确时执行的语句2
}
   else
{
     当条件1和条件2均不正确时执行的语句3
}
还有一种和它用法相同但形式不同的
   if(1)
   语句1 ;
   else if(2)
   语句2 ;
   else   语句3 ;



70552AEE55C4D25989BEDBF0D51B8C4B.jpg
C9914CF4DDD72BE6B406D58D7878B719.jpg
37A08CC960A619077D30741BB7494B6B.jpg
好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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