|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
02-04-2013, 04:35 PM | #11 |
Đệ tử 1 túi
Tham gia ngày: Aug 2012
Bài gửi: 24
: |
em làm thế này
đây là code em kiếm được nhưng chạy được tẹo là lại lỗi không chạy tiếp ai biết chỉ em với
#include <18f4431.h> #fuses H4,NOWDT,NOPROTECT,NOLVP #use delay(clock=40000000) const INT16 sin_wave[400]= { 998,1013,1028,1043,1058,1072,1087,1102,1117,1132, 1146,1161,1176,1190,1205,1219,1234,1248,1263,1277, 1291,1305,1319,1333,1347,1361,1375,1388,1402,1415, 1428,1442,1455,1468,1481,1493,1506,1519,1531,1543, 1555,1567,1579,1591,1602,1614,1625,1636,1647,1658, 1668,1679,1689,1699,1709,1719,1729,1738,1747,1756, 1765,1774,1782,1790,1799,1806,1814,1822,1829,1836, 1843,1849,1856,1862,1868,1874,1880,1885,1890,1895, 1900,1904,1908,1912,1916,1920,1923,1926,1929,1932, 1934,1937,1939,1940,1942,1943,1944,1945,1946,1946, 1946,1946,1946,1945,1944,1943,1942,1940,1939,1937, 1934,1932,1929,1926,1923,1920,1916,1912,1908,1904, 1900,1895,1890,1885,1880,1874,1868,1862,1856,1849, 1843,1836,1829,1822,1814,1806,1799,1790,1782,1774, 1765,1756,1747,1738,1729,1719,1709,1699,1689,1679, 1668,1658,1647,1636,1625,1614,1602,1591,1579,1567, 1555,1543,1531,1519,1506,1493,1481,1468,1455,1442, 1428,1415,1402,1388,1375,1361,1347,1333,1319,1305, 1291,1277,1263,1248,1234,1219,1205,1190,1176,1161, 1146,1132,1117,1102,1087,1072,1058,1043,1028,1013, 998,983,968,953,938,924,909,894,879,864, 850,835,820,806,791,777,762,748,733,719, 705,691,677,663,649,635,621,608,594,581, 568,554,541,528,515,503,490,477,465,453, 441,429,417,405,394,382,371,360,349,338, 328,317,307,297,287,277,267,258,249,240, 231,222,214,206,197,190,182,174,167,160, 153,147,140,134,128,122,116,111,106,101, 96,92,88,84,80,76,73,70,67,64, 62,59,57,56,54,53,52,51,50,50, 50,50,50,51,52,53,54,56,57,59, 62,64,67,70,73,76,80,84,88,92, 96,101,106,111,116,122,128,134,140,147, 153,160,167,174,182,190,197,206,214,222, 231,240,249,258,267,277,287,297,307,317, 328,338,349,360,371,382,394,405,417,429, 441,453,465,477,490,503,515,528,541,554, 568,581,594,608,621,635,649,663,677,691, 705,719,734,748,762,777,791,806,820,835, 850,864,879,894,909,924,938,953,968,983}; #bit TBInt_pin = 0xfa4.4 #byte PTMRL = 0XF7D #byte PTMRH = 0XF7C unsigned INT32 index1 = 0; unsigned INT32 index2 = 399; void main() { setup_power_pwm_pins(PWM_COMPLEMENTARY,PWM_COMPLEM ENTARY,PWM_OFF,PWM_OFF); setup_power_pwm(PWM_CLOCK_DIV_4|PWM_FREE_RUN,1,0,4 99,0,1,10); while (1) { if (TBINT_PIN == 1 && PTMRL >= 100) { set_power_pwm0_duty(sin_wave[index1]); index1++; set_power_pwm2_duty(sin_wave[index2]); index2--; TBINT_PIN= 0; if (index1 >=400) index1=0; if (index2 <=0) { set_power_pwm2_duty(sin_wave[index2]); index2=399; } } } } |
|
|