




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河海大学理学院河海大学理学院 丁万平丁万平主讲主讲第第3章章 初识初识BASCOM-AVRBASCOM-AVR集成开发环境集成开发环境BASCOM的下载和安装的下载和安装BASCOM语言基础语言基础子程序、子过程、函数过程子程序、子过程、函数过程程序结构运算运算BASCOM-AVR 集合了以下功能:编辑(编集合了以下功能:编辑(编写和修改写和修改 BASIC 源程序)、编译(把源程序源程序)、编译(把源程序翻译成可在单片机上运行的机器码目标程翻译成可在单片机上运行的机器码目标程序)、仿真(脱离单片机硬件在序)、仿真(脱离单片机硬件在 PC 机上模拟机上模拟单片机运行程序)、程序下载(把目标程序
2、单片机运行程序)、程序下载(把目标程序下载到单片机中)等,是一个功能完善的集下载到单片机中)等,是一个功能完善的集成开发环境。成开发环境。 BASCOM-AVR可以在可以在W95/W98/NT/W2000/XP或或Vista上运行,最上运行,最新的编译器版本为新的编译器版本为 。BASCOM-AVR集成开发环境集成开发环境可以支持的可以支持的AVR单片机的单片机的Attiny系列、系列、AT90S系列、系列、Atmega系列,品种多达系列,品种多达40余个余个型号,可在公司网站免费下载演示版型号,可在公司网站免费下载演示版(DEMO版),无时间限制,仅限制目标程版),无时间限
3、制,仅限制目标程序为序为4K 字节以下,对于存储器小于字节以下,对于存储器小于4K的单的单片机品种,实际上是个全功能的免费软件。片机品种,实际上是个全功能的免费软件。 2001年,就是因为有年,就是因为有BASCOM才学才学AVR的,的,不过现在我偶尔也用不过现在我偶尔也用C。当然,偷懒的时候。当然,偷懒的时候还是常用还是常用bascom的,最大好处就是不用设置的,最大好处就是不用设置一大堆寄存器才能开始工作,能直接实验一一大堆寄存器才能开始工作,能直接实验一些算法和做实际的工作,而些算法和做实际的工作,而C的话要先设置的话要先设置一大堆寄存器,搞得来,人困马乏了。一大堆寄存器,搞得来,人困马
4、乏了。 BASCOM的下载和安装的下载和安装说明说明:BASCOM-AVR的演示版可以从的演示版可以从本站下载本站下载。你。你也可以从也可以从MCS的官方网站上下载最新版本的官方网站上下载最新版本http:/ XP 系统中运行系统中运行setupdemo.exe文件。文件。商用正式版有一个商用正式版有一个DLL形式的许可证文件,该文形式的许可证文件,该文件总是与件总是与SETUP.EXE文件位于同一目录下。如果文件位于同一目录下。如果在浏览器中看不到该文件,你应将浏览器的允许在浏览器中看不到该文件,你应将浏览器的允许浏览系统文件选项打开,因为浏览系统文件选项打开,因为.DLL文件属于系统文件属
5、于系统文件。文件。商用正式版的安装文件名为商用正式版的安装文件名为SETUP.EXE有些经销商可能会将有些经销商可能会将DLL文件以压缩文件的形式文件以压缩文件的形式分发。或者将文件名的扩展名改成类似分发。或者将文件名的扩展名改成类似123的数的数字。此时,你应将文件扩展名改成字。此时,你应将文件扩展名改成DLL。确认确认DLL文件与文件与SETUP.EXE文件位于同一目录下。文件位于同一目录下。使用演示版不必关心许可证的问题。使用演示版不必关心许可证的问题。在诸如在诸如NT4 , W2000, XP 或或 Vista等这些等这些NT系统的系统的计算机上安装时,你需要有管理员的权限。计算机上安
6、装时,你需要有管理员的权限。安装完毕,使用之前你需重启机器。安装完毕,使用之前你需重启机器。虽然安装的样例是针对完全版的,但也同样适用虽然安装的样例是针对完全版的,但也同样适用于演示版。于演示版。在浏览器中双击在浏览器中双击 SETUPDEMO.EXE (或或 SETUP.EXE) 。将会看到如下窗口:将会看到如下窗口:(窗口显示可能会有一点延迟窗口显示可能会有一点延迟)点按点按 Next 按键继续安装。按键继续安装。将出现如下的许可证窗口:将出现如下的许可证窗口:阅读文件,阅读文件,选择选择 I accept the agreement 然后点然后点按按 Next按键。出按键。出现如下窗现如
7、下窗口:口:阅读里面的信息,点按阅读里面的信息,点按Next按键继续。按键继续。下一个屏幕将出现:下一个屏幕将出现:结束后点按结束后点按 Next 按键继续。按键继续。如果你选择的目录已存在,而你要在此安装,你会得到如果你选择的目录已存在,而你要在此安装,你会得到 一个提示一个提示 你可以选择安装你可以选择安装BASCOM的驱的驱动器和路径。你也可以使用缺省动器和路径。你也可以使用缺省的路径:的路径:C:Program FilesMCS ElectronicsBASCOM-AVR你可以选择创建一个名为你可以选择创建一个名为 BASCOM-AVR 的新程序组,或的新程序组,或者修改名称,或选择一
8、个已存在者修改名称,或选择一个已存在的程序组。选好之后点按的程序组。选好之后点按 Next 按按键。键。文件将开始安装。文件将开始安装。文件安装好后,还有一些附加文文件安装好后,还有一些附加文件需要安装。件需要安装。当程序是以当程序是以CD-ROM形式发布形式发布的,这些附加文件可能是一些的,这些附加文件可能是一些PDF文件。文件。安装完毕后,你会看到最后的安装完毕后,你会看到最后的屏幕。屏幕。你可以马上重启计算机,或稍你可以马上重启计算机,或稍后再做。后再做。将创建如下的将创建如下的 BASCOM-AVR 程序文件夹:程序文件夹:如何设置如何设置BASCOM-AVR 下载器下载器 说明说明:
9、BASCOM-AVR安装好后的任务是选择合适安装好后的任务是选择合适的下载工具。的下载工具。BASCOM-AVR支持并口下载支持并口下载器,就是最常见的器,就是最常见的74HC244构建的那种并口构建的那种并口下载器。不支持下载器。不支持USB下载器。使用下载器。使用USB下载下载器需配合下载软件如器需配合下载软件如AVR-FIGHTER,操作,操作HEX文件,效果是一样的。文件,效果是一样的。设置步骤设置步骤:打开打开BASCOM-AVR将会看到如下窗口:将会看到如下窗口:选择选择Options菜单,选菜单,选Programmer选项:选项:进入进入Programmer选项菜单。出现如下窗口
10、:选项菜单。出现如下窗口:选择选择STK200/STK300 Programmer设置。设置。 并口地址选并口地址选378,其他保持不变即可。,其他保持不变即可。(IBM笔笔记本,其记本,其LPT端口端口为为3BC)按按F4键或点按菜单进入以下界面。键或点按菜单进入以下界面。 在此界面即可完成在此界面即可完成FlashROM或或EEPROM数据的数据的下载,也可对芯片熔丝进行设置,但一定要在你下载,也可对芯片熔丝进行设置,但一定要在你明白你要做什么之后再进行,否则会导致无法下明白你要做什么之后再进行,否则会导致无法下载,你只有使用专用开发设备进行高压设置了。载,你只有使用专用开发设备进行高压设
11、置了。初次使用熔丝设置:初次使用熔丝设置:1、时钟选择的修改,默认是单片机内部、时钟选择的修改,默认是单片机内部RC振荡器振荡器1MHz,修改为外部晶振,修改为外部晶振4MHz模式模式如下图应选择如下图应选择101111,;,;也可以根据对时钟的选择选用对应的其它也可以根据对时钟的选择选用对应的其它配置配置2、JTAG接口的复用引脚已作它用,故屏接口的复用引脚已作它用,故屏蔽蔽JTAG功能,把功能,把JTAG选项改为选项改为1即可。即可。3、点击、点击Refresh按键认可修改,然后退出。按键认可修改,然后退出。初次使用熔丝设置(时钟设置):初次使用熔丝设置(时钟设置):AABB初次使用熔丝设
12、置(屏蔽初次使用熔丝设置(屏蔽JTAG):):AABB改好的熔丝界面:改好的熔丝界面:AABB熔丝配置注意事项:熔丝配置注意事项:AABB2、由于、由于“JTAG选择选择”和和“串行编程选择串行编程选择”紧挨着,选择又相反,容易产生误操作,误紧挨着,选择又相反,容易产生误操作,误使使ISP接口编程选择禁止接口编程选择禁止 1。1、千万不要误选为该栏第一行的外部时钟、千万不要误选为该栏第一行的外部时钟100000。BASCOM语言基础语言基础1、单片机、单片机BASIC语言和语言和BASICOM-AVR2、BASICOM-AVR主要特点主要特点 3、BASICOM-AVR主要语句主要语句4、BA
13、SICOM-AVR语言基础语言基础5、运、运 算算6、程序结构、程序结构7、子程序、子过程和函数过程、子程序、子过程和函数过程主要内容:主要内容:单片机单片机BASIC语言和语言和BASICOM-AVRBASCOM-AVR是基于是基于BASIC语言的语言的AVR单单片机开发集成开发环境片机开发集成开发环境单片机单片机BASIC语言是一种可以在单片机语言是一种可以在单片机上运行的高级语言上运行的高级语言BASICOM-AVR主要特点主要特点1、带行标号的、带行标号的BASIC语句;语句;2、语句与、语句与VB、QB高度兼容;高度兼容;3、支持结构语句、支持结构语句IF-THEN-ELSE-END
14、 IF, DO-LOOP, WHILE-WEND, SELECT- CASE. 4、变量和标号支持多达、变量和标号支持多达32 字符;字符;5、支持多种变量类型:、支持多种变量类型:Bit, Byte, Integer, Word, Long, Single , DOUBLE and String;6、提供特殊指令和语句支持:字符、提供特殊指令和语句支持:字符LCD液晶显示器、液晶显示器、 I2C 总线器件、单总线器件、总线器件、单总线器件、 PC 键盘、矩阵键盘、键盘、矩阵键盘、 SPI总线器件、图形总线器件、图形LCD液晶显示器等;液晶显示器等; 7、提供对、提供对 TCP/IP硬件协议栈
15、芯片硬件协议栈芯片 W3100A 的支持;的支持; 8、支持局部变量、用户自定义函数、库函数等;、支持局部变量、用户自定义函数、库函数等;BASICOM-AVR主要语句主要语句1、结构语句;、结构语句;2、输入和输出语句;、输入和输出语句;3、数值函数、数值函数4、总线语句(、总线语句(I2C、1总线、总线、SPI等,也是输等,也是输入输出语句)入输出语句)5、中断编程语句、中断编程语句6、位操作语句、位操作语句7、定义和配置语句、定义和配置语句8、字符串操作语句、字符串操作语句9、编译器指示语句、编译器指示语句10、其它语句、其它语句BASICOM-AVR基础字符集:基础字符集:1、26个英
16、文字母(除了字符串常数外,不分个英文字母(除了字符串常数外,不分大小写):大小写):2、阿拉伯数字:、阿拉伯数字:0 1 2 3 4 5 6 7 8 93、算术运算符:、算术运算符: / Mod Incr Decr4、逻辑运算符:、逻辑运算符:Not And Or Xor5、关系运算符:、关系运算符: 6、分界符:(、分界符:( ) , ; . : “ 空格空格7、特殊字符:、特殊字符:$ & _ #BASICOM-AVR基础标识符和保留字基础标识符和保留字1、标识符就是名字,程序中常见的变量名、标识符就是名字,程序中常见的变量名、常数名、数组名、过程名、函数名、行号名常数名、数组名、过程名、
17、函数名、行号名都属于都属于“标识符标识符” 3、保留字和标示符在源程序编辑窗口中显、保留字和标示符在源程序编辑窗口中显示为不同颜色,以示区别;示为不同颜色,以示区别;2、保留字在、保留字在BASCOM-AVR中有特定的中有特定的意义,不可用做标识符如硬件设备名称意义,不可用做标识符如硬件设备名称等;等;BASICOM-AVR基础数据进制基础数据进制二进制、十进制、十六进制表示方式如下:二进制、十进制、十六进制表示方式如下:可以使用二进制、十进制、十六进制三种数可以使用二进制、十进制、十六进制三种数据进制,其作用完全一样,可以根据需要选据进制,其作用完全一样,可以根据需要选用相应进制以方便编程和
18、理解。用相应进制以方便编程和理解。&B11111110255&HFEBASCOM-AVR基础数据类型和取值范围:基础数据类型和取值范围:1、Bit二进制逻辑位,仅取二进制逻辑位,仅取0和和1两个值。两个值。2、Byte字节,字节,8个个bit组成,取值范围为组成,取值范围为0255。3、Integer整型,整型,2字节,最高位是符号位,取值字节,最高位是符号位,取值范围为范围为-32 768+32 767。4、Word字,字,2字节,取值范围为字节,取值范围为065 535。5、Long长整型,长整型,4个字节,最高位是符号位,取个字节,最高位是符号位,取值范围为值范围为-2 147 483
19、648+2 147 483 647。6、Single单精度浮点数,单精度浮点数,4个字节;个字节;1个字节表示个字节表示二进制数的阶码,二进制数的阶码,3个字节表示二进制数的尾数,个字节表示二进制数的尾数,取值范围;负数取值范围;负数-3.402823E+38-1.40129E-45,正数正数+1.40129E-45+3.402823E+38。7、String字符串,可长达字符串,可长达254字符(字符(1字符占字符占1字字节)节)。BASCOM AVR 命令汇编命令汇编 $regfile 头文件头文件$BAUD设定串口的速率设定串口的速率$CRYSTAL 申明所用石英晶体的振荡频率申明所用石
20、英晶体的振荡频率$EEpom 申明申明eepom$DATA 申明申明eepom数记区数记区Epam 定义定义ABS( )绝对值计算绝对值计算ALIAS 为变量重新取名为变量重新取名ASC( )将字符串的第一个字母转为其将字符串的第一个字母转为其ASCII码值码值BITWAIT 一直等待某个位等于一直等待某个位等于0或或1CALL 调用子程序调用子程序CHR( ) 把把ASCII数值转换成其相应的字数值转换成其相应的字母、数字或字符母、数字或字符CLS 清除清除LCD液晶显示屏,并把光标液晶显示屏,并把光标移到第一行的第一个字符位移到第一行的第一个字符位CONST申明一个符号常量申明一个符号常量
21、CONFIG LCD设置设置LCD液晶显示屏液晶显示屏的规格类型的规格类型CONFIG LCDPIN设置设置LCD液晶显示屏与液晶显示屏与MCS-51单片机的管脚连接关系单片机的管脚连接关系CONFIG TIMER0设置定时器计数器之设置定时器计数器之定时器定时器Timer0的工作模式的工作模式CONFIG TIMER1设置定时器计数器设置定时器计数器之定时器之定时器Timer1的工作模式的工作模式COUNTERx存取定时器计数器存取定时器计数器之计数器之计数器Counter0或或Counter1的内容的内容CURSOR 设置设置LCD液晶显示屏的光液晶显示屏的光标状态标状态DATA 存放常量
22、数据资料,即数据列表存放常量数据资料,即数据列表DEBOUNCE消除开关或者键盘所产消除开关或者键盘所产生的接点反弹跳生的接点反弹跳DECR 把数值型变量的内容减一把数值型变量的内容减一DECLARE SUB 申明一个子程序申明一个子程序DEFtype 申明以同一个字母为首的变量,申明以同一个字母为首的变量,皆属于同一类型的数据皆属于同一类型的数据DEFLCDCHAR定义定义LCD液晶显示屏液晶显示屏的自定义字符或图形的自定义字符或图形DELAY 延时一个短的时间(延时一个短的时间(100us)DIM 申明一个变量的数据类型申明一个变量的数据类型DISABLE 令中断为不能令中断为不能DISP
23、LAY 命令命令LCD液晶显示屏显示或液晶显示屏显示或者熄灭者熄灭DO.LOOP 重复执行一个程序段,直到重复执行一个程序段,直到条件成立条件成立ELSE 当当IF.THEN的条件不成立时则的条件不成立时则执行相应的程序段执行相应的程序段ENABLE 令中断为能令中断为能END 终止程序的标志(全部程序结束终止程序的标志(全部程序结束的标志,伪指令)的标志,伪指令)END IF IF.THEN结构的结束标志结构的结束标志ERASE 删除某个变量,以释放其占用的删除某个变量,以释放其占用的单片机单片机ROM和和RAM空间空间EXIT 立即跳出循环或子程序立即跳出循环或子程序FOR 把一个指定程序
24、段无条件执行指把一个指定程序段无条件执行指定的若干次定的若干次FOURTHLINE把光标移到把光标移到LCD液晶显示液晶显示屏第屏第4行的首字符行的首字符Get 起动起动adc= Get adc (0)GOSUB执行子程序,完成后返回原跳执行子程序,完成后返回原跳转处接下一行继续执行转处接下一行继续执行GOTO 执行子程序,完成后不返回执行子程序,完成后不返回HEX( ) 把数值转换成把数值转换成16进制数值的字进制数值的字符串符串HEXVAL( ) 把把16进制之字符串转换成进制之字符串转换成10进进制之数值制之数值HIGH( ) 取数值的最高位字节取数值的最高位字节HOME 把光标移至把光
25、标移至LCD显示屏的第一行的首字符位显示屏的第一行的首字符位IDLE 命令命令MCS-51单片机进入闲置工作模式单片机进入闲置工作模式IF 根据条件执行相应的程序段根据条件执行相应的程序段INCR 把数值型变量的内容加一把数值型变量的内容加一INPUT从串行口读取从串行口读取ASCII码形式的数据码形式的数据INPUTBIN 从串行口读取二进制位数据从串行口读取二进制位数据LCD 在在LCD液晶显示屏上显示字符液晶显示屏上显示字符LCDHEX 在在LCD液晶显示屏上显示液晶显示屏上显示16进制的数值进制的数值LEFT( ) 取字符串最左边的若干个字节取字符串最左边的若干个字节LEN( ) 计算
26、字符串的长度计算字符串的长度LOAD设置定时器计数器的自动再载入数值设置定时器计数器的自动再载入数值LOCATE 把把LCD液晶显示屏的光标移到指定液晶显示屏的光标移到指定的位置的位置LOOKUP( )读取数据列表中指定位置的数值读取数据列表中指定位置的数值数据数据LOOKUPSTR( )读取数据列表中指定位置的字符读取数据列表中指定位置的字符串数据串数据LOW( ) 撷取数值的最低位字节撷取数值的最低位字节LOWERLINE 把光标移到把光标移到LCD液晶显示屏第液晶显示屏第二行的首字符位二行的首字符位MAKEBCD( )把数值转换成把数值转换成BCD的形式的形式MAKEINT( ) 把两个
27、把两个Byte单字节型数据组合成单字节型数据组合成Word或或Integer双字节型数据双字节型数据MAKEDEC( )把把BCD码转换成十进制的数值码转换成十进制的数值MID( ) 取字符串的一部分字节,或取字符串的一部分字节,或者以其它字符串内的字节取代本字符串内一部分者以其它字符串内的字节取代本字符串内一部分字节字节MOD求余数运算求余数运算NEXT FOR.NEXT无条件循环结构的结束标无条件循环结构的结束标志志ON Interrupt当中断发生时,执行相应的子程当中断发生时,执行相应的子程序序ON value 根据变量的值而执行相应的程序根据变量的值而执行相应的程序或者子程序或者子程
28、序POWERDOWN命令命令MCS-51单片机进入功率下单片机进入功率下降工作模式降工作模式PRINT将数据以将数据以ASCII码的形式从串码的形式从串行口发送出去行口发送出去PRINTBIN将数据以二进制形式从串行口发送出将数据以二进制形式从串行口发送出PRINTHEX将数据转换成十六进制值,将数据转换成十六进制值,然后以然后以ASCII码的形式由串行口发送出去码的形式由串行口发送出去PRIORITY 设置中断的优先权设置中断的优先权Eram 申明申明EepromREAD 顺序读取数据列表中的数据顺序读取数据列表中的数据REM程序注释标志,功能与单引号程序注释标志,功能与单引号 作用相同,作
29、用相同,BASCOM- 中通常用单引号中通常用单引号 标识注释内容标识注释内容RESET令变量的某个位等于令变量的某个位等于0RESTORE 把指针指向数据列表的开头把指针指向数据列表的开头RETURN 子程序结束标志(从子程序返回到主程序)子程序结束标志(从子程序返回到主程序)RIGHT( ) 撷取字符串最右边的若干个字节撷取字符串最右边的若干个字节RND( ) 产生随机数产生随机数ROTATE 把变量的内容向左或者向右旋转移动数个位把变量的内容向左或者向右旋转移动数个位SELECT CASE 根据变量的内容去执行某些程序根据变量的内容去执行某些程序段段,多条件用多条件用SET 令变量的某个位等于令变量的某个位等于1SHIFTCURSOR令令LCD液晶显示屏光标向左或液晶显示屏光标向左或向右移动一位向右移动一位SHIFTLCD 令令LCD液晶显示屏所显示内液晶显示屏所显示内容的全部字节向左或向右移动一位容的全部字节向左或向右移动一位SOUND由单片机某个由单片机某个IO接脚送出一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政法学备考秘籍与试题及答案
- 小学生劳动课教学设计
- 资产买卖收购协议书
- 职工安全合同协议书
- 课程售卖合同协议书
- 老人聚餐赔偿协议书
- 美术社团安全协议书
- 2025年苏教版六年级数学学业水平提升计划
- 黄石公《素书》全文译解
- 退休分析师兼职工作协议
- 福建省厦门市2025届高中毕业班高三5月第四次质量检测物理试卷(厦门四检)
- 非谓语动词动词不定式
- 《慢性阻塞性肺疾病》课件
- 2025年济南市中区九年级中考数学一模考试试题(含答案)
- 大模型原理与技术-课件 chap6 大模型微调
- 2024年个人信用报告(个人简版)样本(带水印-可编辑)
- 16J914-1 公用建筑卫生间
- 消费者心理与行为分析PPT(第四版)完整全套教学课件
- TSG11-2020 锅炉安全技术规程
- GB∕T 40112-2021 地质灾害危险性评估规范
- 消防器材采购及服务合同
评论
0/150
提交评论