View Single Post
Old 30-11-2008, 10:23 PM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi phamminh05 View Post
Em muốn viết 1 đoạn code phát âm thanh đơn giản thôi,giống như cái Casio vậy vô hàm void play_sound(void) ở trên,nhưng em không biết cấu hình PMW như thế nào và xuất ra như thế nào(cần 1 chân hay cả nguyên 1 port) để xuất ra âm thanh?
Mong anh namqn và các bạn giúp giùm mình với,hơi chi tiết 1 chút,mình mới chỉ tìm hiểu PIC và VDK chưa lâu nên chưa biết rõ lắm.
Bạn chỉ cần 1 ngõ ra của PIC (cùng với chân VSS) để xuất âm thanh ra loa (thông qua một mạch khuếch đại, nếu cần thiết).

Một ví dụ về cách tôi thiết lập module CCP2 của PIC18F2320 trong C18 như sau:
Code:
	PR2 = 200;			//PR2 = (PWM period)*Fosc/(4*TMR2 prescale), 10 kHz
	CCP2CON = 0x0C;			//PWM mode, 2 LSBs of duty cycle are '0'
	CCPR2L = 100;			//50% duty initially
	PIR1bits.TMR2IF = 0;
	T2CON = 0x04;			//Timer 2 is on (prescale = 1:1, postscale = 1:1)
	TRISCbits.TRISC1 = 0;		//RC1 is an output (PWM output)
Khi cần thay đổi duty cycle thì bạn thay đổi giá trị CCPR2L (8 bit cao nhất của duty cycle), và các bit <5:4> của thanh ghi CCP2CON (2 bit thấp nhất của duty cycle).

Tự đào sâu tìm hiểu sẽ giúp bạn hiểu rõ hơn.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn