找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2174|回复: 0
打印 上一主题 下一主题
收起左侧

学习51单片机的第一步——加减乘除,简单二极管闪烁等

[复制链接]
跳转到指定楼层
楼主
一:基本运算(程序)
int a = 2,b = 5,c = 9;
void main()
{
        c=a+b;        //ab相加赋值给c:c=a+b,c=7
        c+=a;           //ca相加赋值给c:c=c+a,c=9
        c-=a;           //ca相减赋值给c:c=c-a,c=7
        c*=a;           //ca相乘赋值给c:c=c*a,c=14
        c/=a;           //c除以a赋值给c:c=c/a,c=7
        c%=a;           //除a取余赋值给c:c=c%a,c=1
}
二:指针的初步学习(程序)
int a=2,b=5,c=9;
int*p1;
int*p2;
int*p3;
void main()
{
        p1=&a;
        p2=&b;
        p3=&c;
        c=*p1+*p2;
        c+=*p1;
        c-=*p1;
        c*=*p1;
        c/=*p1;
        c%=*p1;
}
三:累加计算(程序)
int i=1,sum=0;                                           //定义
void main()                                                   //函数
{
        while(i<101)                                   //循环
        {
                sum=sum+i;                                   //计算,最后结果为5050
                i++;                                           //累加
        }

}
四:计算平均值(程序)
nt i,a[10];                           //定义变量i和数组a
void main()
{
  float result=0;                           //定义浮点数
  for(i=0;i<10;i++)                           //循环叠加
    {
           a[ i]=i+10;                           //数组a[ i]对应第i元素赋值[ i][ i]
           result+=a[ i];                   //result=result+a[ i][ i]
        }
  result/=10;                                   //result=result/10
  while(1);

}
五:单个二极管实现闪烁(程序+仿真)
#include"reg51.h"            //定义头文件
void delay();                                 //
sbit LED=P1^0;                                 //定义引脚
void main()                                         //主函数
{
        while(1){                                 //无限循环
        LED=0;                                         //亮
        delay();                                 //延时
        LED=1;                                         //灭
        delay();                                 //延时
        }        
}
void delay(viod)                         //延时函数
{
        unsigned char i,j,k;         //延时变量
        for(i=100;i>0;i--)
        for(j=20;j>0;j--)
        for(k=124;k>0;k--);

}

Snipaste_2020-06-21_17-11-21.jpg (80.46 KB, 下载次数: 75)

Snipaste_2020-06-21_17-11-21.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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