電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

89c51 8位LED動(dòng)態(tài)掃描時(shí)鐘程序

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2011/5/22

89c51 8位LED動(dòng)態(tài)掃描時(shí)鐘程序

//使用12MHZ晶振,P0口輸出段碼,P2口作列掃描,用共陽LED數(shù)碼管
//
#include "reg51.h"
code char dis_7[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};
/* 共陽LED段碼表     "0"  "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9" "不亮"     */                
code char scan_con[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};   // 列掃描控制字
data char disdata[6]={0x00,0x00,0x00,0x00,0x00,0x00};//計(jì)時(shí)單元數(shù)據(jù)初值,共6個(gè)
data char dis[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x00};//顯示單元數(shù)據(jù),共6個(gè)數(shù)據(jù)
data char con1s=0x00,con04s=0x00,con=0X00; //1秒定時(shí)用
sbit key0=0x90;
sbit key1=0x91;
sbit key2=0x92;
//
/****************/
//1毫秒延時(shí)程序//
/***************/
delay1ms(int t)
{
int i,j;
for(i=0;i<t;i++)
   for(j=0;j<120;j++)
   ;
}
/****************/
// 鍵掃描子程序 //
/****************/
keyscan()
{
 EA=0;
if(key0==0)
  {
   delay1ms(10);
   while(key0==0);
    if(dis[con]==10)
    {dis[7]=dis[con];dis[con]=dis[6];dis[6]=dis[7];}
    con++;TR0=0;ET0=0;TR1=1;ET1=1;
    if(con>=6)
      {con=0;TR1=0;ET1=0;TR0=1;ET0=1;}
  }
//
if(con!=0)
{
 if(key1==0)
   {
    delay1ms(10);
    while(key1==0);
    disdata[con]++;
     if(disdata[con]>=10)
       {disdata[con]=0;}
    dis[con]=disdata[con];dis[6]=0x0a;
    }
}
//
if(con!=0)
{
 if(key2==0)
  {
    delay1ms(10);
    while(key2==0);
       if(disdata[con]==0)
          {disdata[con]=0x09;}
        else {disdata[con]--;}
    dis[con]=disdata[con];dis[6]=0x0a;
  }
}
EA=1;
}
//
/***********/
//掃描程序//
/**********/
scan()
{
char k;
for(k=0;k<6;k++)
 {
  P0=dis_7[dis[k]];P2=scan_con[k];delay1ms(1);P2=0xff;
  }
}
/*************/
//初始化程序//
/*************/
clearmen()
{
int i;
for(i=0;i<6;i++)
  {
   dis[i]=disdata[i];}
TH0=0x3C;TL0=0xB0;//     ;50MS定時(shí)初值(T0計(jì)時(shí)用)
TH1=0x3C;TL1=0xB0;//     ;50MS定時(shí)初值(T1計(jì)時(shí)用)
TMOD=0X11;ET0=1;ET1=1;TR1=0;TR0=1;EA=1;//
}
/**********/
//主程序//
/*********/
main()
{
clearmen();
while(1)
 {
   scan();
   keyscan();
  }
}
/********************/
//1秒中斷處理程序  //
/*******************/
void time_intt0(void) interrupt 1 
{
ET0=0;TR0=0;TH0=0x3C;TL0=0xB0;TR0=1;
con1s++;
if(con1s==20)
  {
   con1s=0x00;
   disdata[0]++;
   if(disdata[0]>=10)
    {
    disdata[0]=0;disdata[1]++;
      if(disdata[1]>=6)
        {
          disdata[1]=0;disdata[2]++;
            if(disdata[2]>=10)
              {
                disdata[2]=0;disdata[3]++;
                  if(disdata[3]>=6)
                    {
                     disdata[3]=0;disdata[4]++;
                       if(disdata[4]>=10)
                         {
                          disdata[4]=0;disdata[5]++;
                          } 
                           if(disdata[5]==2 )
                              {
                             if(disdata[4]==4)
                               {
                                disdata[4]=0;disdata[5]=0;
                               }
                            }
                    }
              }
         }
    }
dis[0]=disdata[0];dis[1]=disdata[1];dis[2]=disdata[2];
dis[3]=disdata[3];dis[4]=disdata[4];dis[5]=disdata[5];
  }
 ET0=1;
}
/********************/
//0.4秒閃爍中斷程序  //
/*******************/
void time_intt1(void) interrupt 3 
{
 EA=0;TR1=0;TH1=0x3C;TL1=0xB0;TR1=1;
 con04s++;
if(con04s==8)
  {
    con04s=0x00;
    dis[7]=dis[con];dis[con]=dis[6];dis[6]=dis[7];
   }
 EA=1;
}

//***************************************************************

Tags:單片機(jī),c語言,時(shí)鐘程序  
責(zé)任編輯:admin
相關(guān)文章列表
基于AT89C52單片機(jī)控制的雙軸太陽自動(dòng)跟蹤系統(tǒng)設(shè)計(jì)
ESP32單片機(jī)入門篇
超聲波測距+溫度+報(bào)警的單片機(jī)代碼_51單片機(jī)超聲波測距C語言程序
基于51單片機(jī)的恒溫控制器系統(tǒng) protues+keil c
七段數(shù)碼管顯示原理研究_數(shù)碼管顯示0~9對應(yīng)的段碼
單片機(jī)C語言編程入門教程  流水燈程序示例
51單片機(jī)學(xué)習(xí)筆記直流電機(jī)驅(qū)動(dòng)(PWM)C語言程序
基于51單片機(jī)—多功能秒表,多功能計(jì)時(shí)器C語言程序
STC89C52單片機(jī)數(shù)字電流表電壓表源碼與電路圖  51單片機(jī)電流電壓
自學(xué)stm32單片機(jī)四個(gè)步驟,實(shí)用又高效!
先學(xué)51還是先學(xué)STM32?STM32和51單片機(jī)的區(qū)別
單片機(jī)最小系統(tǒng)介紹及電路設(shè)計(jì) STM32單片機(jī)最小系統(tǒng)
什么是PIC單片機(jī)
為什么51單片機(jī)的晶振一般使用11.0592? 51單片機(jī)常用波特率初值表
51單片機(jī)寄存器功能一覽表
單片機(jī)寫延時(shí)程序的幾種方法
自學(xué)單片機(jī)編程之中斷與時(shí)鐘程序
哈佛結(jié)構(gòu)與馮·諾伊曼結(jié)構(gòu)區(qū)別以及X86體系
單片機(jī)萬年歷:公歷日期與農(nóng)歷日期的相互轉(zhuǎn)換程序
AVR定時(shí)器1的CTC模式設(shè)置
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
五月婷婷色丁香| 国产精品中文字幕在线观看| 全彩acg无翼乌| 一本大道无码日韩精品影视_| 美女让男人桶出水的网站| 无套内射视频囯产| 国产性猛交xx乱| 久久国产精品久久久| 美女脱了内裤打开腿让你桶爽| 教官你的太大了芊芊h| 国产精品区一区二区三| 亚洲大成色www永久网址| 911色主站性欧美| 最近中文字幕完整视频高清电影| 国产成年无码久久久久毛片| 久久亚洲中文字幕精品有坂深雪| 美女张开腿让男人桶的动态图| 婷婷国产成人精品视频| 免费va人成视频网站全| 91麻豆国产极品在线观看洋子| 日韩欧美第一页| 国产乱码卡一卡2卡三卡四| 中文字幕一二三区| 欧美日韩生活片| 国产精品一卡二卡三卡| 亚洲区与欧美区| 精品国产18久久久久久| 国产美女无遮挡免费网站| 久久国产精品偷| 永久免费看bbb| 国产亚洲成在线播放va| A级国产乱理论片在线观看| 欧美日韩国产人成在线观看| 国产精品久久国产精品99| 久久国产精品-国产精品| 番肉动漫无修在线观看网站| 在线观看一区二区三区视频| 人久热欧美在线观看量量 | jizzjizzjizzjizz国产| 欧美中日韩免费观看网站| 国产裸舞福利资源在线视频|