您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第2讲进一步熟悉开发流程
电子与通信工程学院汤旭慧第2讲进一步熟悉开发流程主讲:汤旭慧Addr:行政楼509\第二工业中心418Tel:18923840618、26731194QQ:2232360300电子与通信工程学院汤旭慧实训1:“控制8个LED发光二极管的闪烁”实训要求:请理解如何软硬件实现控制8个发光二极管同时闪烁和同时熄灭的效果。进一步熟悉开发流程。想想是高电平点亮灯还是低电平点亮灯啊?电子与通信工程学院汤旭慧需要用到的软件及工具1.C编译软件Keil4软件2.编程下载软件:PZISP自动下载软件3.ISP下载器4.实验电路板HC6800EM3v20电子与通信工程学院汤旭慧工作环境建立步骤1.安装Keil4软件(版本:cavr1.259)2.安装PZISP自动下载软件3.安装USB驱动程序。4.到“设备管理器”的“端口”中查看虚拟的串口端口号。5.启动C编译软件Keil4,进行编辑编译生成.hex文件。6.打开目标板电源,尝试启动PZISP自动下载软件建立通信连接,实现在线下载。电子与通信工程学院汤旭慧阅读理解程序“八个发光二极管的闪烁控制”/***************************************************LED闪烁的简单试验连接方法:JP11(P2)和JP1用8PIN排线连接起来***************************************************/#includereg51.h//此文件中定义了51的一些特殊功能寄存器voiddelay(unsignedinti);//声明延时函数main(){P2=0x00;//置P0口为低电平delay(600);//调用延时程序P2=0xff;//置P0口为高电平delay(600);//调用延时程序}/*******延时函数*************/voiddelay(unsignedchari){unsignedcharj,k;for(k=0;ki;k++)for(j=0;j255;j++);//循环600*255次}电子与通信工程学院汤旭慧单片机外部引脚2、振荡电路:XTAL1、XTAL24、复位引脚:RST3、并行口:P0、P1、P2、P37、ALE:地址锁存控制信号1、电源线:VCC(+5V)、VSS(地)5、EA:访问程序存储控制信号6、PSEN:外部ROM读选通信号电子与通信工程学院汤旭慧C语言编写代码益处AVR单片机是唯一一个针对C和高级语言设计的MCU相比其他处理器,AVR的代码可缩小50%相对于汇编语言,C代码几乎不会有性能差别,但大大缩短开发时间维护代码所需工程成本更低以更直接的方式编写代码代码可以重复使用,节省开发时间电子与通信工程学院汤旭慧认识第一个C语言程序与汇编语言相比,C语言的优点如下:不要求编程者详细了解单片机的指令系统,但需了解单片机的存储器结构;结构清晰,程序可读性强;可移植性好;编译器提供了很多标准库函数,具有较强的数据处理能力。电子与通信工程学院汤旭慧字节(byte)和位(bit)的关系1个二进制位取值:0或11个字节包含8位二进制数P1电子与通信工程学院汤旭慧认识C语言C语言程序以函数形式组织程序结构,C程序中的函数与其他语言中所描述的“子程序”或“过程”的概念是一样的。C程序函数i函数1预编译命令……函数定义函数体主函数C程序基本结构电子与通信工程学院汤旭慧认识C语言一个C语言源程序是由一个或若干个函数组成,每一个函数完成相对独立的功能。每个C程序都必须有(且仅有)一个主函数main(),程序的执行总是从主函数开始,调用其他函数后返回主函数main(),不管函数的排列顺序如何,最后在主函数中结束整个程序。C语言程序使用“;”作为语句的结束符,一条语句可以多行书写,也可以一行书写多条语句。电子与通信工程学院汤旭慧C语言体系结构是函数结构/***************************************************LED闪烁的简单试验连接方法:JP11(P2)和JP1用8PIN排线连接起来***************************************************/#includereg51.hvoiddelay(unsignedinti);//声明延时函数main(){P2=0x00;//置P0口为低电平delay(600);//调用延时程序P2=0xff;//置P0口为高电平delay(600);//调用延时程序}注释部分:由“/**/”配对括起来的部分内容,可以包括多行。也可以由“//”引导的一行内容。预编译命令:文件包含指令。定义了一些与I/0接口有关的特定变量,他们对应单片机内部的特殊功能寄存器,用大写字母书写。函数头函数体主函数main():C程序总是从main()函数开始执行。而不论其在程序中的位置如何。当主函数执行完毕时,亦即程序执行完毕。电子与通信工程学院汤旭慧C语言体系结构是函数结构voiddelay(unsignedchari){unsignedcharj,k;for(k=0;ki;k++)for(j=0;j255;j++);}函数头函数体电子与通信工程学院汤旭慧C语言结构风格特点1.习惯用小写字母,大小写敏感2.一行上可以写几条语句,一条语句也可以写在几行上。可使用空行和空格3.C程序由语句组成,用“;”作为语句终止符4.书写上注意使用缩进格式。5.程序由一个或多个函数组成,必须有且只能有一个主函数main()6.程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。7.允许使用注释。C语言的注释格式为:/*……*/技巧:为避免遗漏必须配对使用的符号,如注释符号/*……*/、函数体的起止标识符(花括号{})、圆括号()等等。/*****************************LED闪烁的简单试验连接方法:JP11(P2)和JP1用8PIN排线连接起来*******************/#includereg51.hvoiddelay(unsignedinti);//声明延时函数main(){P2=0x00;//置P0口低电平delay(600);//调用延时程序P2=0xff;//置P0口为高电平delay(600);//调用延时程序}电子与通信工程学院汤旭慧常量和变量常量的值在程序执行期间是不能发生变化的;变量的值在程序执行期间可以发生变化。电子与通信工程学院汤旭慧常量常量:1.整型常量2.实型常量3.字符型常量4.字符串常量5.符号常量6.flash常量整型常量三种形式表示:十进制:如123600八进制:以0开始,如0123十六进制:以0x开始,如0x123实型常量小数形式:如123.0.1230.012.5指数形式:如123e2123E2字符常量:单引号括起来的一个字符。如:'a'字符常量的值是一个数字值。如字符常量'0',其ASCII为48,所以存储的实际值为48。字符常量可以象整数一样参与运算。字符串常量:双引号括起来的字符序列。如“Hi,AVR,0等字符串在存储时末尾被自动加上字符'\0'字符常量与只包含一个字符的字符串常量的区别符号常量:用一个标识符代表一个常量#definePI3.14159符号常量转义字符:转义字符功能ASCII记号转义字符功能ASCII记号\a响铃BEL\\反斜杠字?\\b退格BS\‘单引号字符’\f走纸换页FF\“双引号字符\n换行NL\?问号?\r回车CR\ooo1~3位8进制数ooo\t横向跳格HT\xhh1~2位16进制数hh\v纵向跳格VTFLASH常量:存储在程序存储区的常量Flashchar[]=”hi,avr”;电子与通信工程学院汤旭慧变量与变量名变量:程序运行过程中其值可以改变的量,系统为程序中的每一个变量开辟一个存储单元。变量的两个要素:变量名和变量值变量命名遵循标识符命名规则,在程序中,通过变量名来引用变量的值。标识符:用来标识变量名、符号常量名、数组名、函数名、文件名的有效字符序列。标识符定义的注意事项:1.字母(或下划线)开头,后跟字母、数字和下划线组成。2.不能和系统使用的名字(关键字)冲突。3.长度无统一规定,许多系统取8个字符。但目前并不如此。编程技巧:使用见名知意的字符串命名变量标识符。电子与通信工程学院汤旭慧C语言的基本数据类型以及变量的定义基本数据类型:整型、实型、字符型C程序中用到的每一个变量都要指定它们所属的数据类型。其原因在于:不同类型的数据在内存中占据不同长度的存储区,而且采用不同的表示方式。一个数据类型对应着一个值的范围并且对应一组允许的操作。所有的变量一定要“先定义、后使用”:Inta,b,c;/*指定a,b,c为整型变量*/floatx,y;/*指定x,y为单精度实型变量*/doublez;/*指定z为双精度实型变量*/charc1,c2;/*指定c1,c2为字符型变量*/电子与通信工程学院汤旭慧单片机中的数据类型数据类型名称长度值域unsignedchar无符号字符型单字节0~255signedchar有符号字符型单字节-128~+127unsignedint无符号整型双字节0~65535signedint有符号整型双字节-32768~+32767unsignedlong无符号长整型四字节0~4294967295signedlong有符号长整型四字节-2147483648~+2147483647float浮点型四字节±1.175494E-38~±3.402823E+38*指针型1~3字节对象的地址Bit位类型位0或1sfr特殊功能寄存器单字节0~255sfr1616位特殊功能寄存器双字节0~65535sbit可寻址位位0或1电子与通信工程学院汤旭慧变量的内存存储情况电子与通信工程学院汤旭慧程序中的常量和变量voiddelay(unsignedchari)//延时函数1{unsignedcharj,k;for(k=0;ki;k++)for(j=0;j255;j++);}=================================================voiddelay(unsignedinti)//延时函数2{unsignedintk;for(k=0;ki;k++);}电子与通信工程学院汤旭慧赋值运算符和赋值表达式简单的赋值运算符:复合的赋值运算符=+=、-=、*=、%=、/=i+=2等价于i=i+2a*=b+5等价于a=a*(b+5)x%=3等价于x=x%3#includereg51.hvoiddelay(unsignedinti);//声明延时函数main(){P2=0x00;//置P0口低电平delay(600);//调用延时程序P2=0xff;//置P0口为高电平delay(600);//调用延时程序}电子与通信工程学院汤旭慧C语言的基本语句C语言程序的执行部分由语句组成。按照结构化程序设计的基本结构:顺序结构选择结构循环结构表达式语句If语句switch语句while语句for语句do-while语句电子与通信工程学院汤旭慧while语句用来实现“当型”循环,执行过程:首先判断表达式,当表达式的值为真(非0)时,反复执行循环体。为假(0)时执行循环体外面的语句。循环体循环继续的条件表达式下一条语句非0(真)0(假)循环体语句组while执行过程格式:while(循环继续的表达式){语句组;}花括号不能丢掉!循环语句电子与通信工程学院汤旭慧实训小结1.Keil软件的使用步骤新建工程新建文件添加文件编写程序工程设置编译工程生成.Hex文档2.下载程序将.hex文档烧录到单片机的程序存储器中电子与通信工程学院汤旭慧开发环境的重要设置与操作配置工程属性:晶振频率、“Output”选项卡、设置软件仿真调试。软件仿真调试的相关操作:1.进入程序调试状态2.单步、跟踪运行3.断
本文标题:第2讲进一步熟悉开发流程
链接地址:https://www.777doc.com/doc-2155385 .html