精华内容
下载资源
问答
  • C51单片机

    2018-09-12 13:04:14
    //调用52单片机头文件 sbit led1 = P2^ 0 ; //位定义led1为P2.0端口 void main() { while ( 1 ) { led1 = 0 ; //循环令led1电平为0(点亮led) } } 、LED闪烁 #include "reg52.h" //包含...

    一、工程建立

    1. 建立工程 // new project -> 保存(弹窗否)并选择cpu为atm89c51(弹窗否)
    2. 创建新文本 //(FILE下方空白图标-> 保存并命名为main.c)
    3. 将c文件添加到工程 //(右击souce文件夹 -> add file to…)
    4. 生成hex文件 //(第三行魔法棒 -> output -> 勾选creat hex)
    5. 设置晶振频率 //(第三行魔法棒 -> target -> 修改为12Mhz)

    二、LED

    <1-1>、LED点亮

    #include "reg52.h"    //调用52单片机头文件
    
    sbit led1=P2^0;       //位定义led1为P2.0端口
    
    void main()
    {
        while(1)
        {
            led1=0;       //循环令led1电平为0(点亮led)
        }
    }

    <1-2>、LED闪烁

    #include "reg52.h"    //包含52单片机头文件
    
    typedef unsigned int u16;    //重定义数据类型 0~65535
    typedef unsigned char u8;    //0~255
    
    sbit led1=P2^0;       //位定义led1为P2.0端口
    
    u16 i;
    
    /********定时器0初始化函数*******/
    void Timer0Init()
    {
        TMOD|=0X01;        //定时器工作方式寄存器TMOD赋值(确定T0,T1工作方式)
        TH0=0XFC;TL0=0X18; //设初值(1ms)
        ET0=1;             //选择中断方式T0
        EA=1;              //打开总中断
        TR0=1;             //启动定时
    }
    
    /*********主函数********/
    void main()
    {
        Timer0Init();
        while(1)
        {
            if(i==1000)          //定时达到1s时
            {
                i=0;
    
                led1=~led1;        //将led1电平置反
            }             
        }
    }
    
    /************定时器0中断函数**************/
    void Timer0() interrupt 1
    {
        TH0=0XFC;TL0=0X18;      //重新装入初值
        i++;    
    }

    <1-3>、一个LED循环移位

    #include <reg52.h>    //调用52单片机头文件
    
    typedef unsigned int u16;    //重定义数据类型 0~65535
    typedef unsigned char u8;    //0~255
    
    u16 i,n;                    //设置循环变量
    
    /********定时器0初始化函数*******/
    void Timer0Init()
    {
        TMOD|=0X01;        //定时器工作方式寄存器TMOD赋值(确定T0,T1工作方式)
        TH0=0XFC;TL0=0X18; //设初值(1ms)
        ET0=1;             //选择中断方式T0
        EA=1;              //打开总中断
        TR0=1;             //启动定时
    }
    
    /*********主函数********/
    void main()
    {
        Timer0Init();
        while(1)
        {
            if(i==1000)          //定时达到1s时
            {
                i=0;
    
                P2=~(0x01<<n);   //将0000 0111左移n位后取反
                if(++n==8)
                    n=0;         //n为8时瞬间重新置0
            }             
        }
    }
    
    /************定时器0中断函数**************/
    void Timer0() interrupt 1
    {
        TH0=0XFC;TL0=0X18;      //重新装入初值
        i++;    
    }

    <1-4>、三个LED循环移位

    #include <reg52.h>    //调用52单片机头文件
    
    typedef unsigned int u16;    //重定义数据类型 0~65535
    typedef unsigned char u8;    //0~255
    
    u16 i,n;                    //设置循环变量
    
    /********定时器0初始化函数*******/
    void Timer0Init()
    {
        TMOD|=0X01;        //定时器工作方式寄存器TMOD赋值(确定T0,T1工作方式)
        TH0=0XFC;TL0=0X18; //设初值(1ms)
        ET0=1;             //选择中断方式T0
        EA=1;              //打开总中断
        TR0=1;             //启动定时
    }
    
    /*********主函数********/
    void main()
    {
        Timer0Init();
        while(1)
        {
            if(i==1000)  //定时达到1s时
            {
                i=0;
    
                if(n<6)
                    P2=~(0x07<<n); //将0000 0111左移n位后取反
                if(n==6)
                    P2=~0xc1;
                if(n==7)
                    P2=~0x83;
                if(++n==8)        
                    n=0;    //n为8时瞬间重新置0                 
            }             
        }
    }
    
    /************定时器0中断函数**************/
    void Timer0() interrupt 1
    {
        TH0=0XFC;TL0=0X18;      //重新装入初值
        i++;    
    }
    展开全文
  • c51单片机

    2018-04-01 16:54:40
    此系列单片机除了可以访问片上Flash存储器外,还可以访问64K的外部程序存储器。数据存储器在物理和逻辑上都分为两个地址空间:内部RAM和外部RAM.1 程序存储器用于存储用户的数据表格以及用户程序信息等。89C52RC内部...


    一 存储器和SFRs

    .此系列单片机除了可以访问片上Flash存储器外,还可以访问64K的外部程序存储器。数据存储器在物理和逻辑上都分为两个地址空间:内部RAM和外部RAM.

    1 程序存储器

    用于存储用户的数据表格以及用户程序信息等。89C52RC内部flash为8K,地址为0000H~1FFFH.过片内存储器时,系统会自动转到片外程序存储器。此时外部程序存储器的地址从2000H开始。

    并且中断服务程序的的入口地址也会与程序存储单元。每一个中断都有其固定的地址。一般情况下,在中断相应的地址区域存放着一条无条件转移指令,指向真正的存放中断服务程序的空间去执行。

    2 数据存储器SRAM

    (1)内部ram:

    共256个字节,分为三个部分:低128字节、高128字节及特殊功能寄存器区。低128既可以直接寻址也可以间接寻址。高128与特殊功能寄存器貌似共用相同的地址范围,但物理上是独立的,使用时通过不同的寻址方式加以区别。高128只能间接寻址,SFR只可以直接寻址。



    工作寄存器组的R7,因此,用户初始化程序时都应对SP设置初值,一般设置在80H以后的单元为宜。

    (2)外部64KRAM

    3 特殊功能寄存器



    展开全文
  • 1.4.1 P0口 1P0口结构 图1-7 P0口结构图 2地址/数据分时复用功能 当P0口作为地址/数据分时复用总线时可分为两种情况一...2P0口作为通用I/O口使用时是准双向口 4端口操作 C51单片机有不少指令可直接进行端口操作例如 1.4
  • c51 单片机

    2013-08-24 23:41:00
    2 单片机:TTL +5v 0v 3 RS232: 计算机串口 高电平-12V/ 低电平+12v (负逻辑) 4 通讯要电平转换芯片: MAX232 5 c51特点 6 肉眼50ms 7 数码管(共阳极 common anode/共阴极 common catode)(电压...

    1 电平特性:

      高/低电平

     

    2 单片机:TTL +5v 0v

     

    3 RS232: 计算机串口

    高电平-12V/ 低电平+12v (负逻辑)

     

    4 通讯要电平转换芯片: MAX232

     

    5 c51特点

     

    6 肉眼50ms

     

    7 数码管(共阳极 common anode/共阴极 common catode)(电压和电流要考虑)

     

    8 静态显示/动态显示(较少的锁存器/ 肉眼效果)

     

    转载于:https://www.cnblogs.com/kwingmei/p/3280182.html

    展开全文
  • C51单片机编程案例

    2019-04-10 21:40:40
    C51单片机编程案例
  • 经典C51单片机教材.rar

    2019-10-11 07:50:11
    经典C51单片机教材rar,经典C51单片机教材
  • C51单片机实验箱程序

    2018-08-24 23:32:11
    C51单片机实验箱程序,针对C51单片机开发的实验箱用例程序
  • [单片机学习笔记01]利用Protues 仿真C51单片机8位数码管 我找了许多有关模拟晶体管的文章,但是大多数对新手都不太友好(可能是我理解能力不太好吧,哈哈),所以我开始尝试用博客来写笔记,话不多说,开始吧。 让...

    [学习单片机01]利用Protues 仿真C51单片机8位数码管

    我找了许多有关模拟数码管的文章,但是大多数对新手都不太友好(可能是我理解能力不太好吧,哈哈),所以我开始尝试用博客来写笔记,话不多说,开始吧。

    让我们找到元件

    1. AT89C51芯片

    • XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
    • XTAL2:来自反向振荡器的输出。
    • RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

    2. 74HC573寄存器

    • 保存收到的电位

    3. CRYSTAL和两个CAP电容组成的晶体振荡器

    • 晶体振荡器:提供系统所需的时钟频率
    • CRYSTAL :晶体
    • CAP:普通电容

    4. RESPACK-8排阻(上拉电阻)

    • P0端八个引脚输出电流太小 上拉电阻起到拉高电平的作用

    5. 7SEG-MPX8-CC

    • 8位7段码数码管,左面8个引脚分别是a 、b、 c 、d 、e、 f 、g 、dp(小数点),右面是8个数码管的位选端。例“1”号脚为正电位(共阳极),第一个数字显示7段码表示的数。

    6. CAP-ELEC

    • CAP-elec 电解电容,空心为正极,斜线填充为负极

    7. RES电阻

    • 就是普通的电阻

    8.电源和接地线

    • 点击这个图标
    • 找到电源POWER 和接地线 GROUND
    • 在这里插入图片描述

    原理图

    在这里插入图片描述

    代码附上

    #include <reg51.h>
    #define uint unsigned int
    #define uchar unsigned char
    sbit wela = P2^7;
    uchar num;
    
    uchar code table[]={
     0xc0,0xf9,0xa4,0xb0,//0~3 
     0x99,0x92,0x82,0xf8,//4~7 
     0x80,0x90,0x88,0x83,//8~b 
     0xc6,0xa1,0x86,0x8e //c~f 
    };  
    
    void delay()//延时函数
    {
     uint i = 0;
     uint j = 0;
     for(;i<9000;i++)
     {
      for(;j<20000;j++)
      {}
     }
    }
    void main()
    {
     wela = 1;//打开位选
     P0 = 0xff;
     //选择要亮的数码管 0xff = 11111111  即8个数码管全亮 
     //P0 = 0xa0 = 10100000 即只有第一个和第三个亮
     wela = 0;//关闭位选 锁存器右端电位保持不变
     
     while(1)
     {
      for(num=0;num<16;num++)//从0到f循环
      {
       d1 = 1;
       P0 = table[num];
       delay();
      }
     }
    }
    
    展开全文
  • 第1章c51单片机的组成及结构11.1c51单片机的内部结构11.2c51单片机的cpu结构31.2.1运算器31.2.2布尔处理机41.2.3控制部件及振荡器41.3c51单片机的存储器空间51.3.1存储器的基本知识51.3.2c51单片机的存储器61.3.2.1...
  • 本文主要介绍了关于C51单片机C语言函数编辑。
  • C51单片机电子琴

    2018-04-14 11:24:51
    C51单片机开发的电子琴, 电子钟,矩阵键盘,秒表代码
  • 本文主要对c51单片机编程要点进行了整理汇总,下面一起来学习一下
  • 本文给大家分享了C51单片机与PC串口通信的单片机部分程序。
  • 本文简单介绍了C51单片机的中断体系结构。
  • C51单片机汇编实验金沙滩实验4 外部中断代码和各种文件
  • C52单片机可以理解为是C51单片机的增强版 • 两个方面有差异,存储空间和定时器计数器方面有区别 ○ C52单片机的内部ROM为8KB;C51单片机的内部ROM为4KB ○ C52单片机的内部RAM为256B;C51单片机的内部ROM为128B ...
  • 通过STC89C51单片机,通过定时器实现PWM的呼吸灯。通过STC89C51单片机,通过定时器实现PWM的呼吸灯。通过STC89C51单片机,通过定时器实现PWM的呼吸灯。
  • C51单片机学习

    2020-12-26 17:39:11
    C51单片机学习(实验) DA(数模)转换——(DAC0832) DAC硬件测试 仿真图 用直通的方式产生方波、三角波和锯齿波 实验电路仿真图
  • KEIL C51单片机仿真器的设计、电子技术,开发板制作交流
  • c51单片机的用ds18b20显示温度,用数码管显示。使用的硬件是炜煌公司的开发板。
  • 文章介绍了C51单片机的一些误区和注意事项。
  • C51单片机教程KeilC制度.pdf
  • 基于c51单片机得单片机课程设计,用C语言开发,实现了只能小车的红外循迹操作。
  • C51单片机数字钟代码+原理图
  • 图5-16 C51与8255A的连接 5.5 可编程外围定时器8253 Intel 8253是可编程定时/计数器片内包含有三个独立的通道每个通道均为16位的计数器其计数速率均可达2.6MHz 5.5.1 8253的结构和引脚 图5-17 8253结构框图 图5-18 ...
  • c51单片机 超声波程序

    2013-11-07 12:53:58
    基于C51单片机,C语言 小车超声波测距
  • stc89c51单片机的介绍

    2020-07-16 07:32:26
    本文主要讲了stc89c51单片机的相关知识,希望对你的学习有所帮助。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,865
精华内容 1,546
关键字:

c51单片机