蓝桥杯单片机综合小实验1

独立键盘;流水灯;数码管。

 

功能:用定时器0 定时间隔 1 秒 循环0~9 当按下s2时,开始计时;当按下s3时,停止计时;按下s4 流水灯全亮。

#include <reg52.h>

#define uint unsigned int
#define uchar unsigned char

sbit du = P2^6;//数码管段选
sbit we = P2^7;//数码管位选
sbit s2 = P3^0;//独立按键S2
sbit s3 = P3^1;//独立按键S3
sbit s4 = P3^2;//独立按键S4
sbit s5 = P3^3;//独立按键S5
uchar num;//数码管显示的值

//共阴数码管段选表0-9
uchar code leddata[]= {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,};


//毫秒级延时函数定义
void delay(uint z)
{
	uint x,y;
	for(x = z; x > 0; x--)
		for(y = 114; y > 0 ; y--); 		
}
 void main ()
 {
     uint a,b;
 	 TMOD = 0x01; // 定时器0,16位计数器;
	 TH0  = 0x4b;	 //	  定时50ms
	 TL0  = 0xfc;	
	 we = 1;
	 P0 = 0xfe;	  // 打开第一数码管
	 we = 0;
	while(1)
	{
	  if(TF0 == 1)	// 定时50毫秒
	  {
	   TH0  = 0x4b;
	   TL0  = 0xfc;
	   TF0 = 0;
		a++;
	  }
	   if(a==20) // 定时1秒
	  {
	    a = 0;
	    b++;	
	  }
 	if(b == 10)
    {
	 b=0; 
	}
	 du = 1;
	 P0 = leddata[b];
	 du = 0;
	 if(s2==0) 
	 {
	   delay(5);
	   if(s2==0)
	   {
	   	 TR0 = 1;	// 当s2 按下 启动定时器,开始计时
	   }
	   while(!s2);
	 }
	  if(s3==0) 
	 {
	   delay(5);
	   if(s3==0)
	   {
	   	 TR0 = 0; 	// 当s3 按下 关闭定时器,停止计时
	   }
	   while(!s3);
	 }
	  if(s4==0) 
	 {
	   delay(5);
	   if(s4==0)
	   {
	   	P1=0x0;
	   }
	   while(!s4);
	 }	
	 if(s5==0) 
	 {
	   delay(5);
	   if(s5==0)
	   {
	   	P1=0xff;
	   }
	   while(!s5);
	 }
   }
 }
 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蓝桥杯单片机定时器小蜜蜂是一个用于学习和实践单片机编程的教学项目。根据引用,在这个项目中,按键等待是一个关键操作,需要将显示时间的模块放在循环中,并且通过定时器中断来控制操作的时间。同时,引用提到LED和数码管的P0口端口被复用,用来记录串口发送的数据和判断按键是否按下。关于蓝桥杯单片机定时器小蜜蜂的具体内容,引用提供了一份目录,其中包括了一些进阶的案例和底层驱动代码的移植与应用。 总结来说,蓝桥杯单片机定时器小蜜蜂是一个教学项目,通过学习它可以了解和练习单片机编程的一些基础和高级操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [蓝桥杯单片机-小蜜蜂老师-工厂灯光控制系统(P15代码)](https://blog.csdn.net/m0_61804419/article/details/129488234)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [备战蓝桥杯单片机倒数第四天 小蜜蜂老师公众号更新内容](https://blog.csdn.net/silver321/article/details/123969400)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值