電子方案開(kāi)發(fā)供應(yīng)鏈平臺(tái)
移動(dòng)端
方案網(wǎng)小程序
方案網(wǎng)手機(jī)端
加小編微信入群
發(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、將通過(guò)Delay延時(shí)實(shí)現(xiàn)LED閃爍的代碼結(jié)構(gòu)調(diào)整為面向?qū)ο蠼Y(jié)構(gòu);
2、用定時(shí)器實(shí)現(xiàn)LED閃爍。
四、硬件部分
五、面向?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)如下:
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ù)如下:
運(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í)器
工作流程:通過(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)如下:
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ù)如下:
運(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)期待!
除顫器的設(shè)計(jì)旨在通過(guò)向心臟施加受控的電擊,即向心肌輸送電流,以治療心律失常癥狀,并促使心臟恢復(fù)正常跳動(dòng)。在這一關(guān)鍵的救生過(guò)程中,電容器扮演著舉足輕重的角色。在今天的文章中,我們將為您詳細(xì)闡述除顫器電路的基本構(gòu)成元素,并深入分析電容器選型在除顫器系統(tǒng)設(shè)計(jì)中所起到的關(guān)鍵作用。
在工業(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)的氣體或液體的溫度及固體的表面溫度。
日前,拓爾微推出一顆適用于按摩椅、掃地機(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ù)。
橋式電路基于基爾霍夫定律和歐姆定律的原理,通過(guò)電流和電壓的比較來(lái)確定未知元件的值
氮化鎵功率半導(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é)