测试C51stc板的流水灯、数码管、按键

本文介绍了如何测试C51STC学习板上的按键、流水灯和数码管。内容包括按键控制LED灯、LED灯的滚动显示以及数码管的显示和滚动显示。电路图和测试代码片段提供了详细的操作步骤。
摘要由CSDN通过智能技术生成

测试C51stc板的流水灯、数码管、按键


内容简介

新学期开学第一周主要是对自己焊接的C51stc学习板进行测试,今天主要介绍最基础的对按键、led灯、数码管的测试,测试三项:

  • 按键对led灯的控制
  • LED灯滚动显示
  • 数码管的显示以及滚动显示

电路图

芯片

这里写图片描述

数码管、led灯

按键

这里写图片描述

测试代码块

按键测试代码:

#include"STC15F2K60S2.H"//芯片型号头文件库

//引脚别名,对应芯片引脚图
sbit KEY1 = P3^2;
sbit KEY2 = P3^3
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是基于STC89C52单片机的数码管按键加1的代码示例: ```c #include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit KEY1 = P3^3; // 定义按键1 sbit KEY2 = P3^4; // 定义按键2 sbit KEY3 = P3^5; // 定义按键3 uchar code DIG_CODE[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; // 显示0~9的数码管编码 uchar num = 0; // 存储加1后的数字 void delay(uint i) // 延时函数 { while(i--); } void display(uchar dat) // 数码管显示函数 { P0 = DIG_CODE[dat % 10]; // 取个位数字并显示 P2 = 0xfe; // 使能第1位数码管 delay(100); // 延时一段时间 P2 = 0xff; // 关闭数码管 P0 = DIG_CODE[dat / 10 % 10]; // 取十位数字并显示 P2 = 0xfd; // 使能第2位数码管 delay(100); // 延时一段时间 P2 = 0xff; // 关闭数码管 } void main() { KEY1 = 1; // 初始化按键1 KEY2 = 1; // 初始化按键2 KEY3 = 1; // 初始化按键3 display(num); // 显示初始数字 while(1) { if(KEY1 == 0) // 检测按键1是否按下 { delay(1000); // 延时去抖 if(KEY1 == 0) // 确认按键1是否按下 { num++; // 数字加1 if(num > 99) // 数字范围限制 { num = 0; } display(num); // 显示加1后的数字 } while(!KEY1); // 等待按键1释放 } if(KEY2 == 0) // 检测按键2是否按下 { delay(1000); // 延时去抖 if(KEY2 == 0) // 确认按键2是否按下 { num--; // 数字减1 if(num > 99) // 数字范围限制 { num = 99; } display(num); // 显示减1后的数字 } while(!KEY2); // 等待按键2释放 } if(KEY3 == 0) // 检测按键3是否按下 { delay(1000); // 延时去抖 if(KEY3 == 0) // 确认按键3是否按下 { num = 0; // 数字清零 display(num); // 显示清零后的数字 } while(!KEY3); // 等待按键3释放 } } } ``` 该代码中使用了3个按键,其中按键1用于加1,按键2用于减1,按键3用于清零。程序通过检测按键状态来实现相应功能。在显示数字时,先将个位数字显示出来,然后延时一段时间,再将十位数字显示出来,并再次延时。可根据需要调整延时时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值