




全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
#include STM32Libstm32f10x.h#include hal.h/* Function Name : GPIO_Configuration* 設(shè)置PD3,PD4,PD5,PD6為鍵盤(pán)輸入* 設(shè)置PB0,5,8,9; PC5,7; PD7 ;PA8 為輸出LED燈*/void GPIO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;/*允許總線CLOCK,在使用GPIO之前必須允許相應(yīng)端的時(shí)鐘.從STM32的設(shè)計(jì)角度上說(shuō),沒(méi)被允許的端將不接入時(shí)鐘,也就不會(huì)耗能,這是STM32節(jié)能的一種技巧,*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);/* PC8按鍵輸入*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;/上拉輸入GPIO_Init(GPIOC, &GPIO_InitStructure);/* PC9按鍵輸入*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;/上拉輸入GPIO_Init(GPIOC, &GPIO_InitStructure);hal.h#ifndef HAL_H#define HAL_H/硬件初始化extern void ChipHalInit(void);extern void ChipOutHalInit(void);/輸入宏定義#define GET_LEFT()(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_8)#define GET_RIGHT()(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_9)extern void USART1_Putc(u8 c);extern void USART_Configuration(void);extern void USART1_Puts(char * str);#endifTIM.c#include STM32Libstm32f10x.hvoid Tim1_Configuration(void)TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;GPIO_InitTypeDef GPIO_InitStructure;/* PA8設(shè)置為功能腳(PWM) */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);TIM_DeInit(TIM1);/*TIM1時(shí)鐘配置*/TIM_TimeBaseStructure.TIM_Prescaler = 72;/預(yù)分頻(時(shí)鐘分頻)72M/72=1000KTIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;/向上計(jì)數(shù)TIM_TimeBaseStructure.TIM_Period = 2000;/裝載值 1000k/2000=500hzTIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0;TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);/* Channel 1 Configuration in PWM mode */TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; /PWM模式2TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; /正向通道有效TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;/反向通道無(wú)效TIM_OCInitStructure.TIM_Pulse = 300; /占空時(shí)間TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; /輸出極性TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High; /互補(bǔ)端的極性TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;TIM_OC1Init(TIM1,&TIM_OCInitStructure); /通道1/* TIM1 counter enable */TIM_Cmd(TIM1,ENABLE);/* TIM1 Main Output Enable */TIM_CtrlPWMOutputs(TIM1,ENABLE);/設(shè)置捕獲寄存器1void SetT1Pwm1(u16 pulse)TIM1-CCR1=pulse;main.c/*實(shí)驗(yàn)名稱(chēng):PWM*功能:是PA8產(chǎn)生PWM輸出,按鍵調(diào)節(jié)占空比*/#include STM32Libstm32f10x.h#include hal.h#define SIZE 0u8 table11=0123456789 ;char buffer10=0000000000;void Delay(u16 n);void d_2_char(u32 x)bufferSIZE+0=tablex%10000000000/100000;bufferSIZE+1=tablex%1000000000/100000;bufferSIZE+2=tablex%100000000/100000;bufferSIZE+3=tablex%10000000/10000;bufferSIZE+4=tablex%1000000/10000;bufferSIZE+5=tablex%100000/10000;bufferSIZE+6=tablex%10000/1000;bufferSIZE+7=tablex%1000/100;bufferSIZE+8=tablex%100/10;bufferSIZE+9=tablex%10;/延遲函數(shù)void Delay(u16 speed)u16 i;while(speed!=0)speed-;for(i=0;i400;i+);extern void SetT1Pwm1(u16 pulse);int main(void)u16 pulse=300;ChipHalInit();/片內(nèi)硬件初始化ChipOutHalInit();/片外硬件初始化for(;)if(GET_LEFT()=0)while(GET_LEFT()=0);if(pulse=2000)pulse+=30;/SetT1Pwm1(pulse);elsepulse=300; d_2_char(pulse);USAR
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 咨詢(xún)居間協(xié)議書(shū)范本
- 品牌授權(quán)場(chǎng)景詳盡主播代言合作協(xié)議
- 戰(zhàn)略合作協(xié)議書(shū)糧油范本
- 高端酒店廚師團(tuán)隊(duì)聘用與職業(yè)培訓(xùn)協(xié)議
- 夜間出租車(chē)營(yíng)運(yùn)承包合作協(xié)議
- 常州二手房租賃合同書(shū)(含交易稅費(fèi))
- 項(xiàng)目收回協(xié)議書(shū)范本
- 住宅小區(qū)配套教育設(shè)施拆遷協(xié)議書(shū)
- 防水材料員專(zhuān)項(xiàng)聘用合同
- 防災(zāi)設(shè)備采購(gòu)委托代理服務(wù)合同模板
- 學(xué)校外來(lái)人員登記制度
- 應(yīng)急物資中轉(zhuǎn)站項(xiàng)目可行性研究報(bào)告(模板范文)
- 2025年初級(jí)等保測(cè)評(píng)試題及答案
- 薄壁空心墩施工方案
- 多重耐藥菌醫(yī)院感染預(yù)防與控制技術(shù)指南(試行)
- 教師如何使用AI開(kāi)展教學(xué)DeepSeek使用指南人工智能 課件
- 油氣田地面工程詳解
- 地面注漿施工方案
- 《股骨粗隆間骨折》課件
- 深圳“20+8”之生物醫(yī)藥產(chǎn)業(yè)-前景機(jī)遇與技術(shù)趨勢(shì)探析報(bào)告-前瞻產(chǎn)業(yè)研究院
- 2025年江蘇省安全員《A證》考試題庫(kù)及答案
評(píng)論
0/150
提交評(píng)論