基于单片机的自动窗帘设计.docx

上传人:b****1 文档编号:10348657 上传时间:2023-05-25 格式:DOCX 页数:39 大小:221.95KB
下载 相关 举报
基于单片机的自动窗帘设计.docx_第1页
第1页 / 共39页
基于单片机的自动窗帘设计.docx_第2页
第2页 / 共39页
基于单片机的自动窗帘设计.docx_第3页
第3页 / 共39页
基于单片机的自动窗帘设计.docx_第4页
第4页 / 共39页
基于单片机的自动窗帘设计.docx_第5页
第5页 / 共39页
基于单片机的自动窗帘设计.docx_第6页
第6页 / 共39页
基于单片机的自动窗帘设计.docx_第7页
第7页 / 共39页
基于单片机的自动窗帘设计.docx_第8页
第8页 / 共39页
基于单片机的自动窗帘设计.docx_第9页
第9页 / 共39页
基于单片机的自动窗帘设计.docx_第10页
第10页 / 共39页
基于单片机的自动窗帘设计.docx_第11页
第11页 / 共39页
基于单片机的自动窗帘设计.docx_第12页
第12页 / 共39页
基于单片机的自动窗帘设计.docx_第13页
第13页 / 共39页
基于单片机的自动窗帘设计.docx_第14页
第14页 / 共39页
基于单片机的自动窗帘设计.docx_第15页
第15页 / 共39页
基于单片机的自动窗帘设计.docx_第16页
第16页 / 共39页
基于单片机的自动窗帘设计.docx_第17页
第17页 / 共39页
基于单片机的自动窗帘设计.docx_第18页
第18页 / 共39页
基于单片机的自动窗帘设计.docx_第19页
第19页 / 共39页
基于单片机的自动窗帘设计.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的自动窗帘设计.docx

《基于单片机的自动窗帘设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的自动窗帘设计.docx(39页珍藏版)》请在冰点文库上搜索。

基于单片机的自动窗帘设计.docx

基于单片机的自动窗帘设计

基于单片机的自动窗帘设计

 

1绪论

1.1课题背景

生活在提高,时代在进步,人类在向文明迈进,不同的时代对居住空间、环境有不同的要求,这是社会的必然潮流。

自动窗帘单片机控制可以省去不少的人为操心,开拉窗帘的繁琐控制而且还体现出一种生活品味。

自动控制系统中含有根据光照的强烈程度进行控制的单元,它能将控制更智能化,体现出跟多的现代信息,进行亮度的自动调节将使人们更方便的适应各种环境,让人们时时刻刻感受到科技带来的进步。

因此本产品有大规模生产的必要性,量产的这种产品将有非常大的实用性。

也很快会普及普通家庭。

同时还能引用于酒店、宾馆、学校等一些公共设施中。

遥控自动窗帘系统在我国还刚刚兴起,但其发展前景广阔,推广和应用自动窗帘系统具有重要的现实意义。

其一,改变人们的生活方式。

单片机控制的遥控自动窗帘系统具有丰富的智能化功能,为家庭用户营造一个高效、舒适、便利、环保的居住环境。

单片机控制的遥控自动窗帘只用一个多功能遥控器就能控制和监测住房的窗帘开关问题,给人们日上生活带来极大的方便。

这些都将改变人们传统的生活方式,并提高了人们的生活质量。

其二,牵动一大批产业。

单片机控制的遥控自动窗帘产品面向家庭用户,其应用市场是庞大的,发展前景也是广阔的,必将吸引大批有远见的各类企业介入,从而牵动一大批产业的发展。

这里最先受益的应该是房地产业,单片机控制的遥控自动窗帘不仅是一个很好的概念与“卖点”,同时也是直接提升住宅档次的一个条件,这将会给房地产商带来新的利润空间。

在家居集成化、网络化的趋势下,家居集成也成为一种潮流,许多更专业的、美观的、智能化的家居集成产品相继出现。

其三,开拓一个崭新的市场。

遥控自动窗帘系统牵动了许多的行业,它将不仅仅是目前的IT系统集成商或建筑弱电工程总包商的市场,而且是专业公司和智能化装饰公司的市场。

1.2国内外概况

在欧美等发达国家,电动窗帘已广泛应用。

在10年前,电动窗帘就已经进入我国,可一直没有大的推广,这两年,随着电控技术的不断提高及价格的不断下降,电动窗帘热才又卷土重来。

据了解,全国共有170多种电动窗帘器获得了国家专利,但就其技术本身而言,还是大同小异,但售价却有很大差别,贵的要数千元,便宜的只要500块。

尽管遥控自动窗帘系统在国内是一个新兴的行业,可是他的成长迅速,发展巨快。

自动窗帘引进中国,在很短的时间里它的功能多样化,控制人性化应经越来越被人们接受,并有望超过国外。

在中国生产自动窗帘的厂商很多,这个行业在中国的发展历程和其他的公司是完全不同的。

也是其他公司无法比拟的。

中国现在生产自动窗帘的公司很多比如:

深圳市正星特科技有限公司就是做的很不错的。

自动窗帘产品已开始走进中国的家庭。

具报道,我国2004年售出商品房1.9亿m²,如果每20m²需要一套窗帘架产品,仅此一项就可以年新增窗帘架产品近千万套加上。

年新增窗帘架产品市场需求将不低于2000万套。

如果单片机控制的遥控自动窗帘,销售占市场的5%左右,就可实现年产值上亿元。

随着自动窗帘热潮在世界范围内的日渐兴起,随着中国电子技术的飞速发展、人们生活水平的不断提高以及智能电子技术在生活中的广泛应用,自动窗帘已经成为未来家居装饰潮流发展的最新方向,在不久的将来,没有自动窗帘系统的住宅肯定不合潮流。

从目前的发展趋势来看,在未来的20年时间里,自动窗帘行业将成为中国的主流行业之一,其市场的发展前景是非常广阔的。

1.3课题的研究工作

智能家居系统是一个大的社会系统工程,我们应当加快我国智能家居标准化进程。

自动窗帘系统作为智能家居中一个很重要的部分,需要在我国智能家居这一领域,建立起一个具有中国特色的新兴、健康的产业链。

让自动窗帘系统在我国并不是远在天边,而是近在眼前。

现有的电动窗帘机的控制方式有固定式开关控制、遥控、光控、声控等,其中以前两种形式居多。

就实用程度和经济角度来说,用固定式开关控制方式较好,这是因为窗帘的开闭不像电视机等家电产品开闭得那样频繁,每天开闭的次数不多,因此安装在固定的地方使用也相当方便,如把开关装在床头柜等电器综合控制系统中,睡在床上就能控制窗帘的开闭。

利用触摸开关,实现全自动断电,既安全又节能,但最重要的一点就是没有实现完全的自动化,没的摆脱对人的依赖作用。

而采用遥控控制时,需要候机电源,不可能完全断电而且增加遥控功能,也增加了成本,售价也相应提高。

窗帘机的控制方式大体上有三种:

声控、光控、时控,声控和遥控属于半自动类;而光控虽属全自动式,但因光敏器件的灵敏度,冬夏等不同季节的光照度的不同,以及人们对起闭窗帘在时间上的要求不同,而难以实施和普及。

因此,时控式的全自动窗帘机便成了专业以及业余电子设计人员的热门课题。

根据以上自动窗帘有些不能实现完全的自动化;有些虽然实现了完全的自动化,但结构复杂,性能不够稳定;有些虽然实现了完全的自动化,且性能还可以,但价格昂贵不适合普通消费者使用。

所以我想利用价格相对便宜的红外线遥控发射芯片、单片机作为主要控制器件,来完成该系统的设计。

该系统主要有如下几方面的特点:

1.可以显示的时间。

2.可根据光照自动控制。

4.美观。

以往的遥控电动窗帘都是向一边拉或向上拉,而本设计为向两边打开,随个人的爱好可以控制其大小。

5.体积小、结构简单、灵敏度高、抗干扰性强、经济实用、工作可靠。

2系统总体方案设计

本节是该设计的方案论证部分,对设计中所采用的芯片从多方面综合的进行比较,最后经过仔细的研究后决定所器件、编程软件和仿真电路绘制软件的选取。

2.1系统总体硬件方案

本次设计中考虑了三种设计方案,三种设计方案中主要区别在于硬件电路和软件设计的不同,对于本设计三种方案均能够实现,最后根据设计要求、可行性和设计成本的考虑选择了基于STC15F408AD单片机、电机、数码管和按键构成的集控制、开关、检测、显示与一体的自动窗帘设计。

现在一一介绍论证如下:

方案一、利用STC89C52单片机作为控制核心,用ADC0809作为光照测量的转换器,利用继电器作为控制电机开断的控制器,利用光敏电阻感应实际光照转化为可测量的小电流,显示部分利用液晶1602,用单片机定时器计时。

方案二、利用STC带有AD的单片机作为控制核心,利用继电器作为控制电机的开断控制器,利用光敏电阻感应实际光照转化为可测量的小电流,显示部分利用液晶1602,用单片机定时器计时。

方案三、利用STC15F408AD的单片机作为控制核心,继电器控制电机开关,数码管进行显示,利用继电器作为控制电机的开断控制器,用LED数码管进行显示。

方案一中利用ADC0809接线电路复杂,利用单片机定时器计时走时不准并且在断电的时候时间也会被初始化。

故舍弃方案一。

方案二中虽然在接线方面简单但是在显示和计时上仍有不足。

1、利用1602显示只能显示字母数字并且体积稍大,制作成品后造成体积庞大,LCD由玻璃制作玻璃材质很容易破碎很显然不符合要求。

故舍弃方案二。

方案三集成了方案一和方案二的优点摒弃了缺点因此毕业设采取方案三。

2.2系统总体软件方案

软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。

设计目标和硬件总体结构确定的情况下,可以把软件可以分为主程序,显示子程序,各种延时子程序,按键扫描程序四个主要部分组成。

软件的编写需要借助软件编辑器和编译软件,编译完成后还需要程序烧录器下载到单片机中执行。

编写软件之前得首先选择一种合适的语言以及配套的编辑器和编译软件。

最后还要选择一款与所选单片机的下载器或下载软件来把编写的程序下载到单片机中执行。

2.3单片机编程语言

现在主要运用的单片机编程语言为汇编语言和C语言。

我们虽然开设了单片机的课程,但是都是一些简单的入门,对单片机的内部资源也是学着忘着,并且我们学的是汇编,汇编是单片机的入门语言虽说它的转化效率高但是可读性差,使用不灵活,因此我就必须拾起大二时学的C语言,将学到的C语言应用到单片机上,学一门语言不容易,可要把他应用到实际当中更不容易。

通过一点点的看视频教程,一个个单片机实例的实验我开始对单片机对C语言理解的越来越充分,由灵活的操作一个IO口到操作32个IO口。

在其中的学习中我也体会到一个个成功实例的带来的成功感。

在软件设计之前,首先自己就得有一个实现每一个功能的一些步骤和方法,因此在设计的时候就得想好整个设计的流程图。

在设计之前自己必须知道将用到哪方面的知识,最后分析它的可行性。

制作出可行的流程图,在以后的编程中看着流程图编写程序就会变的得心应手。

2.4系统软件编译器WAVE介绍

汇编语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。

因此在系统软件设计中,编译器必不可少。

支持MCS-51用汇编语言编程的编译器我们常用的是伟福WAVE6000编译器。

因此软件设计最终方案为采用汇编语言为编程语言,WAVE为编译工具按照控制、通信、显示等几个功能模块来编写程序。

在伟福软件下汇编程序编译的一些详细步骤和要点:

1)启动伟福6000编程、仿真、编译集成环境,运行主菜单中的:

文件>打开文件,开始编写程序。

完成后保存为.ASM文件。

2)执行主菜单中的项目>编译。

这样就在你保存那个*.ASM文件的目录编译生成了相关的*.BIN、*.HEX文件,此时你只要连接好编程器,打开编程器的操作软件。

运行载入文件>选择要写入的*.HEX,执行编程操作就行了!

 

3系统硬件方案设计

3.1STC15F408AD单片机

STC15F408AD系列单片机是STC生产的单时钟/机器周期(1T)的单片机,是高速/高可靠/低功耗/超强抗干扰的新一代8051单片机,采用STC第八代加密技术,超级加密,指令代码完全兼容传统8051,但速度快8-12倍。

内部集成高精度R/C时钟(±0.3%),±1%温飘(-40℃~+85℃),常温下温飘±0.6%(-20℃~+65℃),5MHz~35MHz宽范围可设置,可彻底省掉外部昂贵的晶振和外部复位电路(内部已集成高可靠复位电路,ISP编程时8级复位门槛电压可选)。

3路CCP/PWM/PCA,8路高速10位A/D转换(30万次/秒),1组高速异步串行通信口(可在3组管脚之间进行切换,分时复用可作3组串口使用),1组高速同步串行通信端口SPI,针对串行口通信/电机控制/强干扰场合[1]。

STC15F408AD系列单片机中包含中央处理器程序存储器、数据存储器、定时器/计数器、掉电唤醒专用定时器、I/O口、高速A/D转换(30万次/秒)、看门狗、高速异步串行通信端口UART、CCP/PWM/PCA、高速同步串行端口SPI,片内高精度R/C时钟及高可靠复位等模块。

STC15F408AD系列单片机几乎包含了数据采集和控制中所需要的所有单元模块,可称得上是一个片上系统(SysTemChip或SysTemonChip,简写为STC,这是宏晶科技STC名称的由来)[2]。

图3.1STC15F408AD单片机引脚图

STC15F408AD单片机的A/D转可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的P1口可继续作为I/O口使用。

需作为A/D使用的口需先将P1ASF特殊功能寄存器中的相应位置为‘1’,将相应的口设置为模拟功能。

表3.1P1ASF寄存器

SFRNAME

ADDRESS

P1ASF

9DH

P1ASF[7-0]

P1.X的功能

P1ASF0=1

P1.0作为模拟功能AD使用

P1ASF1=1

P1.1作为模拟功能AD使用

P1ASF2=1

P1.2作为模拟功能AD使用

P1ASF3=1

P1.3作为模拟功能AD使用

P1ASF4=1

P1.4作为模拟功能AD使用

P1ASF5=1

P1.5作为模拟功能AD使用

P1ASF6=1

P1.6作为模拟功能AD使用

P1ASF7=1

P1.7作为模拟功能AD使用

单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统到一个芯片上。

单片机由运算器、控制器、存储器、输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。

概括的讲:

一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

它最早是被用在工业控制领域。

INTEL的8080是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。

其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列单片机系统。

因为简单可靠而性能不错获得了很大的好评。

尽管2000年以后ARM已经发展出了32位的主频超过300M的高端单片机,直到现在,基于8051的单片机还在广泛的使用。

在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。

事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳[3]。

现代人类生活中所用的几乎每件有电子器件的产品中都会集成有单片机。

手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都含有单片机。

汽车上一般配备40多片单片机,复杂的工业控制系统上甚至可能有数百片单片机在同时工作!

单片机的数量远远超过PC机和其他计算机的总和[4]。

3.2按键模块设计

在按键模块设计前先说明按键检测的原理:

按键设计的原理相对简单,根据单片机的特性我们知道,单片机在复位的时候IO口为高电平相应的单片机检测有无按键按下只检测有没有低电平就行了,当有低电平时就认为有按键按下了[5]。

最简单的按键电路设计就是将按键一端直接连接单片机另一端直接接地,这样的设计硬件设计简单很容易想到,但是如果用多个按键,运用到的IO管脚会比较多。

电路框图如下:

图3.2按键模块框图

在这里还有一个用一个管脚就能判别出多个按键的按键电路设计,原理就是利用电阻分压。

利用单片机的AD转换端口,检测各各电阻的分压值[5],按键只是选通某一个电阻值而已。

这样的设计相当于是串行检测,而上面的设计则是一个并行设计的一种方法。

根据上面两种电路我最后选择了第一种并行的按键,因为这种电路设计方便编程简单,并且由于所选用的单片机STC15F408AD管脚比较多,用这种设计方法很方便。

3.3LED数码管

LED数码管的驱动显示电流基本在10ma-15ma,而单片机的输出电流仅有几毫安,这样大的电流是不能驱动LED数码管显示的,因此要想让数码管点亮必须有足够大的驱动电流[6]。

经过一番资料的查阅和以往老师讲的理论知识,让数码管点亮必须的用到有一定驱动能力的芯片或原件。

结合所学知识最后我选择了用三极管来驱动LED数码管显示,我们都知道三极管有NPN和PNP之分,而单片机的驱动电流非常小,对于老式的89C51单片机来说,他的驱动电流在10mA-20mA左右[7]。

然而STC15F408AD的驱动电流在10mA一下,但是他的灌电流单个管脚可达到20mA,整个IO口的电流和不能超过60mA。

图3.3显示模块框图

在这些理论的支持下,我选择了NPN型8050三极管,他的放大倍数在80-150之间[8],用来驱动数码管已经足够了。

在数码管的选型上我也是费了不少功夫,首先数码管分为共阴和共阳两种,还有一位两位三位四位数码管之分,数码管与单片机是怎么的连接的,数码管与驱动电路时怎么连接的等等这些问题一直缠绕着我。

考虑到单片机灌电流比较大可达到20ma,这个信息对选择数码管型号是十分必要的,利用单片机灌电流的性子,设计中必须得选用共阳极的数码管只能这样才能将数码管点亮。

由于数码管的结构可等效为多个LED组成的图案,因此它的实质也就是LED然而LED的工作电压是有一个严格的规范的,单片机的工作电压是5V,在显示模块中运用到的三极管主要是利用其开关特性,因此如果当三极管处于导通状态就相当于在LED上直接加上5V电源[9],显然这样会把数码管烧坏,是不可取的。

要想让数码管正常工作必须得有限流电阻,这样一来由公式R=V/I就可以求出限流电阻的值,在显示模块电路设计中我选择的限流电阻值为470欧姆。

3.4驱动电路设计

电机控制方案设计中就到用继电器来作为控制模块,但是由于继电器的动作是由机械控制,这样出现的错误率会比较高,再一个继电器的体积比较大,特别是大功率的控制继电器。

继电器的再一个致命的缺点是它的使用次数少,开关特性慢。

一个继电器的使用次数一般在两万次。

在电力电子课程上,我们经常讲到的就是晶闸管,它的性能优越控制方便使用寿命长,开关特性比继电器要强很多。

但是在晶闸管的控制电路中我们用的是弱电,为了安全起见必须的把强电和弱电进行分离开来,在控制模块中利用光耦将强电和弱电进行隔离从而达到弱电控制强电的目的。

可控硅的控制方面我还是第一下次接触,首先翻看了电力电子课本,找到关于可控硅的章节。

通过一段时间的学习,我掌握到了可控硅的一些特性,在某些性子上和三极管差不多。

可控硅的特性有:

必须有正向电压,在正向电压的基础上必须有开启电流,这样可控硅才能导通。

可控硅一旦导通通过断掉开启电流的方法已经是不可能了。

关断可控硅的方法有:

1、断电。

2、电源反接。

3、有过零点。

只有满足这三个中的一个才能将可控硅关掉。

了解了可控硅的特性之后我就开始查找关于可控硅的电路设计,并分析电路的可行性通过学习掌握到的知识自己设计了一个可控硅的控制电路。

可控硅控制的是强电,因此要想用单片机来控制可控硅就必须用到隔离原件,这种隔离原件不是一般的隔离,不是一个普通的光耦就能搞定的,它的控制必须得有一个耐高压的光耦,在光耦的选型上也是有一个很特俗的要求。

但是在元件的选择上我仍然选择了继电器,因为继电器的控制更为简单方便也比较常用,价格相对来说比较低廉。

虽然有很多缺点但是它的性能已经足够设计的使用。

 

图3.5电磁继电器的原理图

继电器与电机相连,控制电机正反转,进而使卷帘机升起和降落[10]。

3.5三极管

LED数码管的驱动显示电流基本在10ma-15ma,而单片机的输出电流仅有几毫安,这样大的电流是不能驱动LED数码管显示的,因此要想让数码管点亮必须有足够大的驱动电流[11]。

经过一番资料的查阅和以往老师讲的理论知识,让数码管点亮必须的用到有一定驱动能力的芯片或原件。

结合所学知识最后我选择了用三极管来驱动LED数码管显示,我们都知道三极管有NPN和PNP之分,而单片机的驱动电流非常小[12],对于老式的89C51单片机来说,他的驱动电流在10mA-20mA左右。

然而STC15F408AD的驱动电流在10ma一下,但是他的灌电流单个管脚可达到20mA,整个IO口的电流和不能超过60mA[13]。

在这些理论的支持下,我选择了NPN型8050三极管,他的放大倍数在80-150之间[15],用来驱动数码管已经足够了。

图3.7三极管实物图

3.6光敏电阻

光敏电阻,又称光敏电阻器常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。

这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。

这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极。

利用光敏电阻根据光照变化的不同其阻止也不同的原理,用单片机来测量其电阻分压的值就可以间接反映出光照的强度。

3.7自动窗帘控制系统的制作及工作原理介绍

首先根据毕业设计课题,画出实作原理图。

由于用到单片机,要编写程序,所以先把程序编好,进而调试,调试成功后就开始在ISIS7Professional仿真软件上仿真,仿真成功后就购买元器件,导线,锡丝,电路板,烙铁,5号电池,电机。

工作原理:

单片机是此电路中的核心器件,所谓单片机,就是将中央处理器CPU,存储器,定时/计数器和I/O接口电路等计算机的主要功能部件集成在一块芯片上的微型计算机。

单片机系统是以单片机为核心,配合适当的外围设备和软件构成的应用系统。

控制器是计算机的控制核心,它负责从内部存储器中取出指令并对指令进行分析,根据指令发出的控制信号,指挥输入,输出,运算器,存储器等功能部件协调工作。

STC系列单片机是由深圳宏晶科技公司开发,台湾积体电路制造股份有限公司生产的增强8051内核单片机。

它给MCS-51单片机融入了许多现代单片机新的功能部件,如AD,DAC,电压监控,“看门狗”电路,低压检测电路等。

8051内核单片机,在片内资源,性能以及工作速度上都有了很大的改进,尤其是采用了基于Flash的在线编程技术(ISP),在对单片机编程写软件时无需采用专用编程器,可以通过PC直接对STC系列单片机进行编程,使单片机应用系统的开发变得简单了。

自动窗帘作收帘作业时,电动机通过减速器带动卷帘轴转动,拴在卷帘轴上的帘子卷在卷帘轴上,完成收帘作业;卷帘机作铺帘作业时,电动机旋转方向相反,因而完成铺帘作业。

连接电源后,给予光敏电阻光照,单片机所下载的程序驱动电路中继电器控制电机正反转,数码管显示时间。

三极管,全称应为半导体三极管,也称双极型晶体管,晶体三极管,是一种电流控制电流的半导体器件·其作用是把微弱信号放大成辐值较大的电信号,也用作无触点开关。

光敏电阻器是利用半导体的光电导效应制成的一种电阻值随入射光的强弱而改变的电阻器。

在对此实做焊接前所有筹备工作完成后,接下来就是焊接电路。

在此过程中焊接水平很关键,烙铁和锡丝的结合使用的好坏直接影响实做正常工作的成败。

 

4系统软件方案设计

4.1概述

在软件设计中,我主要写了三部分的程序,分别为按键扫描程序、数码管显示程序、电机控制程序。

这些分支程序都是在主程序的调用下完成的。

4.2主程序设计

系统软件采用汇编语言编写,按照模块化的设计思路设计程序。

首先分析程序所要实现的功能,程序要实现可静态显示、动态显示、三维立体显示。

通过按键控制程序选择不同的显示程序进行显示。

主程序的工作流程见下图。

图4.1主程序流程图

程序开始时首先必须对单片机进行初始化设置,其中初始化设置的内容包括:

中断优先级的设定,中断初始化,定时器初始化,串行通信时通信方式的选择和波特率的设定,各IO口功能的设定等。

把各子程序写为一个可单独执行的完整子程序段。

各子程序编译没有错误后再下载到单片机进行仿真验证,这两项都通过后再将所有的程序整合到一起,形成一个完整的程序再进行编译和仿真验证。

4.3显示程序的设计

显示模块用的是LED数码管,由于单片机管脚数量的限制在该设计中主要用到的是数码管的动态显示。

LED数码管动态显示是单片机中应用非常广泛的显示方式之一,动态驱动是将数码管所有的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连接在一起,每个数码管的公共极增加位选通的控制电路,位选由各自独立的三极管控制,当单片机输出字形码的时候,三极管对位选通COM端口的电路进行控制,因此我们只需要将显示的数码管的位选通控制端打开,该位就可以显示出字形,而没有选通的数码管就不会被点亮。

然后通过分时轮流控制每一个数码管的COM公共端,就可以使各个数码管轮流被控显示,这就是动态驱动显示。

在轮流显示的过程当中,每位数码管的点亮时间大约为10~15ms,根据人们的视觉暂留现象和发光二极管的余辉效应,然而事实上各位数码管并不是同时点亮的,但是只要扫描的速度非常快,给人们的印象就是一组组非常稳定的显示信息,而不会有闪烁的感觉,形成的动态显示的效果和静态显示的效果是一样的,能够节省掉大量的I/O端口,而且功耗更低一些。

在动态显示过程中有一步是很关键的就是显示的时间一定的控制的非常好,一般都在10ms左右。

并且在一个数码管显示完毕后还的有一个消隐,因为只能这样做才能减少数码

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2