单片机实验2:LED灯和数码显示(含原理图与代码)

 1.目的与要求:

  1. 能够正确绘制proteus原理图;
  2. 能够实现LED灯和数码显示器的预期功能;
  3. 使用两种编程方式得到预期功能:(1)中断控制方式;(2)普通顺序执行方式;

2.实验原理

        图为控制LED灯和数码管显示器的电路原理图。图中输入电路由外接在P3口的两个按压按键BUT组成;输出电路由外接在P2口七段共阴极数码管和外接在P1口的二极管组成,二极管灯接口处P0口还外接上拉电阻。此外,还包括时钟电路和复位电路。

 

3.实验内容

        程序启动后,按压P3.2口按键BUT1后,二极管D1的亮灭实现反转;按压P3.2口按键BUT2后,数码管LED1上立即显示出按键压下的次数。当显示达到F后再次按压按键,显示值将从0重新开始,以此无限循环。

 4.实验代码


 #include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit P0_4=P0^4;                   
sbit P3_2=P3^2;                   
sbit P3_3=P3^3;                   
uchar led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71};    
uint i =0;
void delay(uint k)               
{
uint j;
while(k--)
for(j=0;j<1000;j++);	         
}
void int0_sev( ) interrupt 0	 
{
     P0_4=!P0_4;                 
	 }
void int1_sev( ) interrupt 2      
{
i++;
if( i>15)                   
{ i = 0;}                   
P2= led_mod[i];            
}
void main()              
{
P0_4=0;                  
P2= led_mod[0];          
IT0 = 1;				 
IT1 = 1;				 
EA = 1;                  
EX0 = 1;                 
EX1 = 1;                 
while(1);               
}

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

x陌北x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值