BASCOM-AVR 直连 Arduino(Basic编程)
测了一下,mega2560和duemilanove 、Uno都可以但是编程选项里的编程器选项要设定为arduino或是arduino sk500v2
可供参考,编译后的尺寸是比较小的 以前学过一段时间bascom-avr,没怎么学会,还是arduino上手容易 继续学习~~~~ 本帖最后由 mxx_xm 于 2012-12-24 22:10 编辑
我也是瞎试试,至少basic要比汇编好懂点吧,库也挺多的,我点两个灯blink 只需要200多字节,在空间比较紧张的时候还是有些好处的,
当然还是要以Arduino IDE为主 mxx_xm 发表于 2012-12-24 22:07 static/image/common/back.gif
我也是瞎试试,至少basic要比汇编好懂点吧,库也挺多的,我点两个灯blink 只需要200多字节,在空间比较紧张 ...
那个选单这样那样太多了。。。学起来头都大了,熔丝位什么都要了解,还是arduino比较傻瓜。。hoho,我是不动bascom了,宁愿升级芯片。。。话说我当时还买了一本书。。没坚持下来,现在还是新的。。 用它搞arduino不用管熔丝位呀,都是直接烧程序 顶楼主,非常好 呵呵,居然有这种东西,有取地址的操作符么 很多人都是用它快速开发AVR的
想看看有什么函数可以去http://avrhelp.mcselec.com/index.html 本帖最后由 mxx_xm 于 2012-12-25 09:51 编辑
BASCOM AVR 命令汇编 (不完整旧版)
$regfile : 头文件
$BAUD : 设定串口的速率
$CRYSTAL : 申明所用石英晶体的振荡频率
ABS( ) : 绝对值计算
ALIAS : 为变量重新取名
ASC( ) : 将字符串的第一个字母转为其ASCII码值
BITWAIT : 一直等待某个位等于0或1
CALL : 调用子程序
CHR( ) : 把ASCII数值转换成其相应的字母、数字或字符
CLS : 清除LCD液晶显示屏,并把光标移到第一行的第一个字符位
CONST : 申明一个符号常量
CONFIGLCD : 设置LCD液晶显示屏的规格类型
CONFIGLCDPIN : 设置LCD液晶显示屏与MCS-51单片机的管脚连接关系
CONFIGTIMER0 : 设置定时器/计数器之定时器Timer0的工作模式
CONFIGTIMER1 : 设置定时器/计数器之定时器Timer1的工作模式
COUNTERx : 存取定时器/计数器之计数器Counter0或Counter1的内容
CURSOR : 设置LCD液晶显示屏的光标状态
DATA : 存放常量数据资料,即数据列表
DEBOUNCE : 消除开关或者键盘所产生的接点反弹跳
DECR : 把数值型变量的内容减一
DECLARESUB : 申明一个子程序
DEFtype : 申明以同一个字母为首的变量,皆属于同一类型的数据
DEFLCDCHAR : 定义LCD液晶显示屏的自定义字符或图形
DELAY : 延时一个短的时间(100us)
DIM : 申明一个变量的数据类型
DISABLE : 令中断为不能
DISPLAY : 命令LCD液晶显示屏显示或者熄灭
DO...LOOP : 重复执行一个程序段,直到条件成立
ELSE : 当IF...THEN的条件不成立时则执行相应的程序段
ENABLE : 令中断为能
END : 终止程序的标志(全部程序结束的标志,伪指令)
ENDIF : IF...THEN结构的结束标志
ERASE : 删除某个变量,以释放其占用的单片机ROM和RAM空间
EXIT : 立即跳出循环或子程序
FOR : 把一个指定程序段无条件执行指定的若干次
FOURTHLINE : 把光标移到LCD液晶显示屏第4行的首字符
GOSUB : 执行子程序,完成后返回原跳转处接下一行继续执行
GOTO : 执行子程序,完成后不返回
HEX( ) : 把数值转换成16进制数值的字符串
HEXVAL( ) : 把16进制之字符串转换成10进制之数值
HIGH( ) : 撷取数值的最高位字节
HOME : 把光标移至LCD显示屏的第一行的首字符位
IDLE : 命令MCS-51单片机进入闲置工作模式
IF : 根据条件执行相应的程序段
INCR : 把数值型变量的内容加一
INPUT : 从串行口读取ASCII码形式的数据
INPUTBIN : 从串行口读取二进制位数据
LCD : 在LCD液晶显示屏上显示字符
LCDHEX : 在LCD液晶显示屏上显示16进制的数值
LEFT( ) : 撷取字符串最左边的若干个字节
LEN( ) : 计算字符串的长度
LOAD : 设置定时器/计数器的自动再载入数值
LOCATE : 把LCD液晶显示屏的光标移到指定的位置
LOOKUP( ) : 读取数据列表中指定位置的数值数据
LOOKUPSTR( ) : 读取数据列表中指定位置的字符串数据
LOW( ) : 撷取数值的最低位字节
LOWERLINE : 把光标移到LCD液晶显示屏第二行的首字符位
MAKEBCD( ) : 把数值转换成BCD的形式
MAKEINT( ) : 把两个Byte单字节型数据组合成Word或Integer双字节型数据
MAKEDEC( ) : 把BCD码转换成十进制的数值
MID( ) : 取字符串的一部分字节,或者以其它字符串内的字节取代本字符串内一部分字节
MOD : 求余数运算
NEXT : FOR...NEXT无条件循环结构的结束标志
ON Interrupt : 当中断发生时,执行相应的子程序
ON value : 根据变量的值而执行相应的程序或者子程序
POWERDOWN : 命令MCS-51单片机进入功率下降工作模式
PRINT : 将数据以ASCII码的形式从串行口发送出去
PRINTBIN : 将数据以二进制形式从串行口发送出去
PRINTHEX : 将数据转换成十六进制值,然后以ASCII码的形式由串行口发送出去
PRIORITY : 设置中断的优先权
READ : 顺序读取数据列表中的数据
REM : 程序注释标志,功能与单引号 : 作用相同,BASCOM- 8051 中通常用单引号 : 标识注释内容
RESET : 令变量的某个位等于0
RESTORE : 把指针指向数据列表的开头
RETURN : 子程序结束标志(从子程序返回到主程序)
RIGHT( ) : 撷取字符串最右边的若干个字节
RND( ) : 产生随机数
ROTATE : 把变量的内容向左或者向右旋转移动数个位
SELECT CASE : 根据变量的内容去执行某些程序段
SET :令变量的某个位等于1
SHIFTCURSOR :令LCD液晶显示屏光标向左或向右移动一位
SHIFTLCD :令LCD液晶显示屏所显示内容的全部字节向左或向右移动一位
SOUND :由单片机某个I/O接脚送出一定频率的音频的声音
START :启动定时器/计数器
STOP :停止程序的执行(全部程序结束标志,非伪指令)
STOP TIMERx :命令定时器/计数器停止工作
STR( ) :把数值转换成字符串形式
SUB :定义一个子程序
SWAP :把两个数值变量的内容对调
THIRDLINE :把LCD液晶显示屏的光标移到第三行的首字符位
UPPERLINE :把LCD液晶显示屏的光标移到第一行的首字符位
VAL( ) :把字符串形式的数字转换成数值
WAIT :延时若干秒
WAITKEY :等待串行口接收到一个字节
WAITMS :延时若干毫秒
WHILE...WEND :重复执行循环程序段,直到条件不成立为止
新版语言参考关键词
1Wire routines allow you to communicate with Dallas 1wire chips.
1WRESET , 1WREAD , 1WWRITE , 1WSEARCHFIRST , 1WSEARCHNEXT
,1WVERIFY , 1WIRECOUNT
CAN
CONFIG CANBUS , CONFIG CANMOB , CANBAUD , CANRESET ,
CANCLEARMOB , CANCLEARALLMOBS , CANSEND , CANRECEIVE , CANID ,
CANSELPAGE , CANGETINTS
Conditions
Conditions execute a part of the program depending on a condition being True or False
IF-THEN-ELSE-END IF , WHILE-WEND , ELSE , DO-LOOP , SELECT CASE
- END SELECT , FOR-NEXT
Configuration
Configuration commands initialize the hardware to the desired state.
CONFIG , CONFIG ACI , CONFIG ADC , CONFIG ADCx , CONFIG BCCARD
, CONFIG CLOCK , CONFIG COM1 , CONFIG COM2 , CONFIG DAC ,
CONFIG DATE , CONFIG DMXSLAVE , CONFIG EEPROM ,CONFIG
EXTENDED_PORT , CONFIG PS2EMU , CONFIG ATEMU , CONFIG I2CSLAVE
, CONFIG INPUT , CONFIG GRAPHLCD , CONFIG KEYBOARD , CONFIG
TIMER0 , CONFIG TIMER1 , CONFIG LCDBUS , CONFIG LCDMODE ,
CONFIG 1WIRE , CONFIG LCD , CONFIG OSC , CONFIG SERIALOUT ,
CONFIG SERIALIN , CONFIG SPI , CONFIG SPIx , CONFIG SYSCLOCK ,
CONFIG LCDPIN , CONFIG PRIORITY , CONFIG SDA , CONFIG SCL ,
CONFIG DEBOUNCE , CONFIG WATCHDOG , CONFIG PORT , COUNTER0 AND
COUNTER1 , CONFIG TCPIP , CONFIG TWISLAVE , CONFIG SINGLE ,
CONFIG X10 , CONFIG XRAM , CONFIG USB , CONFIG DP , CONFIG TCXX
, CONFIG VPORT CONFIG ERROR , CONFIG POWER REDUCTION , CONFIG
EVENT_SYSTEM , CONFIG DMA , CONFIG DMACHx , CONFIG SUBMODE ,
CONFIG POWERMODE , CONFIG XPIN
Conversion
A conversion routine is a function that converts a number or string from one form to
another.
BCD , GRAY2BIN , BIN2GRAY , BIN , MAKEBCD , MAKEDEC ,
MAKEINT , FORMAT , FUSING , BINVAL , CRC8 , CRC16 , CRC16UNI
, CRC32 , HIGH , HIGHW , LOW , AESENCRYPT , AESDECRYPT
DateTime
Date Time routines can be used to calculate with date and/or times.
DATE , TIME , DATE$ , TIME$ , DAYOFWEEK , DAYOFYEAR ,
SECOFDAY , SECELAPSED , SYSDAY , SYSSEC , SYSSECELAPSED
Delay
Delay routines delay the program for the specified time.
WAIT , WAITMS , WAITUS , DELAY
Directives
Directives are special instructions for the compiler. They can override a setting from
the IDE.
$ASM , $BAUD , $BAUD1 , $BIGSTRINGS , $BGF , $BOOT ,
$CRYSTAL , $DATA , $DBG , $DEFAULT , $EEPLEAVE , $EEPROM ,
$EEPROMHEX , $EEPROMSIZE , $EXTERNAL , $HWSTACK , $INC ,
$INCLUDE , $INITMICRO , $LCD , $LCDRS , $LCDPUTCTRL ,
$LCDPUTDATA , $LCDVFO , $LIB , $LOADER , $LOADERSIZE , $MAP
, $NOCOMPILE , $NOINIT , $NORAMCLEAR , $NORAMPZ , $PROJECTTIME
, $PROG , $PROGRAMMER , $REGFILE , $RESOURCE , $ROMSTART
$SERIALINPUT , $SERIALINPUT1 , $SERIALINPUT2LCD , $SERIALOUTPUT ,
$SERIALOUTPUT1 , $SIM , $SWSTACK , $TIMEOUT , $TINY ,
$WAITSTATE , $XRAMSIZE , $XRAMSTART , $XA , $CRYPT ,
$NOTRANSFORM , $FILE , $AESKEY , $XTEAKEY , $STACKDUMP ,
$NOFRAMEPROTECT , $FRAMEPROTECT
File
File commands can be used with AVR-DOS, the Disk Operating System for AVR.
BSAVE , BLOAD , GET , VER , DISKFREE , DIR , DriveReset ,
DriveInit , LINE INPUT , INITFILESYSTEM , EOF , WRITE , FLUSH ,
FREEFILE , FILEATTR , FILEDATE , FILETIME , FILEDATETIME , FILELEN
, SEEK , KILL , DriveGetIdentity , DriveWriteSector , DriveReadSector
, LOC , LOF , PUT , OPEN , CLOSE , CHDIR , MKDIR , RMDIR
Graphical LCD
Graphical LCD commands extend the normal text LCD commands.
GLCDCMD , GLCDDATA , SETFONT , LINE , PSET , SHOWPIC ,
SHOWPICE , CIRCLE , BOX
I2C
I2C commands allow you to communicate with I2C chips with the TWI hardware or
with emulated I2C hardware.
I2CINIT , I2CRECEIVE , I2CSEND , I2CSTART, I2CREPSTART, I2CSTOP,
I2CRBYTE,I2CWBYTE
IO
I/O commands are related to the I/O pins and ports of the processor chip.
ALIAS , BITWAIT , TOGGLE , RESET , SET , SHIFTIN , SHIFTOUT
, DEBOUNCE , PULSEIN , PULSEOUT
Micro
Micro statements are specific to the micro processor chip.
IDLE , POWER mode , POWERDOWN , POWERSAVE , ON INTERRUPT ,
ENABLE , DISABLE , START , END , VERSION , CLOCKDIVISION ,
CRYSTAL , STOP
Memory
Memory functions set or read RAM , EEPROM or flash memory.
ADR , ADR2 , WRITEEEPROM , CPEEK , CPEEKH , PEEK , POKE ,
OUT , READEEPROM , DATA , INP , READ , RESTORE ,
LOOKDOWN , LOOKUP , LOOKUPSTR , CPEEKH , LOAD , LOADADR ,
LOADLABEL , LOADWORDADR , MEMCOPY , GETREG , SETREG
Remote Control
Remote control statements send or receive IR commands for remote control.
RC5SEND , RC6SEND , GETRC5 , SONYSEND
RS-232
RS-232 are serial routines that use the UART or emulate a UART.
BAUD , BAUD1 , BUFSPACE , CLEAR , ECHO , WAITKEY ,
ISCHARWAITING , INKEY , INPUTBIN , INPUTHEX , INPUT , PRINT ,
PRINTBIN , SERIN , SEROUT , SPC , MAKEMODBUS
SPI
SPI routines communicate according to the SPI protocol with either hardware SPI or
software emulated SPI.
SPIIN , SPIINIT , SPIMOVE , SPIOUT
String
String routines are used to manipulate strings.
ASC , CHARPOS , UCASE , LCASE , TRIM , SPLIT , LTRIM , INSTR
, SPACE , STRING , RTRIM , LEFT , LEN , MID , RIGHT , VAL
, STR , CHR , CHECKSUM , CHECKSUMXOR , HEX , HEXVAL ,
QUOTE , REPLACECHARS , STR2DIGITS , DELCHAR , DELCHARS ,
INSERTCHAR
TCP/IP
TCP/IP routines can be used with the W3100/IIM7000/IIM7010/W5100/W5200/
W5300 modules.
BASE64DEC , BASE64ENC , IP2STR , UDPREAD , UDPWRITE ,
UDPWRITESTR , TCPWRITE , TCPWRITESTR , TCPREAD , GETDSTIP ,
GETDSTPORT , SOCKETSTAT , SOCKETCONNECT , SOCKETLISTEN ,
GETSOCKET , SOCKETCLOSE , SETTCP , GETTCPREGS , SETTCPREGS ,
SETIPPROTOCOL , TCPCHECKSUM , SOCKETDISCONNECT , SNTP ,
TCPREADHEADER , UDPREADHEADER
Text LCD
Text LCD routines work with normal text based LCD displays.
HOME , CURSOR , UPPERLINE , THIRDLINE , INITLCD , LOWERLINE
, LCD , LCDAT , FOURTHLINE , DISPLAY , LCDCONTRAST , LOCATE ,
SHIFTCURSOR , DEFLCDCHAR , SHIFTLCD , CLS , LCDAUTODIM ,
LCDCMD , LCDDATA
Trig & Math
Trig and Math routines work with numeric variables.
ACOS , ASIN , ATN , ATN2 , EXP , RAD2DEG , FRAC , TAN ,
TANH , COS , COSH , LOG , LOG10 , ROUND , ABS , INT ,
MAX , MIN , SQR , SGN , POWER , SIN , SINH , FIX , INCR
, DECR , DEG2RAD , CHECKFLOAT , MOD
Various
This section contains all statements that were hard to put into another group
CONST , DBG , DECLARE FUNCTION , DEBUG , DECLARE SUB , DEFXXX
, DIM , DTMFOUT , EXIT , ENCODER , GETADC , GETKBD ,
GETATKBD , GETRC , GOSUB , GOTO , LOCAL ,ON VALUE , POPALL
, PS2MOUSEXY , PUSHALL , RETURN , RND , ROTATE , SENDSCAN
, SENDSCANKBD , SHIFT , SOUND , STCHECK , SUB , SWAP ,
VARPTR , X10DETECT , X10SEND , READMAGCARD , REM , BITS ,
BYVAL , CALL , #IF , #ELSE , #ENDIF , READHITAG , SORT ,
XTEADECODE , XTEAENCODE
XMEGA
READSIG 本帖最后由 mxx_xm 于 2012-12-25 10:12 编辑
ttyp 发表于 2012-12-25 09:02 static/image/common/back.gif
呵呵,居然有这种东西,有取地址的操作符么
详细请看11楼
忘了说也可以用汇编混合 zcbzjx 发表于 2012-12-24 20:47 static/image/common/back.gif
以前学过一段时间bascom-avr,没怎么学会,还是arduino上手容易
我感觉basic很容易上手啊,反倒是C包括arduino这种类C满篇的花括号我看着就头疼 IDE没找到下载呢?太乱了E文不好的不知道下载哪个。是不是BASCOM-AVR?
页:
[1]
2