单片机实验9:独立按键

本文介绍了一个使用单片机实现数码管显示数字的实验,通过四个独立按键实现数字的加减、清零和自动计数功能。程序中采用中断系统进行50ms的时间间隔计数,并在按键检测到有效操作后更新数码管的显示。实验对可能出现的num值负数情况进行了处理,确保了程序的稳定性。

使用独立按键来控制数码管显示数字
第一颗按键,计数加1
第二颗按键,计数减1
第三颗按键,计数清零
第四颗按键,自动计数

#include <reg52.h>
#define uchar unsigned char 
#define uint unsigned int

sbit dlkey1 = P3^1;		 	//独立按键位控制
sbit dlkey2 = P3^0;
sbit dlkey3 = P3^2;
sbit dlkey4 = P3^3;
sbit led2 = P2^2;			//控制数码管位选的位
sbit led3 = P2^3;
sbit led4 = P2^4;
uchar code duanxuan[] = {
   
   0x3f,0x06,0x5b,0x4f,	  //0,1,2,3
						 0x66,0x6d,0x7d,0x07,	  //4,5,6,7
					 	 0x7f,0x6f,0x77,0x7c,	  //8,9,A,B
						 0x39,0x5e,0x79,0x71};	  //C,D,E,F		段选
uint numt0;int num;

void delay_xms(uint m)	    //延时ms操作
{
   
   
	int i;
	for(;m>0;m--)
		for(i=110;i>0;i--
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值