ايران ويج

نسخه‌ی کامل: GCBASIC کمپایلر و IDE متن باز به زبان بیسیک و پشتیبانی از تراشه های AVR-PIC-EEPROM
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
.
با سلام و درود

[تصویر:  Cow.jpg]
Great Cow BASIC یا GCBASIC کمپایلر و IDE آزاد و متن باز به زبان بیسیک و با پشتیبانی از تراشه های AVR و PIC است.(پس خودتون در صورت پیدا کردن مشکل میتوانید با برنامه نویسی رفع عیب کنید.)
برای کسانی که میخواهند قانون کپی رایت را رعایت کنند و نرم افزار آزاد استفاده کنند و از شر Bascom و دیگر نرم افزارهای پولی زبان بیسیک راحت شوند بسیار خوب است (میدانید که در کشورهای رعایت کننده حق مولف یا کپی رایت اگر بدون پول و رضایت از آن استفاده کنید انگ دزدی دارد بخصوص در غرب و ژاپن و کره جنوبی و تازه گیها روسیه ... ) و همانا از نظر وجدانی و شرعی خوب است (همانطور که بیشتر ما دوست داریم که سرمایه فکری و اختراع ما همانند کپی رایت رعایت شود).

نزدیک به 650 نوع تراشه را پشتیبانی میکند.
این زبان بسیار به زبانهای BASIC , QBASIC , FreeBASIC نزدیک است. کسانی که BASCOM کار کرده اند با آن راحت اند.
و با ویژوال بیسیک نوشته شده است.

با پشتیبانی از تراشه های زیر:
10F 12C/12F 16C/16F 18C/18F TINY/MEGA   
10F200, 10F202. 10F204, 10F206, 10F220, 10F222,  10F320, 10F322
  12C508, 12C508A,  12C509,  12C509A,  12C671,  12C672,  12CE518,  12CE519,  12CE673,  12CE674,  12F1501,  12F1822,  12F1840,  12F508,  12F509,  12F510,  12F519,  12F520,  12F609,  12F615,  12F617,  12F629,  12F635,  12F675,  12F683,  12F752,  12HV609,  12HV615,  12LF1822


RF509AF, RF509AG, RF675F, RF675H, RF675K  16C432,  16C433,  16C505,  16C52,  16C54,  16C54A,  16C54B,  16C54C,  16C55,  16C554,  16C557,  16C558,  16C55A,  16C56,  16C56A,  16C57,  16C57C,  16C58,  16C58A,  16C58B,  16C61,  16C62,  16C620,  16C620A,  16C621,  16C621A,  16C622,  16C622A,  16C62A,  16C62B,  16C63,  16C63A,  16C64,  16C642,  16C64A,  16C65,  16C65A,  16C65B,  16C66,  16C662,  16C67,  16C71,  16C710,  16C711,  16C712,  16C715,  16C716,  16C717,  16C72,  16C72A,  16C73,  16C73A,  16C73B,  16C74,  16C745,  16C74A,  16C74B,  16C76,  16C765,  16C77,  16C770,  16C771,  16C773,  16C774,  16C781,  16C782,  16C84,  16C923,  16C924,  16C925,  16C926,  16CE623,  16CE624,  16CE625,  16CR54,  16CR54A,  16CR54B,  16CR54C,  16CR56A,  16CR57A,  16CR57B,  16CR57C,  16CR58A,  16CR58B,  16CR62,  16CR63,  16CR64,  16CR65,  16CR72,  16CR83,  16CR84,  16F1454,  16F1455,  16F1458,  16F1459,  16F1503,  16F1507,  16F1508,  16F1509,  16F1512,  16F1513,  16F1516,  16F1517,  16F1518,  16F1519,  16F1526,  16F1527,  16F1782,  16F1783,  16F1784,  16F1786,  16F1787,  16F1788,  16F1789,  16F1823,  16F1824,  16F1825,  16F1826,  16F1827,  16F1828,  16F1829,  16F1847,  16F1933,  16F1934,  16F1936,  16F1937,  16F1938,  16F1939,  16F1946,  16F1947,  16F505,  16F506,  16F526,  16F54,  16F57,  16F59,  16F610,  16F616,  16F627,  16F627A,  16F628,  16F628A,  16F630,  16F631,  16F636,  16F639,  16F648A,  16F676,  16F677,  16F684,  16F685,  16F687,  16F688,  16F689,  16F690,  16F707,  16F716,  16F72,  16F720,  16F721,  16F722,  16F722A,  16F723,  16F723A,  16F724,  16F726,  16F727,  16F73,  16F737,  16F74,  16F747,  16F76,  16F767,  16F77,  16F777,  16F785,  16F818,  16F819,  16F83,  16F84,  16F84A,  16F87,  16F870,  16F871,  16F872,  16F873,  16F873A,  16F874,  16F874A,  16F876,  16F876A,  16F877,  16F877A,  16F88,  16F882,  16F883,  16F884,  16F886,  16F887,  16F913,  16F914,  16F916,  16F917,  16F946,  16HV540,  16HV610,  16HV616,  16HV785,  16LF1823,  16LF1826,  16LF1827,  16LF1933,  16LF1934,  16LF1936,  16LF1937,  16LF1938,  16LF1939,  16LF1946,  16LF1947,  16LF722,  16LF723,  16LF724,  16LF726,  16LF727
 18C242,  18C252,  18C442,  18C452,  18C601,  18C658,  18C801,  18C858,  18CXXX,  18F1220,  18F1230,  18F1231,  18F1320,  18F1330,  18F1331,  18F13K22,  18F13K50,  18F13K50_MOD,  18F13K50_ORIG,  18F14K22,  18F14K22LIN,  18F14K50,  18F2220,  18F2221,  18F2320,  18F2321,  18F2331,  18F23K20,  18F23K22,  18F2410,  18F242,  18F2420,  18F2423,  18F2431,  18F2439,  18F2450,  18F2455,  18F2458,  18F248,  18F2480,  18F24J10,  18F24J11,  18F24J50,  18F24K20,  18F24K22,  18F2510,  18F2515,  18F252,  18F2520,  18F2523,  18F2525,  18F2539,  18F2550,  18F2553,  18F258,  18F2580,  18F2585,  18F25J10,  18F25J11,  18F25J50,  18F25K20,  18F25K22,  18F25K80,  18F2610,  18F2620,  18F2680,  18F2681,  18F2682,  18F2685,  18F26J11,  18F26J13,  18F26J50,  18F26J53,  18F26K20,  18F26K22,  18F26K80,  18F27J13,  18F27J53,  18F4220,  18F4221,  18F4320,  18F4321,  18F4331,  18F43K20,  18F43K22,  18F4410,  18F442,  18F4420,  18F4423,  18F4431,  18F4439,  18F4450,  18F4455,  18F4458,  18F448,  18F4480,  18F44J10,  18F44J11,  18F44J50,  18F44K20,  18F44K22,  18F4510,  18F4515,  18F452,  18F4520,  18F4523,  18F4525,  18F4539,  18F4550,  18F4553,  18F458,  18F4580,  18F4585,  18F45J10,  18F45J11,  18F45J50,  18F45K20,  18F45K22,  18F45K80,  18F4610,  18F4620,  18F4680,  18F4681,  18F4682,  18F4685,  18F46J11,  18F46J13,  18F46J50,  18F46J53,  18F46K20,  18F46K22,  18F46K80,  18F47J13,  18F47J53,  18F6310,  18F6390,  18F6393,  18F63J11,  18F63J90,  18F6410,  18F6490,  18F6493,  18F64J11,  18F64J90,  18F6520,  18F6525,  18F6527,  18F6585,  18F65J10,  18F65J11,  18F65J15,  18F65J50,  18F65J90,  18F65K22,  18F65K80,  18F65K90,  18F6620,  18F6621,  18F6622,  18F6627,  18F6628,  18F6680,  18F66J10,  18F66J11,  18F66J15,  18F66J16,  18F66J50,  18F66J55,  18F66J60,  18F66J65,  18F66J90,  18F66J93,  18F66K22,  18F66K80,  18F66K90,  18F6720,  18F6722,  18F6723,  18F67J10,  18F67J11,  18F67J50,  18F67J60,  18F67J90,  18F67J93,  18F67K22,  18F67K90,  18F8310,  18F8390,  18F8393,  18F83J11,  18F83J90,  18F8410,  18F8490,  18F8493,  18F84J11,  18F84J90,  18F8520,  18F8525,  18F8527,  18F8585,  18F85J10,  18F85J11,  18F85J15,  18F85J50,  18F85J90,  18F85K22,  18F85K90,  18F8620,  18F8621,  18F8622,  18F8627,  18F8628,  18F8680,  18F86J10,  18F86J11,  18F86J15,  18F86J16,  18F86J50,  18F86J55,  18F86J60,  18F86J65,  18F86J72,  18F86J90,  18F86J93,  18F86K22,  18F86K90,  18F8720,  18F8722,  18F8723,  18F87J10,  18F87J11,  18F87J50,  18F87J60,  18F87J72,  18F87J90,  18F87J93,  18F87K22,  18F87K90,  18F96J60,  18F96J65,  18F96J72,  18F97J60,  18F97J72,  18LF13K22,  18LF13K50,  18LF13K50_MOD,  18LF13K50_ORIG,  18LF14K22,  18LF14K50,  18LF23K22,  18LF24J11,  18LF24J50,  18LF24K22,  18LF25J11,  18LF25J50,  18LF25K22,  18LF25K80,  18LF26J11,  18LF26J13,  18LF26J50,  18LF26J53,  18LF26K22,  18LF26K80,  18LF27J13,  18LF27J53,  18LF43K22,  18LF44J11,  18LF44J50,  18LF44K22,  18LF45J11,  18LF45J50,  18LF45K22,  18LF45K80,  18LF46J11,  18LF46J13,  18LF46J50,  18LF46J53,  18LF46K22,  18LF46K80,  18LF47J13,  18LF47J53,  18LF65K80,  18LF66K80

AVR
 TINY11,  TINY12,  TINY13,  TINY15,  TINY22,  TINY2313,  TINY24,  TINY25,  TINY26,  TINY261,  TINY28,  TINY44,  TINY45,  TINY461,  TINY84,  TINY85,  TINY861,  MEGA103,  MEGA103COMP,  MEGA128,  MEGA1280,  MEGA1281,  MEGA1284P,  MEGA16,  MEGA161,  MEGA161COMP,  MEGA162,  MEGA163,  MEGA164P,  MEGA164PA,  MEGA165,  MEGA165P,  MEGA168,  MEGA168P,  MEGA168PA,  MEGA169,  MEGA169P,  MEGA16A,  MEGA16HVA,  MEGA16M1,  MEGA16U2,  MEGA16U4,  MEGA2560,  MEGA2561,  MEGA32,  MEGA323,  MEGA324P,  MEGA324PA,  MEGA325,  MEGA3250,  MEGA3250P,  MEGA325P,  MEGA328P,  MEGA329,  MEGA3290,  MEGA3290P,  MEGA329P,  MEGA32A,  MEGA32C1,  MEGA32HVB,  MEGA32M1,  MEGA32U2,  MEGA32U4,  MEGA32U6,  MEGA406,  MEGA48,  MEGA48P,  MEGA64,  MEGA640,  MEGA644,  MEGA644P,  MEGA645,  MEGA6450,  MEGA649,  MEGA6490,  MEGA8,  MEGA8515,  MEGA8535,  MEGA88,  MEGA88P

90CAN128,  90CAN32,  90CAN64,  90PWM2,  90PWM216,  90PWM2B,  90PWM3,  90PWM316,  90PWM3B,  90S1200,  90S2313,  90S2323,  90S2343,  90S4414,  90S4433,  90S4434,  90S8515,  90S8515COMP,  90S8535,  90S8535COMP,  90USB1286,  90USB1287,  90USB162,  90USB646,  90USB647,  90USB82

EEPROM
24LC01B
24LC02B
24LC04B
24LC08B
24LC16B
24LC64
24LC128
24LC256
24LC512

RAMTRON  FRAM
DS1307
DS1337
DS1672
DS3231
DS2482
MCP7940N
HMC5843
HMC5883
MCP23008
MCP23017

KS00108  KS0107
TS7920
ST7735
DHT11
DHT22




در پایگاه سازنده یک IDE به نام GCB@Syn نیز معرفی شده است.
عکس محیط آن:

نشانی آن:




 بسیار آسان با برنامه کار کنید (فلوچارت و  "بکش و رهاکن"(ِDrag&Drop)) کدها گرافیکی ساخته میشود. :

[تصویر:  gcgb-blinkled.png]




کلمات کلیدی: ویژوال بیسیک 6.0 و بیسیک و VB6 و Basic و میکروکنترلر و محیط توسعه کد و برنامه نویسی IDE AVR PIC EEPROM
.

نقشه و مثال Morse Code transmitter
در این مدار و برنامه آن از صفحه کلید  PS/2 استفاده می شود.(نمونه خوبی از وصل صفحه کلید  PS/2 یا رایانه تان به میکرو PIC است.)
خروجی برای LCD نیز در نظر گرفته شده است.
بلندگو نیز کد مورس ساخته شده را پخش میکند.

نقشه مدار :
http://gcbasic.sourceforge.net/MorseCode.png

کد برنامه :


کد:
'Morse Code demonstration for Great Cow BASIC
'(c) Hugh Considine 2006-2008

'A program to accept messages from a standard PS/2 keyboard, then play
'them as morse code using a speaker.

'User Settings
#define CodeFrequency 750 'Hz
#define DotLength 5 '* 10 ms
#define DotSpace 250 ' ms
#define BarLength 25 '* 10 ms
#define BarSpace 50 ' ms

'Hardware settings
#chip 16F877A, 20

'LCD connection settings
#define LCD_IO 8
#define LCD_DATA_PORT PORTC
#define LCD_RS PORTD.0
#define LCD_RW PORTD.1
#define LCD_Enable PORTD.2

'PS/2 keyboard connection settings
#define PS2Clock PORTB.1
#define PS2Data PORTB.2

'Tone output pin
#define SoundOut PORTD.3

'Set port directions
DIR PS2Clock IN
DIR PS2Data IN
DIR SoundOut OUT

'Clear key buffer
DIM KeyLog(32)
DataCount = 0
KeyLog(1) = 32 'Space character

'Show opening message
PRINT "GCBASIC Morse"
locate 1,0
PRINT "Code Transmitter"

'Main routine
Main:

'Get a keypress
KeyIn = INKEY
if KeyIn = 0 then goto Main

'Allow time for key to be released
wait 150 ms

'if ENTER is pressed, then send message
if KeyIn = 13 then
 MorseSend
 goto Main
end if
 
'Escape - clear message buffer
if KeyIn = 27 then
 DataCount = 0
 for DataPos = 1 to 32
  KeyLog(DataPos) = 32
 next
 goto DisplayData
end if

'Backspace - delete last character
if KeyIn = 8 then
 if DataCount = 0 then goto Main
 KeyLog(DataCount) = 32
 DataCount = DataCount - 1
 goto DisplayData
end if

'Otherwise, add the character to the buffer
DataCount = DataCount + 1
KeyLog(DataCount) = KeyIn

DisplayData:
'Display key log
CLS
for DataPos = 1 to DataCount
 if DataPos = 17 then locate 1,0
 LCDWriteChar KeyLog(DataPos)
next

goto Main

sub MorseSend
for SendLetter = 1 to DataCount
 Letter = KeyLog(SendLetter)
 
 'Numbers
 if Letter = 48 then Bar: Bar: Bar: Bar: Bar '0
 if Letter = 49 then Dot: Bar: Bar: Bar: Bar '1
 if Letter = 50 then Dot: Dot: Bar: Bar: Bar '2
 if Letter = 51 then Dot: Dot: Dot: Bar: Bar '3
 if Letter = 52 then Dot: Dot: Dot: Dot: Bar '4
 if Letter = 53 then Dot: Dot: Dot: Dot: Dot '5
 if Letter = 54 then Bar: Dot: Dot: Dot: Dot '6
 if Letter = 55 then Bar: Bar: Dot: Dot: Dot '7
 if Letter = 56 then Bar: Bar: Bar: Dot: Dot '8
 if Letter = 57 then Bar: Bar: Bar: Bar: Dot '9

 'Letters
 if Letter >= 97 and Letter <= 122 then Letter -= 32 'Convert to upper case
 if Letter = 65 then Dot: Bar
 if Letter = 66 then Bar: Dot: Dot: Dot
 if Letter = 67 then Bar: Dot: Bar: Dot
 if Letter = 68 then Bar: Dot: Dot
 if Letter = 69 then Dot
 if Letter = 70 then Dot: Dot: Bar: Dot
 if Letter = 71 then Bar: Bar: Dot
 if Letter = 72 then Dot: Dot: Dot: Dot
 if Letter = 73 then Dot: Dot 'I
 if Letter = 74 then Dot: Bar: Bar: Bar 'J
 if Letter = 75 then Bar: Dot: Bar 'K
 if Letter = 76 then Dot: Bar: Dot: Dot 'L
 if Letter = 77 then Bar: Bar 'M
 if Letter = 78 then Bar: Dot 'N
 if Letter = 79 then Bar: Bar: Bar 'O
 if Letter = 80 then Dot: Bar: Bar: Dot 'P
 if Letter = 81 then Bar: Bar: Dot: Bar 'Q
 if Letter = 82 then Dot: Bar: Dot 'R
 if Letter = 83 then Dot: Dot: Dot 'S
 if Letter = 84 then Bar 'T
 if Letter = 85 then Dot: Dot: Bar 'U
 if Letter = 86 then Dot: Dot: Dot: Bar 'V
 if Letter = 87 then Dot: Bar: Bar 'W
 if Letter = 88 then Bar: Dot: Dot: Bar 'X
 if Letter = 89 then Bar: Dot: Bar: Bar 'Y
 if Letter = 90 then Bar: Bar: Dot: Dot 'Z

 'Misc
 if Letter = 32 then wait 300 ms 'Space
next
end sub

sub Dot
 Tone CodeFrequency, DotLength
 wait DotSpace ms
end sub

sub Bar
 Tone CodeFrequency, BarLength
 wait BarSpace ms
end sub

' سپاس از همتون
.

درود

At آخرین ویرایش 0.95.006 نرم افزار به تاریخ  27/2/2016 پخش گردید (منتشر شد). با پشتیبانی از چند تراشه و رفع مشکلات و ...

و از همه مهمتر برای سامانه کاری Linux نیز ویرایشی ساخته شد.

میکروکنترلرهای پشتیبانی شده از 900 گونه گذشت.

حجم بسته کامل ویندوز با برنامه برای هفت نوع  Programmer و ابزار AVR و PIC نزدیک 57 مگابایت است (کاهش یافته آن 16 مگابایت) . و برای لینوکس 13 مگابایت است.

.

v0.95.007

دارای پشتیانی از 7/هفت نوع پروگرامر است. و450 فایل/پرونده نمونه و مثال نیز دارد. از Pickit 2 & 3 پشتیبانی میکند.

از I2c2 که ویرایش دوم I2c است پشتیبانی میکند.

پشتیبانی از Xpress Evaluation board و ساخت برد.

بهینه سازی برای کاهش کد هگز برای A/D و PWM .







Latest News:
26/6/2016

The Great Cow Basic development team have published another release that further enhances the Great Cow Basic compiler capabilities.  This release  is callled v0.95.007

       Added support for Linux distribution.
       Support for the Xpress Evaluation board including a host of demonstrations for the Xpress Evaluation board.
       New GCB utility to load hex file into Microchip Xpress board.
       Improved performance to increase productivity and to reduce compilation time.
       Improved string handling. Strings can be defined with escape characters like quotes and semi-colons.
       New volatile bit can be defined that improves setting for specific bits.
       Enhanced bit Not operator - now works with bit variables!
       Further improvements to #option explicit.
       Ethernet support for ENC28J60 adapter with a full TCPIP stack. This is a separate download.
       Performance improvements to further improve productivity.
       New optimisation options for A-D.h and PWM.h to reduce the size of generated asm and hex file.
       Improved support for 900+ Microchip and Atmel 8-bit microcontrollers
           Microchip 10F, 12C, 12F, 16C, 16F, 18C and 18F devices.  The LF devices are now automatically supported (no need for LF specific chip files).
           AVR microcontrollers Classic AVR, Tiny AVR and Mega AVR devices.
           Support for 16f85xx class of microcontroller plus changes to the supporting hardware files.
           New commands to support PPS.  LOCKPPS and UNLOCKPPS.
       Improved software I2C support that now includes timeout when using software I2C Master.
       An IDE to make programming as easy as possible including Help and IDE Helpers.
       450+ demonstration files that showcase the breadth and depth of capabilities.
       Support for a large set of supported hardware accessories.
       New I2C2 drivers adding 2nd I2C support.
       GLCD handling with even more types of GLCD supported.
       New scalable fonts with added support for extended fonts sets.
       Increased support for microcontroller timers by supporting all the available microcontroller timers – this can be up to 12 separate timers.
       New support for HEFM memory.
       Handling the default Interrupt handlers.
       Full Linux version of the Great Cow BASIC Compiler and the toolchain
       New Windows installer for four different type of installation.
       Plus other new functionality and enhancements or fixes over the previous release.

.
فقط مرسی از زحمات همه Clap  :():
با سلام و درود

ویرایش98.0.2   تازه آمد.هم ویندوز هم لینوکس.



http://gcbasic.sourceforge.net/Typesette...p/Download