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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

關于8系PWM輸出設置 STC8H1K08單片機

查看數(shù): 4726 | 評論數(shù): 12 | 收藏 5
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2023-4-6 20:23

正文摘要:

選用的單片機芯片8H1K08,只有定時器0,1,2 。 用了兩路串口分別是57600,9600.一個接屏幕,一個接讀卡器。占用兩個定時器,最后一個定時器用了計時和別的功能,現(xiàn)在還需要一路IO口輸出PWM功能,周期100us ,10us~20 ...

回復

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

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





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

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

我的PWM輸出頻率范圍是1-25KHZ(由外部電壓改變頻率),系統(tǒng)是12MHZ,PWM時鐘不分頻。STC8H1K08的P5.4是PWM6口輸出,相應的寄存器需作對應修改。
ID:1088441 發(fā)表于 2023-7-18 09:29
劉佑紅 發(fā)表于 2023-7-17 21:02
剛測,正常輸出可調(diào)PWM,ARR和CCR采用預裝載方式,在使用中可隨時改變,寄存器初始化可參照設置。采用 ...

請問你的頻率設置的多少呢,為什么我用你這個改一下在P54口輸出就沒有效果呢
ID:427868 發(fā)表于 2023-7-17 21:02
     剛測,正常輸出可調(diào)PWM,ARR和CCR采用預裝載方式,在使用中可隨時改變,寄存器初始化可參照設置。采用的STC8H1K16,P2.7腳輸出(PWM4N)
        P_SW2 |= 0x80;                                //開啟P_SW2寄存器1000 0000
        PWMA_CCER2 = 0x00;                 //寫CCMRx前必須先清零CCERx關閉通道
        PWMA_CCMR4 = 0x68;                 //設置CC4為PWM輸出模式,開啟預裝載CCR4 0110 1000
        //PWMA_CCMR4 = 0x78;             //設置CC4為PWM輸出模式,開啟預裝載CCR4 0111 1000(負極性輸出)
        PWMA_CCER2 = 0x40;                 //0100 0000單獨使能CC4N通道(不開CC4P),輸出高電平
        PWMA_CCR4 = 2500;                  //設置占空比時間
        PWMA_ARR = 5000;                   //設置周期時間
        PWMA_PS = 0x40;                    //PWM4N在P2.7輸出0100 0000
        PWMA_ENO = 0x80;                   //使能PWM4N端口輸出1000 0000
        PWMA_BKR = 0x80;                   //使能主輸出1000 0000
        PWMA_CR1 = 0x81;                   //開始計時 1000 0001開啟自動預裝載PWMA_ARR
ID:1088441 發(fā)表于 2023-7-14 09:42
樓主搞定了嗎,我用P5.4想輸出PWM也一直輸出不了
ID:1088441 發(fā)表于 2023-7-14 09:39
劉佑紅 發(fā)表于 2023-6-25 18:33
是設置的問題,以下我測試輸出正常,占空比符合設置預期。輸出端口也是P3.3

include        //STC8H1K08        TSSOP2 ...

為什么我用這段代碼在keil上進行軟件仿真時P3.3一直輸出的是高電平呢
ID:1034262 發(fā)表于 2023-6-25 19:57
建議先測試STC官方的例程,然后再修改移植。
ID:427868 發(fā)表于 2023-6-25 18:33
是設置的問題,以下我測試輸出正常,占空比符合設置預期。輸出端口也是P3.3

include<stc8h.h>        //STC8H1K08        TSSOP20
sbit out = P3^3;      //電機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關閉通道
    PWMB_CCMR3= 0x60;               //設置CC7為PWMA輸出模式
    PWMB_CCER2 = 0x01;              //使能CC7通道
    PWMB_CCR7 = 5;                    //設置占空比時間
    PWMB_ARR = 999;                   //設置周期時間
    PWMB_ENO = 0x10;                //使能PWM7端口輸出
    PWMB_PS = 0x10;                         //PWM7在P3.3輸出
    PWMB_BKR = 0x80;                //使能主輸出
    PWMB_CR1 = 0x01;                //開始計時
    while (1);
}
ID:1085649 發(fā)表于 2023-6-24 02:55
有些型號默認輸出高阻態(tài),不知道你設置沒
還需要用輔助寄存器切換IO口
可以參考PCA相關例程
ID:60656 發(fā)表于 2023-6-21 22:47
io要配置推挽輸出
ID:427868 發(fā)表于 2023-6-15 23:02
我也正在試驗它,也是P3.3輸出,我覺得例程是PWM1P腳輸出的,要用PWMA通道4在P3.3輸出,還需定義輸出腳才行,所以在例程的基礎上增加了:PWMA_PS = 0xC0;  //使能PWM4N端口選在P3.3(14腳),甚至還要改定義PWMA_CCER4和PWMA_CCMR4,但是否可以輸出,還沒有測試。
void        pwmout(u16 zhankong)       
{
        P_SW2 |= 0x80;                                                                                                //使能XFR
        PWMA_CCER1 = 0x00;                    //寫CCMRx前必須先清零CCERx關閉通道
        PWMA_CCMR1 = 0x60;                    //設置CC1為PWMA輸出模式
        PWMA_CCER1 = 0x01;                    //使能CC1通道
       
        PWMA_CCR1 = zhankong;               //設置占空比時間
        PWMA_ARR = 99;                         //設置周期時間24MHZ時,PWM輸出120KHZ
        PWMA_ENO = 0x80;                     //使能PWM4N端口輸出
        PWMA_PS = 0xC0;                       //使能PWM4N端口選在P3.3(14腳)
        PWMA_BKR = 0x80;                      //使能主輸出
        PWMA_CR1 = 0x01;                      //開始計時
}

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 高清视频一区二区三区 | 久久久久国产一区二区三区四区 | 一区二区三区视频在线观看 | 中文字幕在线三区 | 亚洲视频在线看 | 一区二区在线不卡 | 九九免费在线视频 | 精品国产一区一区二区三亚瑟 | 国偷自产av一区二区三区 | 精品国产一区二区三区性色 | 一级毛片免费看 | 一级黄色生活视频 | 午夜a v电影| 成人在线观看免费视频 | 91精品国产乱码久久久 | 国产高清在线 | 成人在线观看亚洲 | 中文字幕亚洲无线 | 久久99深爱久久99精品 | 成在线人视频免费视频 | 亚洲国产精品久久久久婷婷老年 | 91五月天 | 成人精品一区二区 | 欧美综合在线视频 | 在线观看国产视频 | 国产成人一区二区三区 | 亚洲精品在线免费看 | 久久久久久九九九九九九 | 久久久噜噜噜久久中文字幕色伊伊 | 视频一区二区国产 | 欧美精品久久久 | 亚洲一区二区免费 | 91精品综合久久久久久五月天 | 超碰地址| 久久www免费人成看片高清 | 二区三区av| 一级欧美一级日韩片免费观看 | 亚洲二区视频 | 97视频在线观看免费 | 日本成人中文字幕 | 理论片免费在线观看 |