Pages: [1]   Go Down
Print
Author Topic: จาก ตัวอย่าง PWM ถ้าผมจะเอาโค๊ดไปดัดแปลงใ#  (Read 8656 times)
0 Members and 1 Guest are viewing this topic.
Mr.P
Jr. Member
**
Offline Offline

Posts: 10



Email
« on: June 23, 2010, 05:04:10 PM »

ตัวอย่าง PWM http://www.thaimicrotron.com/CCS-628/EXAM/ModuleCCP1.htm

ผมงงๆ ตรงนี้ หน่ะครับ
//*** PIC16F628 ***
#byte   PORTB   = 0x06
#byte   TRISB   = 0x86
#byte   PR2     = 0x92
#byte   TMR2   = 0x11
#byte   T2CON   = 0x12
#byte   CCPR1L   = 0x15
#byte   CCP1CON   = 0x17

ถ้าเอาไปใช้กับ  18F458 ผมต้องกำหนดค่าพวกนี้เป็นเท่่าไหร่้  พอดีเปิดหาใน datasheet แล้วไม่เจอ ช่วยแนะนำหน่อยครับ ขอบคุณครับ

 
Logged

Mr.P
Jr. Member
**
Offline Offline

Posts: 10



Email
« Reply #1 on: June 24, 2010, 09:31:21 AM »

อ๋อ รู้แล้ว ไปดูใน data sheet  หน้าที่เขียนว่า "SPECIAL FUNCTION REGISTER MAP"  บางตัวเรียกว่า "DATA MEMORY MAP"   Grin

Logged

smitdh
Administrator
Hero Member
*****
Offline Offline

Gender: Male
Posts: 381


อาจารย์ที่ปรึกษา


« Reply #2 on: June 24, 2010, 03:28:08 PM »

เพิ่มเต็มอีกนิดครับ style ที่ให้ตัวอย่างไว้ใน web เป็น style Ansi-C ครับ เพื่อเป็นแนวทางการใช้งานในรูปแบบนี้
ซึ่งจะใช้คอมไพเลอร์ คอมไพให้เท่านั้น (ไม่ได้ใช้ fn ของ CCS) ต้องกำหนด address ของ Register เอง
ข้อเสียคือเมื่อเวลาเปลี่ยนเบอร์ จะต้องตรวจสอบให้แน่ใจก่อนว่า เบอร์ที่ใช้มี address ตรงกันหรือเปล่า
และจะเขียนยากกว่า

หากใช้ฟังก์ชั่นของ CCS ก็มีเช่น
set_pwm1_duty( );
setup_ccp1( );

ลองศึกษาเพิ่มเติมดูนะครับ
Logged
Mr.P
Jr. Member
**
Offline Offline

Posts: 10



Email
« Reply #3 on: June 24, 2010, 03:56:12 PM »

ขอบคุณมากครับ ตอนนี้ลงทำตามที่บอกแล้วครับ โดยใช้ fn CCS

set_pwm1_duty( );
setup_ccp1( );

ขอบคุณมากครับ

 
Logged

Pages: [1]   Go Up
Print
 
Jump to: