chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

第6章 中斷與數(shù)碼管動(dòng)態(tài)顯示(6.1 6.2)

137933yu ? 來(lái)源:137933yu ? 作者:137933yu ? 2025-12-08 17:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

中斷是單片機(jī)系統(tǒng)重點(diǎn)中的重點(diǎn),因?yàn)橛辛酥袛?,單片機(jī)就具備了快速協(xié)調(diào)多模塊工作的能力,可以完成復(fù)雜的任務(wù)。本章將首先帶領(lǐng)大家學(xué)習(xí)一些必要的C語(yǔ)言基礎(chǔ)知識(shí),然后講解數(shù)碼管動(dòng)態(tài)顯示的原理,并最終借助于中斷系統(tǒng)來(lái)完成實(shí)用的數(shù)碼管顯示程序。
6.1C語(yǔ)言的數(shù)組
6.1.1數(shù)組的基本概念
第4章已經(jīng)學(xué)過(guò)變量的基本類(lèi)型,比如char、int等等。這種類(lèi)型描述的都是單個(gè)具有特定意義的數(shù)據(jù),當(dāng)要處理?yè)碛型?lèi)意義但是卻包含很多個(gè)數(shù)據(jù)的時(shí)候,就可以用到數(shù)組了,比如數(shù)碼管的真值表,就是用一個(gè)數(shù)組來(lái)表達(dá)的。
從概念上講,數(shù)組是具有相同數(shù)據(jù)類(lèi)型的有序數(shù)據(jù)的組合,一般來(lái)講,數(shù)組定義后滿(mǎn)足以下三個(gè)條件。
1、具有相同的數(shù)據(jù)類(lèi)型;
2、具有相同的名字;
3、在存儲(chǔ)器中是被連續(xù)存放的。
比如上節(jié)課定義的數(shù)碼管真值表,如果把關(guān)鍵字code去掉,數(shù)組元素將被保存在RAM中,在程序中可讀可寫(xiě),同時(shí)也可以在中括號(hào)里邊標(biāo)明這個(gè)數(shù)組所包含的元素個(gè)數(shù),比如:
unsigned char LedChar[16] = {
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};
在這個(gè)數(shù)組中的每個(gè)值都稱(chēng)之為數(shù)組的一個(gè)元素,這些元素都具備相同的數(shù)據(jù)類(lèi)型就是unsigned char型,它們有一個(gè)共同的名字LedChar,不管放到RAM中還是FLASH中,都是存放在一塊連續(xù)的存儲(chǔ)空間里的。
有一點(diǎn)要特別注意,這個(gè)數(shù)組一共有16(中括號(hào)里面的數(shù)值)個(gè)元素,但是數(shù)組的單個(gè)元素的表達(dá)方式——下標(biāo)是從0開(kāi)始,因此實(shí)際上上邊這個(gè)數(shù)組的首個(gè)元素LedChar[0]的值是0xC0,而LedChar[15]的值是0x8E,下標(biāo)從0到15一共是16個(gè)元素。
LedChar這個(gè)數(shù)組只有一個(gè)下標(biāo),稱(chēng)之為一維數(shù)組,還有兩個(gè)下標(biāo)和多個(gè)下標(biāo)的,稱(chēng)之為二維數(shù)組和多維數(shù)組。比如unsigned char a[2][3];表示這是一個(gè)2行3列的二維數(shù)組。在大多數(shù)情況下使用的是一維數(shù)組,對(duì)于初學(xué)來(lái)說(shuō),先來(lái)研究一維數(shù)組,多維數(shù)組等遇到了再了解。
6.1.2數(shù)組的聲明
一維數(shù)組的聲明格式如下:
數(shù)據(jù)類(lèi)型 數(shù)組名 [數(shù)組長(zhǎng)度];
1、數(shù)組的數(shù)據(jù)類(lèi)型聲明的是該數(shù)組的每個(gè)元素的類(lèi)型,即一個(gè)數(shù)組中的元素具有相同的數(shù)據(jù)類(lèi)型。
2、數(shù)組名的聲明要符合C語(yǔ)言固定的標(biāo)識(shí)符的聲明要求,只能由字母、數(shù)字、下劃線(xiàn)這三種符號(hào)組成,且第一個(gè)字符只能是字母或者下劃線(xiàn)。
3、方括號(hào)中的數(shù)組長(zhǎng)度是一個(gè)常量或常量表達(dá)式,并且必須是正整數(shù)。
6.1.3數(shù)組的初始化
數(shù)組在進(jìn)行聲明的同時(shí)可以進(jìn)行初始化操作,格式如下:
數(shù)據(jù)類(lèi)型 數(shù)組名 [數(shù)組長(zhǎng)度] = {初值列表};
以上節(jié)課用的數(shù)碼管的真值表為例來(lái)講解注意事項(xiàng)。
unsigned char LedChar[16] = {
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};
1、初值列表里的數(shù)據(jù)之間要用逗號(hào)隔開(kāi);
2、初值列表里的初值的數(shù)量必須等于或小于數(shù)組長(zhǎng)度,當(dāng)小于數(shù)組長(zhǎng)度時(shí),數(shù)組的后邊沒(méi)有賦初值的元素由系統(tǒng)自動(dòng)賦值為0。
3、若給數(shù)組的所有元素都賦初值,那么可以省略數(shù)組的長(zhǎng)度。
4、系統(tǒng)為數(shù)組分配連續(xù)的存儲(chǔ)單元的時(shí)候,數(shù)組元素的相對(duì)次序由下標(biāo)來(lái)決定,就是說(shuō)LedChar[0]、LedChar[1]……LedChar[15]是按照順序緊挨著依次排下來(lái)的。
6.1.4數(shù)組的使用和賦值
在C語(yǔ)言程序中,是不能一次使用整個(gè)數(shù)組的,只能使用數(shù)組的單個(gè)元素。一個(gè)數(shù)組元素相當(dāng)于一個(gè)變量,使用數(shù)組元素的時(shí)候與使用相同數(shù)據(jù)類(lèi)型的變量的方法是一樣的。比如LedChar這個(gè)數(shù)組,如果沒(méi)加code關(guān)鍵字,那么它可讀可寫(xiě),可以寫(xiě)成a = LedChar[0]這樣來(lái)把數(shù)組的一個(gè)元素的值送個(gè)a這個(gè)變量,也可以寫(xiě)成LedChar[0] = a這樣把a(bǔ)這個(gè)變量的值送給數(shù)組中的一個(gè)元素,以下三點(diǎn)要注意:
1、引用數(shù)組的時(shí)候,那個(gè)方括號(hào)里的數(shù)字代表的是數(shù)組元素的下標(biāo),而數(shù)組初始化的時(shí)候方括號(hào)里的數(shù)字代表的是這個(gè)數(shù)組中元素的總數(shù)。
2、數(shù)組元素的方括號(hào)里的下標(biāo)可以是整型常數(shù),整型變量或者表達(dá)式,而數(shù)組初始化的時(shí)候方括號(hào)里的數(shù)字必須是常數(shù)不能是變量。
3、數(shù)組整體賦值只能在初始化的時(shí)候進(jìn)行,程序執(zhí)行代碼中只能對(duì)單個(gè)元素賦值。
6.2if語(yǔ)句
if語(yǔ)句前邊程序已用過(guò)多次,本小節(jié)系統(tǒng)的介紹一下,方便后邊的深入學(xué)習(xí)。if語(yǔ)句有兩個(gè)關(guān)鍵字:if和else,把這兩個(gè)關(guān)鍵字翻譯一下就是:“如果”和“否則”。if語(yǔ)句一共有三種格式,分別來(lái)看。
1、if語(yǔ)句的默認(rèn)形式:
if (條件表達(dá)式)
{
語(yǔ)句1;
}
其執(zhí)行過(guò)程是,if(即如果)條件表達(dá)式的值為“真”,則執(zhí)行語(yǔ)句1;如果條件表達(dá)式的值為“假”,則不執(zhí)行語(yǔ)句1。
這里要提醒一點(diǎn),C語(yǔ)言一個(gè)分號(hào)表示一條語(yǔ)句的結(jié)束,因此如果if后邊只有一條執(zhí)行語(yǔ)句的時(shí)候,可以省略大括號(hào),但是如果有多條執(zhí)行語(yǔ)句的話(huà),必須加上大括號(hào)。
那么
if (sec >= 16)
{
sec = 0;
}
當(dāng)sec的值大于或等于16的時(shí)候,括號(hào)里的值才是“真”,就執(zhí)行sec=0這一句,當(dāng)sec的值小于16時(shí),括號(hào)里就為“假”,就不執(zhí)行這一句。
2、if...else語(yǔ)句
有些情況下,除了要在括號(hào)里條件滿(mǎn)足時(shí)執(zhí)行相應(yīng)的語(yǔ)句外,在不滿(mǎn)足該條件的時(shí)候,也要執(zhí)行一些另外的語(yǔ)句,這時(shí)候就用到了if...else語(yǔ)句,它的基本語(yǔ)法形式是:
if (條件表達(dá)式)
{
語(yǔ)句1;
}
else
{
語(yǔ)句2;
}
比如上一章的最后一段程序也可以寫(xiě)成:
P0 = LedChar[sec];
if (sec >= 15)
{
sec = 0;
}
else
{
sec++;
}
這個(gè)程序可以修改后下載到單片機(jī)里驗(yàn)證一下,程序邏輯自己動(dòng)腦筋分析,注意條件表達(dá)式內(nèi)16到15的變化,想一下為什么,這里就不多解釋了。
3、if....else if語(yǔ)句
if...esle語(yǔ)句是一個(gè)二選一的語(yǔ)句,或者執(zhí)行if分支后的語(yǔ)句,或者執(zhí)行else分支后的語(yǔ)句。還有一種多選一的用法就是if...else if語(yǔ)句。他的基本語(yǔ)法格式是:
if (條件表達(dá)式1) {語(yǔ)句1;}
else if (條件表達(dá)式2) {語(yǔ)句2;}
else if (條件表達(dá)式3) {語(yǔ)句3;}
... ...
else {語(yǔ)句n;}
執(zhí)行過(guò)程是:依次判斷條件表達(dá)式的值,當(dāng)出現(xiàn)某個(gè)值為“真”時(shí),則執(zhí)行相對(duì)應(yīng)的語(yǔ)句,然后跳出整個(gè)if的語(yǔ)句塊,執(zhí)行“語(yǔ)句n”后面的程序;如果所有的表達(dá)式都為“假”,則執(zhí)行else分支的“語(yǔ)句n”后,再執(zhí)行“語(yǔ)句n”后邊的程序。
if語(yǔ)句在C語(yǔ)言編程中使用頻率很高,用法也不復(fù)雜,所以必須要熟練掌握。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)碼管
    +關(guān)注

    關(guān)注

    32

    文章

    1894

    瀏覽量

    93947
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    916

    瀏覽量

    43670
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    數(shù)碼管 選型手冊(cè)2025年最新版

    數(shù)碼管具有高亮度、多種顏色、寬視角、簡(jiǎn)單驅(qū)動(dòng)、長(zhǎng)壽命、抗震抗沖擊、節(jié)能環(huán)保和成本低等特點(diǎn)。適用于電子設(shè)備、工業(yè)控制和家用電器等領(lǐng)域的數(shù)字顯示,提供清晰、均勻的顯示效果,易于集成和控制。
    發(fā)表于 12-30 11:34 ?0次下載

    【EASY EAI Nano-TB(RV1126B)開(kāi)發(fā)板試用】+串行數(shù)碼管顯示驅(qū)動(dòng)

    在開(kāi)發(fā)板上,為用戶(hù)預(yù)留了3個(gè)GPIO引腳以便測(cè)試和使用,見(jiàn)圖1所示。 圖1預(yù)留的GPIO資源 這3個(gè)GPIO引腳的位置見(jiàn)圖2所示,用它可驅(qū)動(dòng)串行數(shù)碼管顯示模塊來(lái)實(shí)現(xiàn)顯示功能。 圖2 引腳位置 為此
    發(fā)表于 12-24 19:03

    6 中斷數(shù)碼管動(dòng)態(tài)顯示(6.5 6.6)

    6.5單片機(jī)中斷系統(tǒng) 6.5.1中斷的產(chǎn)生背景 請(qǐng)?jiān)O(shè)想這樣一個(gè)場(chǎng)景:此刻我正在廚房用煤氣燒一壺水,而燒開(kāi)一壺水剛好需要10分鐘,我是一個(gè)主體,燒水是一個(gè)目的,而且我只能時(shí)時(shí)刻刻在這里燒水,因?yàn)橐坏┧?/div>
    的頭像 發(fā)表于 12-09 17:43 ?490次閱讀
    <b class='flag-5'>第</b><b class='flag-5'>6</b><b class='flag-5'>章</b> <b class='flag-5'>中斷</b>與<b class='flag-5'>數(shù)碼管</b><b class='flag-5'>動(dòng)態(tài)顯示</b>(6.5 6.6)

    5 定時(shí)器與數(shù)碼管基礎(chǔ)(5.3)

    5-2所示。 圖5-2 數(shù)碼管原理圖 這是比較常見(jiàn)的數(shù)碼管的原理圖,Kingst51開(kāi)發(fā)板子上一共有6個(gè)數(shù)碼管。前邊有了LED小燈的學(xué)習(xí),數(shù)碼管
    的頭像 發(fā)表于 12-02 15:57 ?567次閱讀
    <b class='flag-5'>第</b>5<b class='flag-5'>章</b> 定時(shí)器與<b class='flag-5'>數(shù)碼管</b>基礎(chǔ)(5.3)

    【瑞薩RA6E2】ADC數(shù)據(jù)采集與數(shù)碼管顯示

    概述 項(xiàng)目簡(jiǎn)介 本報(bào)告基于瑞薩RA6E2評(píng)估板,實(shí)現(xiàn)了一個(gè)完整的ADC數(shù)據(jù)采集與顯示系統(tǒng)。通過(guò)板載ADC通道采集模擬信號(hào),將采集到的數(shù)字量通過(guò)動(dòng)態(tài)掃描方式在4位數(shù)碼管上實(shí)時(shí)
    發(fā)表于 11-27 00:52

    原廠(chǎng) FZH114C  一款LED(發(fā)光二極、數(shù)碼管、點(diǎn)陣屏)驅(qū)動(dòng)控制專(zhuān)用芯片

    :驅(qū)動(dòng)6數(shù)碼管,每位數(shù)碼管7段(a-g)。8段×5位:驅(qū)動(dòng)5位數(shù)碼管,每位數(shù)碼管8段(含小數(shù)點(diǎn)DP)。亮度調(diào)節(jié):段驅(qū)動(dòng)電流8級(jí)可調(diào)(建議≥
    發(fā)表于 11-19 14:43

    FZH114  LED(發(fā)光二極數(shù)碼管、點(diǎn)陣屏)驅(qū)動(dòng)控制專(zhuān)用芯片,集成數(shù)字通訊電路、 解碼電路、數(shù)據(jù)鎖存器、震蕩器

    顯示、LED點(diǎn)陣屏、機(jī)頂盒顯示等。 工業(yè)控制設(shè)備:需要多位數(shù)碼管或LED點(diǎn)陣顯示的場(chǎng)景。 注意事項(xiàng) 段驅(qū)動(dòng)電流:建議設(shè)置為2/8及以上,以確保LED正常點(diǎn)亮。 共陰設(shè)計(jì):僅適用于共陰
    發(fā)表于 11-19 11:13

    級(jí)聯(lián)動(dòng)態(tài)掃描顯示數(shù)碼管問(wèn)題

    GD32F103C8T6 硬件SPI連接移位寄存器74HC595級(jí)聯(lián),動(dòng)態(tài)掃描顯示五位數(shù)碼管 是否需要電平轉(zhuǎn)換芯片TXB0104 數(shù)碼管選擇
    發(fā)表于 10-07 20:36

    【應(yīng)用】工業(yè)現(xiàn)場(chǎng)的“智能顯示管家”:億佰特EID051-1xx系列 Modbus數(shù)碼管解析

    數(shù)碼管。億佰特新推出的EID051-1xx系列Modbus數(shù)碼管,以多種核心優(yōu)勢(shì),成為工業(yè)現(xiàn)場(chǎng)的一大助力。一.什么是Modbus數(shù)碼管?Modbus數(shù)碼管是一種通過(guò)R
    的頭像 發(fā)表于 07-17 19:34 ?514次閱讀
    【應(yīng)用】工業(yè)現(xiàn)場(chǎng)的“智能<b class='flag-5'>顯示</b>管家”:億佰特EID051-1xx系列 Modbus<b class='flag-5'>數(shù)碼管</b>解析

    新概念51單片機(jī)C語(yǔ)言教程入門(mén)、提高、開(kāi)發(fā)、拓展全攻略

    庫(kù)函數(shù)實(shí)現(xiàn)流水燈 2篇 內(nèi)外部資源操作篇 3.1 數(shù)碼管顯示原理 3.2 數(shù)碼管靜態(tài)顯示 3.3 數(shù)
    發(fā)表于 04-15 13:57

    數(shù)碼管和單片機(jī)的連接方式

    在電子技術(shù)飛速發(fā)展的今天,數(shù)碼管和單片機(jī)作為電子系統(tǒng)中的基礎(chǔ)組件,被廣泛應(yīng)用于各種電子產(chǎn)品之中。數(shù)碼管為人們提供直觀(guān)的數(shù)字顯示,而單片機(jī)則如同電子產(chǎn)品的 “大腦”,掌控著整個(gè)系統(tǒng)的運(yùn)行邏輯。深入了解
    的頭像 發(fā)表于 02-05 17:44 ?2601次閱讀

    如何利用萬(wàn)用表檢測(cè)數(shù)碼管

    數(shù)碼管,作為一種廣泛應(yīng)用于電子設(shè)備中的顯示器件,其穩(wěn)定性和可靠性對(duì)于設(shè)備的正常運(yùn)行至關(guān)重要。為了確保數(shù)碼管的質(zhì)量,使用萬(wàn)用表進(jìn)行檢測(cè)是電子工程師和維修人員的常用手段。本文將詳細(xì)介紹如何利用萬(wàn)用表檢測(cè)
    的頭像 發(fā)表于 02-05 17:39 ?3336次閱讀

    數(shù)碼管的結(jié)構(gòu)與原理

    數(shù)碼管,也被稱(chēng)作輝光或LED數(shù)碼管,是一種能夠顯示數(shù)字、字母、符號(hào)等信息的電子設(shè)備。它廣泛應(yīng)用于各種電子設(shè)備中,如計(jì)算器、電子鐘表、電子秤、數(shù)碼
    的頭像 發(fā)表于 02-05 17:32 ?5003次閱讀

    數(shù)碼管共陰和共陽(yáng)的區(qū)別

    在電子設(shè)備的眾多顯示元件中,數(shù)碼管以其簡(jiǎn)單直觀(guān)、成本低廉等特點(diǎn),廣泛應(yīng)用于各類(lèi)電子儀器儀表、數(shù)碼時(shí)鐘、電子秤等設(shè)備上,承擔(dān)著數(shù)字和簡(jiǎn)單字符的顯示任務(wù)。對(duì)于電子工程師和電子愛(ài)好者而言,深
    的頭像 發(fā)表于 02-05 17:29 ?8904次閱讀

    四位數(shù)碼管12個(gè)引腳怎么分配

    在電子顯示技術(shù)中,四位數(shù)碼管作為一種常見(jiàn)的顯示器件,廣泛應(yīng)用于各種數(shù)字顯示系統(tǒng)。其通過(guò)控制不同段(A-G)的發(fā)光二極(LED)來(lái)
    的頭像 發(fā)表于 01-30 15:00 ?6w次閱讀