1997年,Atmel公司出于市场需求,推出了全新配置的精简指令集RISC单片机高速8位单片机,简称AVR。AVR单片机废除机器周期,采用RISC,以字为指令长度单位,取指周期短,可预取指令,实现流水作业,可高速执行指令,有高可靠性为后盾。AVR单片机在软/硬件开销、速度、性能和成本多方面取得优化平衡,是高性价比的单片机。......
2023-06-26
Keil uVision软件是目前常用的单片机学习入门软件,要熟练掌握其主要功能。
2.1.1 学习单片机的准备工作
1.足够的信心、恒心和耐心
技术,其实就是一层窗户纸,表面看不透彻,感觉特别神秘,实际只要你稍微一努力就可以捅破它。单片机在逻辑上的关系,实际上较为简单。因此,你只要认真踏实坚持学下去,肯定能学好这门技术。
2.学习工具
计算机是学习单片机必不可少的工具,因为编写程序、查阅资料都需要用到。如果学校实验室有计算机,就必须充分利用起来。
相应的开发软件也是必不可少的,它可以帮你快速入门,同时熟练掌握软件,可以达到事半功倍的效果。
想学好单片机,必须要有一块开发板,不能总是用软件仿真,软件仿真仅仅表明你的设计正确,但是实际开发和仿真软件却差别很大。如果真心想学好单片机这门技术,需要拿起电烙铁焊接电路,动手写程序,“教、学、做”合一才能学到真正的技术。
2.1.2 单片机开发软件环境的搭建
单片机开发,首要的两个软件:一个是编程软件,一个是下载软件。编程软件我们选用Keil uVision4的51版本,也叫作Keil C51。
(1)首先准备Keil uVision4安装源文件,双击安装文件,弹出安装欢迎界面,如图2-2所示。
图2-2 Keil uVision安装欢迎界面
(2)点击“Next”按钮,弹出“License Agreement”对话框,如图2-3 所示。这里显示的是安装许可协议,需要在“I agree to all the terms of the preceding License Agreement”前面打勾。
图2-3 “License Agreement”对话框
(3)点击“Next”按钮,弹出“Folder Selection”对话框,如图2-4所示。这里可以设置安装路径,默认安装路径在“C:\Keil”文件夹下,点击“Browse...”按钮,可以修改安装路径。这里建议大家使用默认的安装路径。如果想要修改安装路径,则必须使用英文路径,不能使用包含有中文字符的路径。
图2-4 “Folder Selection”对话框
(4)点击“Next”按钮,弹出“Customer Information”对话框,如图2-5 所示。这里输入用户名、公司名称及E-mail地址即可。
图2-5 用户信息
(5)单击“Next”,便会自动安装软件,如图2-6所示。
图2-6 安装过程
(6)安装完成后,弹出安装完成对话框,如图2-7所示,并且会出现几个选项。这里把这几个选项的对号全部去掉即可,暂不关注它们有什么作用。
图2-7 安装完成
(7)最后,点击“Finish”,Keil uVision编程软件开发环境就安装好了。
2.1.3 初步认识Keil
软件安装完成后,双击桌面图标启动Keil uVision。这里我们使用Keil uVision软件先打开一个工程,如图2-8 所示。
图2-8 工程文件
从图2-8中我们可以很轻松地分辨出菜单栏、工具栏、工程管理区、程序代码区和信息输出窗口。
Keil uVision软件菜单栏和工具栏的具体细化功能,都可以很方便地从网上查到,不需要记忆,随用随查即可。在这里我们只介绍一点,关于Keil软件里边的字体大小和颜色设置。在菜单“Edit”→“Configuration”→“Colors &Fonts”中可以进行字体类型、颜色、大小的设置,如图2-9所示。
图2-9 字体设置(一)
用C语言编程,在Window栏中选择“8051:Editor C Files”,然后在右侧“Element”栏目里可以选择要修改的内容,一般我们常用的只是其中几项而已,例如:Text——普通文本,Text Selection——选中的文本,Number——数字,/*Comment*/——多行注释,//Comment——单行注释,Keyword——C语言关键字,String——字符串。Keil uVision软件本身都是有默认设置的,可以直接使用默认设置,也可以进行修改。修改完后直接点击“OK”按钮便可以看到效果,如图2-10所示。
图2-10 字体设置(二)
现在以点亮一个LED灯为例来说明Keil uVision软件的初步使用。
2.1.4 新建一个工程
对于单片机程序来说,每个功能程序,都必须要有一个配套的工程(Project),即使是点亮LED这样简单的功能程序也不例外。因此,我们首先要新建一个工程,打开Keil软件,点击“Project”→“New uVision Project...”,然后会出现一个新建工程的界面,如图2-11所示。
图2-11 新建一个工程
因为现在学习到了项目2,所以在硬盘上建立了一个lesson2的目录(这个名字根据用户自己的习惯来命名,这里只是举例),然后把LED这个工程的路径指定到这里,这样方便今后管理程序,不同的功能程序放到不同的文件夹下,并且给这个工程命名为LED,软件会自动添加扩展名.uvproj,如图2-12所示。(www.chuimin.cn)
图2-12 保存工程
直接点击保存,工程会自动保存成LED.uvproj文件,下次要打开LED这个工程时,可以直接找到文件夹,双击.uvproj文件就可以直接打开。
保存之后会弹出一个对话框,在这个对话框中选择单片机型号。因为Keil软件是国外开发的,国内的STC89C52并没有上榜,但是只要选择同类型号即可。这里直接选择Atmel公司的AT89C52来代替。需要说明的是,这个选项的选择对于后面的编程不会造成任何的不良影响,如图2-13 所示。
图2-13 单片机型号选择
点击“OK”按钮之后,会弹出一个对话框,如图2-14所示。每个工程都需要一段启动代码,如果点击“否”编译器会自动处理这个问题;如果点击“是”,这部分代码会提供给用户,我们就可以按需要自己去处理这部分代码。这部分代码在我们初学51的这段时间内,一般是不需要去修改的,但是随着技术的提高和知识的扩展,我们就有可能会需要了解这部分内容。因此,这里我们选择“是”,让这段代码出现。
图2-14 启动代码选择
这样,工程就建立好了,如图2-15所示。如果我们点击Target 1左边的加号,便会出现我们刚才加入的初始化文件STARTUP.A51。
图2-15 工程文件
接下来,要建立编写代码的文件,点击“File”→“New”,如图2-16所示,新建一个文件,也就是编写程序的平台。然后点击“File”→“Save”或者直接点击“Save”的快捷键,可以保存文件,保存时把它命名为LED.c。这个地方必须加上.c,因为如果编写汇编语言,这里的扩展名是.asm,头文件就是.h等,如图2-17所示。
图2-16 新建文件
图2-17 保存文件
现在就可以在建立好的文件中输入我们的程序代码,在编写之前还有个工作要做。我们每做一个功能程序,必须要新建一个工程,即一个工程代表了单片机要实现的一个功能。但是一个工程,有时候可以把程序分多个文件写。所以每写一个文件,都要添加到我们所建立的工程中去,鼠标右键点击“Source Group 1”,选择“Add Files to Group‘Source Group 1’...”,如图2-18所示。
图2-18 添加文件(一)
在弹出的对话框中(见图2-19),单击led.c,选中它,然后点击“Add”,或者直接双击led.c都可以将文件加入到这个工程下,然后单击“Close”,关闭对话框。这时候会看到在Source Group 1下面多了一个led.c文件,如图2-20所示。
图2-19 添加文件(二)
图2-20 添加文件(三)
2.1.5 编写程序
C语言源文件建立好并添加到工程中之后,就可以开始编写程序。单片机的编程是面向硬件的编程,程序的内容需要紧密地结合硬件电路的结构。使用8051单片机驱动流水灯的电路如图2-21所示(这个电路图是用Proteus绘制的,关于Proteus的使用将在后面简单说明)。
图2-21 一个LED灯的原理图
点亮一个LED灯的参考程序:
程序编好后就可以对程序进行编译,生成需要的、可以下载到单片机里的文件,在编译之前,先要勾选一个选项,“Project”→“Options for Target „‘Target1’...”,或者直接点击图2-22中方框内的快捷图标,在弹出的对话框中,点击Output选项,勾选其中的“Create HEX File”复选框,然后点击“OK”,如图2-23所示。
图2-22 工程选项图标
图2-23 创建HEX文件
设置好以后,点击“Project”→“rebuild all target files”,或者用鼠标点击图2-24中方框内的快捷图标,就可以对程序进行编译。
图2-24 编译程序
编译完成后,在Keil下方的Output窗口会出现相应的提示,如图2-25所示。
图2-25 编译输出信息
这个窗口说明编译完成后的情况,data=9.0,指的是这个程序使用了单片机内部的256 B RAM资源中的9 B;code=19的意思是使用了8 KB代码FLASH资源中的19 B。提示“0 Error(s),0 Warning(s)”则表示程序没有错误和警告,就会出现“creating hex file from‘led’...”,意思是从当前工程生成了一个HEX文件,这个就是要下载到单片机上的HEX文件。如果出现有错误和警告提示,即Error和Warning不是 0,那么就要对该程序进行检查,找出问题,解决好之后再进行编译,直到产生HEX文件。
到此为止,程序就编译完成,下面我们就要把编译好的程序文件下载到单片机中。
有关单片机原理与应用 基于C语言的文章
1997年,Atmel公司出于市场需求,推出了全新配置的精简指令集RISC单片机高速8位单片机,简称AVR。AVR单片机废除机器周期,采用RISC,以字为指令长度单位,取指周期短,可预取指令,实现流水作业,可高速执行指令,有高可靠性为后盾。AVR单片机在软/硬件开销、速度、性能和成本多方面取得优化平衡,是高性价比的单片机。......
2023-06-26
最小系统板上J1是预留的ISP下载接口,兼供电功能。表1-10 最小系统材料清单图1-45 最小系统板所用材料搭建最小系统所用的材料在电子市场上不难买到,价格也不贵。......
2023-11-17
OPC技术的完善和推广,为智能建筑系统在实时控制域与信息管理域的全面集成,提供了良好的软件环境。采用OPC技术实现系统集成将会成为一种建筑智能化系统集成的主要方式之一。所以目前采用OPC技术实现系统集成,可能会比采用ODBC技术实现系统集成更为广泛一些。......
2023-08-30
目前在单片机市场上,8位单片机和32位的ARM嵌入式微处理器占据的市场份额达70%以上。在单片机市场中,代表性的产品有MCS-51系列产品,其中ATMEL公司的AT89C51/C52两个系列8位单片机在焊接领域应用较为广泛。1994年ATMEL公司以其E2PROM和Intel公司的80C31单片机核心技术进行交换,从而取得80C31核的使用权。......
2023-06-26
使用查询标志位的方法通过串行口发送C语言的经典语句“hello World!”,在PC上运行串口调试助手软件接收此消息并在屏幕上显示出来。单击“打开串口”按钮,这时会发现在串口调试助手的接收区有“hello World!”图9-29 串口调试助手向单片机发送数字单片机接收到来自PC发送的信息后,用LED灯显示该数字的状态,系统板的具体状态如图9-30所示。......
2023-11-17
集成稳压器又称为集成稳压电路,可将不稳定的直流电压转换成稳定的直流电压。近年来,集成稳压器已得到广泛应用,其中小功率的三端式串联型稳压器应用最为普遍。电路中常用的集成稳压器主要有固定式78××系列、固定式79××系列和可调式LM3l7,相应的三类稳压管封装分别如附图10、附图11所示。例如,7805表示稳压器的输出电压为5 V。......
2023-06-21
Keil MDK软件源自德国的KEIL公司,是RealView MDK的简称。MDK5.10版本使用μVision5集成开发环境,是针对ARM处理器,尤其是Cortex M内核处理器的最佳开发工具。Keil MDK软件的功能特点如下:完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件。大量的项目例程帮助用户快速熟悉MDK-ARM强大的内置特征。符合Cortex微控制器软件接口标准。ARM公司负责的是芯片内核的架构设计,而芯片生产公司根据ARM公司提供的芯片内核标准设计自己的芯片。......
2023-11-21
图9-1 彩灯的远程控制原理图4.源程序设计若系统时钟信号频率为12 MHz,利用定时器T1作为波特率发生器,定时器T1工作在方式2,串行接口工作在方式1,甲机为发送机,乙机为接收机,均采用查询方式编程,源程序如下:5.Proteus仿真在绘制好的原理图中分别双击甲机和乙机,将Keil中生成的甲机hex文件和乙机hex文件分别添加到两片单片机中。图9-2 彩灯远程控制Proteus仿真运行结果8051系列单片机内部集成有一个通用异步收发器,简称UART或串行口。......
2023-11-17
相关推荐