久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊(cè)會(huì)員

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3310|回復(fù): 3

用PIC單片機(jī)產(chǎn)生方波遇到這種波形

[復(fù)制鏈接]
1#
發(fā)表于 2018-11-5 20:08:17 | 只看該作者 |只看大圖 |倒序?yàn)g覽 |閱讀模式
本帖最后由 馮喆喆 于 2018-11-5 20:11 編輯 ) }- j% R8 ^& P# U3 \% {8 j- d

/ M" y2 C( L/ p; j0 o用PIC16F887單片機(jī)產(chǎn)生方波,當(dāng)我把方波頻率設(shè)為4KHz時(shí)波形是正常的,當(dāng)我改變TIMER2的分頻值,從4改為16 ,此時(shí)頻率應(yīng)該變?yōu)?KHz,此時(shí)頻率是對(duì)了,可是波形卻變得很奇怪。  求有經(jīng)驗(yàn)的大神指導(dǎo)下
( D- q' y: f6 `這是產(chǎn)生的4KHZ正常波形,占空比為50%9 }. {$ Q% c( o
1 e& k3 Q5 D% X7 M$ @; Y) ?0 ^

& m4 }0 t7 N" F) t3 p8 L
( b! k2 ~% ~+ |/ Z這是1KHZ有問(wèn)題的波形,占空比為60%
# z* e# {/ x0 k- ~* B' Y8 S
$ y6 `( o1 }2 @* A# q; m0 t8 L$ T  q. J* i+ k$ i- }3 M
回復(fù)

使用道具 舉報(bào)

2#
 樓主| 發(fā)表于 2018-11-5 20:14:34 | 只看該作者
主要的程序我也貼上來(lái)各位看一下
/ y8 i$ K" ~+ K: o' e$ m7 A( I* n: R
/********端口初始化函數(shù)********/
8 O- \2 G  z* w8 Svoid init()
) K# V" i) j! z9 m{
- O) x; e6 k- O; I7 n        ANSELH=0x00;                     //設(shè)置B口為數(shù)字I/O口
5 }: ]  i4 N- n        OPTION_REG=0x00;$ J0 {7 n! o- Z7 `( l
        WPUB=0xFF;         //設(shè)置B口弱上拉
$ A2 {6 Q! k6 _        INTCON=0x00;       //關(guān)總中斷2 F, F" D7 }3 }1 P
        PIE1=0;            //PIE1的中斷禁止; x0 m' W6 s+ k% ]  L
        PIE2=0;            //PIE2的中斷禁止2 L% k6 l# w+ g' i* d8 ]. B
        TRISB0=1;
4 d; j5 b& Y2 @4 x/ z# i( v        TRISB1=1;          //將RB1設(shè)置為輸入口,按按鍵
7 S# X0 f  @8 h, _% z  D        TRISB2=1;          //將RB2設(shè)置為輸入口,按按鍵
" p' ?9 S! u% y8 c        TRISB3=1;; |4 q2 |4 Z2 S
        TRISB4=1;  K1 e1 w2 E6 Y1 `
        RC1=0;
+ y& G- i4 Z! |7 ]' G% M. N/ ^: G        TRISC1=0;          //脈寬調(diào)制輸出引腳,設(shè)置為輸出" }, ?/ j% z4 ~- [& S% B8 ~
}
$ `1 z' [% i! z3 h9 B/ T% @- ]: _/********PWM初始化函數(shù)********/, F1 a$ \. P% I! O' b- c3 @
void PWM_Init()
$ x3 T) Q, l2 H3 k. F{
& c$ T' v& U  b  z/ ~        PR2=249;           //脈寬調(diào)制波形的周期為1000us       
8 p6 ^' n, M4 |& i' M9 q        CCP2CON=0x0C;      //CCP2模塊工作在PWM模式,占空因數(shù)的低兩位為00
! {3 m7 ?% B  a+ Q9 J( Q        T2CON=0x02;        //禁止TMR2,且前后分頻值為16,同時(shí)開(kāi)始輸出PWM% b+ l. }/ r, C& S' D
        CCPR2L=0xB8;       //脈寬調(diào)制波形的占空比初始值
) F' e# w' M7 U) |8 A9 ?: a}3 D+ o. ~9 `+ h0 C, b: z, w
/********鍵盤(pán)掃描函數(shù)*******    */, F8 C' U4 q% }) b; v+ n. f
void keyscan()2 E1 k: }; R. K, }* [
{1 T- f9 y  V$ U/ i6 J7 v
        if(RB1==0)                  //如果是RB1鍵按下
# Q  S% ~5 ]- W  c) W9 k        {
, K. q4 j' q7 v9 {                delay_ms(5);              //延時(shí)去抖5 n0 _9 y- o) L6 z9 {' a
                if(RB1==0)              //確認(rèn)是否有鍵按下
) w! a. i% W0 j. Q                {
2 h2 `; Q  b# d4 G- y                        while(!RB1);        //等待按鍵釋放7 \7 |  j6 }% ^. `
                        CCP2CON=0x0C;5 ~/ h& R6 r5 p- [% W
                        CCPR2L=0xB8;                   //80%占空比
, w# J% `. u- z% w4 E  P, Y                        TMR2ON=1;& n2 M( L: R# w+ R# [
                }
# x2 Q7 w* D1 k! s* P        }
5 h: K( F, u9 R- T3 V        if(RB2==0)                  //如果是RB2鍵按下
0 e1 Z6 Y+ v, w1 q4 z        {2 F+ i9 M2 B: [+ ^- N' m
                delay_ms(5);              //延時(shí)去抖/ M+ h# E. M$ O( [1 @
                if(RB2==0)              //確認(rèn)是否有鍵按下
: w6 R' q( m8 f; j. O                {0 Z  `% [2 y# Q" v+ B* C
                        while(!RB2);        //等待按鍵釋放
5 Y* M  A" M6 \+ P                        CCP2CON=0x0C;
1 u( c+ O' C: N) d: I& J& b                        CCPR2L=0x96;                   //60%占空比4 _2 q& y5 y" E6 i* g* w
                        TMR2ON=1;
  v$ E/ ^0 J  r0 f% N) F                }
/ L2 i6 g$ j2 T; `' v        }) I: ?# k+ s* B1 d
        if(RB0==0)                  //如果是RB0鍵按下
2 U  \- v6 O  ~) C6 V& s/ H        {
5 o0 q9 @9 l1 W& ~% P                delay_ms(5);              //延時(shí)去抖
; u  {& `7 x. _% i/ R' T" `                if(RB0==0)              //確認(rèn)是否有鍵按下
/ O1 d/ G* e' s* ]6 d9 h; ?                {
" v4 }1 n2 A. L$ ]  R7 M, Q                        while(!RB0);        //等待按鍵釋放
2 Z, b& g$ ~+ H2 }% n: Q2 x                        CCP2CON=0x00;                   //關(guān)PWM
3 a* V4 u; e9 t# |# H1 ], C7 ?                        TMR2ON=0;                        //禁止TMR2; k  x$ g2 g4 j" M
                        //delay_ms(5);% C: g2 j' \3 p4 V4 _% G2 f
                        RC1=0;; b' R6 Y* w) z: d- U" R
                }0 f0 Z: _9 O9 I$ T
        }
# b. z7 e* ?& G; B1 b' P+ C}$ L/ x# d; ?$ T* y
/********主函數(shù)********/# _  d0 q3 l9 b% n7 T) Y6 h
void main()3 y/ h% X/ |1 I* S1 ~& A
{
- s* _+ h/ Z; S7 C; ]8 y/ O& m: g        init();                     //系統(tǒng)初始化
6 F. A1 x# ]; y/ L        PWM_Init();                 //脈沖寬度初始化8 d0 v4 G, \/ }1 D
        while(1). r7 m9 b9 v, g9 t- ]5 v1 y
        {' l. F: P" |6 ^$ r7 z
                keyscan();              //調(diào)用按鍵掃描處理脈寬因數(shù)
$ X0 Y6 M& o" f* X: ^        }) G( F2 s4 y3 j$ `1 b7 ~
}
3#
發(fā)表于 2018-11-6 07:38:09 | 只看該作者
單片機(jī)常用問(wèn)題嗎?
4#
 樓主| 發(fā)表于 2018-11-6 14:45:37 | 只看該作者
遠(yuǎn)祥 發(fā)表于 2018-11-6 07:38
! Z2 z7 d; p) D/ Q% Q7 n單片機(jī)常用問(wèn)題嗎?

8 ]5 ^  [" u8 D/ h* S! U這個(gè)是用PIC單片機(jī)產(chǎn)生PWM波,應(yīng)該比較常見(jiàn)吧

本版積分規(guī)則

Archiver|手機(jī)版|小黑屋|機(jī)械社區(qū) ( 京ICP備10217105號(hào)-1,京ICP證050210號(hào),浙公網(wǎng)安備33038202004372號(hào) )

GMT+8, 2025-7-24 08:18 , Processed in 0.076230 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復(fù) 返回頂部 返回列表