久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5653|回復: 1
打印 上一主題 下一主題
收起左側

51單片機:數碼管 的所有代碼(集中在一起)

[復制鏈接]
跳轉到指定樓層
樓主
ID:103513 發表于 2016-1-17 01:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

寫于廈門
/*
點亮第一個數碼管,因為板子是自已做的,到電子城買數碼管時說好要共陰的,拿來測時才發現是共陽的。
*/
//------------------------------------------------------------
  /*
#include <reg52.h>
#define uchar unsigned char
sbit duan=P2^5 ;             //注意,有分號
sbit wei=P2^6;
const unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};                //數碼管數組
void main()
{
duan=1;
P0=table[1];
duan=0;
wei=1;
P0=0x01;
wei=0;
while(1);
}
*/
//-----------------------------------------------------------------
/*
//靜態顯示,第一個數碼管顯示1
#include <reg52.h>
sbit duan=P2^5;
sbit wei=P2^6;
void main()
{
duan=1;
P0=0xF9;  //共陽極數碼管  顯示1的編碼值是F9,如果你是買的開發板(共陰的數碼管)則為0x06;
duan=0;
wei=1;
P0=0x01;  //選中第1個數碼管
wei=0;
while(1);  //一直顯示,以便我們觀察
}
*/
//-----------------------------------------------------------------
/*
//靜態顯示,全為1
#include <reg52.h>
sbit duan=P2^5;
sbit wei=P2^6;
void main()
{
duan=1;
P0=0xF9;  //共陽極數碼管  顯示1的編碼值是F9,如果你是買的開發板(共陰的數碼管)則為0x06;
duan=0;
wei=1;
P0=0xff;  //選中所有的數碼管
wei=0;
while(1);  //一直顯示,以便我們觀察
}
*/
//-----------------------------------------------------------------
/*
//靜態顯法012345
#include <reg52.h>
#define uchar unsigned char
sbit duan=P2^5 ;             //注意,有分號+P是大寫的,若你寫成小寫的則會提示說找不到
sbit wei=P2^6;
sbit P13=P1^2;
//int m=1;
const unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};                //數碼管數組
void delay(int x)
{
int  a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void main()
{
while(1)
{
duan=1;
P0=table[0];
duan=0;
wei=1;
P0=0x01;
duan=0;
delay(3);

duan=1;
P0=table[1];
duan=0;
wei=1;
P0=0x02;
duan=0;
delay(3);

duan=1;
P0=table[2];
duan=0;
wei=1;
P0=0x04;
duan=0;
delay(3);

duan=1;
P0=table[3];
duan=0;
wei=1;
P0=0x08;
duan=0;
delay(3);

duan=1;
P0=table[4];
duan=0;
wei=1;
P0=0x10;
duan=0;
delay(3);

duan=1;
P0=table[5];
duan=0;
wei=1;
P0=0x20;
duan=0;
delay(3);
   }
}
*/
//----------------------------------------------------------------------------------------
/*
//動態顯示:從0到F 變化 (所有的數碼管)
#include <reg52.h>
#define uchar unsigned char
sbit duan=P2^5 ;             //注意,有分號+P是大寫的,若你寫成小寫的則會提示說找不到
sbit wei=P2^6;
sbit P13=P1^2;
const unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};                //數碼管數組
void delay(int x)
{
int  a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void main()
{
while(1)
{
uchar n=0;
for(n=0;n<=9;n++)
  {
   P13=0;      //讓LED3亮起來
    duan=1;
   P0=table[n];
   duan=0;
   wei=1;
   P0=0xff;           //因為我的是共陽的,其數碼管選中得高電平,如果你是共低的則為0x
   wei=0;
   delay(600);    //一定要加延時否則看起來亂碼實際上是閃爍太快了有余輝
       }
     }
}
*/
//-----------------------------------------------------------------
/*
//數碼管從0開始到9變化,同時LED燈正流+倒流.
#include<reg52.h>
#include <intrins.h>      //LED燈用到移動關鍵字crol,調用此關鍵字
#define uchar unsigned char
const unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};                //數碼管數組
sbit wei=P2^6;
sbit duan=P2^5;
void delay(int x)
{
int  a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void LED()
{
uchar a,temp;
temp=0xfe;
  for (a=8;a>0;a--)   //循環8次
   {
P1=temp;
temp=_crol_(temp,1); //移動
delay(50);
}
delay(5);
temp=0x7f;
    for (a=8;a>0;a--)   //循環8次
   {
P1=temp;
temp=_crol_(temp,-1); //移動
delay(50);
}
}
void scan()
{
uchar n=0;
for(n=0;n<=9;n++)
  {
  duan=1;
  P0=table[n];
  duan=0;
  wei=1;
  P0=0xff;
  wei=0;
  delay(100);  
  LED();
  }
if(n==9){delay(300);}

}

void main()
{
while(1)
{
// LED();
  scan();
   }
}
*/







//-------------------------------------------------------------------------------------------------------
/*
數碼管從0開始到9變化,同時LED燈正流+倒流+蜂鳴器(循環一輪完響一次)   
*/
#include<reg52.h>
#include <intrins.h>      //LED燈用到移動關鍵字crol,調用此關鍵字
#define uchar unsigned char
const unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};                //數碼管數組
sbit wei=P2^6;
sbit duan=P2^5;
sbit P23=P2^3;
void delay(int x)
{
int  a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void LED()
{
uchar a,temp;
temp=0xfe;
  for (a=8;a>0;a--)   //循環8次
   {
P1=temp;
temp=_crol_(temp,1); //移動
delay(50);
}
delay(1);
temp=0x7f;
    for (a=8;a>0;a--)   //循環8次
   {
P1=temp;
temp=_crol_(temp,-1); //移動
delay(50);
}
}
void scan()
{
uchar n=0;
P23=1;      //下一輪循環前取消蜂鳴器,否則會一直響,吵死了
for(n=0;n<=9;n++)
  {
  duan=1;
  P0=table[n];
  duan=0;
  wei=1;
  P0=0xff;
  wei=0;
  delay(5);  
  LED();
      if(n==9){P23=0;delay(300);}
  }

}

void main()
{
while(1)
{
  scan();
   }
}


//----------------------------------------------------------------------------------------------------------------
我自已做的板子的 段選是接P2^5,位選是接P2^6。流水燈的鎖存器使能是接P2^7
            而天祥是接段---P2^6,位---P2^7。                                      P2^5

所以呢,你得改下這兩個地方后,上面的程序立馬可以使用了。我在這里只說一次,以后的接法都是這樣的就不再說了


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:272625 發表于 2018-1-16 21:45 | 只看該作者
樓主手工了得
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩久久久久久 | wwwww在线观看 | 久久精品亚洲精品 | 中文字幕日韩一区 | 亚洲欧美日韩成人在线 | 免费1区2区3区 | 91国产精品在线 | av天天干 | 欧美一区视频 | 超碰97人人人人人蜜桃 | 色综合久久久 | a久久久久久 | 国产黄色在线观看 | 一区精品国产欧美在线 | 中文字幕在线免费 | 老司机免费视频 | 日韩中文一区二区三区 | 欧美精品中文字幕久久二区 | 日韩av一区在线观看 | 91精品一区 | av喷水| 久久精品综合 | 久久视频精品 | 不卡av在线 | 自拍视频一区二区三区 | 国产一区二区三区在线视频 | 污视频在线免费观看 | 国产精品视频一区二区三区, | 日韩精品中文字幕在线 | 日韩aⅴ在线观看 | 日韩欧美精品在线播放 | 精品视频在线免费观看 | 精品久久久久久久久久久久 | 久久久久久免费观看 | 视频在线h | 欧美一级片在线观看 | 精品国产第一区二区三区 | 久久精品av | 亚州成人 | av日韩一区 | av网站在线播放 |