当前位置:文档之家› 单片机原理keil使用教程

单片机原理keil使用教程

单片机原理keil使用教程
单片机原理keil使用教程

单片机原理k e i l使用教

Prepared on 22 November 2020

k e i l教程

Keil 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。下面介绍Keil软件的使用方法,这应该算一个入门教程,进入 Keil 后,屏幕如下图所示。几秒钟后出现编辑界

启动Keil uVision4时的屏幕。

简单程序的调试学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。

1) 对于单片机程序来说,每个功能程序,都必须要有一个配套的工程(Project),即使是点亮LED这样简单的功能程序也不例外,因此我们首先要新建一个工程,打开我们的Keil软件后,点击:Project--

>New uVision Project...然后会出现一个新建工程的界面,如图2-8所示。

2)因为是第一个实验,所以我们在硬盘上建立了一个实验1 的目录,然后把LED这个工程的路径指定到这里,这样方便今后管理程序,不

同的功能程序放到不同的文件夹下,并且给这个工程起一个名字叫做LED,软件会自动添加扩展名。如图2-9所示。

下次要打开LED这个工程时,可以直接找到文件夹,双击这个.uvproj 文件就可以直接打开了。

图2-9 保存工程

3)保存之后会弹出一个对话框,这个对话框让我们选择单片机型号。因为Keil软件是外国人开发的,所以我们国内的STC89C52RC并没有上榜,但是只要选择同类型号就可以了。Keil 几乎支持所有的51核的单片机,这里还是以大家用的比较多的Atmel 的AT89S51来说明,如下图2-10、图2-11所示,选择AT89S51之后,右边栏是对这个单片机的基本的说明,然后点击确定。

图2-10 选择芯片公司

图2-11 选择具体芯片

4)点击OK之后,会弹出一个对话框,如图2-12所示,每个工程都需要一段启动代码,如果点“否”编译器会自动处理这个问题,如果点“是”,这部分代码会提供给我们用户,我们就可以按需要自己去处理这部分代码,那这部分代码在我们初学51的这段时间内,一般是不需要去修改的,但是随着技术的提高和知识的扩展,我们就有可能会需要了解这块内容,因此这个地方我们选一下“是”,让这段代码出现,但是我们暂时不需要修改它,大家知道这么回事就可以了。当然也可以选否!

图2-11 启动代码选择

这样工程就建立好了,如图2-12所示,如果我们点击Target 1左边的加号,会出现我们刚才加入的初始化文件,这个我们先不管。

图2-12 工程文件

到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。

5) 工程有了之后,我们要建立编写代码的文件,点击File-->New如图2-13,新建一个文件,也就是我们编写程序的平台。新建文件后屏幕如下图2-14所示

图2-13 新建文件

图2-13 新建文件后

此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,然后点File-->Save或者直接点击那个Save的快捷键,可以保存文件,屏幕如下图2-14所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展

名。用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存”按钮。

图2-14 保存文件

6) 现在我们就可以在我们建立好的文件中输入我们的程序代码了,在编写之前还有个工作要做。我们每做一个功能程序,必须要新建一个工程,一个工程代表了单片机要实现的一个功能。但是一个工程,有时候我们可以把我们的程序分多个文件写,所以每写一个文件,我们都要添加到我们所建立的工程中去,回到编辑界面后,单击“Target 1”前面的“+”号,鼠标右键点Source Group 1,点Add Files to Group ‘Source Group 1’...,如图2-15。(或者双击Source Group 1也可以)

图2-15 添加文件1

然后单击“Add File to Group ‘Source Group 1’” 屏幕如下图所示,选择文件类型的三角形下拉,选择类型 asm Source file

图2-16 添加文件2

图2-17 添加文件3

选中,然后单击“Add ”屏幕,如图2-18所示(也可双击),注意只用Add一次,否则会提示已经存在,重复添加。如图2-19.

图2-18 添加文件3

图2-19 重复添加

如图2-20,注意到“Source Group 1”文件夹中多了一个子项“”了吗子项的多少与所增加的源程序的多少相同。

图2-19 添加文件成功后

7)现在,请输入如下的汇编语言源程序:

ORG 0000H;

AJMP START;

ORG 0030H;

START:

AJMP START;

END

在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keil会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如下图2-20所示

图2-20 编写程序

8)程序编好了,我们要对我们的程序进行编译,生成我们需要的可以下载到单片机里的文件,在编译之前,我们先要勾选一个选项,Project-->Options for Target ‘Target1’...,或者直接点图2-21中红框内的快捷图标:

图2-21 工程选项图标

在弹出的对话框中,点击Target选项页:

图2-22 修改晶振

在弹出的对话框中,点击Output选项页,勾选其中的“Create HEX File”复选框,然后点OK,如图2-22所示。

图2-22 创建HEX文件

设置好以后呢,点击“Project-->rebuild all target files”,或者鼠标点击图2-23中红框内的快捷图标,就可以对程序进行编译了。

图2-23 编译程序

编译完成后,在我们的Keil下方的Output窗口会出现相应的提示,大家注意看图2-24,这个窗口告诉我们编译完成后的情况,data=,指的是我们的程序使用了单片机内部的256字节RAM资源中的9个字节,code=68的意思是使用了8K代码Flash资源中的68个字节。当提示“0 Error(s), 3 warning(s)”表示我们的程序没有错误,有3个警告,就

会出现“creating hex file from “LED”...,意思是从当前工程生成了一个HEX文件,我们要下载到单片机上的就是这个HEX文件。如果出现有错误和警告提示的话,就是Error和warning不是0,(有Error 是不能编译通过的,是不能生成HEX文件的,warning确认没有问题后可以忽略)那么我们就要对程序进行检查,找出问题,解决好了再进行编译产生HEX才可以。

图2-24 编译输出信息

到此为止,程序就编译好了,下边我们就要把编译好的程序文件下载到单片机里了。

9)可以使用keil调试功能查看结果,再单击“Project--

>Start/Stop Debug Session”(或者使用快捷键Ctrl+F5,或者图2-25工具栏),屏幕如图2-26

图2-25 调试工具栏

图2-26 Debug 调试窗口

调试程序:单击Peripherrupt-->I/O-Ports Port 1选项,

单击“Debug-->Run,(或者使用快捷键F5),也可点击图2-27工具栏;再就可以在图2-28看到程序运行后的结果。

图2-27 Debug工具栏

图2-28 Debug结果

再次运行可以然后再单击“Debug-->Stop,单击“Debug-->Reset CPU,

最后单击Debug-->Run即可再次看到结果。

其他高级的Debug后续课程再讲。

至此,我们在Keil上做了一个完整工程的全过程。但这只是纯软件的开发过程,如何使用程序下载器看一看程序运行的结果呢

单片机教程详细图解-新华龙单片机学习教程

新华龙单片机学习入门教程基于本人学习单片机的痛苦经历,特编写本教程,以此献给广大的单片机初学者,希望您能从中受益。 单片机老鸟寄语:本教程乃最通俗易懂之单片机教材也,如果您还是看不懂,请千万不要涉足此行,以免误入歧途,耽误您的前程*_* 拿到这本教程您首先就会想,什么是 IAP 教学法?是不是一种什么全新的教学方法?当然不是,我可没有那么大的本事,其实这只是我杜撰的一个新名词,意思就是In Applications Program(在应用中编程),当然这只是针对单片机教学,说法是否正确,还得您说了算。 至于为什么要提这种说法,那我倒想说几句。大家都知道,学习电子技术是一件非常无聊和枯燥的事情,为什么会有这种想法,就是因为我们传统的教学方法只重理论而忽略了实践,要一个人记住那些空洞而有无聊的理论知识实在不是一件容易的事,好在我们总算熬过来了,不管如何,也多多少少的学习了一些电子基础知识。 接下来我们应该进一步掌握些什么知识呢,凡涉足此行的朋友都知道,那就是单片机。不过这可不是一件容易的事,倒不是因为单片机很难学,而实在是我们身边很难找到一本专为单片机入门者而编写的教材。翻一下传统的单片机教材,都好象是为已经懂单片机的人而写的,一般总是以单片机的结构为主线,先讲硬件原理,然后是指令,接着讲软件编程,再是系统扩展和外围器件,最后举一些实例(随便说一点:很多书中的实例都是有错误的),很少涉及单片机的基础知识,如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。孰不知,单片机不象模拟电路和数字电路那样,只要搞懂了电路原理,再按照产品要求设计好相应的电路就可以了。它是一种以简单的硬件结构,复杂而有灵活的软件系统来完成设计的通用性产品,不同的设计者只会使用其不同的功能,几乎没有人会把它的全部指令都使用起来,所以学习使用单片机只能靠循序渐进的积累,而不可能先把它全部掌握了再去做产品开发(当然天才就例外了*_*)。 基于以上原因,本人想尝试一种全新的单片机教学方法,打破传统的循序渐进式的教学方法,以单片机的应用为蓝本,结合基本的工业控制系统和实践工作中的具体应用,不分先后顺序,将各条指令贯串于一个又一个的实验中,通过所见即所得的实验来讲解各种指令的编程方法,顺便讲解相关的基本概念,使您尽快地熟悉单片机应用的基本步骤,掌握软件编程的基本方法。 如果您学完了就能成为单片机的入门者,完全可以进行一般产品的开发;下册部分是单片机应用的提高部分,主要学习单片机的系统扩展(比如:ROM 和RAM 存储器的扩展,并行口的扩展,串行口的扩展,A/D 和D/A 与单片机的接口)以及相关开发工具和软件的使用(包括KELL C51 的应用与调试技巧,硬件仿真器的使用)等等,如果您学完了下册部分,那就得恭喜您成为了单片机开发的高手了,不过单片机的技术是在不断的发展和提高的,您也不要太骄傲哦! 为了尽量把最新的单片机知识和应用成果收录进我们的教程,希望您能不吝赐教,共同来努力把我们的教程不断的改进和完善。还是那句题外话,技术是靠不断的积累和交流才会进步的,固封自守只会更加落后。 由于时间和精力的限制,我还是希望在您学习本教程之前,自己先熟悉一点相关的电子技术知识,特别是数字电路基础,这对您学习中碰到的相关概念会有很大的帮助。

单片机原理与应用教程第3版习题课后答案

《单片机原理及应用程序》(第三版)习题参考答案 第一章 1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么? 在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机部一切信息存储、处理和传送均采用二进制数的形式。可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。十六进制数可以简化表示二进制数。 2. (1) 01111001 79H (2) 0.11 0.CH (3) 01111001.11 79.CH (4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31H 3. (1) 0B3H (2)80H (3) 17.AH (4) 0C.CH 4. (1)01000001B 65 (2) 110101111B 431 5. (1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100 (5) 10000001 11111110 11111111 6. 00100101B 00110111BCD 25H 7. 137 119 89 8.什么是总线?总线主要有哪几部分组成?各部分的作用是什么? 总线是连接计算机各部件之间的一组公共的信号线。一般情况下,可分为系统总线和外总线。 系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB) 地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信

息由地址总线输出,然后经地址译码单元处理。地址总线为16位时,可寻址围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的围。在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。 控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。 数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据信息的,故数据总线应为双向总线。在CPU进行读操作时,存储单元或外设的数据信息通过数据总线传送给CPU;在CPU进行写操作时,CPU把数据通过数据总线传送给存储单元或外设9.什么是接口电路? CPU与接口电路连接一般应具有哪些信号线?外部设备与接口电路连接一般应具有哪些信号线? CPU通过接口电路与外部输入、输出设备交换信息, 一般情况下,外部设备种类、数量较多,而且各种参量(如运行速度、数据格式及物理量)也不尽相同。CPU为了实现选取目标外部设备并与其交换信息,必须借助接口电路。一般情况下,接口电路通过地址总线、控制总线和数据总线与CPU连接;通过数据线(D)、控制线(C)和状态线(S)与外部设备连接。 10. 存储器的作用是什么?只读存储器和随机存储器有什么不同? 存储器具有记忆功能,用来存放数据和程序。计算机中的存储器主要有随机存储器(RAM)和只读存储器(ROM)两种。随机存储器一般用来存放程序运行过程中的中间数据,计算机掉电时数据不再保存。只读存储器一般用来存放程序,计算机掉电时信息不会丢失。 11.某存储器的存储容量为64KB,它表示多少个存储单元?64×1024 12. 简述微型计算机硬件系统组成。

单片机原理及应用课程简介

《传感器原理及应用》课程简介 传感器是获取自然科学领域信息的主要途径和手段。在现代测控系统中,作为关键环节的传感器处于连接被测控对象和测控系统的接口位置,该课程涉及机械、动力、物理、化学、光学、材料、电子、生物、半导体、信息处理等众多学科领域,应用领域十分广泛,与当前多学科交叉融合的趋势相一致,在专业课程体系中起到重要的承上启下作用,从本课程开始奠定工程设计与应用思想、创新实践能力和创新思维能力基础,在现代高素质专业人才培养中所起的重要作用是不言而喻的。通过本课程的学习学生应掌握以下几方面的知识: (1)测量的基本知识。 (2)各种常用传感器的结构,原理,特性及应用。 (3)工程检测中常用的测量电路及工作原理。 (4)传感器的静,动态特性及其标定方法。 《单片机实用系统设计》课程简介 《单片机实用系统设计》是电子科学与技术专业、电子信息工程技术专业和电气自动化技术专业的一门专业课,是现代电子工程领域一门飞速发展的技术,其在教学及产业界的技术推广仍然是当今科学技术发展的热点。学习单片机并掌握其设计应用技术已经成为电子类学生必须掌握的一门技术,也是现代工科学生就业的一个基本条件。它的后续课程是各专业课如:计算机控制、智能化仪器仪表、数控机床、课程设计、毕业设计,一般都要应用到单片机系统的应用。它可以充分体现学生利用自己所掌握的知识解决实际工程问题的能力。单片机知识在电子类专业整个课程体系中处于承上启下的核心地位。 通过本课程的学习,使学生能更深刻地领会和掌握单片机应用系统设计的基本理论、基本知识与基本技能,掌握单片机应用系统各主要资源的设计、单片机C语言编程方法和调试方法,了解单片机在测量、控制等电子技术应用领域的应用。利用所学知识,独立设计电路、布局印刷电路板、设计应用软件和系统软件、亲自焊接元器件、亲自调试系统。培养学生实

单片机原理keil使用教程

单片机原理k e i l使用教 程 Prepared on 22 November 2020

k e i l教程 Keil 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。下面介绍Keil软件的使用方法,这应该算一个入门教程,进入 Keil 后,屏幕如下图所示。几秒钟后出现编辑界 启动Keil uVision4时的屏幕。 简单程序的调试学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。 1) 对于单片机程序来说,每个功能程序,都必须要有一个配套的工程(Project),即使是点亮LED这样简单的功能程序也不例外,因此我们首先要新建一个工程,打开我们的Keil软件后,点击:Project-- >New uVision Project...然后会出现一个新建工程的界面,如图2-8所示。 2)因为是第一个实验,所以我们在硬盘上建立了一个实验1 的目录,然后把LED这个工程的路径指定到这里,这样方便今后管理程序,不

同的功能程序放到不同的文件夹下,并且给这个工程起一个名字叫做LED,软件会自动添加扩展名。如图2-9所示。 下次要打开LED这个工程时,可以直接找到文件夹,双击这个.uvproj 文件就可以直接打开了。 图2-9 保存工程 3)保存之后会弹出一个对话框,这个对话框让我们选择单片机型号。因为Keil软件是外国人开发的,所以我们国内的STC89C52RC并没有上榜,但是只要选择同类型号就可以了。Keil 几乎支持所有的51核的单片机,这里还是以大家用的比较多的Atmel 的AT89S51来说明,如下图2-10、图2-11所示,选择AT89S51之后,右边栏是对这个单片机的基本的说明,然后点击确定。 图2-10 选择芯片公司 图2-11 选择具体芯片

单片机原理课程2018-2019年度第一学期作业

2018-2019学年第一学期作业 一、判断题(在题后的括号内打√或×): 1. 单片机根据数据总线宽度的不同,可以分为4位机、8位机、16位机、32位机。(√) 2. MCS-51系列单片机分为三大字系列:51子系列、52子系列和53子系列。(√) 3. 一般在计算机中,对于正数,最高位规定为“0”;对于负数,最高位规定为“1”。(√) 4. MCS-51的特殊功能寄存器分布在60H~80H地址范围内。(×) 5. P2口既可以作为I/O使用,又可以作地址/数据复用口使用。(√) 6. 按指令执行时间分,可分为1周期、2周期、3周期指令。(×) 7. 定时/计数器共有5种工作方式,由TMOD中M1M0的状态决定。(×) 8. 异步通信的数据或字符是分为一帧一帧地传送,用一个起始位表示字符的开始,用停止位表示字符的结束。(√) 判断以下各条指令是否正确: 9. MOV 20H , R1 (√) 10. SUB A,R2 (×) 二、单选题(请选择正确答案填写在括号中) 1. 所谓CPU是指(A)。 (A)运算器和控制器(B)运算器和存储器 (C)输入输出设备(D)控制器和存储器 2. 10101.101B转换成十进制数是(D)。 (A)46.625 (B)23.625 (C) 23.62 (D) 21.625 3. 能够用紫外光擦除ROM中程序的只读存储器称为( C )。 (A)掩膜ROM (B)PROM (C)EPROM (D)EEPROM 4. 若某存储器芯片地址线为12根,那么它的存储容量为( C )。 (A)1KB (B) 2KB (C)4KB (D)8KB 5. PC中存放的是( B )。 (A)下一条指令的地址(B)当前正在执行的指令 (C)当前正在执行指令的地址(D)下一条要执行的指令 6. 8031单片机的( D )口的引脚,还具有外中断、串行通信等第二功能。 (A)P0 (B)P1 (C) P2 (D) P3 7. 8031单片机中既可位寻址又可字节寻址的单元是( A )。 (A)20H (B)30H (C) 00H (D) 70H

单片机原理及应用(答案)

1:单片机8031的XTAL1和XTAL2引脚是()引脚。 1.外接定时器 2.外接串行口 3.外接中断 4.外接晶振 2:LU表示()。 1.累加器 2.程序状态字寄存器 3.计数器 4.算术逻辑部件 3:单片机上电复位后,PC的内容和SP的内容为()。 1.0000H,00H 2.0000H,07H 3.0003H,07H 4.0800H,08H 4:8031单片机的定时器T1用作定时方式时是()。 1.由内部时钟频率定时,一个时钟周期加1 2.由内部时钟频率定时,一个机器周期加1 3.由外部时钟频率定时,一个时钟周期加1 4.由外部时钟频率定时,一个机器周期加1 5:INTEL8031的P0口,当使用外部存贮存器时它是一个()。 1.传输高8位地址口 2.传输低8位地址口 3.传输高8位数据口 4.传输低8位地址/数据口 6:当需要从MCS-51单片机程序存储器取数据时,采用的指令为() 1.MOV A, @R1 2.MOVC A, @A + DPTR 3.MOVX A, @ R0 4.MOVX A, @ DPTR 7:若PSW的RS1/RS0=10则单片机工作寄存器工作在()。 1.0区 2.1区

3.2区 4.3区 8:假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为()。 1.6H 2.37H 3.38H 4.39H 9:单片机上电复位后,堆栈区的最大允许范围是个单元。 1.64 2.120 3.128 4.256 10:在MCS-51指令中,下列指令中()是无条件转移指令。 1.LCALL addr16 2.DJNZ direct,rel 3.SJMP rel 4.ACALL addr11 11:INTEL 8031的P0口,当使用外部存贮存器时它是一个()。 1.传输高8位地址口 2.传输低8位地址口 3.传输高8位数据口 4.传输低8位地址/数据口 12:单片机中的程序计数器PC用来()。 1.存放指令 2.存放正在执行的指令地址 3.存放下一条指令地址 4.存放上一条指令地址 13:8051单片机中,输入/输出引脚中用于专门的第二功能的引脚是()。 1.P0 2.P1 3.P2 4.P3

单片机原理及应用第三版张毅刚章全

第1章思考题及习题1参考答案 一、填空 1.除了单片机这一名称之外,单片机还可称为或。答:微控制器,嵌入式控制器. 2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于 一块芯片上。答:CPU、存储器、I/O口、总线 3.AT89S52单片机工作频率上限为MHz。答:33MHz。 4.专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。答:成 本,可靠性。 二、单选 1.单片机内部数据之所以用二进制形式表示,主要是?? A.为了编程方便??? B.受器件的物理性能限制?? C.为了通用性?? D.为了提高运算速度?? 答:B 2.在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用B.测量、控制应用 C.数值计算应用D.数据处理应用 答:B 3.下面的哪一项应用,不属于单片机的应用范围。 A.工业控制B.家用电器的控制C.数据库管理D.汽车电子设备 答:C 三、判断对错 1.STC系列单片机是8051内核的单片机。对 2.AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、 1个定时器(且具有捕捉功能)。对 3.单片机是一种CPU。错 4.AT89S52单片机是微处理器。错 5.AT89C52片内的Flash程序存储器可在线写入,而AT89S52则不能。错

6.为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。对 7.为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。对 8.单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP 的长处。对 四、简答 1.微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别? 答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。 2.AT89S51单片机相当于MCS-51系列单片机中的哪一型号的产品?“S”的含义是什么? 答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。 3.单片机可分为商用、工业用、汽车用以及军用产品,它们的使用温度范围各为多少? 答:商用:温度范围为0~+70℃;工业用:温度范围为-40~+85℃;汽车用:温度范围为-40~+125℃;军用:温度范围为-55~+150℃。 4.解释什么是单片机的在系统编程(ISP)与在线应用编程(IAP)。 答:单片机的在系统编程ISP(InSystemProgram),也称在线编程,只需一条与PC机USB 口或串口相连的ISP下载线,就可把仿真调试通过的程序代码从PC机在线写入单片机的Flash 存储器内,省去了编程器。在线应用编程(IAP)就是可将单片机的闪存内的应用程序在线修改升级。 5.什么是“嵌入式系统”?系统中嵌入了单片机作为控制器,是否可称其为“嵌入式系统”? 答:广义上讲,凡是系统中嵌入了“嵌入式处理器”,如单片机、DSP、嵌入式微处理器,都称其为“嵌入式系统”。但多数人把“嵌入”嵌入式微处理器的系统,称为“嵌入式系统”。目前“嵌入式系统”还没有一个严格和权威的定义。目前人们所说的“嵌入式系统”,多指后者。 6.嵌入式处理器家族中的单片机、DSP、嵌入式微处理器各有何特点?它们的应用领域有何不 同? 答:单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。单片机在嵌入式处理器市场占有率最高,最大特点是价格低,

实验一-Keil软件的使用及简单程序的调试方法

实验一Keil软件的使用及简单程序的调试方法 一、实验目的 掌握Keil的使用方法和建立一个完整的单片机汇编语言程序的调试过程及方法。 二、实验器材 计算机1台 三、实验内容 1.Keil的使用方法。 2.建立一个单片机汇编语言程序的调试过程及方法 四、实验步骤 1.Keil的使用方法。Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。启动Keil 后的界面如下:

几秒钟后即进入Keil的编辑界面。用户便可建立项目及应用程序。 2.简单程序的调试方法 Keil是通过项目工程来管理汇编程序的。因此在调试程序前必须建立一个工程,工程名称及保存位置由用户来指定,注意每位同学的工程名称用“学号姓名实验*”来命名。 (1)建立一工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项。并在弹出的对话框中确定保存的位置及工程名称。 又弹出一对话框,要求用户选择相应的硬件CPU及相关设置。选择Atmel公司的AT89C51单片机。如下图所示

单击“确定”后在弹出的对话框中行选择“否”即工程建好了,但该工程没有任何语句,需要再建一个程序文件并将其添加到此工程中。 (2)建一文件 单击“File”/“New”命令,则弹出文件的编辑窗口,此时该文件还没有指明其文件名称及保存位置,该文件还没有加载到所建立的工程中。单击“File”/“Save”命令在弹出的对话框中指明文件的类型为.ASM汇编型及文件名后单击“保存”即可进行汇编源文件的编辑。如下图所示。 (3)将文件添加到工程中 单击“T arget 1”前的“+”号则展开后变成“-”号,并右键单击“Source Group 1”在弹出的下拉菜单中执行“Add Files to Group ‘Source Group 1’”命令并弹出对话框在该对话框中的“文件类型”下拉列表中选择“Asm source file”后找到要添加的文件名并选中,单击“Add”即可。

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

单片机原理课程设计报告模板

单片机原理及接口技术 课程设计报告 设计题目:恒压无塔供水系统设计 学号: 姓名: 指导教师:

信息与电气工程学院二零一四年六月

恒压无塔供水系统设计 随着社会的高速发展,城市高楼林立,高楼层用水往往因水压不够而成问题。常用的水塔式供水系统因设备(尤其是电机)易损而大大增加维护费用,且使用不方便。为此,工程设计人员利用现代电子技术,设计出一种智能变频供水系统,该控制系统智能化程度高,无需水塔,供水稳定,操作也方便,设备寿命大大延长,是一种值得推广的高楼层供水系统。 变频恒压供水系统,通过压力传感器、供水传感器、变频调速器组成闭环回路自动调节电机的转速,从而调节水泵的供水量,使供水量可根据用水量的大小变化而变化,确保供水压力恒定。如果采用取水直供方式,不仅可节约大量的能源,延长设备的使用寿命,又能避免水源二次污染问题。 注:这一部分主要描述题目的背景和意义,对设计所采取的主要方法做一下简要描述。字数不要太多,300-500字。 另注:本文要当做模板使用,不要随意更改字体、字号、行间距等,学会使用格式刷。文中给出的各项内容都要在大家的报告中体现,可采用填空的方式使用本模板。 1. 设计任务 结合实际情况,基于AT89C51单片机设计一个恒压无塔供水系统。该系统应满足的功能要求为: (1) 电机可以工作在两种工作状态,即变频和工频;

(2) 变频器控制电机的转速,且电机能够实现软启动; (3) …… 主要硬件设备:AT89C51单片机、ADC0809模数转换芯片、CYG115型高压力传感器、…… 注:这一部分需要写明系统功能需求,用到的主要硬件(参考实验箱的说明书)。 2. 整体方案设计 恒压无塔供水系统以AT89C51单片机作为整个系统的控制核心,应用其强大的接口功能,构成整个恒压供水控制的硬件系统。该系统具备……方式。在水泵的出水管道上安装一个压力传感器……,送入单片机进行数据处理。经单片机运算后的压力值与设定的压力值相比较……,PID运算……,控制变频调速恒压供水系统的原理图如图2-1所示。 图2-1 基于单片机的变频调速恒压供水系统原理图 本系统硬件主要由A/D转换器、D/A转换器、显示系统……等几部分组成。各模块的主要功能如下: (1) A/D转换器的功能是把水管的压力信号经传感器转换成0~5V的模拟电压信号转换为数字信号,然后送入单片机。 (2) D/A转换器的功能…… (3) ……

keil软件使用方法简介

Keil软件使用方法简介: Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,汇编语言和 C 语言的程序设计,界面友好,易学易用。 下面介绍Keil C51软件的使用方法 进入 Keil C51 后,屏幕如下图所示。几秒钟后出现编辑界 进入Keil C51后的编辑界面 简单程序的调试 学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。

(1)新建工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项 然后选择你要保存的路径,输入工程文件的名字,比如保存到D盘的CMJ51文件夹里,工程文件的名字为CMJ1 如下图所示,然后点击保存. 这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定.

完成上一步骤后,屏幕如下图所示 到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。(2)新建文件 在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项

新建文件后屏幕如下图所示 此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了。 键入程序后界面如下: 单击file菜单下的save,出现一个对话框,键入文件名,后缀名为.asm,进行保存到D盘CMJ51文件夹下。界面如下:

单片机原理及应用第二版

第二章习题参考答案 2-1 51单片机部包含哪些主要逻辑功能部件? (1)一个8位微处理器CPU。 (2)256B数据存储器RAM和特殊功能寄存器SFR。 (3)4K程序存储器ROM。 (4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。 (5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。(6)一个串行端口,用于数据的串行通信 (7)1个可管理5个中断源、2级优先嵌套的中断管理系统;。 (8)片振荡器及时钟发生器。 2-2MCS-51引脚中有多少I/O总线?它们和单片机对外的地址总线和数据总线有什么关系?地址总线和数据总线各是几位? 32条I/O口线,分为4组,每组8条,称为P0~P3口,P0口有8位数据总线和地址总线的低8位,P2口有地址总线的高8位,因此单片机的地址总线位是16位,寻址空间为64KB,数据总线位宽为8位。同时在P3口还R/W控制信号线。I/O口线的总数与地址总线和数据总线没有多大联系,只是说地址总线和数据总线需要占用一定的端口。像A T89C2051单片机,只有15条I/O口线(P3.6没有引出,作为部使用),分为P1口(8位)和P3口(7位),没有所谓的地址总线和数据总线,并且P1口并不完整,因为P1.0和P1.1被电压比较器占用了。 2-3 51单片机的EA, ALE,PSEN信号各自功能是什么? EA:为片外程序存储器选用端,该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片程序存储器。 ALE:地址锁存有效信号输出在访问片外程序存储器期间,ALE以每机器周期两次进行信号输出,其下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,ALE端仍以上述频率(振荡频率f osc的1/6)出现,可作为对外输出的时钟脉冲或用于定时目的. PSEN:片外程序存储器读选通信号输出端,低电平有效。 2-4 51系列单片机有哪些信号需要芯片引脚的第二功能方式提供? P3.0 :PxD 串行口输入端 P3.1 :TxD串行口输出端 P3.2 :INT0 外部中断0请求输入端,低电平有效 P3.3 :INT1 外部中断1请求输入端,低电平有效 P3.4 :T0 定时/计数器0技术脉冲输入端 P3.5 :T1 定时/计数器1技术脉冲输入端 P3.6 :WR 外部数据存数器写选通信信号输出端,低电平有效 P3.7 :RD 外部数据存数器读选通信信号输出端,低电平有效 2-551系列单片机的程序状态字PSW中存放什么信息?其中的OV标志位在什么情况下被置位?置位是表示什么意思? ●PSW是一个8位标志寄存器,它保存指令执行结果的特征信息,以供程序查询和判别。 ●1)做加法时,最高位,次高位之一有进位则OV被置位 2)做减法时,最高位,次高位之一借位则OV被置位 3)执行乘法指令MUL AB,积大于255,OV=1

《单片机原理与接口技术》课程标准(完整版)

《单片机原理与接口技术》课程标准 课程编码:课程类型:理论+实践 课程性质:必修课适用专业:电子信息工程、通信工程、物联网工程 学时:80 学分:5 课程负责人: 参编人员: 一、课程定位 (一)课程性质 《单片机原理及接口技术》是三年制高职电子信息工程、物联网工程和通信技术专业的一门专业课。本课程的任务是以MCS-51单片机为例,讲述单片机的结构和原理,指令系统,存储器与存储器扩展方法,中断定时和程序设计等内容。 (二)课程作用 通过本课程的学习,使学生深入理解和掌握MCS-51系列单片机的硬件结构原理、 汇编语言应用程序设计、单片机应用系统设计。本课程是前期知识课和专业基础课的 应用,也为后续课程的学习打下较扎实的理论基础和准备必要的基础知识,加强设计 与研究能力的培养,进而得到较好的工程实践训练和具有一定的工作适应能力。 (三)前导、后续课程 1、前导课程:电路分析基础、计算机应用基础、模拟电子技术、数字电子技 术、c语言程序设计; 2、后续课程:嵌入式应用技术、FPGA等; 二、课程理念及设计思路 本课程采用理论与实践相结合的方式,使学生能掌握杂实的理论知识和一定的 专业技能。 学时分配建议

三、课程目标 (一)能力目标 1.具有一定的软件编程能力。 2.具有一定的软硬件综合调试能力。 (二)知识目标 MCS-51系列单片机的硬件结构、指令系统与汇编语言程序设计;定时/计数器与中断系统;串行口通信及其接口;MCS-51单片机系统的扩展技术;单片机的人机界面接口技术;单片机与D/A与A/D转换器接口;单片机系统应用。 (三)素质目标 通过所学的专业理论知识,能进行单片机应用系统的设计、开发、调试,以达到胜任专业工作的需要。 四、课程内容 第一章单片机概述 【目的要求】: 1. 熟悉单片机概念。 2. 了解常用单片机系列。 【主要内容】: 1.单片机的发展概况。 2.单片机的特点与选用。 3.常用单片机的种类。 第二章 MCS—51单片机的系统结构 【目的要求】: 1.掌握单片机的内部结构,引脚功能,存储器。 2.熟悉端口结构。 【主要内容】:

(完整word版)单片机原理及应用教程第3版习题课后答案

(完整word版)单片机原理及应用教程第3版习题课后答案 亲爱的读者: 本文内容由我和我的同事精心收集整理后编辑发布到文 库,发布之前我们对文中内容进行详细的校对,但难免会 有错误的地方,如果有错误的地方请您评论区留言,我们 予以纠正,如果本文档对您有帮助,请您下载收藏以便随 时调用。下面是本文详细内容。 最后最您生活愉快 ~O(∩_∩)O ~ 1

《单片机原理及应用程序》(第三版)习题参考答案 第一章 1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么? 在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。十六进制数可以简化表示二进制数。 2. (1) 01111001 79H (2) 0.11 0.CH (3) 01111001.11 79.CH (4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31H 3. (1) 0B3H (2)80H (3) 17.AH (4) 0C.CH 4. (1)01000001B 65 (2) 110101111B 431 5. (1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100 (5) 10000001 11111110 11111111 6. 00100101B 00110111BCD 25H 7. 137 119 89 8.什么是总线?总线主要有哪几部分组成?各部分的作用是什么? 总线是连接计算机各部件之间的一组公共的信号线。一般情况下,可分为系统总线和外总线。 系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB) 1

单片机原理课程复习题(附答案)

单片机原理复习题及答案 一.判断题(在题后的括号内打√或×) 1.只读存储器ROM内部信息停电后会丢失。(×) 2.堆栈操作是按“后进先出”的原则存取数据。(√) 3.8051单片机访问存储器时,同一地址对应惟一的存储单元。(×) 4.数据寄存器指针DPTR由DPH和DPL组成。(√) 5.程序计数器PC总是指向正在执行的指令地址。(×) 6.汇编语言程序中的注释可以缺省。(√) 7.指令中操作码助记符项可有可无。(×) 8.计算机寻址方式越多,计算机的功能超强,灵活性亦越大。(√) 9.若累加器A中“1”的个数为偶数,则奇偶标志位P为1。(×) 10.作算术运算时,若有进位则一定有溢出。(×) 11.8051每个中断源相应地在芯片上都有其中断请求输入引脚( × ) 12.程序计数器PC不能对它进行读写操作.( √ ) 13.8051单片机的栈底单元是不能利用的,因此,它是一个闲置单元( × ) 14.8051单片机对最高优先权的中断响应是无条件的( ×) 15.中断初始化时,对中断控制器的状态设置,只可使用位操作指令,而不能使用字节操作 指令( ×) 16.在一般情况8051单片机允许同级中断嵌套( ×) 17.8051单片机,程序存储器数和数据存储器扩展的最大范围都是一样的(√) 18.RC A为循环左移指令( ×) 19.MOV A,30H为立即寻址方式( ×) 20.如果发生除法溢出错误,则PSW标志位P置1 ( ×) 21.如JC rel发生跳转时,目标地址为当前地址加上偏移量rel ( ×) 22.MOV A,@A+DPTR是一条查询指令 .( √) 23.MUL AB的执行结果是高8位在A中,低8 位在B中( ×) 24.CPU对内部RAM和外部RAM的读写速度一样快( ×) 25.对于8051单片机,当CPU对内部程序存储器寻址超过4K时,系统会自动在外部程 序存储器中寻址 .( √) 26.外加晶振频率越高,系统运算速度也就越快,系统性能也就越好( ×) 27.单片机按键手动复位又可以分为电平方式和脉冲方式两种。(√) 28.单片机程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键 重新启动单片机。(√) 29.计算机如果有好的硬件电路,即使没有任何软件支持,也能正常工作。(×) 30.计算机能够直接识别和执行任何高级语言指令。(×) 31.80C51单片机汇编语言指令中的任何部分,包括操作码在内,都可以根据具体情况加 以省略。(×) 32.80C51指令系统具有存储效率高、执行速度快的特点。(√) 33.机器语言是一种用二进制代码0和1表示指令和数据的最原始的程序设计语言。(√) 34.对于使用者来说,用机器语言编写程序比较简单,容易看懂,不易出错,便于记忆。(×)

单片机原理及应用考试试题及答案

单片机原理及应用考试试 题及答案 Last revision on 21 December 2020

单片机原理及应用试题一 一、填空题(每空1分,共20分) 1、计算机的系统总线有地址总线、控制总线和数据总线。 2、通常、单片机上电复位时PC= 0000H,SP= 07H;而工作寄存器则缺省采用第00组,这组寄存器的地址范围是从00H~ 07H。 3、JZ e 的操作码地址为1000H,e=20H,它转移的目标地址为1022H。 4、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行某种控制。 5、假定累加器A的内容30H,执行指令: 1000H:MOVC A,@A+PC 后,把程序存储器1031H单元的内容送累加器A中。 6、MCS-51单片机访问外部存储器时,利用ALE信号锁存来自P0口的低8位地址信号。 7、MCS-51单片机8031中有 2 个 16位的定时/计数器,可以被设定的工作方式有四种。 8、MCS-51单片机有5个中断源,可分为2个中断优先级。上电复位时外部中断0中断源的最高。 9、用串行口扩展并行口时,串行接口的工作方式应选为方式0。 10、半导体存储器的最重要的两个指标是存储容量和存储速度。 11、若某8位D/A转换器的输出满刻度电压为+5V,则D/A转换器的分辨率为5/255=。 12、写8255A控制字时,需将A1、A0置为11。

二、选择题(从备选答案中选择一个正确答案,并将代号写在括号内。每题1分,共10分) 1、在CPU内部,反映程序运行状态或反映运算结果的一些特征寄存器是( B ) (A)PC (B)PSW (C)A (D)SP 2、要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( B ) (A)MOV (B)MOVX (C)MOVC (D)以上都是 3、指令ALMP的跳转范围是(C) (A)256B (B)1KB (C)2KB (D)64KB 4、要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是( A ) (A)98H (B)84H (C)42H (D)22H 5、各中断源发出的中断请求信号,都会记在MCS-51系统中的( B ) (A)IE (B)IP (C)TCON (D)SCON 6、CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是( C ) (A)混合编址(B)动态编址(C)独立编址(D)变址编址 7、下列四条叙述中,有错误的一条是( A ) (A)16根地址线的寻址空间可达1MB (B)内存储器的存储单元是按字节编址的 (C)CPU中用于存放地址的寄存器称为地址寄存器 (D)地址总线上传送的只能是地址信息 8、MCS-51外扩一个8255时,需占用(D)个端口地址 (A)1个(B)2个(C)3个(D)4个

keil如何使用-图文教程告诉你keil怎么使用

keil如何使用?图文教程告诉你keil怎么使用 keil4使用教程1、第一步是建立工程,最好新建一个文件夹,把新建的这个工程放在文件夹放在里面,点击进去之后第一个新建uvision工程。 2、第二步就是选择atmel公司的AT89C51这个芯片,然后就是确定。选择这个的原因就是让待会编写的程序含有c51的头文件,为了待会可以往c51里面烧程序。 3、然后就在左上开始新建一个文件了,我这举例的一个程序,注意一定要保存,而且保存一定要选择格式.C就是图中的11.C,并且保存在刚刚建立工程的文件夹不然待会成默认的格式就无法生成hex文件,保存之后就可以就行编译了,点击左侧的目标+然后找到资源再点击右键添加资源到组资源组1然后找到刚刚保存的c语言程序,添加上去,添加一次然后关闭。 4、然后点击目标1右边的图标进去然后选择第三个标题输出项把那个产生hex文件前面勾上然后确定就可以生成hex文件就可以拷到proteus仿真软件中去用用了 keil uvision5的使用教程keil uvision5是一款功能强大的C语言软件开发系统,在结构性、功能性、可读性和维护性方面都具有很独特的优势。若你是使用C语言来开发的用户,那么这款软件一定是你的最佳选择。它能使你的编程效率提高,编出的代码也更紧凑,更易别的用户读取。在开发大型软件的时候它独有的高级语言优势也能帮助用户编程,今天小编就来介绍它的使用教程。 一:文件选项1、新建:使用这个选项可以在该软件中新建一个项目,它是一切文件开始的地方。我们可以使会用快捷键:ctrl+n来代替。 2、打开/关闭:在该选项下可以正常打开已经做好的文件项目,也可以将打开的项目进行关闭。 3、保存/另存为/保存全部:以上三个选项都是保存项目的方法。使用保存可以将当前文件

相关主题
文本预览
相关文档 最新文档