日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年08月12日(星期二)

2019年08月12日 | STM32-(17):SPI與數(shù)碼管,

發(fā)布者:chi32 來(lái)源: eefocus關(guān)鍵字:STM32  SPI  數(shù)碼管 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

數(shù)碼管

數(shù)碼管是一種應(yīng)用很普遍的顯示器件,從單片機(jī)、ARM到許多微型機(jī)控制系統(tǒng)及數(shù)字化儀器儀表中都用到數(shù)碼管作為顯示輸出。
數(shù)碼管的主要部分是七段發(fā)光_極管;數(shù)碼管分為共陰極和共陽(yáng)極兩種;為了保護(hù)各段 LED ,需外加限流電阻。有的產(chǎn)品還附帶有一個(gè)小數(shù)點(diǎn),故有人叫其為八段式發(fā)光二極管。
在這里插入圖片描述

由7個(gè)發(fā)光段的不同組合,從而實(shí)現(xiàn)十六進(jìn)制數(shù)的顯示。線面分別是共陰極和共陽(yáng)極0-9的編碼表。
在這里插入圖片描述

164來(lái)講主要是多了RCK輸出鎖存器和G允許輸出端(允許三態(tài)的存在)

在這里插入圖片描述
解釋?zhuān)荷蠄D中的smgA1-4等等都是位選端,為了增加數(shù)碼管的亮度,這里增加了三極管起到放大電流的作用,以smgA4為例,當(dāng)這里輸出一個(gè)低電平,三極管導(dǎo)通,對(duì)應(yīng)的數(shù)碼管就能通電工作。(這里能看出數(shù)碼管是共陽(yáng)的連接方式),這里一共用到的引腳數(shù)9個(gè)(U14 中的 9/11/12/13/14+smgA1-A4一共是9個(gè)引腳),比原來(lái)的12個(gè)節(jié)省了3個(gè)引腳(原來(lái)12個(gè)是指U15的引腳 8+4)。

硬件電路引腳連接

1.首先看smgA1-A4,在核心板原理圖的底板排針圖中找
在這里插入圖片描述
2.然后在核心板原理圖的CPU部分查找:由上圖可知smgA1-A4,對(duì)應(yīng)名稱(chēng)分別是 PC8/SPI2_MOSI/PC9/PE8
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

由結(jié)果可知,A1-A4分別對(duì)應(yīng)連接核心板上的 65、54、66、39引腳。(我們可以看到很多的端口是復(fù)用的)
3.繼續(xù)找595_nCS、SCK0、MOSI0、MISO0、RCK 對(duì)應(yīng)引腳。

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
由結(jié)果可知,595nCS、RCK、SCK0、MISO0、MOSI0 分別對(duì)應(yīng)連接核心板上的 23、24、30、31、32引腳。

實(shí)驗(yàn)1:驅(qū)動(dòng)第一個(gè)數(shù)碼管顯示0(軟件模擬)

綜合上面的分析,我們可以把需要用的引腳與CPU的連接關(guān)系列出來(lái):
smgA1—PC8:0 導(dǎo)通
RCK—PA1
SCK0—SPI1SCK—PA5
MISO0—PA6
MOSI0—PA7
595_nCS—PA0

/*Include---------------------------*/

#include"stm32f10x_lib.h" //包含所有的頭文件

#include


//----------------函數(shù)聲明--------------------

void Delay_MS(u16 dly);

void RCC_Configuration(void);

void GPIO_Configuration(void);

void USART3_Configuration(void);



/*******************************************************************************

* Function Name  : main

* Description    : Main program.

* Input          : None

* Output         : None

* Return         : None

*******************************************************************************/ 

int main(void)

{

u8 i,data;

#ifdef DEBUG

debug();

#endif


//------------初始化------------

RCC_Configuration();

GPIO_Configuration();


  //------------數(shù)碼管的控制------------

//smgA1---PC8: 0  //RCK--PA1  //SCK--PA5 //MISO0---PA6   //MOSI0---PA7 //595_nCS----PA0

//1、smgA1 PC8=0  595_nCS=0,

GPIO_ResetBits(GPIOC, GPIO_Pin_8);

GPIO_ResetBits(GPIOA, GPIO_Pin_0);

//2、SCK0 上升沿  MOSI0 數(shù)據(jù)輸入   完成這個(gè)數(shù)據(jù)的通信 00100100

data=0x24;

for(i=0;i<8;i++)

{

GPIO_ResetBits(GPIOA, GPIO_Pin_5);   //pa5=0

    

if((data&0x01)==0x00)

GPIO_ResetBits(GPIOA, GPIO_Pin_7); 

else

GPIO_SetBits(GPIOA, GPIO_Pin_7);   


GPIO_SetBits(GPIOA, GPIO_Pin_5);  //pa5=1

data>>=1;

}


//3、RCK上升沿進(jìn)行鎖存

GPIO_ResetBits(GPIOA, GPIO_Pin_1);

Delay_MS(2);

GPIO_SetBits(GPIOA, GPIO_Pin_1);

}


/*******************************************************************************

* Function Name  : Delay_Ms

* Description    : delay 1 ms.

* Input          : dly (ms)

* Output         : None

* Return         : None

*******************************************************************************/

void Delay_MS(u16 dly)

{

u16 i,j;

for(i=0;i for(j=1000;j>0;j--);

}


/*******************************************************************************

* Function Name  : RCC_Configuration

* Description    : Configures the different system clocks.

* Input          : None

* Output         : None

* Return         : None

*******************************************************************************/

void RCC_Configuration(void)

{

//----------使用外部RC晶振-----------

RCC_DeInit(); //初始化為缺省值

RCC_HSEConfig(RCC_HSE_ON); //使能外部的高速時(shí)鐘 

while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET); //等待外部高速時(shí)鐘使能就緒

FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //Enable Prefetch Buffer

FLASH_SetLatency(FLASH_Latency_2); //Flash 2 wait state

RCC_HCLKConfig(RCC_SYSCLK_Div1); //HCLK = SYSCLK

RCC_PCLK2Config(RCC_HCLK_Div1); //PCLK2 =  HCLK

RCC_PCLK1Config(RCC_HCLK_Div2); //PCLK1 = HCLK/2

RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9); //PLLCLK = 8MHZ * 9 =72MHZ

RCC_PLLCmd(ENABLE); //Enable PLLCLK


while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); //Wait till PLLCLK is ready

    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //Select PLL as system clock

while(RCC_GetSYSCLKSource()!=0x08); //Wait till PLL is used as system clock source

//---------打開(kāi)相應(yīng)外設(shè)時(shí)鐘--------------------

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO,ENABLE); //使能APB2外設(shè)的GPIOA的時(shí)鐘  

RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);

//開(kāi)啟時(shí)鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOC,ENABLE);

}


/*******************************************************************************

* Function Name  : GPIO_Configuration

* Description    : 初始化GPIO外設(shè)

* Input          : None

* Output         : None

* Return         : None

*******************************************************************************/

void GPIO_Configuration(void)

{


//smgA1---PC8: 0 //RCK--PA1 //SCK0---I1SCK--PA5  //、、MISO0---PA6 //MOSI0---PA7 //595_nCS----PA0

GPIO_InitTypeDef GPIO_InitStructure; //聲明一個(gè)結(jié)構(gòu)體變量


GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_5 | GPIO_Pin_7; //選擇PA.0、PA.1、PA.5、PA.7(輸出)

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管腳頻率為50MHZ

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //輸出模式為推挽輸出

GPIO_Init(GPIOA,&GPIO_InitStructure); //初始化PB5

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //選擇PA.6(輸入)

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管腳頻率為50MHZ

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空輸入

GPIO_Init(GPIOA,&GPIO_InitStructure); //初始化PB5


GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //選擇PC.8(輸出)

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管腳頻率為50MHZ

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //輸出模式為推挽輸出

GPIO_Init(GPIOC,&GPIO_InitStructure); //初始化PB5


void USART3_Configuration(void)

{

USART_InitTypeDef  U3;

U3.USART_BaudRate =9600;

U3.USART_WordLength = USART_WordLength_8b;

U3.USART_StopBits = USART_StopBits_1;

U3.USART_Parity = USART_Parity_No;

U3.USART_Mode = USART_Mode_Rx|USART_Mode_Tx;

U3.USART_HardwareFlowControl = USART_HardwareFlowControl_None; 


USART_Init(USART3, &U3);


USART_Cmd(USART3,ENABLE);

}

在這里插入圖片描述

關(guān)鍵字:STM32  SPI  數(shù)碼管 引用地址:STM32-(17):SPI與數(shù)碼管,

上一篇:STM32-(16):Systick 系統(tǒng)時(shí)鐘
下一篇:STM32-(18):SPI與數(shù)碼管(SPI)

推薦閱讀

? ??Google已經(jīng)正式發(fā)布安卓9.0,接下來(lái)就看各家手機(jī)廠商的跟進(jìn)速度了,升級(jí)機(jī)型名單也會(huì)在近期陸續(xù)曝光或者公布?! TC今天就宣布了旗下可升級(jí)到安卓9.0的機(jī)型清單,意外的是僅僅只有四款,分別是:  - HTC U12+  - HTC U11  - HTC U11+  - HTC U11 Life (Android One)  具體的升級(jí)時(shí)間表將在稍后公布。  盡管HTC強(qiáng)調(diào)和大...
2019年作為5G商用元年,標(biāo)志著5G正式開(kāi)始進(jìn)入人們的生活。在5G的滾滾洪流中,我們可以看到很多終端設(shè)備品牌紛紛發(fā)布或者展示自己5G產(chǎn)品。在剛剛結(jié)束不久的2019 Chinajoy展會(huì)上,多款5G手機(jī)紛紛亮相,它們幾乎全部搭載了高通驍龍X50 5G基帶。同時(shí),還有幾款高通驍龍平臺(tái)的5G筆記本在展會(huì)亮相,給人帶來(lái)耳目一新的感覺(jué),這些搭載高通驍龍5G基帶的全互聯(lián)5G筆...
近年來(lái),伴隨著民用無(wú)人機(jī)的快速發(fā)展,以及5G商用的逐漸深化,無(wú)人機(jī)與5G的關(guān)系愈發(fā)密切。人們普遍認(rèn)為,無(wú)人機(jī)是5G商用落地的首選之一,因?yàn)?G不僅能通過(guò)功能升級(jí)解鎖無(wú)人機(jī)更多應(yīng)用場(chǎng)景,而且還能強(qiáng)化無(wú)人機(jī)的網(wǎng)絡(luò)安全和管理,加速其市場(chǎng)轉(zhuǎn)型,可謂價(jià)值滿滿。但其實(shí),除了5G對(duì)于無(wú)人機(jī)的推動(dòng)外,無(wú)人機(jī)對(duì)5G的作用也不小,比如在5G基站運(yùn)維上,無(wú)人機(jī)就能...
各大廠商爭(zhēng)相布局,焊接機(jī)器人起勢(shì)在即經(jīng)歷了2019年的“寒冬”,2020年疫情刺激下機(jī)器換人需求激增,進(jìn)入到2021年,工業(yè)機(jī)器人又重新煥發(fā)了生機(jī)與活力,尤其在焊接機(jī)器人領(lǐng)域,國(guó)產(chǎn)焊接機(jī)器人廠商紛紛摩拳擦掌,一場(chǎng)焊接機(jī)器人國(guó)產(chǎn)替代的“暗戰(zhàn)”已經(jīng)悄悄打響。近日,焊接設(shè)備龍頭企業(yè)佳士科技發(fā)布公告稱(chēng),公司以自有資金1億元投資設(shè)立全資子公司惠州市億...

史海拾趣

問(wèn)答坊 | AI 解惑

初學(xué)單片機(jī)選那種好??!51 PIC AVR?

初學(xué)單片機(jī)選那種好??!51 PIC AVR?…

查看全部問(wèn)答∨

CP2200網(wǎng)絡(luò)接口電路圖

CP2200網(wǎng)絡(luò)接口電路圖 …

查看全部問(wèn)答∨

請(qǐng)教下大蝦預(yù)定義后邊的數(shù)代表什么

0x06   0x04    ........這些數(shù)代表寄存器的地址嗎?還是代表的數(shù)字? 但#define SLIDE_LENGTH  4中的4代表什么? // X5045 related constant//相關(guān)數(shù)據(jù) #define WREN  0x06 #define WRDI &nbs ...…

查看全部問(wèn)答∨

axd 調(diào)試 時(shí) 怎么察看變量的值

44b0 我想察看rPDATC的值 可是提示我 name no found…

查看全部問(wèn)答∨

科普一下哈!

科普一下哈??!——大功率LED器件介紹 [ 本帖最后由 雪山飛狐 于 2010-5-20 18:03 編輯 ]…

查看全部問(wèn)答∨

物聯(lián)網(wǎng)在汽車(chē)上的應(yīng)用------帶3G手機(jī)號(hào)的凱迪拉克汽車(chē)

在通用汽車(chē)新出廠的凱迪拉克汽車(chē)上,均已安裝了名為“安吉星”的車(chē)載安全信息服務(wù)系統(tǒng)。系統(tǒng)工作依托3G網(wǎng)絡(luò),每輛汽車(chē)都擁有獨(dú)立的189 3G號(hào)碼。在工博會(huì)電信展區(qū),我們看到了這輛“3G汽車(chē)”。   據(jù)介紹,與其他汽車(chē)不同,3G汽車(chē)后視鏡有三個(gè)按鈕 ...…

查看全部問(wèn)答∨

問(wèn)一下大家,有沒(méi)有熟悉工控機(jī)的?

我需要做個(gè)程序,是工控機(jī)內(nèi)的JAVA WEB開(kāi)發(fā),需要做到是網(wǎng)站上點(diǎn)擊一個(gè)按鈕就撥出電話,再點(diǎn)另一個(gè)掛機(jī)按鈕自動(dòng)掛斷,并且能知道打了多少分鐘,打得電話號(hào)碼多少這些資料的,誰(shuí)能提供一點(diǎn)幫助,謝謝…

查看全部問(wèn)答∨

ARM9開(kāi)發(fā)板 WINCE5.0+QQ

我在網(wǎng)上找了很多版本的移動(dòng)QQ都無(wú)法安裝到我的開(kāi)發(fā)板上,基本上是出現(xiàn)下面的錯(cuò)誤! 有大蝦指點(diǎn)一下嗎? 我用過(guò)“WINCE CAB MANAGER”打過(guò).cab文件再放入WinCE系統(tǒng)內(nèi)安裝,基本上都是提示錯(cuò)誤! “Cannot find \'qq\'(or one of its components) ...…

查看全部問(wèn)答∨

求一簡(jiǎn)單程序,高手快來(lái)幫忙~

P1.0 作為輸入  P1.1 作為輸出 一直檢測(cè)P1.0端,當(dāng)出現(xiàn)低電平時(shí) 延時(shí)100MS ,再測(cè)P1.0,如果還是低電平,則在P1.1端輸出一個(gè)脈沖后返回循環(huán)起點(diǎn),反之則返回循環(huán)起點(diǎn) 我是新手,希望前輩們能幫我寫(xiě)下!~~ 有急用 謝謝~ …

查看全部問(wèn)答∨

互聯(lián)型產(chǎn)品能通過(guò)以太網(wǎng)更新固件嗎

                                 stm32產(chǎn)品線支持IAP功能,手冊(cè)上講可以通過(guò)任何通訊協(xié)議來(lái)更新程序。那互聯(lián)型產(chǎn)品能不能通過(guò)以太網(wǎng)遠(yuǎn)程來(lái)更新程序 ...…

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車(chē)開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved