การสร้างสัญญาณ Analog จาก PIC16f877a
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: การสร้างสัญญาณ Analog จาก PIC16f877a  (อ่าน 7996 ครั้ง)
Dumrong007
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 87


อีเมล์
« เมื่อ: มีนาคม 02, 2012, 08:21:50 PM »

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


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

http:// ซีรีย์เกาหลี ฝากรูป


 50Hz

ซีรีย์เกาหลี ฝากรูป


บันทึกการเข้า

JUB
Full Member
member
**

คะแนน81
ออฟไลน์ ออฟไลน์

กระทู้: 1157



« ตอบ #1 เมื่อ: มีนาคม 02, 2012, 10:50:30 PM »

google มีเยอะเลย

http://www.ke4nyv.com/picprojects.htm
บันทึกการเข้า
Dumrong007
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 87


อีเมล์
« ตอบ #2 เมื่อ: มีนาคม 03, 2012, 02:15:31 AM »

google มีเยอะเลย

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

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

ซีรีย์เกาหลี ฝากรูป



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
บันทึกการเข้า
JUB
Full Member
member
**

คะแนน81
ออฟไลน์ ออฟไลน์

กระทู้: 1157



« ตอบ #3 เมื่อ: มีนาคม 03, 2012, 07:31:17 AM »

หายากหรือไม่มีเลย ใช้ google แปลเอา
บันทึกการเข้า
Dumrong007
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 87


อีเมล์
« ตอบ #4 เมื่อ: มีนาคม 03, 2012, 09:32:35 AM »

google มีเยอะเลย

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

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

ซีรีย์เกาหลี ฝากรูป



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!
บันทึกการเข้า
JUB
Full Member
member
**

คะแนน81
ออฟไลน์ ออฟไลน์

กระทู้: 1157



« ตอบ #5 เมื่อ: มีนาคม 03, 2012, 10:41:21 AM »

เป็นฐานสิบคับ
บันทึกการเข้า
Dumrong007
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 87


อีเมล์
« ตอบ #6 เมื่อ: มีนาคม 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!
บันทึกการเข้า
Dumrong007
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 87


อีเมล์
« ตอบ #7 เมื่อ: มีนาคม 11, 2012, 03:24:55 PM »

พี่ครับ ดูให้หน่อย มันกี่ Hz ครับ



        ซีรีย์เกาหลี ฝากรูป

         lv! lv!
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป: