娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

中斷與數碼管動態顯示

發布者:Meshulun最新更新時間:2024-08-22 來源: cnblogs關鍵字:中斷  數碼管  動態顯示 手機看文章 掃描二維碼
隨時隨地手機看文章

數組基本概念:

  1、具有相同的數據類型

  2、具有相同的名字

  3、在存儲器中的存儲是連續的

注意:區分數組下標和數組元素個數的概念,數組下標可以是常量或變量,數組賦值只能在初始化進行,程序只能進行單個元素賦值。

switch()

{

  case 常量表達式1: 語句1;break;

  default 常量表達式2:語句2;break;

}

switch 與if 的區別是,switch的每條語句都會執行,而 if 有一條符合,則跳過。

動態顯示:

  多個數碼管顯示數字的時候,我們實際上是輪流點亮數碼管,利用人眼的視覺暫留現象(余暉效應)。

假如有6個數碼管,就有6個切換周期。10ms要重復刷新一個數碼管,才能讓人眼保持余暉效應。

在編寫程序,可以畫個流程圖,幫助編程。

 

#include

sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

unsigned char code LedChar[]={
 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
 };
unsigned char LedBuff[6]={
 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
 };

void main()
{
 unsigned int cnt = 0;
 unsigned long sec = 0;
 unsigned char i = 0;

 ENLED = 0;
 ADDR3 = 1;
 TMOD = 0x01;
 TH0 = 0xFC;
 TL0 = 0x67;
 TR0 = 1;

 while(1)
 {
  if(TF0 ==1)
  {
   TF0 = 0;
   TH0 = 0xFC;
   TL0 = 0x67;
   cnt++;
   if(cnt >= 1000)  
   {
    cnt = 0;
    sec++;
    LedBuff[0] = LedChar[sec%10];
    LedBuff[1] = LedChar[sec/10%10];
    LedBuff[2] = LedChar[sec/100%10];
    LedBuff[3] = LedChar[sec/1000%10];
    LedBuff[4] = LedChar[sec/10000%10];
    LedBuff[5] = LedChar[sec/100000%10];
   }

   if(i == 0)
   {ADDR2=0; ADDR1=0; ADDR0=0; i++; P0=LedBuff[0];}
   else if(i == 1)
   {ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=LedBuff[1];}
   else if(i == 2)
   {ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=LedBuff[2];}
   else if(i == 3)
   {ADDR2=0; ADDR1=1; ADDR0=1; i++; P0=LedBuff[3];}
   else if(i == 4)
   {ADDR2=1; ADDR1=0; ADDR0=0; i++; P0=LedBuff[4];}
   else if(i == 5)
   {ADDR2=1; ADDR1=0; ADDR0=1; i=0; P0=LedBuff[5];}

  }
 }
}

    }

}

  

}

 


關鍵字:中斷  數碼管  動態顯示 引用地址:中斷與數碼管動態顯示

上一篇:定時器與數碼管
下一篇:變量進階與LED矩陣

推薦閱讀最新更新時間:2025-05-13 05:53

單片機小白學習之路(七)---數碼管動態顯示
上篇講到了用74LS138來控制數碼管的位選,那是怎么選的呢?我們先來看看這個譯碼器的說明書 74LS138 /Y0--/Y7是數據輸出 A0--A2是數據輸入 /E1,/E2,E3是使能控制,/E1和/E2是低電平有效,E3是高電平有效 VDD是接電源;GND接地 最重要的是真值表了,來解釋其運行方式 /E1和/E2是低電平有效,E3是高電平有效,只要其中一個不滿足條件則/Y0--/Y7全部輸出高電平,我們是共陰式數碼管那么不會亮 從第四行開始都滿足了,這時候就可以看看A0--A2了,順序是A2- A1-A0,其從上往下依次是000,001,010,011,100,101,110,111.這樣看出
[單片機]
基于單片機的數碼管動態顯示器的設計方案
1.前言 數碼管靜態顯示系統需要占用過多的單片機口線,但是可以保證正常的亮度。為了解決占用口線較多而浪費硬件資源等問題,研究人員開發了一系列諸如74HC595的數碼管驅動芯片,該類芯片可以實現串行轉并行的工作方式,驅動數碼管實現靜態和動態顯示。但是,這樣一種工作方式暴露出控制系統實時性不足等問題,在某些對系統響應時間要求比較高的場合的應用產生了一定的限制。為了解決上述幾個弊端,本文提出了一種基于單片機的數碼管動態顯示器的設計方案,以IAP15F2K61S2系列單片機做控制核心,并采用全新的軟硬件電路實現數碼管的動態顯示。 2.控制系統硬件設計 2.1 顯示器外觀設計 本顯示器采用六個共陽極的數碼管,按照通常的做法,六個數碼管水平排
[電源管理]
基于單片機的<font color='red'>數碼管</font><font color='red'>動態顯示</font>器的設計方案
一種基于51單片機利用74HC595驅動數碼管的技術
基于51單片機利用八個數碼管花樣顯示如下: xxx11xxx→xx2222xx→x333333x→44444444→x555555x→xx6666xx→x777777x→88888888 每個狀態各一秒,顯示反復循環,其中x表示對應的數碼管熄滅 問題補充:是共陽極的數碼管,利用595芯片驅動的。采用C語言。 =================================================== 最佳答案:程序設計完畢,采用PROTEUS仿真截圖如下。 程序如下: //============================================= #include #define uint uns
[單片機]
一種基于51單片機利用74HC595驅動<font color='red'>數碼管</font>的技術
51單片機利用74HC595驅動數碼管
基于51單片機利用八個數碼管花樣顯示如下: xxx11xxx→xx2222xx→x333333x→44444444→x555555x→xx6666xx→x777777x→88888888 每個狀態各一秒,顯示反復循環,其中x表示對應的數碼管熄滅 問題補充:是共陽極的數碼管,利用595芯片驅動的。采用C語言。 =================================================== 最佳答案:程序設計完畢,采用PROTEUS仿真截圖如下。 程序如下: //============================================= #include reg52.h #define u
[單片機]
51單片機利用74HC595驅動<font color='red'>數碼管</font>
電子小制作單片機最小系統_按鍵控制數碼管顯示
單片機最小系統_按鍵控制數碼管顯示,這個項目,主要學習單片機的鍵盤工作原理與顯示方面的知識,電子小制作的好課題。鍵盤電路作為單片機的輸入部分,數碼顯示電路作為單片機的輸出部分,由鍵盤電路通過單片機控制數碼管顯示電路的八路鍵控數碼管電路。按下S0到S7號按鍵時,數碼管顯示立刻顯示數字0到7。 電子制作 的好課題下面是單片機最小系統_按鍵控制數碼管顯示原理圖,實作時,按原理圖焊好電路,單片機中寫入程序。 ORG 0000H ;隨后的指令代碼從0000H單元開始存放。 LJMP START ;轉到標號START處 ORG 0030H ;隨后的指令代碼從0030H單元開始存放。 START:MOV P0
[單片機]
電子小制作單片機最小系統_按鍵控制<font color='red'>數碼管</font>顯示
用Proteus學習51單片機之數碼管
今天學的是數碼管和鎖存器的使用。用鎖存器的目的,是為了減小IO口的使用,本來至少得用15根IO口的,用了鎖存器后,只需要用10根IO口,若是繼續增加數碼管,IO口的增加也是一根根增加了。 鎖存器的作用,是把當然IO口的狀態保存下來,具體由鎖存器的LE腳控制,當LE腳為高電平時,鎖存器的輸出和輸入一樣,若LE腳為低電平時,則把LE腳電平改變前的輸入腳的狀態保存下來作為輸出,此時不管輸入怎么變,它的輸出也不會變了。這樣,就做到了單片機的1組輸出腳,可以控制多個設備的目的。 原理圖請見上圖,在圖中,可以看到導線很少,這是因為要連接的導線很多,如果直接用導線連接的話,會導致整個設計圖亂成一片,根本看不清楚,所以,這里使用標號來連接
[單片機]
用Proteus學習51單片機之<font color='red'>數碼管</font>
數碼管動態掃描三種實現方法
本程序所用的原理圖下載: 點這里 ,單片機芯片使用的stc89c51;找到數碼管部分的原理圖即可.這是一整個單片機開發板的電路圖其他的忽略. 以下是3個程序的源碼: /**********利用定時器定時50毫秒動態掃描數碼管***********/ /** *功能:定時器T1實現數碼管動態掃瞄123456(if) *作者:徐冉 *日期:2013-06-12-22:10 *備注:不同的方法實現顯示設備的動態掃描,節約能耗 **/ /****************AT89C52-RC MCU*************/ /****************51hei開發板*************/ #include reg52.h
[單片機]
LED數碼管檢測裝置
LED數碼管是一種顯示數字和符號的半導體發光器件,在數字化儀表儀器和電氣設備中已廣泛使用。 LED是由發光二極管的段碼構成的,最常用的是七段LED,其內部有8個發光二極管,由7個發光二極管構成一個 8 字,各段的代號分別為a,b、c、d、e、f,g,另一個發光二極管在數字右下方為小數點.代號是dp。LED能顯示0-9中的任一數字和小數點,外形見圖1。這種數碼管內部結構有共陰極和共陽極兩種接法。 圖2為共陰極接法,當某個發光管的陽極為高電平時將其點亮。圖3為共陽極接法.當某個發光管的陰極為低電平時將其點亮。引腳③和⑧(在內部已連通)是電源腳,共陰極接法時需接電源 端,共陽極接法時需接電源 十 端。 可用一個檢測裝置(電路見圖4),對
[測試測量]
LED<font color='red'>數碼管</font>檢測裝置
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 井陉县| 汪清县| 民乐县| 新昌县| 化德县| 盐边县| 灵璧县| 南郑县| 泊头市| 尚志市| 五台县| 三明市| 江津市| 元谋县| 安宁市| 南陵县| 永丰县| 福鼎市| 师宗县| 宣武区| 乡宁县| 宿迁市| 星子县| 东乡县| 呼玛县| 沂南县| 昭通市| 台南市| 会宁县| 西林县| 齐河县| 北安市| 宜川县| 广东省| 呼和浩特市| 新疆| 湄潭县| 社旗县| 凉山| 武平县| 武陟县|