<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的秒,分,時(shí)可調(diào)時(shí)鐘的設(shè)計(jì)

          基于單片機(jī)的秒,分,時(shí)可調(diào)時(shí)鐘的設(shè)計(jì)

          作者: 時(shí)間:2012-09-04 來源:網(wǎng)絡(luò) 收藏

          今天主要做我喜歡的,哦,順便簡單介紹下我學(xué)的專業(yè)吧! 呵呵!我所學(xué)專業(yè)名字叫“自動化”怎么樣,聽上去還可以吧!其實(shí)當(dāng)是報(bào)志愿的時(shí)候也不知具體是學(xué)什么的。經(jīng)過兩三年的摸索才大致知道了我應(yīng)該重點(diǎn)學(xué)什么,怎么學(xué),將來參加后能干什么。說實(shí)話還真難摸索啊!兩年多才明白了一二,也許這就是當(dāng)初高中時(shí)沒好好學(xué)上二流大學(xué)的懲罰吧!不過還好了現(xiàn)在很喜歡這個(gè)專業(yè),怎么介紹這個(gè)自動化呢,感覺挺高科技的,其實(shí)也沒什么,大家在現(xiàn)實(shí)生活中都能看到,社會上的很多作業(yè)流程都是盡可能的實(shí)現(xiàn)自動控制,一個(gè)按鈕按下從最初的原材料就能得到想要的產(chǎn)品。我們所學(xué)就是怎樣讓它實(shí)現(xiàn),其中的各個(gè)環(huán)節(jié)是怎樣起作用的,最后將各個(gè)環(huán)節(jié)數(shù)字化實(shí)現(xiàn)用以計(jì)算機(jī)為核心控制并顯示的一些整套系統(tǒng),不過一整套系統(tǒng)不可能一個(gè)人都學(xué)會全部搞定的,能搞通期中一個(gè)環(huán)節(jié)就可以算是高手了!~呵呵

          本文引用地址:http://www.ex-cimer.com/article/164970.htm

          這個(gè)學(xué)期接觸到了,算是個(gè)微處理機(jī),是把計(jì)算機(jī)的部功能集成化了的。在生活中隨處可見:想廚房用的電磁爐內(nèi)就集成了的控制,客廳掛的數(shù)字萬年歷也是用單片機(jī)實(shí)現(xiàn)的!經(jīng)過了解后,我對此產(chǎn)生了極大的興趣。下面簡單展示一個(gè)我做的單片機(jī)的實(shí)驗(yàn),望在這方面有研究的一起享學(xué)習(xí)哈!

          基于單片機(jī)的秒,分,時(shí)可調(diào)時(shí)鐘的設(shè)計(jì)

          這個(gè)是用Proteus做的硬件,對單片機(jī)有興趣大概都用過吧!另外還有軟件程序,如果把這個(gè)硬件比作人的外觀和手腳(是的還可以控制步進(jìn)電機(jī)伺服系統(tǒng)再用電機(jī)去控制一些操作的話就更像機(jī)器人了)。那么軟件程序就好比是人的大腦。下面我也把自己編的程序展示一下吧!望高手指點(diǎn):是用C語言編的

          本程序要實(shí)現(xiàn)秒,,時(shí)的精確計(jì)時(shí),另外P1角也就是單片機(jī)的左邊還有三個(gè)按鈕可實(shí)現(xiàn)時(shí)、分、秒的調(diào)時(shí)。圖上沒有顯示!下面先貼出一部分代碼來由于篇幅有限完整的代碼從 http://dl.21ic.com/download/shiz5-rar-ic-106797.html下載~

          #include

          unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,};

          unsigned char disbitcode[]={0X00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};//經(jīng)38譯碼器片選數(shù)碼管

          unsigned char disbuf[8]={0,0,0,0,0,0,0,0};//八次循環(huán)逐個(gè)片選導(dǎo)通并顯示。

          sbit OE=P2^6;

          sbit LE=P2^7;

          sbit K1=P1^0;

          sbit K2=P1^1;

          sbit K3=P1^2;

          unsigned char second;

          unsigned char minite;

          unsigned char hour;

          unsigned int tcnt;

          void delay(unsigned int N)

          {

          while(N--);

          }

          void getbuff()

          {

          disbuf[0]=second%10;

          disbuf[1]=second/10;

          disbuf[2]=10;

          disbuf[3]=minite%10;

          disbuf[4]=minite/10;

          disbuf[5]=10;

          disbuf[6]=hour%10;

          disbuf[7]=hour/10;

          }

          void display()

          {

          unsigned char i=0;

          for(i=0;i8;i++)

          {

          LE=1;

          P3=disbitcode[i]; //經(jīng)38譯碼器依次片選

          P0=dispcode[disbuf[i]]; //將相應(yīng)值送入P0口

          OE=0;

          delay(500);

          }

          }

          void key()

          {

          if(K1==0)

          {

          delay(5000);

          if(K1==0)

          {

          second++;

          if(second==60)

          {

          second=0;

          }

          while(K1==0);

          }

          }

          if(K2==0)

          {

          delay(5000);

          if(K2==0)

          {

          minite++;

          if(minite==60)

          {

          minite=0;

          }

          while(K2==0);

          }

          }

          if(K3==0)

          {

          delay(5000);

          if(K3==0)

          {

          hour++;

          if(hour==24)

          {

          hour=0;

          }

          while(K3==0);

          }

          }

          }

          void t0() interrupt 1 using 0

          {

          tcnt++;

          if(tcnt==4000)

          {

          tcnt=0;

          second++;

          if(second==60)

          {

          second=0;

          minite++;

          if(minite==60)

          {

          minite=0;

          hour++;

          if(hour==24)

          {hour=0;}

          }

          }

          }

          }

          void main()

          {

          TMOD=0x02;

          TH0=0x06;

          TL0=0x06;

          TR0=1;

          ET0=1;

          EA=1;

          second=0;

          minite=0;

          hour=0;

          tcnt=0;

          while(1)

          {

          key();

          getbuff();

          display();

          }

          }

          經(jīng)過近兩個(gè)月的努力探索,還是有一點(diǎn)小小的成就感!確實(shí)我也做出點(diǎn)東西!相對現(xiàn)在來說是簡單的事了!于是就想著做點(diǎn)復(fù)雜的有用的,唉!做起來真難!發(fā)現(xiàn)自己想做出產(chǎn)品來還差的遠(yuǎn)啊,之前所做的都應(yīng)歸為實(shí)驗(yàn)階段的東西,拿不出手的啊!現(xiàn)在開始具體的做東西時(shí)發(fā)現(xiàn)之前學(xué)的東西太虛了,在高手面前甚至根本不能說自己學(xué)過更不必說會了!

          于是我覺得學(xué)東西一定要親歷親為,不能放過一些關(guān)鍵細(xì)節(jié),想想當(dāng)有人問你你會什么技能的時(shí)候!你是否能底氣十足的說我是個(gè)高手呢!呵呵!在學(xué)技術(shù)時(shí),一定要自己狠一點(diǎn),要學(xué)的東西弄得越透徹越好!不能對自己有寬容,不能打折扣!

          事情往往是麻煩之后才會變的簡單!就像武林高手那樣無招勝有招!



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();