找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2518|回复: 4
打印 上一主题 下一主题
收起左侧

按一下按键数码管显示0到F的单片机程序 求帮助

[复制链接]
跳转到指定楼层
楼主
  1. #include<reg51.h>
  2. sbit k1=P1^1;
  3. unsigned int code shumaguan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  4.      0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  5. void delay (unsigned int i)
  6. {
  7.    while(i--);

  8. }
  9. void main()  
  10.     {  
  11.       unsigned int i;
  12.    if(k1==0)
  13.   {
  14.     while(!k1)
  15.    for(i=1;i<=16;i++)
  16.     {
  17.     P0=shumaguan[i];
  18.     delay(1000);

  19.    }
  20.   }
  21.    
  22. }
复制代码

7FE5R6@}T[PKL3L%}QDNY$F.png (43.56 KB, 下载次数: 31)

7FE5R6@}T[PKL3L%}QDNY$F.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:430574 发表于 2018-12-5 20:52 | 只看该作者
怎么按一下让数字显示1再按一下显示2这样到F
回复

使用道具 举报

板凳
ID:438858 发表于 2018-12-8 14:07 | 只看该作者
#include<reg52.h>
sbit led=P1^0;
sbit key=P3^0;
sbit sw=P3^6;
void Delay10ms();
void main()
{
        unsigned char temp=0xf0;
        while(1)
        {
                if(sw==0)
                {       
                        Delay10ms();
                        if(sw==0)
                        {       
                                temp++;
                                P2=temp;
                                while(!sw);         //等待按键释放       
                        }       
                }       
        }       
}
void Delay10ms()                //@11.0592MHz
{
        unsigned char i, j;

        i = 108;
        j = 145;
        do
        {
                while (--j);
        } while (--i);
}
回复

使用道具 举报

地板
ID:442260 发表于 2018-12-8 17:23 | 只看该作者
本帖最后由 Eureka!Eureka! 于 2018-12-8 17:24 编辑
舟舟 发表于 2018-12-5 20:52
怎么按一下让数字显示1再按一下显示2这样到F
  1. #include<reg51.h>
  2. sbit k1=P1^1;
  3. unsigned char P0;
  4. unsigned int code shumaguan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  5.      0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  6. void delay(unsigned int times) //延迟1ms
  7. {
  8.         unsigned int i,j;
  9.         for(i=0;i<times;i++)
  10.         {for(j=0;j<124;j++);}
  11. }
  12. void main()
  13. {
  14.        unsigned char i;
  15.        while(1)
  16. {
  17.        if(k1==1)
  18.        {
  19.           while(k1);//k1仍在按下时间内空操作
  20.           P0=shumaguan[i];//按键松开瞬间执行端口赋值
复制代码
回复

使用道具 举报

5#
ID:442293 发表于 2018-12-8 18:14 来自手机 | 只看该作者
Eureka!Eureka! 发表于 2018-12-8 17:23

动态显示
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表