首頁 > 評測 > 引腳連錯了?沒關(guān)系重映射一下就好了——Holychip HC89F003評測

引腳連錯了?沒關(guān)系重映射一下就好了——Holychip HC89F003評測

Holychip   HC89F003   8位單片機   51   MCU   
  • 作者:杰杰
  • 來源:21ic
  • [導(dǎo)讀]
  • 雖然16位單片機已經(jīng)被超低功耗的32位單片機擠壓的幾乎要消失殆盡,而8位單片機卻一直憑借輕盈小巧和價格低廉的優(yōu)勢占據(jù)市場。目前8位單片機皆根據(jù)各種各種特定應(yīng)用而推出了不同的增強型,今天給大家評測的來自Holychip(芯圣)的HC89F003則是以引腳的重映射功能著稱。雖然很多MCU均有重映射的功能,不過像HC89F003這樣絕大多數(shù)引腳皆可重映射的并不多見。

PWM3_OUTPin_P07 = (u8)0x07, //PWM3輸出端口為P07

PWM3_OUTPin_P10 = (u8)0x10, //PWM3輸出端口為P10

PWM3_OUTPin_P11 = (u8)0x11, //PWM3輸出端口為P11

PWM3_OUTPin_P20 = (u8)0x20, //PWM3輸出端口為P20

PWM3_OUTPin_P21 = (u8)0x21, //PWM3輸出端口為P21

PWM3_OUTPin_P22 = (u8)0x22, //PWM3輸出端口為P22

PWM3_OUTPin_P23 = (u8)0x23, //PWM3輸出端口為P23

PWM3_OUTPin_P24 = (u8)0x24, //PWM3輸出端口為P24

PWM3_OUTPin_P25 = (u8)0x25, //PWM3輸出端口為P25

PWM3_OUTPin_P26 = (u8)0x26, //PWM3輸出端口為P26

PWM3_OUTPin_P27 = (u8)0x27, //PWM3輸出端口為P27

這是從芯圣例程找出來的,我數(shù)了一下,一路pwm隨時在任何一個io口輸出。這就是一個重映射,不管你板子設(shè)計怎么接線,只要連接到io口,那么就能通過引腳重映射功能,實現(xiàn)你需要的功能,給設(shè)計電路帶來方便。

void main(void)

{

System_Init(); //系統(tǒng)初始化

GPIO_Init(GPIOT0,GPIO_PIN_1,GPIO_MODE_OUT_PP); //P01推挽輸出

PWM3_PinRemapConfig(PWM3_OUTPin_P01); //PWM3輸出映射P01口

PWM3_OutPutCmd(ENABLE); //輸出使能

//周期計算 = 0xff / (Fosc / PWM分頻系數(shù)) (Fosc見系統(tǒng)時鐘配置的部分)

PWM3_Init(PWM3_HIGH_VALID,PWMCK_8); //PWM3高有效,時鐘為OSC時鐘8分頻

PWM3_PeriodConfig(0xff); //PWM3周期為0xFF

PWM3_DutyCycleConfig(0x55); //PWM3的占空比設(shè)置

PWM3_Cmd(ENABLE); //PWM3使能

while(1);

}

核心函數(shù):PWM3_PinRemapConfig(PWM3_OutPin_TypeDef OutPin); //PWM3輸出管腳映射

直接調(diào)用就可以了。

補充一點:

一路pwm重映射只能有一個引腳輸出pwm,我們不可能實現(xiàn)所有的io都輸出同樣的pwm波,那豈不是逆天了嘛!!還有就是重映射也有優(yōu)先級的,這是要注意 的一點。但是我有一個想法,就是分時復(fù)用。這個時間段P00口做usart_tx功能,等發(fā)送完,我又可以輸出pwm,這樣不知道行不行,僅為筆者個人想法而已。

資料:

1):HC89F003技術(shù)資料

http://bbs.21ic.com/forum.php?mod=viewthread&tid=1856806&fromuid=1875788

2):上海芯圣電子股份有限公司

http://www.holychip.cn/kfgj/index_14.aspx?lcid=14

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項目外包 more+