登录/注册

51单片机编程实例

更多

以下是几个51单片机的基础编程实例(使用C语言):


1. LED闪烁(P1.0口)

#include <REGX51.H>
#include <INTRINS.H>

void delay_ms(unsigned int t) {
    unsigned int i, j;
    for(i=0; i<t; i++)
        for(j=0; j<120; j++); // 近似1ms延时(12MHz晶振)
}

void main() {
    while(1) {
        P1_0 = 0;       // LED亮(低电平驱动)
        delay_ms(500);  // 延时500ms
        P1_0 = 1;       // LED灭
        delay_ms(500);
    }
}

说明:LED阳极接VCC,阴极接P1.0(需串联电阻)


2. 按键控制LED(P3.2按键控制P1.0)

#include <REGX51.H>

void main() {
    P1_0 = 1; // 初始LED灭
    while(1) {
        if(P3_2 == 0) {       // 检测按键按下(低电平)
            P1_0 = ~P1_0;    // LED状态翻转
            while(!P3_2);     // 等待按键释放
        }
    }
}

硬件连接


3. 数码管静态显示(P0口驱动)

#include <REGX51.H>

// 共阴极数码管0-9段码
unsigned char code seg[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};

void main() {
    P0 = seg[5]; // 显示数字"5"
    while(1);
}

说明:段码接P0口,数码管公共端接地(共阴)或VCC(共阳需取反段码)


4. 外部中断(INT0控制LED)

#include <REGX51.H>

void int0_isr() interrupt 0 {
    P1_0 = ~P1_0; // 按键触发中断时翻转LED
}

void main() {
    IT0 = 1;    // 设置INT0为下降沿触发
    EX0 = 1;    // 使能INT0中断
    EA = 1;     // 总中断使能
    while(1);   // 等待中断
}

硬件:按键接P3.2(INT0引脚)


5. 定时器中断(1s定时)

#include <REGX51.H>

unsigned char count = 0;

void timer0_isr() interrupt 1 {
    TH0 = 0xFC; // 重装初值(1ms@12MHz)
    TL0 = 0x18;
    if(++count >= 1000) {
        count = 0;
        P1_0 = ~P1_0; // 每秒LED翻转
    }
}

void main() {
    TMOD = 0x01;    // 定时器0模式1
    TH0 = 0xFC;     // 初始计数值
    TL0 = 0x18;
    ET0 = 1;        // 开启定时器中断
    EA = 1;         // 总中断开启
    TR0 = 1;        // 启动定时器
    while(1);
}

基础要点:

  1. 头文件REGX51.H 包含特殊功能寄存器定义
  2. 端口操作:直接控制P0P1等端口
  3. 中断号
    • 外部中断0:interrupt 0
    • 定时器0:interrupt 1
    • 外部中断1:interrupt 2
    • 定时器1:interrupt 3
    • 串口:interrupt 4

需要更复杂的实例(如串口通信、ADC、LCD显示)可继续提问!

单片机编程实例介绍

是指使用特定的编程语言编写控制单片机工作的程序。 在本文中,将为您提供一些常见的单片机

2024-01-16 09:37:39

单片机编程实例总结

单片机编程实例总结

2024-01-16 09:17:22

51单片机100实例源码分享

适合单片机爱好者学习的资料:51单片机100实例源码-注释详细

2023-10-07 07:29:49

单片机C语言和汇编语言混合编程实例详解

单片机C语言和汇编语言混合编程实例详解

资料下载 chenjijun6 2021-08-16 09:50:41

单片机编程100实例大全

本文档的主要内容详细介绍的是单片机编程实例100例大全。

资料下载 佚名 2021-01-19 17:41:15

单片机C语言编程实例PDF电子书免费下载

《单片机C语言编程与实例》结合目前应用非常广泛的C语言以及Keil C51

资料下载 佚名 2019-08-28 17:46:30

单片机C51编程的警告提示说明

本文档的主要内容详细介绍的是单片机C51编程的警告提示说明资料免费下载。

资料下载 佚名 2019-08-02 17:34:00

51单片机编程100实例资料合集免费下载

本文档的主要内容详细介绍的是51单片机的编程100实例资料合集免费下载。

资料下载 佚名 2019-07-22 17:37:00

单片机编程实例大全

单片机编程实例大全

2023-09-06 11:09:18

增强型51单片机和传统51单片机对比分析

单片机对于片内内存的寻址方式和片外内存的寻址方式有着很大的不同。因此,我们在使用C语言对增强型51单片机

2023-01-17 14:35:48

单片机C语言编程宝典大全,初学必备

单片机C语言编程宝典大全,初学必备:1. 51单片机入门教程 2. 初学

2022-04-18 10:04:16

单片机及汇编实例 精选资料分享

单片机编程实例https://wenku.baidu.com/view/347b2a4ccf84b9d528ea7a6e.html35个

2021-07-21 08:06:28

51单片机的汇编程序库

下面是一些51单片机汇编语言编程常用到的子程序代码库

2020-12-06 17:31:00

什么是51单片机?又该如何自学51单片机

51 单片机是目前使用最多的单片机之一,那么什么是 51

2020-11-03 21:14:34

51单片机是什么_51单片机入门自学

位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。

2020-09-09 15:36:51

7天热门专题 换一换
相关标签