พิมพ์หน้านี้ - การสร้างสัญญาณ Analog จาก PIC16f877a

LSVคลังสมองออนไลน์ "ปีที่14"

► อิเล็กทรอนิกส์ ► => หุ่นยนต์-pcb-เทคโนโลยี่ใหม่ => ข้อความที่เริ่มโดย: Dumrong007 ที่ มีนาคม 02, 2012, 08:21:50 pm



หัวข้อ: การสร้างสัญญาณ Analog จาก PIC16f877a
เริ่มหัวข้อโดย: Dumrong007 ที่ มีนาคม 02, 2012, 08:21:50 pm
คือว่า....อยากเขียนโค๊ด สร้างสัญญาญอะนาล็อก จาก PIC16f877a เอาความถี่ 50Hz (คลื่นรูปซายน์ 50 Hz)
 
  คำถาม -IC ตัวนี้มันทำการแปลงสัญญาญดิจิตอลเป็นอนาล็อกได้ไหมครับ (ถ้าไม่ได้ แล้วผมต้องใช้ IC เบอร์ไหน แทนครับ)
           -ผมต้องเขียนโค๊ดภาษาซี CCS แบบไหน (ขอตัวอย่างหน่อยครับ)
           -จะกำหนดอย่างไร ให้ได้ 50 Hz


คือ อาจารย์ให้เขียนส่ง ครับ  ช่วยชี้แนะหน่อย(PIC ccs)

http://(http://img3.uploadhouse.com/fileuploads/15696/156963324dd24758ef704b8bbb7aefbdb5969def.png) ซีรีย์เกาหลี (http://www.daradvd.com) ฝากรูป (http://www.xn--12c5cgw1fub.com)


 50Hz

(http://img2.uploadhouse.com/fileuploads/15696/156963737318c99821b099fe2472e9d6d0909a3c.jpg) ซีรีย์เกาหลี (http://www.daradvd.com) ฝากรูป (http://www.xn--12c5cgw1fub.com)


หัวข้อ: Re: การสร้างสัญญาณ Analog จาก PIC16f877a
เริ่มหัวข้อโดย: JUB ที่ มีนาคม 02, 2012, 10:50:30 pm
google มีเยอะเลย

http://www.ke4nyv.com/picprojects.htm


หัวข้อ: Re: การสร้างสัญญาณ Analog จาก PIC16f877a
เริ่มหัวข้อโดย: Dumrong007 ที่ มีนาคม 03, 2012, 02:15:31 am
google มีเยอะเลย

http://www.ke4nyv.com/picprojects.htm

มีเว็บที่เป็นภาษาไทยไหมครับ   ผมหาไม่เจอเลย  อยากรู้หลักการทำงานของวงจรกับโปรแกรมครับ

(http://img6.uploadhouse.com/fileuploads/15697/15697826d9756df0ef65a4dbed83dfd8fae7beac.gif) ซีรีย์เกาหลี (http://www.daradvd.com) ฝากรูป (http://www.xn--12c5cgw1fub.com)



The Crownhill Proton+ Basic program for this circuit is ...

DEVICE = 16F628
XTAL = 20
Dim i as byte
Dim Var1 as word
OUTPUT PORTB
DIM X AS BYTE
All_DIGITAL = TRUE
X = 1

Goto Waveout


Waveout:

PORTB = 8
DELAYUS x
PORTB = 9
DELAYUS x
PORTB = 11
DELAYUS x
PORTB = 12
DELAYUS x
PORTB = 14
DELAYUS x
PORTB = 14
DELAYUS x
PORTB = 12
DELAYUS x
PORTB = 11
DELAYUS x
PORTB = 9
DELAYUS x
PORTB = 8
DELAYUS x
PORTB = 6
DELAYUS x
PORTB = 4
DELAYUS x
PORTB = 3
DELAYUS x
PORTB = 2
DELAYUS x
PORTB = 1
DELAYUS x
PORTB = 1
DELAYUS x
PORTB = 2
DELAYUS x
PORTB = 3
DELAYUS x
PORTB = 4
DELAYUS x
PORTB = 6
DELAYUS x
Goto Waveout


หัวข้อ: Re: การสร้างสัญญาณ Analog จาก PIC16f877a
เริ่มหัวข้อโดย: JUB ที่ มีนาคม 03, 2012, 07:31:17 am
หายากหรือไม่มีเลย ใช้ google แปลเอา


หัวข้อ: Re: การสร้างสัญญาณ Analog จาก PIC16f877a
เริ่มหัวข้อโดย: Dumrong007 ที่ มีนาคม 03, 2012, 09:32:35 am
google มีเยอะเลย

http://www.ke4nyv.com/picprojects.htm

มีเว็บที่เป็นภาษาไทยไหมครับ   ผมหาไม่เจอเลย  อยากรู้หลักการทำงานของวงจรกับโปรแกรมครับ

(http://img6.uploadhouse.com/fileuploads/15697/15697826d9756df0ef65a4dbed83dfd8fae7beac.gif) ซีรีย์เกาหลี (http://www.daradvd.com) ฝากรูป (http://www.xn--12c5cgw1fub.com)



The Crownhill Proton+ Basic program for this circuit is ...

DEVICE = 16F628
XTAL = 20
Dim i as byte
Dim Var1 as word
OUTPUT PORTB
DIM X AS BYTE
All_DIGITAL = TRUE
X = 1

Goto Waveout


Waveout:

PORTB = 8
DELAYUS x
PORTB = 9
DELAYUS x
PORTB = 11
DELAYUS x
PORTB = 12
DELAYUS x
PORTB = 14
DELAYUS x
PORTB = 14
DELAYUS x
PORTB = 12
DELAYUS x
PORTB = 11
DELAYUS x
PORTB = 9
DELAYUS x
PORTB = 8
DELAYUS x
PORTB = 6
DELAYUS x
PORTB = 4
DELAYUS x
PORTB = 3
DELAYUS x
PORTB = 2
DELAYUS x
PORTB = 1
DELAYUS x
PORTB = 1
DELAYUS x
PORTB = 2
DELAYUS x
PORTB = 3
DELAYUS x
PORTB = 4
DELAYUS x
PORTB = 6
DELAYUS x
Goto Waveout


ขอความรู้หน่อยครับ 

PORTB = 8    ตรงนี้หมายถึงอะไรครับ  ผมเขียนใน CCS มันไม่เห็นมีคำสั่งแบบนี้
 
DELAYUS x    ตรงนี้พอรู้ว่ามันหน่วงเวลาไว้


สีแดงนี้น่าจะเป็น แค่หัวโปรแกรม ใช่ไหมครับ

DEVICE = 16F628
XTAL = 20
Dim i as byte
Dim Var1 as word         
OUTPUT PORTB
DIM X AS BYTE
All_DIGITAL = TRUE


 lv!


หัวข้อ: Re: การสร้างสัญญาณ Analog จาก PIC16f877a
เริ่มหัวข้อโดย: JUB ที่ มีนาคม 03, 2012, 10:41:21 am
เป็นฐานสิบคับ


หัวข้อ: Re: การสร้างสัญญาณ Analog จาก PIC16f877a
เริ่มหัวข้อโดย: Dumrong007 ที่ มีนาคม 05, 2012, 11:22:21 pm
//Generate PWM Pluse 1KHz duty cycle 50% at RB3/CCP1 (PIN9)

//#include <16F628.h>
#include <16F648A.h>
#use delay(clock=4000000)
#fuses XT,PUT,BROWNOUT,MCLR,NOWDT,NOPROTECT,NOLVP
#define  TxD         PIN_A0   
#define  RxD         PIN_A1   

void main(void)
{
    setup_ccp1(CCP_PWM);   // Configure CCP1 as a PWM
    setup_timer_2(T2_DIV_BY_4, 249, 1);
    set_pwm1_duty(500);

    while( TRUE ) ;        //Loop here

}
 

อยากให้ได้เอาต์พุต 50Hz ต้องแก้ตรงไหนครับ   lv!


หัวข้อ: Re: การสร้างสัญญาณ Analog จาก PIC16f877a
เริ่มหัวข้อโดย: Dumrong007 ที่ มีนาคม 11, 2012, 03:24:55 pm
พี่ครับ ดูให้หน่อย มันกี่ Hz ครับ



       (http://img2.uploadhouse.com/fileuploads/15746/15746811d1db4e196b4495b4793eb830fd4b4d49.png) ซีรีย์เกาหลี (http://www.daradvd.com) ฝากรูป (http://www.xn--12c5cgw1fub.com)

         lv! lv!