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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6748|回復: 6
收起左側

剛寫的一個很簡單的程序……

[復制鏈接]
ID:3324 發表于 2010-6-10 22:37 | 顯示全部樓層 |閱讀模式
#include< reg52.h>
#include< intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code disp[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7f,0x39,0x3f,0x79,0x71};
//數碼管顯示十六進制,從0到f
uchar code select[]={7,6,5,4,3,2,1,0};
//位選數組,自左至右
uchar tt0,tt1;
uint temp1=0xfe;
uint temp=432;
void alllight();
void delay(uint z);

void init()   //初始化函數
{
 TMOD=0x11;  //定時器0工作在方式一
 TH0=(65536-50000)/256;  //裝入初值
 TL0=(65536-50000)%256;
 TH1=(65536-50000)/256;  //裝入初值
 TL1=(65536-50000)%256;
 EA=1;   //開總中斷
 ET0=1;   //開定時器0中斷
 ET1=1;
 TR0=1;
 TR1=1;   //計時開始
}

void Timer0() interrupt 1  //定時器0中斷子程序
{
 TH0=(65536-50000)/256;  //再次裝入初值
 TL0=(65536-50000)%256;
 tt0++;
}

void Timer1() interrupt 3  //定時器1中斷子程序
{
 TH0=(65536-50000)/256;  //再次裝入初值
 TL0=(65536-50000)%256;
 tt1++;
}


void display(uint temp)   //顯示子程序
{
 uint bai,shi,ge;
 bai=temp/100;
 shi=temp%100/10;
 ge=temp%100%10;
 
 if(bai!=0)    //此處的判斷是為了消除重影,不然當沒有到100時,百位上總會有一個0在隱隱約約的顯示
  { 
  P0=disp[bai];  //顯示百位
  P2=select[2];
  delay(1);    //延時0.1s左右
  }
   
  P0=disp[shi];  //顯示十位
  P2=select[1];
  delay(1);
  
  P0=disp[ge];  //顯示個位
  P2=select[0];
  delay(1);
}


void delay(uint z)   //延時子函數,z為傳遞的參數,用來決定延時時間的長短,若z為1,延時時間大概為0.001s
{
 uint x,y;
 for(x=z;x>0;x--)
  for(y=10;y>0;y--); 
}

void main()
{
 init();
 
 while(1)
 {
  if(tt1!=2)   //數碼管顯示程序段
  {
   P0=disp[7];  //顯示高三位的765
   P2=select[5];
   delay(1); 

   P0=disp[6]; 
   P2=select[4];
   delay(1);

   P0=disp[5]; 
   P2=select[3];
   delay(1);

   display(temp);
  }
  else if(tt1==2)
  {
   
   tt1=0;
   if(temp==398)
   {
    TR1=0;
   }
   else
   {
    temp--;
   }
  }

  
  if(tt0==10)   //流水燈程序段
  {
   tt0=0;
   
   {
    if(temp==398)
     alllight();
   }
   temp1=_crol_(temp1,1);
   P1=temp1;
  }

 }
}

void alllight()   //數碼管停止后的動作
{
 while(tt0<=60)
 {
  temp1=0xff;  
  if(tt0%10==0)
  {
   P1=~temp1; 
  }
  
  P0=disp[7];  //顯示高三位的765
  P2=select[5];
  delay(1); 

  P0=disp[6]; 
  P2=select[4];
  delay(1);

  P0=disp[5]; 
  P2=select[3];
  delay(1);

  display(temp);
 }
 
 while(1)
 {
  P1=0xff;
  P0=0x76;  //顯示字母H
  P2=3;
  delay(1);

  P0=0x79;  //顯示字母E
  P2=4;
  delay(1);

  P0=0x38;  //顯示字母L
  P2=5;
  delay(1);

  P0=0x38;  //顯示字母L
  P2=6;
  delay(1);

  P0=0x3f;  //顯示字母O
  P2=7;
  delay(1);
    
 }
}
回復

使用道具 舉報

ID:23004 發表于 2010-6-10 22:46 | 顯示全部樓層
又現一單片機愛好者。。。。
回復

使用道具 舉報

ID:22246 發表于 2010-6-10 22:52 | 顯示全部樓層
又有數碼管又有流水燈,看來是高手
回復

使用道具 舉報

ID:24515 發表于 2010-6-17 15:48 | 顯示全部樓層
謝謝分享!
回復

使用道具 舉報

ID:24326 發表于 2010-6-24 02:10 | 顯示全部樓層
樓主 你不厚道 這個程序 我一看就知道是某個教程里面的 流水燈和數碼管以及延時功能的一個例子
回復

使用道具 舉報

ID:17098 發表于 2010-7-17 21:00 | 顯示全部樓層

高手,可我是初學,不懂

回復

使用道具 舉報

ID:25111 發表于 2010-7-19 10:11 | 顯示全部樓層
確實不厚道,這個程序前幾天我剛看到,是郭老師寫的吧
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 青青久久久 | 亚洲视频一区二区三区四区 | 一本色道久久综合亚洲精品高清 | 亚洲一区二区三区在线视频 | 中文字幕免费中文 | 久久精品亚洲精品国产欧美 | 嫩草懂你的影院入口 | 蜜桃视频在线观看免费视频网站www | 久久久久久久久久久久久久av | 老司机狠狠爱 | 国产99久久久国产精品 | 午夜视频大全 | 久久精品亚洲精品国产欧美 | 精品久久久久久亚洲精品 | 精品视频999 | 国产精品99久久久久久久久久久久 | 色一情一乱一伦一区二区三区 | 国产色在线| 精品无码三级在线观看视频 | 成人福利网 | 精品国产一区二区三区久久影院 | 国产91在线播放 | 亚洲欧美日韩精品 | 成人h视频在线 | 99精品视频一区二区三区 | 精品国产乱码久久久久久蜜柚 | 欧美一级艳情片免费观看 | 久久伊人影院 | 91麻豆精品一区二区三区 | 色综合久久久 | 九九色综合 | 超碰免费在线观看 | 91成人午夜性a一级毛片 | 国产精品久久av | 精品久久久久久久 | 操操网站 | 成人超碰在线 | 蜜月aⅴ国产精品 | 一区二区三区不卡视频 | 先锋影音资源网站 | 亚洲一区av|