欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

數碼管滾動顯示數字程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2009年11月21日   【字體:

/************************************************
跳線設置:默認
顯示效果:012345 這幾個數字在51hei單片機板子的后6個數碼管中滾動顯示
************************************************/
#include<reg52.h> //頭文件
#include<intrins.h>
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,//數碼管顯示的數值
0x4f,0x66,0x6d,0x00,0x00,0x00,0x00,
0x00,0x00,0x3f,0x06,0x5b,0x4f,0x66};
sbit DUAN=P2^6;     //74HC573的LE端  U1  LED的段選端
sbit WEI=P2^7;      //74HC573的LE端  U2  LED的位選端
uchar flag;  //定義標志位
void main()   //主函數
{
 uchar i,j,k,h,cnt;//定義局部變量
 TH0=0XF7;  //裝入初始值,時間約為2.5ms
 TL0=0X00;
 ET0=1;  //開分控
 EA=1;  //開總控
 TR0=1; //啟動定時器
 while(1)
 {
 j=cnt+6; //控制循環的數值
 for(k=0;k<150;k++) // 延時
 {
  h=0xfb;  //準備點亮數碼管
  for(i=cnt;i<j;i++)
  {
  WEI=1;  //讓位選的這個74hc573處于直通狀態,也就是輸入0,輸出也是0,輸入1輸出也是1
  P0=h;   //點亮對應的數碼管
  WEI=0;  //鎖存 也就是保持74hc573現在這個時刻的輸出狀態一直不變

  DUAN=1; //同上哦
  P0=table[i];  //顯示對應的數值
  DUAN=0;
   while(!flag);  //延時2.5ms
   flag=0;   //標志位清零,準備下次顯示
   DUAN=1;
   P0=0x00;   //關閉數碼管,消隱
   DUAN=0;
   h=_crol_(h,1); //循環左移
  }
 }
 cnt++; //加1,確定哪些數值顯示
 if(cnt==12)  //移位的次數
 cnt=0; //清零,準備下次顯示
 } 
}
void time() interrupt 1 //定時器0
{
 TH0=0XF7;  //裝入初值
 TL0=0X00;
 flag=1;   //標志位置1
}

關閉窗口

相關文章