极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 44840|回复: 17

BASCOM-AVR 直连 Arduino(Basic编程)

[复制链接]
发表于 2012-12-24 20:39:34 | 显示全部楼层 |阅读模式
测了一下,mega2560和duemilanove 、Uno都可以
但是编程选项里的编程器选项要设定为arduino或是arduino sk500v2




可供参考,编译后的尺寸是比较小的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2012-12-24 20:47:52 | 显示全部楼层
以前学过一段时间bascom-avr,没怎么学会,还是arduino上手容易
回复 支持 反对

使用道具 举报

发表于 2012-12-24 21:58:30 | 显示全部楼层
继续学习~~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-24 22:07:56 | 显示全部楼层
本帖最后由 mxx_xm 于 2012-12-24 22:10 编辑

我也是瞎试试,至少basic要比汇编好懂点吧,库也挺多的,我点两个灯blink 只需要200多字节,在空间比较紧张的时候还是有些好处的,
当然还是要以Arduino IDE为主
回复 支持 反对

使用道具 举报

发表于 2012-12-24 22:14:44 | 显示全部楼层
mxx_xm 发表于 2012-12-24 22:07
我也是瞎试试,至少basic要比汇编好懂点吧,库也挺多的,我点两个灯blink 只需要200多字节,在空间比较紧张 ...

那个选单这样那样太多了。。。学起来头都大了,熔丝位什么都要了解,还是arduino比较傻瓜。。hoho,我是不动bascom了,宁愿升级芯片。。。话说我当时还买了一本书。。没坚持下来,现在还是新的。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-24 22:24:12 | 显示全部楼层
用它搞arduino不用管熔丝位呀,都是直接烧程序
回复 支持 反对

使用道具 举报

发表于 2012-12-24 23:45:26 | 显示全部楼层
顶楼主,非常好
回复 支持 反对

使用道具 举报

发表于 2012-12-25 09:02:22 | 显示全部楼层
呵呵,居然有这种东西,有取地址的操作符么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-25 09:40:17 | 显示全部楼层
很多人都是用它快速开发AVR的

想看看有什么函数可以去http://avrhelp.mcselec.com/index.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-25 09:49:37 | 显示全部楼层
本帖最后由 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       : 申明一个符号常量

  CONFIG  LCD    : 设置LCD液晶显示屏的规格类型

  CONFIG  LCDPIN : 设置LCD液晶显示屏与MCS-51单片机的管脚连接关系

  CONFIG  TIMER0 : 设置定时器/计数器之定时器Timer0的工作模式

  CONFIG  TIMER1 : 设置定时器/计数器之定时器Timer1的工作模式

  COUNTERx    : 存取定时器/计数器之计数器Counter0或Counter1的内容

  CURSOR     : 设置LCD液晶显示屏的光标状态

  DATA      : 存放常量数据资料,即数据列表

  DEBOUNCE    : 消除开关或者键盘所产生的接点反弹跳

  DECR      : 把数值型变量的内容减一

  DECLARE  SUB  : 申明一个子程序

  DEFtype     : 申明以同一个字母为首的变量,皆属于同一类型的数据

  DEFLCDCHAR   : 定义LCD液晶显示屏的自定义字符或图形

  DELAY      : 延时一个短的时间(100us)

  DIM       : 申明一个变量的数据类型

  DISABLE     : 令中断为不能

  DISPLAY     : 命令LCD液晶显示屏显示或者熄灭

  DO...LOOP    : 重复执行一个程序段,直到条件成立

  ELSE      : 当IF...THEN的条件不成立时则执行相应的程序段

  ENABLE     : 令中断为能

  END       : 终止程序的标志(全部程序结束的标志,伪指令)

  END  IF     : 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    :重复执行循环程序段,直到条件不成立为止
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-25 10:02:21 | 显示全部楼层
新版语言参考关键词

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
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-25 10:05:01 | 显示全部楼层
本帖最后由 mxx_xm 于 2012-12-25 10:12 编辑
ttyp 发表于 2012-12-25 09:02
呵呵,居然有这种东西,有取地址的操作符么


详细请看11楼


回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-25 10:13:12 | 显示全部楼层
忘了说也可以用汇编混合
回复 支持 反对

使用道具 举报

发表于 2014-12-9 09:33:27 | 显示全部楼层
zcbzjx 发表于 2012-12-24 20:47
以前学过一段时间bascom-avr,没怎么学会,还是arduino上手容易

我感觉basic很容易上手啊,反倒是C包括arduino这种类C满篇的花括号我看着就头疼
回复 支持 反对

使用道具 举报

发表于 2015-3-22 17:33:15 | 显示全部楼层
IDE没找到下载呢?太乱了E文不好的不知道下载哪个。是不是BASCOM-AVR?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 07:42 , Processed in 0.049320 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表