欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4654|回復: 14
收起左側

請教各位,關于STC8H系列單片機的keil c的教程

[復制鏈接]
ID:227818 發表于 2021-9-26 10:00 | 顯示全部樓層 |閱讀模式
請教各位,現在有沒有基于STC8H系列單片機的keil c教程,謝謝。
回復

使用道具 舉報

ID:227818 發表于 2021-9-26 13:12 | 顯示全部樓層
廠家的技術資料,看得實在頭大,想學學高級PWM的用法。
回復

使用道具 舉報

ID:262 發表于 2021-9-26 16:26 | 顯示全部樓層
這個除了啃技術資料沒有別的辦法,教程一般只有89c52的
回復

使用道具 舉報

ID:624769 發表于 2021-9-26 16:26 來自觸屏版 | 顯示全部樓層
stc的pwm范例算寫的不錯的了。結合寄存器說明,和范例演練一邊,再嘗試改動一下,就差不多了,剩下的就是活用了。
回復

使用道具 舉報

ID:401564 發表于 2021-9-26 16:35 | 顯示全部樓層
STC的PWM和比較器在數據手冊是上最讓人不爽的
說半天都不知道在說什么
但如果你要用這個功能,除了認真的看數據手冊,就沒有別的辦法了
所謂的教程在數據手冊中有的,你抄就行了
看這個數據手冊不要猛一下隨便看一個章節,一定要從開始一點一點的看完,還有就是一定要有學習板,一邊學習一邊燒錄驗證,其實不用多長時間就可以學好的
回復

使用道具 舉報

ID:227818 發表于 2021-9-26 16:52 | 顯示全部樓層
關鍵是我用了上邊的一個例程,就是用PWM測一個脈沖的高電平的寬度,沒有測出來。所以想找一本書,系統看下
回復

使用道具 舉報

ID:227818 發表于 2021-9-26 16:54 | 顯示全部樓層
#include "reg51.h"
#include "intrins.h"
sfr P_SW2 = 0xba;
sfr P1M0 = 0x92;
sfr P1M1 = 0x91;
sfr P3M0 = 0xb2;
sfr P3M1 = 0xb1;
sfr P5M0 = 0xca;
sfr P5M1 = 0xc9;
#define PWMA_CR1 (*(unsigned char volatile xdata *)0xfec0)
#define PWMA_IER (*(unsigned char volatile xdata *)0xfec4)
#define PWMA_SR1 (*(unsigned char volatile xdata *)0xfec5)
#define PWMA_CCMR1 (*(unsigned char volatile xdata *)0xfec8)
#define PWMA_CCMR2 (*(unsigned char volatile xdata *)0xfec9)
#define PWMA_CCER1 (*(unsigned char volatile xdata *)0xfecc)
#define PWMA_CCR1 (*(unsigned int volatile xdata *)0xfed5)
#define PWMA_CCR2 (*(unsigned int volatile xdata *)0xfed7)
void main()
{
P1M0 = 0x00;
P1M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
P5M0 = 0x00;
P5M1 = 0x00;
P_SW2 = 0x80;

PWMA_CCER1 = 0x00;
PWMA_CCMR1 = 0x01; //CC1為輸入模式,且映射到TI1FP1上
PWMA_CCMR2 = 0x02; //CC2為輸入模式,且映射到TI1FP2上
PWMA_CCER1 = 0x11; //使能CC1/CC2上的捕獲功能
PWMA_CCER1 |= 0x00; //設置捕獲極性為CC1的上升沿
PWMA_CCER1 |= 0x20; //設置捕獲極性為CC2的下降沿
PWMA_CR1 = 0x01;
PWMA_IER = 0x04; //使能CC2捕獲中斷
EA = 1;
while (1);
}
void PWMA_ISR() interrupt 26
{
unsigned int cnt;
if (PWMA_SR1 & 0x04)
{
PWMA_SR1 &= ~0x04;
cnt = PWMA_CCR2 - PWMA_CCR1; //差值即為高電平寬度
}
}
回復

使用道具 舉報

8#
無效樓層,該帖已經被刪除
ID:624769 發表于 2021-9-26 19:27 | 顯示全部樓層
Y_G_G 發表于 2021-9-26 16:35
STC的PWM和比較器在數據手冊是上最讓人不爽的
說半天都不知道在說什么
但如果你要用這個功能,除了認真的 ...

但,就算是PWM和比較器,如果和WCH的手冊比起來,你會感動到流淚…… , 我第一次看WCH的手冊,愣是連熟的不能再熟的SPI都不會用了……,更別說PWM了……
回復

使用道具 舉報

ID:227818 發表于 2021-9-26 19:48 | 顯示全部樓層
這個例程,不知道為什么中斷不產生。要是中斷能產生就好辦了。
回復

使用道具 舉報

ID:624769 發表于 2021-9-26 20:24 | 顯示全部樓層
newlined 發表于 2021-9-26 19:48
這個例程,不知道為什么中斷不產生。要是中斷能產生就好辦了。

如果你用的是 STC8H 的單片機,我覺得你最好還是用STC8H.H 的頭文件。以及,在芯片選項里選擇 STC8H的芯片,我STC89系列入門,一直用REG51, 很長一段時間 STC15W 也用的 REG51 芯片選的 AT89 都沒什么問題,直到有一次,怎么也找不出原因,然后,實在沒事干,換了頭文件,和芯片選擇之后,就莫名其妙沒問題了之后,后來不管用什么單片機,我一定遵守,選對芯片庫,用對頭文件。
回復

使用道具 舉報

ID:419909 發表于 2021-9-26 20:42 | 顯示全部樓層
新型號。網上資源例程肯定是比較少的。不過。如果你是從15W系列過來的話。對于新型號,一般看一下說明書。基本也很快可以上手的。主要是寄存器。參考廠家例程再修改,大部分很快就能用上。
回復

使用道具 舉報

ID:227818 發表于 2021-9-27 13:41 | 顯示全部樓層
本帖最后由 newlined 于 2021-9-27 14:38 編輯
188610329 發表于 2021-9-26 20:24
如果你用的是 STC8H 的單片機,我覺得你最好還是用STC8H.H 的頭文件。以及,在芯片選項里選擇 STC8H的芯 ...

我換成了"STC8H.H"頭文件,還是不行,您說的"芯片選擇"是指的在KEIL C 中 新建工程時,選芯片的操作碼?我也試過,不行,不知道哪里出了問題.我以為程序應該這樣運行:出現高電平開始計數,到下降沿產生中斷.然后看下計數器記了多少脈沖.關鍵是出現下降沿后PWM的中斷不響應.在這里順便問下,主頻設為24M,測一個160uS的高電平應該可以測到吧.
回復

使用道具 舉報

ID:227818 發表于 2021-9-27 13:43 | 顯示全部樓層
wfqxgw 發表于 2021-9-26 20:42
新型號。網上資源例程肯定是比較少的。不過。如果你是從15W系列過來的話。對于新型號,一般看一下說明書。 ...

我的基礎差,15系列的還沒有搞明白,現在又用8H的了
回復

使用道具 舉報

ID:624769 發表于 2021-9-27 19:46 | 顯示全部樓層
newlined 發表于 2021-9-27 13:43
我的基礎差,15系列的還沒有搞明白,現在又用8H的了

我覺得吧,凡事循序漸進。

你可以在STC ISP上,把 呼吸燈那個范例弄下來, 跑一下,然后,嘗試,更改呼吸速度,這一圈下來,對PWM有個比較直觀認識之后,再啃一下你的手冊,可能,理解會不一樣。
回復

使用道具 舉報

ID:227818 發表于 2021-9-28 00:00 | 顯示全部樓層
188610329 發表于 2021-9-27 19:46
我覺得吧,凡事循序漸進。

你可以在STC ISP上,把 呼吸燈那個范例弄下來, 跑一下,然后,嘗試,更改 ...

好的,謝謝您的回復。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表