日韩无码一级视频,久久久久久人妻一区精品,欧美va亚洲va日韩va,国产高清在线精品一区二区app电影,天堂影院一区二区三区四区

軟件開(kāi)發(fā)第二講 - LED閃爍(定時(shí)器、面向?qū)ο蟪绦蚪Y(jié)構(gòu))——用戶(hù)劉工程師撰稿

發(fā)布時(shí)間:2020-03-23 閱讀量:1573 來(lái)源: 我愛(ài)方案網(wǎng) 作者: 劉杰

【編者按】設(shè)計(jì)PCB,單片機(jī)語(yǔ)言,通過(guò)結(jié)構(gòu)體Hardware_Init的函數(shù)指針調(diào)用系統(tǒng)初始化函數(shù),完成GPIO的初始化,接著進(jìn)入主循環(huán),延時(shí)500ms將運(yùn)行指示燈翻轉(zhuǎn),實(shí)現(xiàn)LED閃爍功能。可應(yīng)用在實(shí)現(xiàn)交通燈、熒光棒、燈牌等產(chǎn)品,實(shí)現(xiàn)技術(shù)產(chǎn)品化。


一、工具鏈接


1、Keil c51 UV4

https://yunpan.#/surl_yrIfYYmeRFk

2、STC-ISP下載軟件

https://yunpan.#/surl_yxH4CuUUvI3

 

二、學(xué)習(xí)板獲取方式


方法1:自己設(shè)計(jì)PCB,自行打板焊接;

方法2:用作者設(shè)計(jì)的PCB,自行打板焊接。


1.png



三、程序功能


1、將通過(guò)Delay延時(shí)實(shí)現(xiàn)LED閃爍的代碼結(jié)構(gòu)調(diào)整為面向?qū)ο蠼Y(jié)構(gòu);

2、用定時(shí)器實(shí)現(xiàn)LED閃爍。

 

四、硬件部分


2.png


五、面向?qū)ο笾R(shí)


面向?qū)ο笫擒浖_(kāi)發(fā)方法,是相對(duì)于面向過(guò)程來(lái)講的。通過(guò)把數(shù)據(jù)與方法組織為一個(gè)整體來(lái)看待,從更高的層次來(lái)進(jìn)行系統(tǒng)建模,更貼近事物的自然運(yùn)行模式;


單片機(jī)C語(yǔ)言的面向?qū)ο缶幊?,是利用結(jié)構(gòu)體,將變量、指針、函數(shù)等進(jìn)行封裝,達(dá)到編程更加方便、程序可讀性更好、方便移植等目的。

 

1、結(jié)構(gòu)體

結(jié)構(gòu)體是由一系列具有相同類(lèi)型或不同類(lèi)型的數(shù)據(jù)構(gòu)成的數(shù)據(jù)集合。


常用的定義方法:

typedef struct

{

  變量;

  指針;

  函數(shù)指針;

} 結(jié)構(gòu)體名稱(chēng)_t;

 

2、指針

指針是地址,指向內(nèi)存中的變量。

常用的定義方法:數(shù)據(jù)類(lèi)型 * 指針名;


3、函數(shù)指針

函數(shù)指針是指向函數(shù)的指針變量。

常用的定義方法:返回值類(lèi)型 ( * 指針變量名) ([形參列表]);

 

六、編程說(shuō)明 - 面向?qū)ο蟪绦蚪Y(jié)構(gòu)


1、文件結(jié)構(gòu)如下:

 

3.png


main.c  -> 主函數(shù)文件,包含main函數(shù)等;

Public.c -> 公共函數(shù)文件,包含Delay延時(shí)函數(shù)等;

Sys_init -> 系統(tǒng)初始化函數(shù),包含GPIO初始化函數(shù)等;

LED.c    -> LED外設(shè)函數(shù),包含LED打開(kāi)、關(guān)閉函數(shù)等。

 

2、主函數(shù)如下:

 

 4.png

 

 

 

運(yùn)行流程:

通過(guò)結(jié)構(gòu)體Hardware_Init的函數(shù)指針調(diào)用系統(tǒng)初始化函數(shù),完成GPIO的初始化,接著進(jìn)入主循環(huán),延時(shí)500ms將運(yùn)行指示燈翻轉(zhuǎn),實(shí)現(xiàn)LED閃爍功能。

 

3、源代碼

版權(quán)需要,這部分內(nèi)容,請(qǐng)?jiān)谖⑿殴娞?hào)閱讀。

 

七、定時(shí)器


5.png


工作流程:通過(guò)寄存器配置定時(shí)器的工作模式。設(shè)定定時(shí)值。定時(shí)器啟動(dòng)后,定時(shí)器在時(shí)鐘源的驅(qū)動(dòng)下向下計(jì)數(shù),當(dāng)計(jì)數(shù)到0時(shí),中斷標(biāo)志位TF0置位,觸發(fā)定時(shí)器中斷,此時(shí)可以重新設(shè)定時(shí)值或自動(dòng)重裝定時(shí)值,重新計(jì)數(shù),周而復(fù)始。 如果定時(shí)器中斷開(kāi)啟了,CPU會(huì)停下手頭的工作,轉(zhuǎn)而去運(yùn)行定時(shí)器中斷函數(shù),中斷函數(shù)運(yùn)行完之后,CPU繼續(xù)干手頭的工作。

 

八、中斷概念

     

1、中斷存在的意義

為了提高CPU快速處理緊急事件的能力,比如按鍵中斷、定時(shí)任務(wù)、故障報(bào)警、接口通信等。


2、中斷概念

舉例:碼農(nóng)A在全神貫注的擼代碼,突然,手機(jī)鈴聲響起,追求已久的女神竟然打電話過(guò)來(lái)了,然后快速的接聽(tīng)了電話,接聽(tīng)完電話,碼農(nóng)A繼續(xù)擼代碼。

  

主循環(huán)     -> 碼農(nóng)A擼代碼

手機(jī)鈴聲   -> 中斷標(biāo)志位

接聽(tīng)電話   -> 中斷處理

中斷返回   - >碼農(nóng)A繼續(xù)擼代碼

     

 

九、編程說(shuō)明 - 定時(shí)器


1、文件結(jié)構(gòu)如下:

 6.png

 

main.c  -> 主函數(shù)文件,包含main函數(shù)等;

Public.c -> 公共函數(shù)文件,包含Delay延時(shí)函數(shù)等;

Sys_init -> 系統(tǒng)初始化函數(shù),包含GPIO初始化函數(shù)等;

LED.c    -> LED外設(shè)函數(shù),包含LED打開(kāi)、關(guān)閉函數(shù)等。

Timer0.c -> 定時(shí)器函數(shù),包含定時(shí)器初始化,中斷函數(shù)等

 

2、主函數(shù)如下:


7.png


運(yùn)行流程:


通過(guò)結(jié)構(gòu)體Hardware_Init的函數(shù)指針調(diào)用系統(tǒng)初始化函數(shù),完成GPIO與定時(shí)器0的初始化,接著進(jìn)入主循環(huán),CPU閑著。間隔一定時(shí)間進(jìn)入定時(shí)器中斷處理函數(shù),實(shí)現(xiàn)LED閃爍功能。

 

3、定時(shí)器中斷函數(shù)

版權(quán)需要,這部分內(nèi)容,請(qǐng)?jiān)谖⑿殴娞?hào)閱讀。


4、源代碼

版權(quán)需要,這部分內(nèi)容,請(qǐng)?jiān)谖⑿殴娞?hào)閱讀。

      

十、觀看視頻


地址: https://live.bilibili.com/21988510

 

別具一格的單片機(jī)實(shí)戰(zhàn)項(xiàng)目免費(fèi)教學(xué),以產(chǎn)品為導(dǎo)向,一起做項(xiàng)目的形式,加qq 1273755275拉入學(xué)習(xí)交流群。
開(kāi)源項(xiàng)目,開(kāi)發(fā)工具,技術(shù)資料以及更多原創(chuàng)技術(shù)文章,請(qǐng)關(guān)注微信公眾號(hào):硬件家園 yjjy168168168

 

作者:劉杰,在軟硬件技術(shù)上有10年的經(jīng)驗(yàn),在單片機(jī)的經(jīng)驗(yàn)更是突出,解決過(guò)多個(gè)單片機(jī)難題,可接單片機(jī)和軟件開(kāi)發(fā)等項(xiàng)目。目前在開(kāi)講單片機(jī)的教學(xué),教程會(huì)在我愛(ài)方案網(wǎng)更新,敬請(qǐng)期待!


相關(guān)資訊
探索體外除顫器中電容器的關(guān)鍵作用

除顫器的設(shè)計(jì)旨在通過(guò)向心臟施加受控的電擊,即向心肌輸送電流,以治療心律失常癥狀,并促使心臟恢復(fù)正常跳動(dòng)。在這一關(guān)鍵的救生過(guò)程中,電容器扮演著舉足輕重的角色。在今天的文章中,我們將為您詳細(xì)闡述除顫器電路的基本構(gòu)成元素,并深入分析電容器選型在除顫器系統(tǒng)設(shè)計(jì)中所起到的關(guān)鍵作用。

提高熱電偶測(cè)溫電路性能的設(shè)計(jì)小妙招

在工業(yè)生產(chǎn)過(guò)程中,溫度是需要測(cè)量和控制的重要參數(shù)之一。在溫度測(cè)量中,熱電偶的應(yīng)用極為廣泛,它具有結(jié)構(gòu)簡(jiǎn)單、制造方便、測(cè)量范圍廣、精度高、慣性小和輸出信號(hào)便于遠(yuǎn)傳等許多優(yōu)點(diǎn)。另外,由于熱電偶是一種無(wú)源傳感器,測(cè)量時(shí)不需外加電源,使用十分方便,所以常被用作測(cè)量爐子、管道內(nèi)的氣體或液體的溫度及固體的表面溫度。

你對(duì)電機(jī)驅(qū)動(dòng)的所有要求這顆芯片都能滿足

日前,拓爾微推出一顆適用于按摩椅、掃地機(jī)、吸塵器等大電流智能市場(chǎng)應(yīng)用的直流有刷馬達(dá)驅(qū)動(dòng),這可馬達(dá)驅(qū)動(dòng)峰值電流高達(dá)10A,功耗小,滿足大部分電機(jī)驅(qū)動(dòng)的所有要求。除此之外,拓爾微還有全橋驅(qū)動(dòng)、柵極驅(qū)動(dòng)、低邊驅(qū)動(dòng)、DC/DC、音頻功放、充電協(xié)議、霍爾開(kāi)關(guān)等系列產(chǎn)品可供選型,應(yīng)用在按摩椅多個(gè)關(guān)鍵部件,為客戶(hù)提供更全面的產(chǎn)品選型支持和一站式服務(wù)。

橋式電路技術(shù)特點(diǎn)與分析方案介紹

橋式電路基于基爾霍夫定律和歐姆定律的原理,通過(guò)電流和電壓的比較來(lái)確定未知元件的值

Transphorm 最新技術(shù)白皮書(shū): 常閉耗盡型 (D-Mode)與增強(qiáng)型 (E-Mode) 氮化鎵晶體管的優(yōu)勢(shì)對(duì)比

氮化鎵功率半導(dǎo)體器件的先鋒企業(yè) Transphorm說(shuō)明了如何利用其N(xiāo)ormally-Off D-Mode平臺(tái)設(shè)計(jì)充分發(fā)揮氮化鎵晶體管的優(yōu)勢(shì),而E-Mode設(shè)計(jì)卻必須在性能上做出妥協(xié)

石楼县| 德阳市| 平舆县| 团风县| 肇源县| 陕西省| 密云县| 桂平市| 卢龙县| 黄山市| 连城县| 水城县| 肃南| 汝城县| 北京市| 镇坪县| 姜堰市| 汉阴县| 吕梁市| 太和县| 阿拉善左旗| 柯坪县| 铜梁县| 陇川县| 南充市| 泰来县| 康平县| 泗阳县| 新兴县| 观塘区| 玉屏| 盐池县| 昌吉市| 桃园县| 张家口市| 晋江市| 和林格尔县| 高邑县| 瓮安县| 哈巴河县| 都匀市|