单片机课程设计

发布 2022-10-04 22:17:28 阅读 1601

单片机原理及应用课程设计。

教学指导方案。

设计题目: 单片机原理及应用课程设计

电气信息学院

2013年07月。

第一部分设计指导方案。

一、设计题目。

1、题目:《单片机原理及应用课程设计》

2、简介:流水灯、数字电压表、数显温度计及歌曲的**是单片机最基础和几个应用之一,能够较大程度的锻炼学生的动手能力,充分了解单片机的工作原理。

二、课题要求。

1、设计的目的与要求:

本课程设计的目的在于培养学生以下的能力:具有硬件设计能力、具有软件编程调试及数据处理能力。

2、课程设计的内容:

1)利用c语言与汇编语言流水灯。

2)利用c语言或汇编语言实现数字电压表。

3)利用c语言或汇编语言实现数显温度计。

4)利用c语言或汇编语言实现歌曲的**。

三、课程设计成果的要求及评分标准。

1)单片机硬件系统设计,软件编程实现各功能。(35%)

流水灯正转、反转、从中间到两边、从两边到中间;能够利用单片机和ad变称器件查询并显示所测电压的电压值,电压电大量程为5伏,最小误差为0.02伏;能够利用单片机和ds1及相应液晶显示器实时显示室内温度,可进行双机通信;利用单片机、音频放大器、喇叭实现歌曲的**。

2)答辩:(35%)

3)书面设计报告(30%)

1)、绘制硬件原理模拟电路原理图(要求用proteus软件绘制)。

2)、编写软件,要求用汇编语言或c语言。

3)、说明设计结果。

4)、所选用芯片的相关资料。

四、课时安排。

第二部分设计指导书。

单片机原理及应用课程设计是电气信息学院的一个必修课程,时间为1周,1个学分。该课程设计的目的旨在使学生能够理论联系实际,提高学生的动手能力,加深对课程的理解。

内容一:流水灯设计。

一、单片机基础知识。

单片微型计算机(single chip microcomputer)简称单片机,即把组成微型计算机的各个功能部件,如**处理器(cpu)、随机存储器(ram)、只读存储器(rom)、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在一块芯片中,构成一个完整的微型计算机。单片机的组成如上图所示。

单片机的特点:集成度高、体积小、面向控制、功能强、抗干扰能强、功耗低、使用方便、性能**比高、容易产品化。

单片机的历史与发展单片机发展趋势:

功能增强。2.单片机大容量化、内部资源增多。

3.引脚的多功能化、发展串行总。

4.单片机小容量低廉化、超微型化。

5.低功耗和低电压。

6.单片机开发方式的进步。

7.多机与网络系统的支持技术日趋成熟。

51单片机单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。作为嵌入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。51系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51系列单片机的发展又进入了一个新的阶段。

在今后很长一段时间内51系列单片机仍将占据嵌入式系统产品的中低端市场。

二、软件设计基础知识。

汇编语言:汇编语言是一种面向机器的计算机低级编程语言,通常是为特定的计算机或系列计算机专门设计的。汇编语言保持了机器语言的优点,具有直接和简捷的特点,其**具有效率高实时性强等优点。

但是对于复杂的运算或大型程序,用汇编语言编写将非常耗时。汇编语言可以与高级语言配合使用,应用十分广泛。

c语言:c语言是combined language(组合语言)的中英混合简称。是一种计算机程序设计语言。

它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到c语言,具体应用比如单片机以及嵌入式系统开发。

c语言是一种面向过程的计算机程序设计语言,它是目前众多计算机语言中举世公认的优秀的结构程序设计语言之一。它由美国贝尔研究所的于1972年推出。1978后,c语言已先后被移植到大、中、小及微型机上。

c语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如dbase ⅳ都是由c 语言编写的。用c 语言加上一些汇编语言子程序,就更能显示c 语言的优势了,像pc- dos 、wordstar等就是用这种方法编写的。

用十分广泛。

三、单片机结构及工作原理和流水灯相关电路图。

mcs.51系列单片机总线技术开放,开发工具成熟,单片机芯片及开发工具供货商多,**低廉,同时该系列单片机进入市场时间早,汇编语言指令书写形式与intel公司啦通用微处理器相似,很容易被接触过intel通用微处理器汇编语言的用户所接受。因此,在单片机应用中占有重要位置,是单片机教学的首选机种。理解mcs.51系列单片机内部结构、工作原理、应用实例后,将非常容易理解和使用其他系列的单片机。

单片机是通过执行程序来工作的,执行不同的程序就能完成不同的任务。程序是指令的有序集合,指令是规定计算机执行某种具体操作的命令。**处理器cpu根据指令控制计算机各部分协调工作,完成规定操作。

单片机工作的过程局势单片机执行指令的过程。

使用用stc89c52单片机和电平转换芯片max232组成一个简单的控制电路,在输入程序后使得流水灯能够按程序指令依次发光。

单片机电路如下:

led指示灯连接电路:

排阻。电源电路:

晶振接法:程序**电路:

复位电路。为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5v±5%,即4.

75~5.25v。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当vcc超过4.

75v低于5.25v以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。

内容二:数字电压表设计。

模-数(ad)和数-模(da)转换是模拟电路和数字电路进行沟通的渠道,从前面的课程我们知道,数字电路里,电平只有高和低两种状态,比如5v和0v,对应着1和0;模拟电路里,电平则理论上有无数个状态,比如0v、0.1v、0.2v…等等。

如何将模拟电平值在数字电路里表达出来呢?这就需要ad转换过程,同理的,也有da转换过程。这一次,我们就利用adc0832芯片来实ad转换这一过程,进而形成数字电压表。

adc0832是美国国家半导体公司生产的一种8位分辨率、双通道a/d转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用adc0832可是使我们了解a/d转换器的原理,有助于我们单片机技术水平的提高。

adc0832具有以下特点:

8位分辨率;

双通道a/d转换;

输入输出电平与ttl/cmos相兼容;

5v电源供电时输入电压在0~5v之间;

工作频率为250khz,转换时间为32μs;

一般功耗仅为15mw;

8p、14p—dip(双列直插)、picc多种封装;

商用级芯片温宽为0°c to +70°c?,工业级芯片温宽为40℃ to +85℃

下面看看它的引脚及功能。

adc0832为8位分辨率a/d转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5v之间。芯片转换时间仅为32μs,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。

独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过di数据输入端,可以轻易的实现通道功能的选择。

正常情况下adc0832与单片机的接口应为4条数据线,分别是cs、clk、do、di。但由于do端与di端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将do和di并联在一根数据线上使用。可参考下图连接方式。

adc0832的控制引脚cs、clk、do、di占用了p20、p36、p37三个个io口。其中,do和di共用一条数据线。象前二课一样,我们来通过它的时序图来学习对它进行控制。

与ds1302非常相似,cs作为选通信号,在时序图中可以看到,以cs置为低电平开始,一直到置为高电平结束。clk提供时钟信号,我们要注意看clk的信号的箭头指向,向上为上升沿有效,向下为下降沿有效。di、do作为数据端口。

当adc0832未工作时其cs输入端应为高电平,此时芯片禁用,clk和do/di的电平可任意。当要进行a/d转换时,须先将cs使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端clk输入时钟脉冲,do/di端则使用di端输入通道功能选择的数据信号。

在第1个时钟脉冲的下沉之前di端必须是高电平,表示启始信号。在第个脉冲下沉之前di端应输入2位数据(sgl、odd)用于选择通道功能,当此2位数据为“1”、“0”时,只对ch0进行单通道转换。当2位数据为“1”、“1”时,只对ch1进行单通道转换。

当2位数据为“0”、“0”时,将ch0作为正输入端in+,ch1作为负输入端in-进行输入。当2位数据为“0”、“1”时,将ch0作为负输入端in-,ch1作为正输入端in+进行输入。

在完成输入启动位、通道选择之后,就可以开始读出数据,转换得到的数据会被送出二次,一次高位在前传送,一次低位在前传送,连续送出。在程序读取二个数据后,我们可以加上检验来看看数据是否被正确读取。

下面,我们看看这部分程序该怎么写。

这个是读取数值的子函数,二通道独立读取,入口参数是通道值(0或1),出口参数则是读取的结果,里面对两次读取的值进行判断,实际应用中,可以灵活处理,要不要判断、如果数值不一致要不要返回标志,这些留给大家思考。

应用时,只要写成变量名=getvalue0832(通道值);即可返回转换值。

由于adc0832是8位分辨率,返回的数值在0~255之间,对应模拟数值为0~5v,因此每一档对应的电压值约为0.0196v。大家可以在通道输入端引入模拟信号(0~5v)进行测试,比如可以在通道脚和地之间接入电池来测试电池电压值。

单片机课程设计

可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...

单片机课程设计

目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...

单片机课程设计

1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...