久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4284|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

關(guān)于8系PWM輸出設(shè)置 STC8H1K08單片機(jī)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
選用的單片機(jī)芯片8H1K08,只有定時(shí)器0,1,2 。 用了兩路串口分別是57600,9600.一個接屏幕,一個接讀卡器。占用兩個定時(shí)器,最后一個定時(shí)器用了計(jì)時(shí)和別的功能,現(xiàn)在還需要一路IO口輸出PWM功能,周期100us ,10us~20us可調(diào),只能用硬件了。對著例程弄了一天了。沒輸出。IO我已經(jīng)切換了,下面是我改的。還有時(shí)鐘也沒弄好。
void TxPulse()
{
    P_SW2 = 0x80;
    PWMA_CCER2 = 0x00;                          //寫CCMRx前必須先清零CCERx關(guān)閉通道
    PWMA_CCMR4 = 0x60;                          //設(shè)置CC為PWMA輸出模式
    PWMA_CCER2 = 0x10;                          //使能CC通道
    PWMA_CCR4 = 100;                            //設(shè)置占空比時(shí)間
    PWMA_ARR = 500;                             //設(shè)置周期時(shí)間
    PWMA_ENO = 0x80;                            //使能PWM4N端口輸出
    PWMA_BKR = 0x80;                            //使能主輸出
    PWMA_CR1 = 0x01;                            //開始計(jì)時(shí)

}



用的是PWM4N_2   P3.3

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

13#
ID:645889 發(fā)表于 2023-8-5 08:31 | 只看該作者
劉佑紅 發(fā)表于 2023-7-18 11:45
STC8H單片機(jī)PWM的寄存器太多,且有些寄存器的功能看著比較相似,手冊介紹的也不太清楚,難以區(qū)別,設(shè) ...

說得很詳細(xì),剛好有個項(xiàng)目要用,參考下,謝謝
回復(fù)

使用道具 舉報(bào)

12#
ID:427868 發(fā)表于 2023-7-18 11:45 | 只看該作者
     STC8H單片機(jī)PWM的寄存器太多,且有些寄存器的功能看著比較相似,手冊介紹的也不太清楚,難以區(qū)別,設(shè)置起來非常困難,我前前后后閱讀器多次并反復(fù)設(shè)置測試,PWM才正常,但其捕捉功能我現(xiàn)在還沒明白。
       樓主的PWM沒有輸出,我在STC8H1K164N已輸出正常,頻率和占空比按照預(yù)設(shè)要求輸出,經(jīng)對比發(fā)現(xiàn)對寄存器的設(shè)置有以下不同:





1. PWMA_CCMR4。 樓主設(shè)置 0x60=0110 0000,我設(shè)置的是0x68=0110 1000,我與樓主相比是多開啟了占空比數(shù)值預(yù)裝載功能。官方的例程僅是輸出PWM測試,不改變占空比CCR和計(jì)數(shù)周期ARR的數(shù)值,所以官方例程沒有開啟占空比和計(jì)數(shù)周期預(yù)裝載功能,在實(shí)際應(yīng)用時(shí)大都需要是是調(diào)整占空比和頻率,更改預(yù)裝載值,故大多數(shù)情況下是開啟。
2. PWMA_CCER2。樓主設(shè)置0x10=0001 0000,使B4位的CC4E=1,開啟的是4P比較功能,我設(shè)置的是0x40=0100 0000,使B6位的CC4NE=1,開啟的是4N比較功能。
我們開啟的是4N功能,故PWMA_CCER2應(yīng)該設(shè)置為0x40才行。
3.樓主沒有設(shè)置PWMA_PS,即PWMA_PS是復(fù)位值0x00,其設(shè)置為4N在P1.7腳輸出;我設(shè)置PWMA_PS = 0x40=0100 0000,設(shè)置4N在P2.7腳輸出。樓主的是STC8H1K08,4N欲在P3.3輸出,設(shè)置PWMA_PS= 0xC0才行(11000000)。
4.PWMA_CR1。區(qū)別同1,我是開啟了ARR預(yù)裝載功能。

回復(fù)

使用道具 舉報(bào)

11#
ID:427868 發(fā)表于 2023-7-18 10:35 | 只看該作者
Aresxiaogui 發(fā)表于 2023-7-18 09:29
請問你的頻率設(shè)置的多少呢,為什么我用你這個改一下在P54口輸出就沒有效果呢

我的PWM輸出頻率范圍是1-25KHZ(由外部電壓改變頻率),系統(tǒng)是12MHZ,PWM時(shí)鐘不分頻。STC8H1K08的P5.4是PWM6口輸出,相應(yīng)的寄存器需作對應(yīng)修改。
回復(fù)

使用道具 舉報(bào)

10#
ID:1088441 發(fā)表于 2023-7-18 09:29 | 只看該作者
劉佑紅 發(fā)表于 2023-7-17 21:02
剛測,正常輸出可調(diào)PWM,ARR和CCR采用預(yù)裝載方式,在使用中可隨時(shí)改變,寄存器初始化可參照設(shè)置。采用 ...

請問你的頻率設(shè)置的多少呢,為什么我用你這個改一下在P54口輸出就沒有效果呢
回復(fù)

使用道具 舉報(bào)

9#
ID:427868 發(fā)表于 2023-7-17 21:02 | 只看該作者
     剛測,正常輸出可調(diào)PWM,ARR和CCR采用預(yù)裝載方式,在使用中可隨時(shí)改變,寄存器初始化可參照設(shè)置。采用的STC8H1K16,P2.7腳輸出(PWM4N)
        P_SW2 |= 0x80;                                //開啟P_SW2寄存器1000 0000
        PWMA_CCER2 = 0x00;                 //寫CCMRx前必須先清零CCERx關(guān)閉通道
        PWMA_CCMR4 = 0x68;                 //設(shè)置CC4為PWM輸出模式,開啟預(yù)裝載CCR4 0110 1000
        //PWMA_CCMR4 = 0x78;             //設(shè)置CC4為PWM輸出模式,開啟預(yù)裝載CCR4 0111 1000(負(fù)極性輸出)
        PWMA_CCER2 = 0x40;                 //0100 0000單獨(dú)使能CC4N通道(不開CC4P),輸出高電平
        PWMA_CCR4 = 2500;                  //設(shè)置占空比時(shí)間
        PWMA_ARR = 5000;                   //設(shè)置周期時(shí)間
        PWMA_PS = 0x40;                    //PWM4N在P2.7輸出0100 0000
        PWMA_ENO = 0x80;                   //使能PWM4N端口輸出1000 0000
        PWMA_BKR = 0x80;                   //使能主輸出1000 0000
        PWMA_CR1 = 0x81;                   //開始計(jì)時(shí) 1000 0001開啟自動預(yù)裝載PWMA_ARR
回復(fù)

使用道具 舉報(bào)

8#
ID:1088441 發(fā)表于 2023-7-14 09:42 | 只看該作者
樓主搞定了嗎,我用P5.4想輸出PWM也一直輸出不了
回復(fù)

使用道具 舉報(bào)

7#
ID:1088441 發(fā)表于 2023-7-14 09:39 | 只看該作者
劉佑紅 發(fā)表于 2023-6-25 18:33
是設(shè)置的問題,以下我測試輸出正常,占空比符合設(shè)置預(yù)期。輸出端口也是P3.3

include        //STC8H1K08        TSSOP2 ...

為什么我用這段代碼在keil上進(jìn)行軟件仿真時(shí)P3.3一直輸出的是高電平呢
回復(fù)

使用道具 舉報(bào)

6#
ID:1034262 發(fā)表于 2023-6-25 19:57 | 只看該作者
建議先測試STC官方的例程,然后再修改移植。
回復(fù)

使用道具 舉報(bào)

5#
ID:427868 發(fā)表于 2023-6-25 18:33 | 只看該作者
是設(shè)置的問題,以下我測試輸出正常,占空比符合設(shè)置預(yù)期。輸出端口也是P3.3

include<stc8h.h>        //STC8H1K08        TSSOP20
sbit out = P3^3;      //電機(jī)PWM信號輸出
/*************************主函數(shù)**********************************/       
void main()
{
   P0M0 = 0x00; P0M1 = 0x00;        P1M0 = 0x00; P1M1 = 0x00;
    P2M0 = 0x00; P2M1 = 0x00;        P3M0 = 0x08; P3M1 = 0x00;
    P5M0 = 0x00; P5M1 = 0x00;

    P_SW2 = 0x80;
    PWMB_CCER2 = 0x00;              //寫CCMRx前必須先清零CCERx關(guān)閉通道
    PWMB_CCMR3= 0x60;               //設(shè)置CC7為PWMA輸出模式
    PWMB_CCER2 = 0x01;              //使能CC7通道
    PWMB_CCR7 = 5;                    //設(shè)置占空比時(shí)間
    PWMB_ARR = 999;                   //設(shè)置周期時(shí)間
    PWMB_ENO = 0x10;                //使能PWM7端口輸出
    PWMB_PS = 0x10;                         //PWM7在P3.3輸出
    PWMB_BKR = 0x80;                //使能主輸出
    PWMB_CR1 = 0x01;                //開始計(jì)時(shí)
    while (1);
}
回復(fù)

使用道具 舉報(bào)

地板
ID:1085649 發(fā)表于 2023-6-24 02:55 | 只看該作者
有些型號默認(rèn)輸出高阻態(tài),不知道你設(shè)置沒
還需要用輔助寄存器切換IO口
可以參考PCA相關(guān)例程
回復(fù)

使用道具 舉報(bào)

板凳
ID:60656 發(fā)表于 2023-6-21 22:47 | 只看該作者
io要配置推挽輸出
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:427868 發(fā)表于 2023-6-15 23:02 | 只看該作者
我也正在試驗(yàn)它,也是P3.3輸出,我覺得例程是PWM1P腳輸出的,要用PWMA通道4在P3.3輸出,還需定義輸出腳才行,所以在例程的基礎(chǔ)上增加了:PWMA_PS = 0xC0;  //使能PWM4N端口選在P3.3(14腳),甚至還要改定義PWMA_CCER4和PWMA_CCMR4,但是否可以輸出,還沒有測試。
void        pwmout(u16 zhankong)       
{
        P_SW2 |= 0x80;                                                                                                //使能XFR
        PWMA_CCER1 = 0x00;                    //寫CCMRx前必須先清零CCERx關(guān)閉通道
        PWMA_CCMR1 = 0x60;                    //設(shè)置CC1為PWMA輸出模式
        PWMA_CCER1 = 0x01;                    //使能CC1通道
       
        PWMA_CCR1 = zhankong;               //設(shè)置占空比時(shí)間
        PWMA_ARR = 99;                         //設(shè)置周期時(shí)間24MHZ時(shí),PWM輸出120KHZ
        PWMA_ENO = 0x80;                     //使能PWM4N端口輸出
        PWMA_PS = 0xC0;                       //使能PWM4N端口選在P3.3(14腳)
        PWMA_BKR = 0x80;                      //使能主輸出
        PWMA_CR1 = 0x01;                      //開始計(jì)時(shí)
}
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 美女高潮网站 | 韩日在线观看视频 | 国产精品免费看 | 在线不卡视频 | 日韩欧美在线观看 | 日韩欧美一二三区 | 91精品国产91久久久久久不卞 | 日韩视频区 | 99爱在线| 国产精品久久久久久久久久妞妞 | 午夜精品久久 | 国内精品一区二区三区 | 一区二区三区四区在线视频 | 久久在线 | 蜜桃av一区二区三区 | 欧美一级免费观看 | 久久午夜精品 | 日韩成人 | 欧美一级二级视频 | 色综合色综合色综合 | 成年人在线视频 | 精品久久香蕉国产线看观看亚洲 | 成人国产精品久久久 | 欧美成人在线免费 | 日韩区| 伊人久久大香线 | 日韩精品一区二区三区在线 | 国产一区二区 | 成人小视频在线观看 | 亚洲 欧美 另类 综合 偷拍 | 97人澡人人添人人爽欧美 | 久久久观看| 国产视频第一页 | 国产精品中文 | 精久久久| 97超级碰碰 | 久久99久久| 祝你幸福电影在线观看 | 成人精品鲁一区一区二区 | 一本一道久久a久久精品蜜桃 | 日韩午夜精品 |