毕业设计(论文)基于单片机的家用电器预约系统设计.doc

上传人:仙人指路1688 文档编号:3980536 上传时间:2023-03-30 格式:DOC 页数:30 大小:370KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的家用电器预约系统设计.doc_第1页
第1页 / 共30页
毕业设计(论文)基于单片机的家用电器预约系统设计.doc_第2页
第2页 / 共30页
毕业设计(论文)基于单片机的家用电器预约系统设计.doc_第3页
第3页 / 共30页
毕业设计(论文)基于单片机的家用电器预约系统设计.doc_第4页
第4页 / 共30页
毕业设计(论文)基于单片机的家用电器预约系统设计.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的家用电器预约系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的家用电器预约系统设计.doc(30页珍藏版)》请在三一办公上搜索。

1、XXXXXXXXXXX 毕 业 设 计题目 基于单片机的家用电器预约系统设计 系别 电气工程系 专业 应用电子技术 班级 电技XXXX 姓名 XXX 学号 XXXXXXXXX 指导教师 XXX 日期 20XX年XX月 设计任务书设计题目:基于单片机的家用电器预约系统设计设计要求:1:自己设计一个单片机对家用电器的控制电路;2:实现用单片机定时控制家用电器的通断;3: 在规定是的时候后家用电器自动运行(如控制电饭煲,早上9点钟出门,用单片机定时3个小时之后电饭煲自动运行开始做饭.)设计进度要求:第一周: 查阅相关资料,了解电饭煲的电路系统,明确单片机的控制电路应该添加在哪里来控制电饭煲.(最后设

2、想直接用单片机控制继电器来控制总电源的通断,从而实现对电饭煲的控制)第二周:在Proteus中画出简单的单片机控制继电器的电路图,开始编写程序,调试仿真,实现单片机控制继电器控制发光二极管的亮灭.第三周:在Proteus中的电路中加入了四位一体数码管,编写时钟程序(由于考虑到做出事物的大小,决定使用两个按键来控制),调试程序,实现时钟的仿真效果.第四周:将第二周的成果和第三周的成果集合起来,实现在要求的时间后继电器控制二极管的亮灭.第五周:设计电源电路,因为单片机(+5V)和继电器(我所购买的是+9V)所用的电压不同,在protel99se画出相应的电路图. 指导教师(签名): 摘 要设计以单

3、片机为核心部件的模拟单片机的家用电器预约系统设计。设计思想,利用DS1302时钟芯片做出一个倒记的时钟程序,当时钟倒记到000000时,控制单片机的两个端口,端口控制继电器,通过继电器的常开触点来控制家用电器的电源,从而控制家用电的运作。继电器的驱动采用光耦。由于在proteus中没有我所需要的光耦,因此在proteus仿真时不能驱动继电器,因而在proteus中用发光二极管亮灭来代替继电器的效果(亮代表继电器常开触点闭合,灭代表常开触点断开) 关键词:单片机,家用电器,继电器,光耦,proteus目录摘要II1 单片机的发展及应用11.1 单片机的发展11.2单片机的应用12 总体方案设计3

4、2.1单片机控制继电器方案32.2 计时控制方案32.3 显示控制方案32.4 键盘控制方案43 硬件设计53.1 80C51单片机的简介53.2 80C51单片机的引脚63.3 键盘接口工作原理83.4 七段LED显示工作原理93.5 电路原理104 软件设计124.1 定时秒的方法124.2 定时器初值计算124.3 主程序模块124.4 中断服务程序模块144.5 显示程序模块174.6 按键程序模块165 系统调试196 结 论21致谢22参考文献23附录A241 单片机的发展及应用1.1 单片机的发展单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃和颇具有生命力的机种。单片

5、微型计算机简称单片机,特别适用于工业控制领域,因此又称为微控器。 1971年微处理器研制成功不久,就出现了单片微型计算机即单片机,但最早的单片机是1位的,处理能力有限。单片机的发展分为4个阶段: 第一阶段(197476年):单片机初级阶段。因为受工艺限制,单片机采用单片的形式而且功能比较简单。例如美国仙童公司生产的F8单片机,实际上只包括了8位CPU,64个字节的RAM和2个并行接口 第二阶段(197678年):低性能单片机阶段。以Intel公司生产的MCS48系列单片机为代表,该系列单片机片内集成有8位CPU,8位定时器/计数器,并行I/O接口,RAM和ROM等,但是最大的缺点就是无串行接口

6、,中断处理比较简单而且片内RAM和ROM容量较小,且寻址范围不大与4KB。第三阶段(197883)高性能单片阶段这个阶段推出的单片机普遍带有串行接口。多级中断系统,16位定时器/计数器,片内ROM,RAM容量加大,且寻址范围可达64KB,有的片内还带有A/D转换器。第四阶段(1983年至今)8位单片机巩固发展以及16位单片机,32 位单片机推出阶段。此阶段的主要特征是:一方面发展16位单片机,32位单片机及专用型单片机;另一方面不断完善高档8位单片机,改善其结构,增加片内器件,以满足不同的客户要求。1.2 单片机的应用 单片机的应用很广,分别在以下领域中得到了广泛的应用。工业自动化:在自动化技

7、术中,无论是过程控制技术、数据采集技术还是测控技术,都离不开单片机。在工业自动化的领域中,机电一体化技术将发挥愈来愈重要的作用,在这种机械、微电子和计算机技术为一体的综合技术(例如机器人技术、数控技术)中,单片机将发挥非常重要的作用特别是近些年来,随着计算机技术的发展,工业自动化也发展到了一个新的高度,出现了无人工厂、机器人作业、网络化工厂等,不仅将人从繁重、重复和危险的工业现场解放出来,还大大提高了生产效率,降低了生产成本。仪器仪表:目前对仪器仪表的自动化和智能化要求越来越高。在自动化测量仪器中,单片机应用十分普及。单片机的使用有助于提高仪器仪表的精度和准确度,简化结构,减小体积,易于携带和

8、使用,加速仪器仪表向数字化、智能化和多功能化方向发展。消费类电子产品:该应用主要反映在家电领域。目前家电产品的一个重要发展趋势是不断提高其智能化程度。例如,电子游戏、照相机、洗衣机、电冰箱、空调、电视机、微波炉、手机、IC卡、汽车电子设备等。在这些设备中使用了单片机后,其功能和性能大大提高,并实现了智能化、最优化控制信方面:较高档的单片机都具有通信接口,因而为单片机在通信设备中的应用创造了很好的条件。例如,在微波通信、短波通信、载波通信、光纤通信、程控交换等通信设备和仪器中都能找到单片机的应用。武器装备:在现代化的武器装备中, 如飞机、军舰、坦克、导单、鱼雷制导、智能武器设备、航天飞机导航系统

9、,都有单片机在其中发挥重要作用。终端及外部设备控制:计算机网络终端设备,如银行终端,以及计算机外部设备如打印机、硬盘驱动器、绘图机、传真机、复印机等,在这些设备中都使用了单片机。近年来随着科技的飞速发展,同时带动自动控制系统日新月异更新,单片机的应用正在不断地走向深入。2 总体方案设计2.1单片机控制继电器方案 单片机控制继电器的总体设计图如图2.1所示。 图2.1 2.2 计时控制方案利用MCS-51内部的定时器/计数器进行定时,配合软件延时实现到计时。该方案节省硬件成本,切能够使读者在定时器/计数器的使用、中断及程序设计方面得到锻炼与提高,2.3 显示控制方案显示分为静态示和动态显示静态显

10、示由于占用较多的接口,在单片机设计中常采用串行扩展来完成。该方案占用接口资源多,显示亮度由保证,但硬件开销大,电路复杂,信息刷新速度慢,实用于并行接口资源较少以及对显示没有要求的场合。LED动态显示硬件连接简单,但动态扫描的显示方式需占用CPU较多的时间,在该系统中由于单片机除了扫描80C51芯片外没有太多的实时测控任务,故选用动态扫描方式。 2.4 按键控制方案按键分为独立式按键和矩阵式按键,独立式按键接口电路配置灵活,硬件结构简单,工作可靠但每个按键必须占用一跟I/O接口线,I/O接口线浪费较大,在单片机应用系统中,有时只需要几个简单的按键向系统输入信息,可将按键直接在一根I/O接口线上,

11、故只在按键数量不多时采用。而矩阵式按键每条行线与列线在交叉处不直接相通,而是通过一个按键加以连接,当按键较多时可采用行列式键盘以节省I/O接口。本设计采用两个按键,所以这里选用独立式按键。3 硬件设计3.1 80C51单片机的简介 80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(PUSH)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用40引脚双列直插式DIP(Dual In Line Package),内有128个RAM单元及4K的ROM。80C5

12、1有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。现在我们分别加以说明:图3.1 单片机内部结构示意图1、中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2、数据存储器(RAM)80C51内部有128个8

13、位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。3、程序存储器(ROM)80C51共有4KB掩膜ROM,最大可扩展64K字节,用于存放用户程序,原始数据或表格。4、定时/计数器:80C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。5、并行输入输出(I/O)口:80C51共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。6、中断系统80C51具备较完善的中断功能,有

14、两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。3.2 80C51单片机的引脚80C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的. 80C51有40条引脚, 与其他51系列单片机引脚是兼容的. 这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分. 80C51单片机为双列直插式封装结构, 如图3.2所示.图3.2 80C51引脚分配图 80C51单机的电源线有以下两种:(1) VCC:+5V电源线。电源线 (2) GND:接地线。80C51单片机的外接晶体引脚有以下两种: (1)XTAL1:片内振荡器反相放大器的输入端

15、和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。(2) XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。外接晶体引脚。 控制线 80C51单片机的控制线有以下几种:(1) RST:复位输入端,高电平有效。(2) ALE/PROG:地址锁存允许/编程线。(3) PSEN:外部程序存储器的读选通线。(4) EA/Vpp:片外ROM允许访问端/编程电源端。 3.3 键盘接口工作原理在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指令等输入到系统中,来实现简单的人机通信。3.3.1 按键开

16、关的去除抖动功能目前,MCS51单片机应用系统上的按键常采用机械触点式按键,它在断开、闭合时输入电压波形如图3.6所示.可以看出机械触点在闭合及断开瞬间均有抖动过程,时间长短与开关的机械特性有关,一般为510ms。由于抖动,会造成被查询的开关状态无法准确读出。例如,一次按键产生的正确开关状态,由于键的抖动,CPU多次采集到底电平信号,会被误认为按键被多次按下,就会多次进行键输入操作,这是不允许的。为了保证CPU对键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的前沿(后沿)抖动影响。 图3.6 按键过程3.3.2 独立式键盘的接口电路独立式键盘的接口电路:在单片机应用系统中,有时只需要

17、几个简单的按键向系统输入信息。这时,可将每个按键直接接在一根I/O接口线上,这种连接方式的键盘称为独立式键盘。如图3.7所示,每个独立按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响到其他I/O接口线。这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O线,I/O接口线浪费较大。故只在按键数量不多时采用这种按键电路。在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,I/O接口线有确定的高电平。当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。图3.7 独立式键盘电路3.4 七段LED显示工作原理LED显示器是由发光二极管显示字段的MCS-51

18、单片机输出设备。单片机应用系统常采用七段LED数码管作为显示器,这重显示器具有耗电低、配置灵活、线路简单、安装方便、耐转动、价格低廉且寿命长等优点。因此应用比较广泛。LED数码管显示器可以分为共阴极和共阳极两种结构。(1)共阴极结构:如果所有的发光二极管的阴极接在一起,称为共阴极结构,则数码显示段输入高电平有效,当某段输入高电平该段便发光,如图3.8a所示。(2)共阳极结构:如果所有的发光二极管的阳极接在一起,称为共阳极结构,则数码显示段输入低平有效,当某段输入低电平该段便发光,如图3.8b所示。 a .共阴极 b .共阳极图3.8 七段LED显示器 (3)LED动态显示接口:LED动态显示就

19、是利用单片机依次输出每一位数码管的段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。对每位数码管来说,每隔一段时间点亮一次,如此循环。利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。在动态显示方式中,同一时刻,只有一位LED数码管在显示,其他各位是关闭的。在段选码和位选码每送出一次后,应保持1ms左右,这个时间应根据实际情况而定。不能太小,因而发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清。但也不能太大,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用CPU时间也越多。采用动态显示方式比较节省I/O接口,硬件电路也较静

20、态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多的时间。用MCS-51单片机构建七段数码管动态显示系统时,4位数码管均采用共阴极LED,p0接口作为段选码输出口,8路驱动采用74LS244总线驱动器作为字形驱动芯片,经过8路驱动电路后接至数码管的各段,字形驱动输出0时发光。P2接口作为位选码输出口,4路驱动采用74LS07(OC门驱动器),当C接口线输出1时,选通相应位的数码管工作。3.5 电路原理电路的核心是80C51单片机,其内部带有4KB的FlashROM,无须扩展程序存储器;电脑没有大量的运算和暂存数据,现有的128B片内RAM已能满足要

21、求,也不必扩展片外RAM,系统配备4位LED显示和2个单接口键盘,采用P0接口外接一个八位一体的上啦排阻作LED动态扫描的段码控制驱动信号,用P1接口的P1.0-P1.3做为4位LED的位选信号驱动口;按键接口,由P2.0,P2.2来完成。P3口接光耦,光耦来驱动继电器;整个系统采用查表的方发,将数码管的计时情况,分别以代码的形式送到LED数码管,启动定时器,同时调用显示程序,和查询按键。利用软件计数器的方法计时一秒,利用中断的方法使计时时间循环,当按下按键时分钟个位和时个位减1。如图3.9所示图3.9 电路原理图4 软件设计4.1 定时秒的方法定时方法我们采用软硬件结合的方法,在主程序中设定

22、一个初值为20的软件计数器使定时器0工作于方式1定时50毫秒,这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到。4.2 定时器初值计算定时器工作时必须给计数器送初值,将这个值送到TH和TL中。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此工作于方式1,定时器为16位计数器其定时时间由下式计算:定时时间=(216X)振荡周期12(或)X=216定时时间振荡周期12式中x为T0的初始值,该值和计数器工作方式有关。如单片机的主脉冲频率为,经过分频方式0定时时间213 1微秒

23、8.192毫秒方式1定时时间216 1微秒65.536毫秒秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题,定时器需定时50毫秒,故0工作于方式1,定时20次,就可定时一秒。 4.3 主程序模块主程序初始化和按键控制,首先将时间、中断、次数、和显示分别进行初始化,然后启动定时器对时间进行判断,将时间送数据缓冲区,调用显示程序,同时扫描按键程序,用无条件跳转指令返回, 再调用显示程序,如此周而复始的循环,如图4.1所示 图4.1 主程序流程图主程序:初值:X=216定时时间振荡周期1221650ms/1us=15536=3CB0H,TH0=3CH , T

24、L0=0B0H。主程序:ORG 0000HLJMP MAINORG 000BHLJMP CTC0ORG 0030HMAIN:MOV 30H,#0 ;数码管初始化MOV 31H,#0MOV 32H,#9MOV 33H,#5MOV 34H,#3MOV 35H,#2MOV 40H,#25MOV TMOD,#01H ;中断服务选择工作方式MOV TH0,#3CH ;中断定时初始化MOV TL0,#0BHSETB EA ;开中断SETB ET0MOV R1,#10 ;中断定时初始化MOV R3,#2SETB TR0NEXT:LCALL DISPLAY ;调用显示程序LCALL ANJAN ;调用按键程序

25、LCALL ANJAN1LJMP NEXT ;无条件转移(实现循环调用)4.4 中断服务程序模块4.4中断服务程序模块进入中断程序后,判断一秒钟到了吗?如果没有到将定时器重装初值恢复现场,返回中断程序,如果一秒钟到了,将软件计数器重初值;然后时钟的秒个位减1(30H中的数减1),然后将减过的数送入寄存器A中,判断A中的数到0FF没有,如果没有到将定时器重装初值恢复现场,返回中断程序,如果减到了,将30H中装入9,同时秒十位减1(31H中的数减1),然后将减过的数送入寄存器A中,判断A中的数到0FF没有,如果没有到将定时器重装初值恢复现场,返回中断程序,如果减到了,将31H中装入5,同时分个位减

26、1(32H中的数减1),然后将减过的数送入寄存器A中,判断A中的数到0FF没有,如果没有到将定时器重装初值恢复现场,返回中断程序.就这样实现了时钟倒记的功能,直到全部减到0,将P3.0和P3.1清0.如图4.2所示。 4.2 中断程序流程图中断服务程序:CTC0:DJNZ R1,BACK ;实现一秒钟的延时MOV R1,#10DJNZ R3,BACKMOV R3,#2DEC 30H ;秒个位减一MOV A,30HCJNE A,#0FFH,BACK ;比较不等转移MOV 30H,#9DEC 31H ;秒十位减一MOV A,31HCJNE A,#0FFH,BACKMOV 31H,#5 ;分个位减一

27、DEC 32HMOV A,32HCJNE A,#0FFH,BACKMOV 32H,#9DEC 33H ;分十位减一MOV A,33HCJNE A,#0FFH,BACKMOV 33H,#5DEC 34H ;时个位减一MOV A,34HCJNE A,#0FFH,BACKMOV 34H,#9DEC 35H ;时十位减一MOV A,35HCJNE A,#0FFH,BACKMOV 30H,#0MOV 31H,#0MOV 32H,#0MOV 33H,#0MOV 34H,#0MOV 35H,#0CLR P3.0CLR P3.1BACK:MOV TH0,#3CH ;定时器重送初始值MOV TL0,#0BHRE

28、TI ;中断返回4.5 显示程序模块显示程序采用动态显示,由位码控制数码管显示,由段码控制数码管显示什么数值,根据中断程序显示时间来查表显示数值,从第一位到第四位逐个点亮,同时每显示一位判断一次四位显示完了吗?没有显示完进行显示下一位,显示完了从头开始再循环。如图4.3所示 图4.3 显示程序流程图 显示子程序:DISPLAY:MOV R0,#32H ;显示子程序MOV DPTR,#TABLE ;调用TAB表MOV R2,#0FEH ;位码初始化L1:MOV P0,#00H ;断码初始化MOV A,R0MOVC A,A+DPTRMOV P0,A ;送断码MOV P1,R2 ;送位码LCALL

29、DELAY ;调用延时INC R0MOV A,R2JNB ACC.3,BACK2RL A ;位码左移MOV R2,ALJMP L1BACK2:RET ;子程序返回DELAY:MOV R5,#5 ;延时子程序D1:MOV R7,#200DJNZ R7,$DJNZ R5,D1RETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH4.6按键程序模块按键采用独立式按键。 图4.4按键程序流程图 按键子程序:ANJAN:JB P2.0,LAST ;按键子程序LCALL DELAYJB P2.0,LASTNEXT1:LCALL DISPLAYSETB P3.

30、0SETB P3.1DEC 40HMOV A,40HCJNE A,#0,ANJANMOV 40H,#25JB P2.0,NEXT1DEC 32H ;分个位减一MOV A,32HCJNE A,#0FFH,LASTMOV 32H,#9DEC 33H ;分十位减一MOV A,33HCJNE A,#0FFH,LASTMOV 33H,#5LAST:RETANJAN1:JB P2.2,LAST1LCALL DELAYJB P2.2,LAST1NEXT2:LCALL DISPLAYSETB P3.0SETB P3.1DEC 40HMOV A,40HCJNE A,#0,ANJAN1MOV 40H,#25JB

31、P2.2,NEXT2DEC 34H ;时个位减一MOV A,34HCJNE A,#0FFH,LAST1MOV 34H,#9DEC 35H ;时十位减一MOV A,35HCJNE A,#0FFH,LAST1MOV 35H,#2MOV 34H,#3LAST1:RET5 系统调试完成了硬件的设计、制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。系统调试包括硬件调试和软件调试两个部分。不过,作为一个单片机系统,其运行是软硬件相结合的,因此,软硬件的调试也是绝对不可能分开的。 程序的调式应一个模块一个模块地进行,单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是

32、否正常等;最后逐步将各个子程序连接起来总调。联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。调试的基本步骤如下: 将所要调试的程序输入道伟福6000中,然后进行编译,根据系统的提示查找原因将出错的地方调整正确,例如:有的时标号未定义,有的时少标点符号等。最后以ASM扩展名保存。将在伟福中调试好的程序方入keil内,将单片机实验相与计算机连接,然后在keil中进行编译程序,运行程序,根据单片机所显示的结果分析程序,修改程序直到程序正常。在调试过程中出现的问题:(1) 由于在proteus中没有光耦原件,在仿真中我用发光二极管代替继电器的仿真效果。(发光二极管亮

33、代表继电器常开触点闭合,灭代表继电器常开触点断开)(2) 按键不能实现按下不起能连续减数的功能,只能按一下建一个数。经过老师帮助,在按键子程序中加入了记数,将JNB改为了JB,( DEC 40H 、 MOV A,40H 、 CJNE A,#0,ANJAN 、 MOV 40H,#25、JB P2.0,NEXT1),就实现的按键按下可以连续减数的功能,同时也实现了按一下减一个数的功能。致谢本课题在选题及研究过程中得到XXX老师的悉心指导。李老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。李老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,

34、虽历时三载,却给以终生受益无穷之道。对李老师的感激之情是无法用言语表达的。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。我在指导老师李老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,并对当前电子领域的研究状况和发展方向有了一定的了解,这对我今后进一步学习单片机方面的知识有极大的帮助。在此,我忠心感谢XXX老师的指导和支持。在未来的工作和学习中,我将以更好的成绩来回报老师。在此,我还要感谢在一

35、起愉快的度过大学生生活的电气工程系全体老师和同门,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。 在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!参考文献1 王玉龙.数字逻辑.北京.高等教育出版社,19872 傅承义.地球物理学基础.北京.科学出版社,1985,4473 华罗庚,王元.论一致分布与近似分析. 北京.中国科学,1973(4):3393574 张筑生.微分半动力系统的不变集研究.学位论文.北京.数学系统学研究

36、所,1983 附录A ORG 0000HLJMP MAINORG 000BHLJMP CTC0ORG 0030HMAIN:MOV 30H,#0 ;数码管初始化MOV 31H,#0MOV 32H,#9MOV 33H,#5MOV 34H,#3MOV 35H,#2MOV 40H,#25MOV TMOD,#01H ;中断服务选择工作方式MOV TH0,#3CH ;中断定时初始化MOV TL0,#0BHSETB EA ;开中断SETB ET0MOV R1,#10 ;中断定时初始化MOV R3,#2SETB TR0NEXT:LCALL DISPLAY ;调用显示程序LCALL ANJAN ;调用按键程序L

37、CALL ANJAN1LJMP NEXT ;无条件转移(实现循环调用)CTC0:DJNZ R1,BACK ;实现一秒钟的延时MOV R1,#10DJNZ R3,BACKMOV R3,#2DEC 30H ;秒个位减一MOV A,30HCJNE A,#0FFH,BACK ;比较不等转移MOV 30H,#9DEC 31H ;秒十位减一MOV A,31HCJNE A,#0FFH,BACKMOV 31H,#5 ;分个位减一DEC 32HMOV A,32HCJNE A,#0FFH,BACKMOV 32H,#9DEC 33H ;分十位减一MOV A,33HCJNE A,#0FFH,BACKMOV 33H,#

38、5DEC 34H ;时个位减一MOV A,34HCJNE A,#0FFH,BACKMOV 34H,#9DEC 35H ;时十位减一MOV A,35HCJNE A,#0FFH,BACKMOV 30H,#0MOV 31H,#0MOV 32H,#0MOV 33H,#0MOV 34H,#0MOV 35H,#0CLR P3.0CLR P3.1BACK:MOV TH0,#3CH ;定时器重送初始值MOV TL0,#0BHRETI ;中断返回DISPLAY:MOV R0,#32H ;显示子程序MOV DPTR,#TABLE ;调用TAB表MOV R2,#0FEH ;位码初始化L1:MOV P0,#00H ;

39、断码初始化MOV A,R0MOVC A,A+DPTRMOV P0,A ;送断码MOV P1,R2 ;送位码LCALL DELAY ;调用延时INC R0MOV A,R2JNB ACC.3,BACK2RL A ;位码左移MOV R2,ALJMP L1BACK2:RET ;子程序返回DELAY:MOV R5,#5 ;延时子程序D1:MOV R7,#200DJNZ R7,$DJNZ R5,D1RETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHANJAN:JB P2.0,LAST ;按键子程序LCALL DELAYJB P2.0,LASTNEXT1:

40、LCALL DISPLAYSETB P3.0SETB P3.1DEC 40HMOV A,40HCJNE A,#0,ANJANMOV 40H,#25JB P2.0,NEXT1DEC 32H ;分个位减一MOV A,32HCJNE A,#0FFH,LASTMOV 32H,#9DEC 33H ;分十位减一MOV A,33HCJNE A,#0FFH,LASTMOV 33H,#5LAST:RETANJAN1:JB P2.2,LAST1LCALL DELAYJB P2.2,LAST1NEXT2:LCALL DISPLAYSETB P3.0SETB P3.1DEC 40HMOV A,40HCJNE A,#0,ANJAN1MOV 40H,#25JB P2.2,NEXT2DEC 34H ;时个位减一MOV A,34HCJNE A,#0FFH,LAST1MOV 34H,#9DEC 35H ;时十位减一MOV A,35HCJNE A,#0FFH,LAST1MOV 35H,#2MOV 34H,#3LAST1:RETEND

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号