倒计时设计单片机课程设计

合集下载

单片机课程设计60秒倒计时

单片机课程设计60秒倒计时

单片机课程设计60秒倒计时前言在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。

现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。

单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。

但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。

从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。

这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。

微控制技术是一种全新的概念,是对传统控制技术的一次革命。

随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。

近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。

并采用电子秤原理可根据输入单价准确的计算出物体的金额。

本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的四位LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

第一章方案论证1.1课程设计的目的和要求1.目的课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练。

进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。

单片机99S倒计时课程设计

单片机99S倒计时课程设计

课程设计课程名称:__单片机课程设计题目名称:__倒计时器设计学生学院:_物理与光电工程学院专业班级:_光信息科学与技术10(1)班学号:_XXXXXXX_2012年12月3日摘要 (2)一、本设计任务、实现方法及完成的功能 (3)1、功能要求 (3)2、实现方法 (3)二、设计的实现过程 (3)1、矩阵电路 (4)2、数码显示和驱动电路 (4)3、复位电路 (5)4、晶振电路 (6)三、系统的软件设计 (4)1、按键扫描函数ankey() (4)2、动态数码管显示函数 (5)3、初始化函数设计 (6)4、中断函数设计 (6)四、总体程序 (7)五、结束语 (12)倒计时课程设计一:课程设计的要求1、功能要求:实现最长99S的倒计时功能;利用数码管或液晶屏显示数字;利用按键可以设置倒计时时间;设置倒计时开始启动键;时间到,声(光)报警,示意倒计时时间到。

2、实现方法:单片机采用51系列,分析功能要求,设计方案,编写程序(keil c51 软件),利用Proteus 进行仿真。

二:设计的实现过程1.proteus仿真下总原理框架图如下接线:(1)、XTAL1、XTAL2为晶振接入(2)、RST为清零电路接入(3)、P1口为键盘电路接入(4)、P2口为数码管的段选(5)、P3..7为LED的选通(6)、P0.6、P0.7分别为数码管的十位、个位的选通原件清单:AT89C51单片机1个、1k电阻3个、12MHz晶振1个、33pF电容1个、1uF电容1个、10uf 的电容一个、独立按键1个、4行3列矩阵按键1个、LED指示灯1个、两位动态共阴数码管1个、带9个引脚的上拉电阻1个、电源3个、地若2个2.模块组成设计(1)、矩阵键盘电路矩阵键盘电路原理:以上矩阵采用了4*3的结构,通过ankey()子函数不断逐行逐行地扫描矩阵键盘电路,一旦判断有按键按下立即反馈给倒计时时钟循环函数。

扫描电路子程序:void ankey() // 键盘扫描{uchar temp,key;P1=0xef;//第1行temp=P1;temp=temp&0x0f;//temp高4位清0;if(temp!=0x0f) //判断是否有键按下{delayms(10); //延时,消除抖动if(temp!=0xf0)//判断是否有键按下{temp=P1; //重新读取P1口switch(temp)//判断哪个键按下{case 0xeb:key=1;break;case 0xed:key=2;break;case 0xee:key=3;break;}text(key);while(temp!=0x0f)//判断按键是否释放{temp=P1;temp=temp&0x0f;}}}(2)、数码管显示和驱动电路数码管显示电路原理:通关P0.6和P0.7的位选通信号控制数码管十位个位的选通,然后通过P2口的段选信号控制数码管的显示数字。

AT89C51单片机LED数字倒计时器—课程设计

AT89C51单片机LED数字倒计时器—课程设计

课题: AT89C51单片机LED数字倒计时器专业:班级:学号:姓名:指导教师:设计日期:成绩:重庆大学城市科技学院电气学院目录一、设计目的作用 (3)二、设计要求 (3)三、设计的具体实现 (3)1、设计原理 (3)(1)系统设计方案 (3)(2)功能模块 (4)(3)工作原理: (4)2、系统设计 (4)(1)显示模块 (4)(2)晶振模块 (5)(3)复位电路: (5)(4)按键模块: (6)(5)报警模块: (7)3、系统实现 (7)(1)实物图 (7)(2)分析 (8)四、总结 (8)五、附录 (9)附录1: (9)附录2: (10)附录3: (10)六、参考文献 (17)LED数字倒计时器设计报告一、设计目的作用1、掌握51单片机最小系统的设计;2、掌握按键电路设计、LED数码管的使用;3、掌握C51的编程方式。

二、设计要求基于AT89C51单片机的LED数字倒计时器主要具有如下功能,具体要求如下:1、LED数码管显示倒计时时间。

2、倒计时过程中能设置多个闹钟,当倒计时值倒计到设定值时会发出2s 的报警声音。

(K1设置小时,K2设置分钟,K3设置秒钟,K4完成退出)3、通过按键可以对倒计时设定处置。

倒计时初值范围在24:00:00~00:00:60之间,设置成功后复位初始值为成功设定值。

三、设计的具体实现1、设计原理(1)系统设计方案:基于AT89C51单片机的数码管显示模块显示的倒计时器。

主要是以单片机来控制,用按键来设定倒计时初始时刻的值,数码管作为显示模块来显示剩余的时间。

此电路对于倒计时器中的LED数码管示器来说,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

晶振模块图1 LED 数字倒计时器设计框图(2)功能模块:倒计时器的总体包括显示电路,按键电路,复位电路,晶振电路和报警电路等五个模块。

显示模块显示计数与灭灯,复位模块控制电路完成计数的直接清零,暂停/连续技术,用按键模块来设定倒计时初始时刻的值,报警模块实现定时时间到报警等功能。

基于单片机的倒计时牌的设计

基于单片机的倒计时牌的设计

外部中断 1 开始 R4 是否为 0 R3 是否为 0
R3 是否为 1 秒单元加 1
秒加到 60 了吗
秒单元清 0 R3 是否为 2
分单元加 1 分加到 60 了吗 分单元清 0
R3 是否为 3 时单元加 1
时加到 24 了吗
时单元清 0 R3 是否为 4 天单元加 1 天加到 100 了吗
天单元清 0 R2+1,R2 等于 2 吗
;日历 ;切换显示 (日历和倒计时的切换 )
MOV R5,#0AH ;十次中断产生一秒
MOV R3,#00H ;利用外部中断 0 对天、时、分、秒进行切换
MOV R4,#00H ;当倒计时开始( R3=5 )时对倒计时的初值不能再进行设置
MOV 30H,#00H ;天
MOV 31H,#00H ;时
MOV 32H,#00H ;分
R3=4 设置天单元 ,R3=5,T0 开始计时。 */ ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0P
ORG 00BH
LJMP IT0P
ORG 0013H
LJMP INT1P
ORG 0100H
MAIN:
MOV TMOD,#01H
;定时器 T0 设为方式一
MOV R1,#17 MOV R2,#00H
倒计时牌
1. 方案选择
1.1 题目:倒计时牌 1.2 要求: 1.2.1 实现日历功能; 1.2.2 显示距倒计时时刻还有多长时间(显示天、时、分、秒) ; 1.2.3 倒计时的时间可人为设定; 1.3 总体设计:
本倒计时牌以 AT89C51 单片机作为核心, 最长可以倒计时 100 天。可以显示距倒计 时时刻还有多长时间, 显示格式为天 (十位,个位 )、时(十位、 个位)、分(十位、 个位)、 秒(十位、个位) ;倒计时的时间可以人为设定;另外还可以显示当前的日历,显示格 式为年(四位),月(两位),日(两位)。

LED数字倒计时器单片机课程设计

LED数字倒计时器单片机课程设计

课程设计任务书学生姓名:向伟杰专业班级:机自xs1101班指导教师:徐汉斌工作单位:机电工程学院题目:LED数字倒计时器设计初始条件:1 •采用MCS5作为主控芯片;2 .采用LED数码管显示倒计时,倒计时范围24:00:00 ;3 .可调任意设定定时时间,要具有定时提醒功能,定时到2s报警功能。

要求完成的主要任务:1、查阅参考资料,自学相关可编程接口芯片的内部结构、工作方式和初始化编程过程;2、根据设计系统的具体功能和性能参数,明确设计目标;3、单片机系统及其扩展接口电路设计,绘制系统硬件原理图;4、编制系统控制源程序,绘制源程序流程图,包括初始化和监控程序;5、撰写设计说明书(包括参考资料目录,字数不少于5000字)时间安排:(两周)指导教师签名:2013 年12月27日系主任(或责任教师)签名:1LED数字倒计时器的功能及需求分析 (1)2LED数字倒计时器的设计方案 (2)2.1LED数字倒计时器的组成 (2)2.2LED数字倒计时器的系统设计图 (2)3LED数字倒计时器硬件电路设计与主要元器件分析错误!未定义书签。

3.1AT89C51单片机.............. 错误!未定义书签。

3.2晶振电路 (8)3.3复位电路 (9)3.4 按键电路 (10)3.5数码管显示电路 (11)3.6 蜂鸣电路 (13)4LED数字倒计时器系统仿真图 (14)5LED数字倒计时器原件清单 (15)6LED数字倒计时器的软件设计 (16)6.1程序流程图 (16)6.2程序清单 (17)7总结 (22)8参考文献 (23)9评分表 (24)1. LED数字倒计时器的功能及需求分析1.1功能分析:可实现倒计时功能,计时时间可通过按键进行设定,设定完成后启动倒计时,倒计时还剩下两秒时,蜂鸣电路会报警提示。

(1) 可实现倒计时功能:本设计的LED数字倒计时采用六位数码管显示时间,分别显示小时、分钟、秒钟,最大的倒计时时间为24小时,倒计时时间为24小时内任意时间可调。

单片机倒计时课程设计

单片机倒计时课程设计

单片机倒计时课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握其内部结构和功能。

2. 学会编写简单的C语言程序,实现对单片机的控制。

3. 掌握倒计时功能的实现方法,理解其工作原理。

技能目标:1. 能够运用所学知识,设计并实现一个具有倒计时功能的小程序。

2. 培养学生的动手实践能力,提高问题解决和团队协作能力。

3. 提高学生编程和调试程序的能力,培养良好的编程习惯。

情感态度价值观目标:1. 激发学生对单片机及编程的兴趣,培养自主学习、持续探究的热情。

2. 培养学生面对问题时的耐心、细心和信心,形成积极向上的学习态度。

3. 增强学生的团队协作意识,培养尊重他人、共同进步的价值观。

课程性质分析:本课程为实践性较强的课程,结合单片机原理和编程技巧,培养学生动手实践能力和问题解决能力。

学生特点分析:本课程针对的是初中或高中年级的学生,他们对单片机有一定的基础认识,具备基本的编程知识,但实践能力有待提高。

教学要求:1. 课程内容要紧密结合课本,确保学生能够将所学知识应用到实际操作中。

2. 教学过程中注重启发式教学,引导学生主动思考、发现问题、解决问题。

3. 重视团队协作,培养学生的沟通能力和合作精神。

4. 教学评估关注学生的实际操作能力、编程技巧和团队协作表现。

二、教学内容1. 单片机基础理论:回顾单片机的内部结构、工作原理及功能,重点掌握时钟电路、I/O口控制、中断系统等基础知识。

相关教材章节:第一章 单片机概述,第三章 单片机内部结构及工作原理。

2. C语言编程:学习单片机编程基础,掌握C语言的基本语法和编程技巧,能编写简单的控制程序。

相关教材章节:第二章 单片机编程语言,第六章 C语言编程实例。

3. 倒计时程序设计:学习倒计时程序的设计方法,掌握定时器/计数器的工作原理,学会编写倒计时程序。

相关教材章节:第五章 定时器/计数器,第七章 常用程序设计实例。

4. 实践操作:结合所学知识,设计并实现一个具有倒计时功能的小程序,包括硬件连接、程序编写、调试与优化。

单片机课程设计秒倒计时

单片机课程设计秒倒计时

单片机课程设计秒倒计时概述在单片机课程设计中,秒倒计时是一个常见的实践项目。

本文将介绍如何使用单片机设计一个简单的秒倒计时电路,并使用Markdown文本格式进行说明。

硬件设备•单片机(例如STC89C52)•七段数码管•按钮•电阻、电容等基础元器件功能设计本文设计的秒倒计时电路具有以下功能: 1. 系统上电后,自动开始倒计时; 2. 使用按钮控制启动/暂停倒计时; 3. 使用按钮控制归零操作; 4. 显示倒计时的秒数。

硬件连接七段数码管将7个IO口分别连接到七段数码管的对应引脚,使用共阳极数码管时,将数码管的共阳极引脚连接到VCC,使用共阴极数码管时,将数码管的共阴极引脚连接到GND。

按钮使用一个按钮作为启动/暂停倒计时的按键,使用另一个按钮作为归零操作的按键。

将按钮引脚连接到单片机的GPIO口,并通过上拉电阻将按钮引脚连接到VCC。

软件设计引脚定义首先,需要定义单片机的输入输出引脚。

根据硬件连接,假设七段数码管的引脚分别连接到P0口,启动/暂停按钮连接到P1.0口,归零按钮连接到P1.1口。

可以使用以下代码进行引脚定义:// 引脚定义sbit LED = P0; // 七段数码管连接到P0口sbit KEY1 = P1^0; // 启动/暂停按钮连接到P1.0口sbit KEY2 = P1^1; // 归零按钮连接到P1.1口然后,需要设计倒计时的逻辑。

在每个时钟周期,需要判断是否需要启动/暂停倒计时,以及是否需要进行归零操作。

具体的倒计时逻辑可以使用以下代码实现:// 秒倒计时逻辑void countdown() {static unsigned int seconds = 60; // 倒计时的秒数,默认为60秒static bit running = 0; // 表示倒计时是否运行中,默认为停止状态if (running) {if (seconds > 0) {seconds--;} else {running = 0;}}if (KEY1 == 0) { // 按下启动/暂停按钮running = !running;delay(10); // 延时去抖动}if (KEY2 == 0) { // 按下归零按钮seconds = 60;running = 0;delay(10); // 延时去抖动}}最后,需要设计显示倒计时的逻辑。

单片机课程设计_基于89c51的倒计时牌设计

单片机课程设计_基于89c51的倒计时牌设计

单片机系统课程设计单片机系统课程设计成绩评定表设计课题:基于89C51的倒计时牌设计学院名称:电气工程学院专业班级:学生姓名:学号:指导教师:设计地点:设计时间:指导教师意见:成绩:签名:年月日单片机系统课程设计课程设计名称:基于89C51的倒计时牌设计专业班级:学生姓名:学号:指导教师:课程设计地点:课程设计时间:单片机系统课程设计任务书学生姓名专业班级学号题目课题性质工程设计课题来源选题指导教师主要内容(参数)基于89C51的倒计时牌设计主要内容:•利用8位数码管能够显示日、时、分、秒倒计时。

•通过按键来实现倒计时时间的设定。

•倒计时时间到时,蜂鸣器报警并使LED点亮。

任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。

第3-4天:按照确定的方案设计单元电路。

要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。

第5-6天:软件设计,编写程序。

第7-8天:实验室调试。

第9-10天:撰写课程设计报告。

要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅合理。

主要参考资料[1] 张迎新.单片微型计算机原理、应用及接口技术(第2版)[M].北京:国防工业出版社,2004[2]伟福LAB6000系列单片机仿真实验系统使用说明书[3] 阎石.数字电路技术基础(第五版).北京:高等教育出版社,2006审查意见系(教研室)主任签字:年月日目录1 概述 (1)1.1 研究背景 (2)1.2 设计思想及基本功能 (2)2 总体方案设计 (3)2.1 方案选取 (3)2.2 系统框图 (4)2.3 总体方案设计 (3)3 硬件电路设计 (4)3.1 电源电路设计 (4)3.2 晶振电路 (6)3.3 复位电路 (7)3.4 键盘电路 (7)3.5 显示电路 (7)3.6 蜂鸣器及LED电路 (12)4 系统软件设计 (12)4.1 主程序软件设计 (12)4.2 键盘程序设计 (13)4.3 定时程序设计 (13)4.4 报警程序设计 (15)5 总结 (15)参考文献 (16)附录A 系统原理图 (18)附录B 程序清单 (23)附录C机器码清单 (23)1概述•1.1研究背景随着2014年新年钟声的临近,一年一度的全球华人文化盛宴春节联欢晚会也正式进入了紧张的倒计时。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录第一章系统概述1.1 设计目的 (1)1.2 设计内容 (1)1.3 设计要求 (1)第二章系统方案 (2)2.1 总体方案 (2)2.2 方案组成 (2)第三章软件设计 (3)3.1 主程序设计 (3)3.1.1 倒计时模块 (4)3.1.2 键盘扫描模块 (4)3.1.3显示程序模块 (5)3.1.4 实施结果 (6)第四章总结体会 (6)4.1设计心得及体会 (6)4.2 参考文献 (7)附录程序清单.............................................. (8)倒计时第一章系统概述1.1 设计目的此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。

通过解决实际问题,巩固和加深“单片微型计算机原理与接口技术”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。

本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。

本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。

1.2设计内容(1)设计一个倒计时器,由单片机接收小键盘阵列设定倒计时时间,倒计时范围最大为00:00:00到23:59:59,由LED 显示时间,显示格式为XX(时):XX(分).:XX(秒)倒计时时间到,或超出范围,由指示灯发亮灯显示。

(2)画出程序流程图并编写程序实现上述功能。

1.3 设计要求1、能够实现时、分、秒的倒计时功能;2、倒计时结束,报警提示;3、通过按键能够设置倒计时表的初始值;4、具有“开始”、“暂停”、“继续”等功能按键;第二章系统方案2.1 总体方案设计时可采用模块化程序设计方法。

模块划分时应遵循下述原则:(1)每个模块应具有独立的功能,能产生一个明确的结果。

(2)模块之间的控制参数应尽量简单,数据参数应尽量少。

(3)根据模块的划分原则,将该程序划分成6个模块,如图2-2所示。

2.2 方案组成硬件部分由重设按钮、开始/暂停按钮、AT89C51单片机、一个6位共阴极LED显示器等组成。

软件部分主程序主要由系统初始化段、键盘识别、键值处理,以及6位共阴极LED显示器扫描显示子程序,T1中断。

第三章软件设计3.1 主程序设计所以主程序的设计一般包括:主程序的起始地址,中断服务程序的起始地址,有关内存单元及相关部件的初始化和一些子程序调用等等。

(1)程序的起始地址MCS-51系列单片机复位后,(PC)=0000H,而0003H~002BH分别为个中断源的入口地址。

所以,编程也应在0000H处写一跳转指令。

当CPU接受到中断请求信号并予以响应后,CPU把当前的PC内容压入栈中进行保护,然后转入响应的中断服务程序入口处执行。

一般在响应的中断服务程序入口处写一条跳转指令,并以跳转指令的目标地址作为中断服务程序的其始地址进行编程。

(2)主程序的初始化内容所谓初始化,是对用到的单片机内部部件或拓展芯片进行初始工作状态设定。

在本例中,使用了两个中断,即T1。

其中:1.T1中断:采用T1定时中断工作方式,完成倒计时。

(3在这里介绍几个主要的模块:3.1.1 倒计时模块设计(1)定时器T1计数初值T1计数初值为:TH1=(65536-700)/256;TL1=(65536-700)MOD 256工作方式TMOD=00000001H=01H(23.1.2 键盘扫描模块扫描按键情况,并显示在数码管的分数值位。

按键去抖动的处理。

由于机械触点的弹性作用,在闭合及断开的瞬间均伴随有一连串的抖动,抖动时间长短由按键的机械特性决定,一般为5~10ms。

而按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。

键抖动会引起一次按键被误读多次,为了确保CPU对键的一次闭合仅做一次处理,键抖动可用硬件和软件两种方法消除。

本设计采用软件方法。

3.1.3显示程序模块由于该系统使用的是六位LED显示器显示倒计时,因此显示采用动态扫描显示方法,即由显示器扫描显示子程序控制显示器逐个循环从左至右依次点亮各个显示器。

这样虽然在任一时刻只要一个显示器点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果一样。

如下面的图所示:3.1.4 实施结果(1)首先开始找到主程序入口地址,运行程序;(2)输入倒计时初始值,按B键开始计时,如果设置的初始值不符合24小时制的常规值,红灯亮,不开始倒计时,如果设置的初始值符合24小时制的常规值,倒计时器正常工作,开始倒计时。

(3)倒计时过程中,可以按A键暂停计时,按B键恢复计时。

(4)倒计时过程中,可以按C键重新赋初值。

第四章总结体会4.1设计心得及体会该倒计时器是基于定时而设计的实现计时报警(指示灯亮)的装置。

由键盘扫描、动态LED显示电路、指示灯亮三大部分构成。

装置利用AT89S51单片机构成电路,以实现对计时时间的控制。

同时装置还用一个由电平控制的指示灯的亮灭装置,用以实现倒计时时间到时提示,以及错出现时候的提示。

本装置的最大特点是实时性强,可操作性好。

因为采用了矩阵式键盘控制,能够随时改变倒计时时间,所以装置能够应对不同的要求而做出相应的调整,以适应不同的环境。

看事物要辩证的看。

本装置也存在一些缺点值得注意。

如当按键开关出现问题时,系统会出现错误,出现指示灯亮的状态。

我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。

我在整个设计过程中懂得了许多东西,当遇到一不了的问题,跟同伴一起商量、合作,或许能收到事半功倍的效果。

不管学什么,一定要打好基础,并将其学好、学精,但空有知识也不一定就能说明什么,还得能为己所用;还有更重要的是培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。

虽然这个设计做的不是很完美,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益;最后,也是我感触比较深的一点,这次课程设计时为数不多的独立完成的一次,虽然过程中遇到很多困难,让自己犯愁过,彷徨过,急躁过,可当自己很快调整好心态,从跌倒的地方爬起来继续,最后取得成功,不止是成功后的喜悦,也是一次锻炼!本次课程设计总的来说是比较成功的,但在设计及操作过程中也遇到了不少的问题。

这个过程当然也就少不了老师和同学的帮助,所以我们要感谢给予我们帮助和支持的老师和同学。

在设计过程中,我们始终得到他们的悉心教导和认真指点,使得我们在理论知识和动手操作方面都有了很大的提高!通过这次课程设计使我们懂得了理论与实际结合是很重要的,只有理论知识是远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正服务于社会,从而提高自己的实际动手和独立思考的能力。

同时在设计的过程中我们也发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

通过这次课程设计之后,也把以前所学过的知识重新进行了温故。

它不仅锻炼了我们的实际操作能力,还与我们的专业零距离接触,更主要的是我们学到了书本上没有的知识,尤其感到自身对于书本知识的掌握太死板,并不能灵活运用。

这样就使我们的理论知识更加实践化了,让我们对书本上的知识也更加重视了,不再像以前那样盲目,同时通过这次设计,对以后的毕业设计也奠定了一定的基础,更为重要的是对我们自己的将来有了更为明确的奋斗目标。

4.2参考文献单片微型计算机原理与接口技术(第二版)高锋著附录程序:ORG 0000HAJMP MAINORG 001BHLJMP T1_PRGMAIN:MOV P1, #0FFHMOV A,#10HMOV 75H,AMOV 74H,AMOV 73H,AMOV 72H,AMOV 71H,AMOV 70H,AMOV R0,#75H ;位选,地址循环MOV R5,#0AHMOV TMOD ,#10HMOV TH1,#3CHMOV TL1,#0B0H ;50MSSETB TR1SETB EACLR ET1LOOP: ;调用键盘扫描程序LCALL KBSCJNE A,#10H,NEXT ;有按键则跳转LCALL DISP ;刷新显示SJMP LOOP ;无按键则重新判断NEXT:LCALL DELAY10MS ;软件去抖动LCALL KBSCJNE A,#10H,LOOP1 ;有按键则送显示SJMP LOOP ;无按键则继续扫描LOOP1:MOV @R0,A ;送入显示缓冲区WAIT:LCALL DISPLCALL KBSCJNE A,#10H,WAIT ;等待按键抬起DEC R0 ;数码管位地址减1CJNE R0,#6FH,LOOP ;判断是否到末位LCALL JUDGE ;RUN:JNB P1.0,MAINJNB P1.2,MAINLCALL KBSCJNE A,#10H,NEXTKLCALL TRANSLCALL DISPSJMP RUNNEXTK:LCALL DELAY10MSLCALL KBSCJNE A,#10H,LOOP2SJMP RUNLOOP2:CJNE A,#0AH, NEXTJ ;暂停键UPPAUSE:LCALL TRANSLCALL DISPLCALL KBSCJNE A,#10H,UPPAUSECLR ET1JMP RUNNEXTJ:CJNE A,#0BH,NEXTJ2 ;继续键UPCONT:LCALL TRANSLCALL DISPLCALL KBSCJNE A,#10H,UPCONTSETB ET1JMP RUNNEXTJ2:CJNE A,#0CH,RUN ;设初值UPEND:LCALL TRANSLCALL DISPLCALL KBSCJNE A,#10H,UPENDJMP MAINRETWAIT1:LCALL DISPLCALL KBSCJNE A,#10H,WAIT1RETORG 0300HJUDGE:MOV A,75HMOV B,#0AHMUL ABADD A,74HMOV 62H,AMOV A,73HMOV B,#0AHMUL ABADD A,72HMOV 61H,AMOV A,71HMOV B,#0AHMUL ABADD A,70HMOV 60H,AMOV A,62HSUBB A,#0CHJNB PSW.7,ERRMOV A,61HSUBB A,#3CHJNB PSW.7,ERRMOV A,60HSUBB A,#3CHJB PSW.7,RRTERR:CLR P1.0RRT:RETORG 2000HT1_PRG:MOV TH1,#3CHMOV TL1,#0B0H ;50MSDEC R5CJNE R5,#00H,LASTMOV R5,#0AHMOV A,60HCJNE A,#00H,ASMOV 60H,#3CHMOV A,61HCJNE A,#00H,AMMOV 61H,#3CHMOV A,62HCJNE A,#00H,AHCLR P1.2JMP LASTAH:DEC 62HAM:DEC 61HAS:DEC 60HLAST:RETITRANS:MOV A,62HMOV B,#0AHDIV ABMOV 75H,AMOV 74H,BMOV A,61HMOV B,#0AHDIV ABMOV 73H,AMOV 72H,BMOV A,60HMOV B,#0AHDIV ABMOV 71H,AMOV 70H,BRETDELAY10MS:MOV R7,#100LOOPDELAY:MOV R6,#250DJNZ R6,$DJNZ R7,LOOPDELAYRET;---------------------------键盘扫描子程序------------------------------------ ORG 8120H ;键盘扫描子程序KBS: MOV R2, #0DFH ;行指针MOV R3, #06H ;行数KB1: MOV DPTR, #0E400HMOV A, R2MOVX @DPTR, A ;输出一行MOV DPTR, #0E800HMOVX A, @DPTR ;读键盘CPL AANL A, #1FHJNZ KB2 ;有键按下转出MOV A, R2RR AMOV R2, ADJNZ R3, KB1CLR AKB2:RL ARL ARL AORL A, R3MOV R2,AMOV DPTR, #TABMOV R3, #1CHKB3: MOV A, R3 ;查表MOVC A, @A+DPTRCJNE A, 02H, KB4 ;未找到转走MOV A, R3 ;键值->ARETKB4: DJNZ R3, KB3MOV A, R3 ;:键值为#00HRETTAB: DB 81H,82H,42H,22H,83H,43H,23H,84H; 键值表DB 44H,24H,14H,13H,12H,11H,21H,41H;DB 00H,85H,45H,25H,15H,86H,46H,26H;DB 16H,0CH,0BH,0AH,09H;;------------------LED显示子程序------------------------------------------- ORG 80E0H ;;显示子程序;DISP:MOV R1,#75H ; ;首位地址MOV R2,#20H ;;位指针MOV A,R2DISP1:MOV DPTR,#0E400HMOVX @DPTR,A ;;输出字位MOV A,@R1 ; ;取显示缓冲区内容ADD A,#11HMOVC A,@A+PC ;;取字形DISP2:MOV DPTR,#0E000HMOVX @DPTR,A ; ;输出字形MOV R3,#00H ; ;延时时间常数DJNZ R3,$CLR AMOVX @DPTR,A ;; ;关显示DEC R1 ;;修改缓冲区地址MOV A,R2RRC A ; ;修改位地址MOV R2,AJNC DISP1 ;;未完待续RET;------------------LED字模-------------------------------------------- DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H;(字形表)DB 7FH,6FH,77H,7CH,39H,5EH,79H,7EH;DB 00H,76H,40H,73H,3EH,3DH,5CH,38H,50H;END。

相关文档
最新文档