流水灯程序,单个数码管程序,四位一体数码管程序,1602程序

这篇博客详细介绍了如何使用C51单片机编写流水灯、单个数码管和四位一体数码管的程序,并提供了1602液晶屏的显示操作代码。通过循环和延时函数实现不同效果,包括流水灯的位移和数码管的倒计时显示。代码中涉及了数码管显示码表、锁存引脚控制和延时函数的实现,适用于C51单片机的学习和实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C51 单片机流水灯代码:
#include <reg51.h>        // 引入单片机 C51 标准头文件
#define uint unsighed int // 宏定义,简化数据类型声明

void delay(uint time);    // 函数声明,实现时间延时

void main(){
  uint i;                 // 声明循环变量
  while(1){               // 主程序循环
    for(i=0;i<8;i++){    // 遍历 8 位 I/O 口
      P1 = ~ (0x01 << i); // 根据不同的位,移动流水灯位置
      delay(500);         // 延时 500ms,实现流水灯闪烁效果
    }
  }
}

void delay(uint time){
  uint i, j;              // 声明循环变量
  for(i=0;i<time;i++)     // 外层循环,表示延时的总时间
    for(j=0;j<125;j++);  // 内层循环,用于消耗时间,实现延时
}

 

1. 首先定义控制数字位的锁存引脚和数码管显示码表,依次表示 0~9 的码值。

2. 倒计时的循环过程中,控制第一位数码管的段锁存引脚为高电平,选择相应的码表中的值,然后控制位选锁存引脚为高电平,选择第一个数码管进行显示,实现显示效果。

3. 延时过程中,我们通过 for 循环的方式实现了不断累计的时间,并依靠不同的输入参数实现了延时效果。

需要注意的是,在编写代码时需要注意单片机硬件的实际接口和功能,特别是针对控制数码管的引脚
#include <reg52.h>       // 引入单片机 C51 标准头文件

#define uint unsigned int // 宏定义,简化数据类型声明

sbit dula = P2^6;          // 定义控制第一位数码管段锁存引脚
sbit wela = P2^7;          // 定义控制位选锁存引脚

unsigned char code num[] = {  // 数码管显示码表,依次表示 0~9 的码值
  0x3f, 0x06, 0x5b, 0x4f, 0x66,
  0x6d, 0x7d, 0x07, 0x7f, 0x6f
};

void delay(unsigned int time); // 函数声明,实现时间延时

void main() {
  unsigned int count = 9;      // 倒计时初始化,从

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值