毕业设计25倒计时器

合集下载

毕业设计25倒计时器

毕业设计25倒计时器

毕业设计25倒计时器倒计时器是一个常见的时间管理工具,它可以帮助人们在限定的时间内有效地完成任务。

在毕业设计中设计一个倒计时器是一个有趣和实用的项目。

本文将介绍一个毕业设计的案例:设计一个倒计时器,用于倒计时到毕业的日子。

设计目标:1.实现一个简单易用的倒计时器,可以根据用户输入的日期和时间开始倒计时。

2.提供倒计时的天、小时、分钟和秒的显示,以及剩余总时间的显示。

3.提供设置倒计时完成后的提醒功能,可以通过声音或震动提醒用户。

设计思路:1.用户界面设计:-添加一个日期和时间输入框,用于用户输入倒计时的目标日期和时间。

-添加一个开始按钮,用户点击后开始倒计时。

-添加一个倒计时显示区域,用于显示倒计时的天、小时、分钟和秒。

-添加一个总时间显示区域,用于显示剩余的总时间。

2.倒计时逻辑设计:-获取用户输入的日期和时间。

-计算当前时间和目标时间之间的时间差。

-将时间差分解为天、小时、分钟和秒,并在对应的显示区域显示。

-每间隔一秒更新一次倒计时显示。

-当时间差为零时,倒计时停止。

3.提醒功能设计:-添加一个设置提醒的选项框。

-当倒计时结束时,根据用户设置的提醒选项进行相应的提醒:声音或震动。

代码实现:可以使用编程语言如Python、JavaScript或C++来实现这个倒计时器。

以下是一个使用Python的简单示例:```pythonfrom playsound import playsounddef countdown(target_date):while True:print("Countdown finished!")# play sound or vibrate according to user's settingplaysound("sound.mp3")break# display countdownminutes, seconds = divmod(rem, 60)year = int(input("Enter year: "))month = int(input("Enter month: "))day = int(input("Enter day: "))hour = int(input("Enter hour: "))minute = int(input("Enter minute: "))# start countdowncountdown(target_date)```总结:设计一个倒计时器需要考虑用户界面设计、倒计时逻辑设计和提醒功能设计。

倒计时系统设计

倒计时系统设计

河南农业职业学院专科毕业设计(论文)题目倒计时系统设计学生姓名专业班级所在系指导教师倒计时系统设计摘要:本论文针对倒计时系统的设计的需求,介绍了MCS-51单片机的部分基本原理,如51单片机的接口功能、中断、定时器等等。

倒计时系统需要用到锁存器、矩阵键盘、LED数码显示器等主要模块,通过不同的模块之间相互作用,完成倒计时的初步硬件结构。

对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即采用Keil uVision3软件程序进行译码。

关键词:倒计时器/单片机/矩阵键盘/Keil uVision3/LED数码显示器THE DESIGN OF COUNTDOWN SYSTEMABSTRACT:This paper focuses on the needs of the countdown system design, introduced the MCS-51 MCU of some of the basic principles.Such as the 51 single-chip interface functions, interrupt, timer and so on. Countdown system needs to use latch, matrix keyboard, LED digital display and other major modules, through interaction between different modules to complete the Countdown to the initial hardware. The countdown device in the LED digital display, In order to simplify the circuit, reduce costs, we adopt a software-based interface method, namely using Keil uVision3 software program for decoding.KEYWORDS:Counter-down,SCM,Matrix keyboard,Keil uVision3,LED digital display目录中文摘要 (II)英文摘要 (III)目录 (III)第一章引言 (2)1.1 课题开发的作用及意义................................. - 0 -1.2 发展方向............................................. - 0 - 第二章原理设计 ................................................ - 2 -2.1 设计任务与要求....................................... - 2 -2.2 方案设计与论证....................................... - 2 -2.3 系统框图............................................. - 2 - 第三章器件的选择及介绍........................................ - 4 -3.1 单片机AT89S51 ......................................... - 4 -3.1.1 主要功能特性 ..................................... - 4 -3.1.2 AT89S51的引脚说明................................ - 4 -3.1.3 单片机定时器的使用 ............................... - 7 -3.2 显示器件选择........................................... - 7 - 第四章硬件电路的设计......................................... - 10 - 第五章各部分电路介绍......................................... - 11 -5.1 复位电路.............................................. - 11 -5.2 时钟电路.............................................. - 12 -5.3 按键电路.............................................. - 13 -5.4 蜂鸣器电路............................................ - 13 -5.5 数码管显示电路........................................ - 14 - 第六章软件设计与流程图....................................... - 16 -6.1 倒计时器主程序流程图................................ - 16 -6.2 定时器0的中断程序流程图............................ - 17 -6.3 定时器1的中断程序流程图............................ - 18 - 第七章 PCB制板图及仿真图...................................... - 20 -7.1 PCB制板图 ............................................ - 20 -7.2 整体电路仿真图以及仿真结果分析........................ - 21 - 第八章安装与调试 ............................................. - 23 -8.1 电路安装.............................................. - 23 -8.2 电路调试.............................................. - 23 -8.3 性能测试与分析........................................ - 23 - 结束语 ........................................................ - 24 - 致谢 ........................................................ - 25 - 参考文献 ...................................................... - 26 - 附录 ........................................................ - 27 -第一章引言1.1课题开发的作用及意义随着社会的发展人们对时间的要求越来越精确,而倒计时的应用也越来越广泛比如;奥运会开幕式的倒计时,篮球比赛的倒计时器,还有爆破时用的倒计时器等等。

单片机答辩倒计时器课程设计报告

单片机答辩倒计时器课程设计报告

《单片机原理及应用》课程设计报告专业电子信息工程班级姓名指导老师二0一二年十二月二十五日课程设计任务书一、设计题目:答辩倒计时器二、设计要求设计一个答辩倒计时器,用2位数码管显示剩余分钟,2位数码管显示剩余秒,复位后显示10.00表示设定10分钟,并可加减修改,按开始/取消按钮开始倒计时,再次按开始/取消按钮则复位,时间到则蜂鸣音提示。

总体要求如下:1、方案论证,确定总体电路原理图。

2、元器件选择,设计PCB图(或用万能电路实验板搭线)。

3、绘制程序流程图,编写汇编语言源程序(或C语言源程序)。

4、安装调试,实现倒计时器的基本功能。

三、设计报告内容1、写出设计方案(包括方案对比,方案确定),给出完整的电路原理图和设计程序流程图。

2、对所设计方案的实现进行全面分析。

3、编程调试方法和程序清单。

4、安装调试过程,出现的各种现象,总结经验和体会。

5、进一步完善的设想。

目录一、课程设计目的 (1)二、课程设计题目描述和要求 (1)三、课程设计报告内容 (1)3.2 硬件电路 (3)3.2.1 复位电路 (4)3.2.2 晶振电路 (4)3.2.3 单片机最小系统 (4)3.2.4 硬件流程图 (5)3.3 源程序设计 (5)3.3.1 程序清单 (5)3.3.2 程序流程图 (7)四、设计过程 (7)4.1实践步骤 (7)4.2实践标准 (8)4.3系统调试 (8)4.3.1 硬件调试 (8)4.3.2 软件调试 (9)五、设计报告总结 (10)六、总结经验和体会 (11)七、进一步完善的设想 (12)八、参考书目 (13)附录一:成品效果图 (13)附录二:倒计时器源程序(C语言) (14)一、课程设计目的1、巩固和加深单片机原理课程知识的理解和运用。

2、进一步提高学生单片机应用系统的设计能力。

3、培养学生综合分析问题、发现问题和解决问题的能力。

二、课程设计题目描述和要求设计一个答辩倒计时器,用2位数码管显示剩余分钟,2位数码管显示剩余秒,复位后显示10.00表示设定10分钟,并可加减修改,按开始/取消按钮开始倒计时,再次按开始/取消按钮则复位,时间到则蜂鸣音提示。

倒计时器实训报告

倒计时器实训报告

一、实训目的本次实训旨在使学生掌握倒计时器的基本原理、电路设计方法及制作过程,提高学生的动手能力、创新能力和团队合作精神。

通过本次实训,学生能够:1. 理解倒计时器的工作原理及电路组成;2. 掌握倒计时器电路的设计与制作方法;3. 学会使用常用电子元件及电路调试技巧;4. 培养学生的团队协作精神和创新意识。

二、实训内容1. 倒计时器原理及电路分析2. 倒计时器电路设计与制作3. 倒计时器调试与测试4. 倒计时器性能优化三、实训过程1. 倒计时器原理及电路分析倒计时器是一种计时装置,用于实现预定时间的倒计时功能。

其工作原理如下:(1)利用计数器实现倒计时功能,通常采用十进制计数器(如74LS160);(2)利用555定时器产生1Hz的方波信号,作为计数器的时钟信号;(3)通过按键输入预定时间,实现倒计时;(4)当倒计时结束时,发出报警信号。

2. 倒计时器电路设计与制作(1)电路设计根据倒计时器原理,设计如下电路:- 74LS160计数器作为核心元件,实现倒计时功能;- 555定时器产生1Hz方波信号;- 按键输入预定时间;- 报警电路实现倒计时结束报警。

(2)电路制作按照电路设计图,制作如下电路:- 将74LS160、555定时器、按键、报警电路等元件焊接在电路板上;- 连接电路板上的元件,确保连接正确;- 进行电路调试,检查电路是否正常工作。

3. 倒计时器调试与测试(1)调试- 检查电路连接是否正确,确保无短路、断路现象;- 对电路进行调试,观察倒计时功能是否正常;- 检查报警电路是否在倒计时结束时发出报警信号。

(2)测试- 测试倒计时器在不同预定时间下的倒计时功能;- 测试报警电路是否在倒计时结束时发出报警信号;- 测试电路的抗干扰性能。

4. 倒计时器性能优化根据测试结果,对倒计时器进行以下优化:- 调整电路参数,提高倒计时精度;- 优化报警电路,增强报警效果;- 改进电路设计,提高电路可靠性。

秒倒计时器的设计(课程设计)

秒倒计时器的设计(课程设计)

目录一、计时器概括 (1)1、计时器的特色及应用 (1)2、设计任务及要求 (1)二、电路设计原理及单元模块 (1)1、设计原理 (1)2、设计方案 (2)3、单元模块 (3)3.1、所用各个芯片功能 (3)3.2、各单元电路 (7)四、安装与调试 (11)1、电路的安装 (11)2、电路的调试 (12)五、结论与心得 (12)六、参照文件 (13)1、总电路图 (14)2、元件清单 (14)3、实物 (15)24秒倒计时器的设计和制作一、计时器概括1、计时器的特色及应用在很多领域上当时器均获得广泛应用,诸如在体育竞赛,准时报警器、游戏中的倒时器,交通讯号灯、红绿灯、行人灯、交通纤毫控制机,还能够用来做为各样药丸、药片,胶囊在指准时间提示用药等等,因而可知计时器在现代社会的应用是相当广泛的。

在篮球竞赛中,规定了球员的持球时间不可以超出24 秒,不然就违例了。

本课程设计“智能篮球竞赛倒计时器的设计”,可用于篮球竞赛中,用于对球员持球时间 24 秒限制。

一旦球员的持球时间超出了24 秒,它自动的报警进而判断此球员的违例。

2、设计任务及要求设计一个 24 秒倒计时器,详细功能要求以下:1、用小规模集成电路设计24 秒倒计时电路;2、用 555 准时器产生 1Hz 的标准脉冲信号;3、当计时器显示00,同时报警;4、计时器应拥有清零、启动、暂停/持续计时等控制功能。

二、电路设计原理及单元模块1、设计原理24 秒计时器的整体参照方案框图如图 1 所示。

它包含秒脉冲发生器、计数器、译码显示电路、报警电路和协助时序控制电路(简称控制电路)等五个模块构成。

其上当数器和控制电路是系统的主要模块。

计数器达成24 秒计时功能,而控制电路达成计数器的直接清零、启动计数、暂停 /连续计数、译码显示电路的显示与灭灯、准不时间到报警等功能。

秒脉冲发生器产生的信号是电路的时钟脉冲和准时标准,但本设计对此信号要求其实不太高,故电路可采纳555 集成电路或由TTL 与非门构成的多谐振荡器构成。

篮球24秒倒计时器课程设计报告

篮球24秒倒计时器课程设计报告

篮球24秒倒计时器课程设计报告篮球24秒倒计时器课程设计报告一、引言篮球24秒倒计时器是一种用于控制比赛时间的装置,它在篮球比赛中起着至关重要的作用。

本课程设计旨在让学生了解并掌握篮球比赛中倒计时器的原理、构造和使用方法,培养学生的实践能力和团队合作能力。

二、课程目标1. 理解篮球比赛中倒计时器的作用和原理;2. 掌握篮球倒计时器的构造和基本原理;3. 学会使用篮球倒计时器进行比赛时间的控制;4. 培养学生的实践动手能力和团队合作能力;5. 培养学生的创新思维和问题解决能力。

三、课程内容1. 倒计时器的作用和原理1.1 球场上的时间控制需求1.2 倒计时器的基本原理和工作原理2. 倒计时器的构造与组成2.1 电路设计原理2.2 显示屏和控制按钮的安装与连接2.3 电源供应和保护措施3. 篮球倒计时器的使用方法3.1 倒计时器的开机和设置3.2 倒计时、暂停和复位功能的操作3.3 倒计时结束后的提示和处理4. 实践操作与应用4.1 学生分组进行倒计时器的组装和调试4.2 学生进行实际比赛时的倒计时器操作4.3 学生团队合作,解决倒计时器故障和问题四、教学方法1. 理论与实践相结合的教学方法,讲解篮球倒计时器的原理和构造,并进行实际组装和操作演示;2. 学生分组进行实践操作,培养学生的实践动手能力和团队合作意识;3. 开展小组讨论和展示,让学生分享倒计时器使用的心得和体会;4. 引导学生运用所学知识解决倒计时器故障和问题,培养学生的问题解决能力。

五、教学评估与考核1. 实践操作评估:对学生进行倒计时器的组装和调试评估;2. 操作演示评分:对学生进行倒计时器的操作演示,评估其操作技巧和熟练程度;3. 问题解决评估:对学生解决倒计时器故障和问题的能力进行评估;4. 课程设计报告评分:对学生提交的课程设计报告进行评分。

六、总结通过本课程设计,学生将能够全面了解篮球24秒倒计时器的作用和原理,掌握其构造和基本原理,并能够熟练使用倒计时器进行比赛时间的控制。

24秒倒计时器的设计和制作

24秒倒计时器的设计和制作设计和制作一个24秒倒计时器可以分为硬件设计和软件设计两个部分。

硬件设计:1. 选择一个适合的开发板或者单片机作为控制器。

常见的选择有Arduino、Raspberry Pi等。

2.连接一个LCD显示屏,用于显示倒计时的时间。

3.连接一个按钮,用于启动倒计时。

4.使用一个蜂鸣器或者其他声音装置,用于倒计时结束时发出提示音。

软件设计:1. 在选定的控制器上,使用相应的开发环境进行编程。

例如使用Arduino IDE进行Arduino编程。

2.编写倒计时函数,用于倒计时的逻辑。

3.编写LCD显示函数,用于在LCD上显示倒计时的时间。

4.编写按钮检测函数,用于检测按钮的按下事件。

5.编写蜂鸣器控制函数,用于在倒计时结束时发出提示音。

下面是一个简单的伪代码示例,展示了如何实现一个24秒倒计时器:```cpp#include <LiquidCrystal.h> // 引入LCD库LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // 初始化LCD引脚const int buttonPin = 6; // 按钮引脚const int buzzerPin = 7; // 蜂鸣器引脚int buttonState = 0; // 按钮状态int countdownTime = 24; // 倒计时时间void setulcd.begin(16, 2); // 设置LCD行数和列数pinMode(buttonPin, INPUT); // 设置按钮引脚为输入pinMode(buzzerPin, OUTPUT); // 设置蜂鸣器引脚为输出void loobuttonState = digitalRead(buttonPin); // 读取按钮状态if (countdownTime > 0 && buttonState == HIGH) countdownTime--; // 倒计时减1秒displayTime(countdownTime); // 显示倒计时时间delay(1000); // 延迟1秒}if (countdownTime == 0)tone(buzzerPin, 1000, 500); // 发出提示音digitalWrite(buzzerPin, LOW); // 停止提示音delay(1000); // 延迟1秒countdownTime = 24; // 重置倒计时时间}lcd.setCursor(0, 0); // 设置LCD光标位置为第一行第一列lcd.print("Countdown: "); // 显示文本```这个示例使用了Arduino控制器和连接了16x2 LCD显示屏展示倒计时时间。

数字电路技术基础-倒计时器实验

倒计时器实验实验要求设计25分钟倒计时器,输入为key1和key2,初始状态为数码管显示2500。

通过key1控制切换计数与暂停状态。

当key1按下时,开始倒计时,再次按下,暂停计时。

通过key2控制置初值。

暂停状态下,当key2按下时,回到初始状态,数码管显示2500。

设计暂不考虑倒计时到0000时的处理,要做处理需要增加输入(计数到零时的标志位)和状态(归零状态)。

提示:上节课完成的25分钟倒计时可以增加两个输入,一个为计数使能端,一个为置数端。

使用课前预习的状态机模块,控制25分钟倒计时模块。

调试时,可先使用开关作为状态机的按键输入,测试没有问题后,再加入按键控制。

1.源代码1)counter25_top.v`timescale 1ns / 1psmodule counter25_top(input wire clk,input wire key1,input wire key2,output wire[6:0]a_to_g,output wire[3:0]an);wire jinwei;wire a;wire b;wire anjian1,anjian2;Sec_pule_generator U0(.clk(clk),.sec_pule(jinwei));ButtonEdgeDetect U3(.clk(clk),.button(key1),.rise(anjian1));ButtonEdgeDetect U4(.clk(clk),.button(key2),.rise(anjian2));State U1(.clk(clk),.key1(anjian1),.key2(anjian2),.cnt_en(a),.load(b));counter25 U2(.clk_sec(jinwei),.clk(clk),.cnt_en(a),.load(b),.a_to_g(a_to_g),.an(an));Endmodule2)ButtonEdgeDetect.v module ButtonEdgeDetect(input clk,input button,output reg rise);reg[7:0] samp;initialbeginrise=0;samp=8'b0000_0000;endalways @(posedge clk)samp<={samp[6:0],button};always @(posedge clk)if(samp==8'b0000_0001)rise<=1'b1;elserise<=1'b0;// always @(posedge clk)// if(samp==8'b1111_1110) // fall<=1'b1;// else// fall<=1'b0;Endmodule3)Sec_pul_genterator.v `timescale 1ns / 1psmodule Sec_pule_generator( input clk,output reg sec_pule);parameter M=24;reg [M:0] cnt;initial cnt=25'b0;always@(posedge clk)beginif(cnt==10000000)cnt<=0;elsecnt<=cnt+1;endalways@(posedge clk)beginif(cnt==10000000)sec_pule<=1;elsesec_pule<=0;endendmodule4)counter25.v`timescale 1ns / 1psmodule counter25(input wire clk,input wire clk_sec,input wire cnt_en,input wire load,output reg[6:0]a_to_g, output reg[3:0]an);reg [15:0] cnt25;reg carry;initial begincnt25[3:0]=0;cnt25[7:4]=0;cnt25[11:8]=5;cnt25[15:12]=2;endalways@(posedge clk_sec)beginif(cnt_en==1&&load==0)begincarry<=0;if(cnt25[3:0]==0&&cnt25[7:4]==0&&cnt25[11:8]==5&&cnt25[15:12]==2) begincnt25[3:0]=9;cnt25[7:4]=5;cnt25[11:8]=4;cnt25[15:12]=2;endelse begincnt25[3:0]<=cnt25[3:0]-1;if(cnt25[3:0]==0)begincnt25[3:0]<=9;cnt25[7:4]<=cnt25[7:4]-1;endif(cnt25[7:4]==0&&cnt25[3:0]==0)begincnt25[7:4]<=5;cnt25[11:8]<=cnt25[11:8]-1;endif(cnt25[11:8]==0&&cnt25[7:4]==0&&cnt25[3:0]==0)begincnt25[11:8]<=9;cnt25[15:12]<=cnt25[15:12]-1;endif(cnt25[15:12]==0&&cnt25[11:8]==0&&cnt25[7:4]==0&&cnt25[3:0]==0) begincnt25[3:0]<=0;cnt25[7:4]<=0;cnt25[11:8]<=5;cnt25[15:12]<=2;carry<=1;endendendelse if(cnt_en==0&&load==0)begincnt25[3:0]<=cnt25[3:0];cnt25[7:4]<=cnt25[7:4];cnt25[11:8]<=cnt25[11:8];cnt25[15:12]<=cnt25[15:12];endelse if(cnt_en==0&&load==1)begincnt25[3:0]<=0;cnt25[7:4]<=0;cnt25[11:8]<=5;cnt25[15:12]<=2;endendwire rst_n=1'b1;wire [15:0]x;assign x[3:0]=cnt25[3:0];assign x[7:4]=cnt25[7:4];assign x[11:8]=cnt25[11:8];assign x[15:12]=cnt25[15:12];reg[18:0]clkdiv;always @(posedge clk or negedge rst_n)begin if(!rst_n)clkdiv<=19'd0;elseclkdiv<=clkdiv+1;endwire [1:0]bitcnt;assign bitcnt=clkdiv[18:17];always @* beginif(!rst_n)an=4'd0;elsean=4'd0;an[bitcnt]=1;endreg [3:0]digit;always@(*)beginif(!rst_n)digit=4'd0;elsecase(bitcnt)2'd0:digit=x[3:0];2'd1:digit=x[7:4];2'd2:digit=x[11:8];2'd3:digit=x[15:12];default:digit=4'd0;endcaseendalways @(*) beginif(!rst_n)a_to_g=7'b1111111;elsecase(digit)0:a_to_g=7'b1111110;1:a_to_g=7'b0110000;2:a_to_g=7'b1101101;3:a_to_g=7'b1111001;4:a_to_g=7'b0110011;5:a_to_g=7'b1011011;6:a_to_g=7'b1011111;7:a_to_g=7'b1110000;8:a_to_g=7'b1111111;9:a_to_g=7'b1111011;4'b1111:a_to_g=7'b0000000;default a_to_g=7'b1111110;endcaseendendmodule2.RTL分析3.仿真波形4.实验结果实验演示见附件中的视频。

毕业设计(论文)-倒计时定时器电路设计[管理资料]

目录摘要 (1)第1章概述 (2)第2章电路设计方案 (3)总体电路设计方案 (3)单元功能模块设计 (4)秒信号发生器 (4)60分频器电路设计 (5)减法计数器 (6)译码显示电路 (9)执行电路 (11)第3章整机电路原理 (13)第4章仿真 (14)总结 (16)致谢 (17)参考文献 (18)附录1电路原理图 (19)附录2仿真图 (20)摘要本设计主要由减法计数器、译码显示器、秒信号发生器、分频器、执行路等构成,能实现倒计时、定时和控制执行电路工作的功能。

倒计时计数末了时,继电器动作,控制用电器动作。

其中时钟信号是由多谐振荡器产生的1Hz秒脉冲信号,而且秒脉冲信号可以通过分频器产生出1/60Hz的分脉冲信号,然后通过开关选择秒脉冲或分脉冲信号通过开关选择输入电路,对倒计时计数器进行触发,计数器由置数开关输入的预置数开始进行计数,其中数字由译码数码管显示,直到倒计时末了,产生信号使继电器工作,从而通过控制开关控制受控电器的开或关。

所以,此设计相当于构造了一个电器的控制开关,能够灵活定时电器的工作时间,从而使电器的开关更加方便。

关键词计数器;译码器;显示器;分频器第1章概述倒计时计数器的用途很广泛。

它可以用作定时,控制被定时电器的工作状态,实现定时开或者定时关,最长定时时间为99分钟。

他还可以用做倒记时记数,最长记时时间为99秒,而且有二位数码管显示记数状态,可以灵活的对受控电器进行定时开关。

倒计时计时器的核心器件是可预制数减计数器IC3、IC4,其初始数由拨码开关S1、S2设定,其输出状态由BCD码七段译码器IC1、IC2译码后驱动LED数码管显示。

门电路D1、D2产生秒信号脉冲,以及经IC5等60分频后得到的分信号脉冲。

由开关S4选择后作为时钟脉冲送入减计数器的CP端。

当按下启动按钮S3后,S1、S2设定的预置数进入减计数器,数码管显示出该预置数,然后计数器就在时钟脉冲CP的作用下减计数,数码管做同步显示。

毕业设计倒计时器的设计与制作

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

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

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

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

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

关键词单片机,AT89C52, LED数码管显示器, keil C51,倒计时器ABSTRACTPermeate in the social realm along with the calculator in recent years, single slice the application of the machine just at constantly alignment thorough, arouse a traditional control an examination a day a new moon benefit renewal in the meantime.In solidly the hour the examination the single slice that controls with auto the machine the application the system, single slice machine usually Be a core parts to use, only single slice the machine aspect knowledge is not enough, return should according to concrete the hardware structure, and aim at concrete application the software of[with] the object characteristics combine to make perfect. Imitating many passage pressure systemses is to make use of pressure to spread the feeling machine to collect current pressure combine the reflection is on the display, it can analyze the pressure surfeit distance, erupting to report to the bine the adoption electronics steelyard principle can according to input the amount of money that the unit price computes an object accuratelyThis thesis discuss that pour the design and creation of the timer in brief, for pour four LED figures displays in the timer to say, I am for the sake of the simplification circuit,decline low cost, adopt to take software as the connect of lord a people's method, do not use specialized hardware to translate the code machine namely, but adopt the software procedure to carry on translating code.Keyword:single slice machine,AT89 S51,The LED figures tube display,Keil C51,Pour timer引言本文介绍以单片机和霍尔传感器为核心的车速里程表设计。

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

前言计算机最初的设计目的是为了提高计算数据的速度和完成海量数据的计算。

随着技术的发展,人们发现计算机在逻辑处理以及工业控制等方面也具有非凡的能力。

在控制领域,人们更多的关心计算机的低成本,小体积,运行的可靠性和控制的灵活性。

特别是智能仪表,智能传感器,智能家电,智能办公设备,汽车以及军事电子设备等应用系统要求将计算机嵌入这些设备中。

单片机体积小,价格低,可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。

目前,单片机应用技术已经成为电子应用系统设计最为常用的手段。

单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。

时间对人们来说总是那么宝贵,倒计时器对于人们来说也得到了广泛的应用,尤其是用于体育项目。

内容摘要倒计时器在日常生活中应用极为广泛,它是我们的准确的定时工具,维系着我们生活的秩序。

本文基于单片机设计一个能实现倒计时自动化控制的自动化系统,通过此设计达到学习、了解单片机相关指令在各方面应用的目的,并锻炼自己的动手能力。

本文设计部分包括两方面:1.硬件系统:主控电路 2.软件系统:汇编语言程序。

通过两方面的配合,实现控制功能。

关键词关键词:单片机,倒计时器,原理图,PCB图正文1课程设计的目的和要求1.1课程设计的目的通过课程设计,了解常用单片机应用系统设计的方法和过程,并能初步掌握单片机系统的设计方法,锻炼学生分析问题和解决问题的能力,系统地完成一个小系统从硬件设计、软件设计、汇编、模拟仿真调试、直至脱机运行等开发全过程。

1.2课程设计的基本要求1.设计硬件原理图并采用PROTEL画图。

2.软件设计3.在DVCC实验仪上仿真调试,或在线调试(新开发的实训系统可在线调试)。

4.提交课程设计论文。

要求该论文从基本理论,系统设计,创新思维,制作工艺上进行全方位的描述。

不但程序流程图的描述要求详细,而且大多数指令语句都要加上详细的注释。

2总体设计2.1基本工作原理利用单片机原理由单片机控制两个数显管构成数据及倒计时功能2.2硬件总体设计2.2.1系统组成方案系统由一个单片机、两个数显管等组成2.2.2扩展单元编址P3.1和P3.0为两个数显管的选位信号;P1口输出段选码2.2.3键盘显示功能的定义键盘为独立式按键,分别在P3.2~P3.4上,设置为输入状态。

电阻和电容起消抖作用。

各按键的功能:K1----设定/启动功能键K2----倒计时时间十位数设定键,按下键时,十位数字在0~9的范围内。

K3----倒计时时间个位数设定键,按下键时,十位数字在0~9的范围内。

2.3软件总体设计2.3.1存储单元的分配、标志位的定义P3.5连接发光二极管状态指示灯,系统时间设为定时状态熄灭,倒计时状态闪烁,倒计时结束时常亮。

P3.6输出控制信号驱动蜂鸣器,倒计时时间到,蜂鸣器响。

2.3.2主程序框图及清单(带有注释)3硬件设计4软件设计程序清单:ORG 0000HAJMP MAIN ;主程序ORG 0003HAJMP NT0 ;外部中断0ORG 000BHAJMP TCT0 ;定时器T0ORG 0030HMAIN: MOV SP,#60H ;设置堆栈CLR 00H ;工作状态标志位,0为设置,1为工作CLR 01H ;指示灯状态标志位,0为LED不亮,1为灯亮CLR 02H ;控制信号标志0为P3.6低,1为P3.6高MOV 22H,#00H ;100ms计数器清零MOV 23H,#00H ;秒计数器清零MOV 24H,#10 ;分计数器预置10minMOV TH0,#3CH ;100ms计数器初值MOV TL0,#0B0HMOV TMOD,#02HSETB EASETB ET0 ;允许定时器T0中断SETB EX0 ;允许外部中断0中断SETB IT0CLR TR0MOV 34H,#01H ;显示缓冲器预置数(十位)MOV 35H,#00H ;显示缓冲器预置数(个数)L: ACALL LED ;调指示灯状态控制程序JNB 00H,L ;查询工作状态指示,0为等待“设置” ACALL BINBCD ;二进制转十进制ACALL DIS ;显示倒计时器中的值JB 02H,OUT ;查询控制输出位,1为P3.6高,报警AJMP LOUT: CLR EX0CLR TR0SETB P3.6 ;P3.6高,报警JNB P3.4,OUT1 ;按P3.4,清除输出AJMP OUTOUT1: JNB P3.4,$ ;消抖CLR P3.6 ;P3.6低,清除报警输出CLR 02HSETB EX0CLR 00H ;设置状态AJMP L;状态灯指示程序:LED: JB 01H,LED0CLR P3.5RETLED0: SETB P3.5RET二进制转十进制子程序:入口:24H单元二进制数。

出口:30H单元BCD码十位数,31H单元BCD码个位数。

BINBCD: MOV A,24H ;取二进制数MOV B,#10DIV AB ;A中存十位数,B中存个位数MOV 30H,A ;存十位数MOV 31H,B ;B中存个位数RET显示倒计时值程序?入口:30H单元BCD码十位数,31H单元BCD码个位数DIS: MOV R0,#30HMOV DPTR,#TABMOV A,@R0MOVC A,@A+DPTRMOV P1,A ;显示十位CLR P3.1ACALL DELAY10 ;延时10msINC R0SETB P3.1MOV A,@R0MOVC A,@A+DPTRMOV P1,A ;显示个位CLR P3.0ACALL DELAY10SETB P3.0RET:外部中断0程序:NT0: CLR EX0 ;关中断PUSH ACCPUSH PSWCLR P3.5 ;工作状态LED灭ACALL DIS1 ;调设定值显示KEY: JB P3.2,RETURNKEY0: ACALL DIS1JNB P3.2,KEY0 ;等待键释放KEY2: JB P3.3,KEY3 ;判K2键按下?未按下,转判K3 ACALL DIS1INC 34H ;K2键按下,十位加1MOV A,34HCJNE A,#0AH,KEY22MOV 34H,#00HKEY22: ACALL DIS1JNB P3.3,KEY22AJMP KEY2KEY3: ACALL DIS1JB P3.4,KEY1 ;判K3键按下?未按下,转判断K1 INC 35H ;K3键按下,个位加1MOV A,35HCJNE A,#0AH,KEY33MOV 35H,#00HKEY33: ACALL DIS1JNB P3.4,KEY33AJMP KEY3KEY1: ACALL DIS1JB P3.2,KEY2 ;K1键未按下,转去判断K2、K3 KEY10: ACALL DIS1 ;等待键释放JNB P3.2,KEY10 ;K1键未按下,进入工作状态ACALL BCDBIN ;调十进制转换成二进制程序SETB 00H ;置位进入"工作状态"标志RETUTN: SETB EX0SETB TR0POP PSWPOP ACCRET1子程序:十进制转换成二进制子程序:入口:34H单元BCD码十位数,35H单元BCD码个位数。

出口:24H单元二进制数。

BCDBIN: MOV B,#10MOV A,34HMUL ABADD A,35HMOV 24H,ARET设定值显示子程序:入口:34H单元BCD码十位数,35H单元BCD码个位数。

DIS1: MOV R0,#34HMOV DPTR,#TABMOV A,@R0MOVC A,@A+DPTRMOV P1,A ;显示十位CLR P3.1ACALL DELAY10 ;延时10msINC R0SETB P3.1MOV A,@R0MOVC A,@A+DPTRMOV P1,A ;显示个位CLR P3.0ACALL DELAY10SETB P3.0RET定时器T0 中断服务程序:TCT0: PUSH ACCPUSH PSWINC 22H ;100ms单元加1MOV A,22HCJNE A,#10,EXITMOV 22H,#00HINC 23H ;秒单元加1CPL 01HMOV A,23HCJNE A,#60,EXITMOV 23H,#00HDEC 24H ;分单元减1MOV A,24HCJNE A,#00H,EXIT ;分计数单元不为“0”,继续 CLR TR0 ;关定时器SETB 02H ;置位蜂鸣器控制信号SETB 01H ;置位LED状态灯CLR 00H ;“设置”状态EXIT: POP PSWPOP ACCRETIEND5操作说明本系统为倒计时器定时系统,可完成倒计时功能功能。

现在我们可以利用电子倒计时器代替机械倒计时器。

倒计时时间要求在1~99min内可以任意设定,当接通电源时,自动设置时间为10min。

以1min的步长进行倒计时。

当计时到0时发出响声信号,可用3个按键分别实现时间的设定/启动倒计时、时间预置,外部晶振选用6MHz。

6结束语通过一个学期的学习,我初步了解了80C51的基本功能及使用方法。

初步掌握了简单的从编程到上机验证的过程。

虽然我的程序简单,但是我还是从中学到了很多东西,受益匪浅。

7参考文献[1]. 《单片机原理及接口技术》李全利迟荣强北京高等教育出版社 2004.1[2] 《单片机基础》李广弟,朱月秀,王秀山北京北京航空航天大学出版社2001.7[3] 《可编程逻辑器件,原理,开发与应用》赵曙光,郭万有杨颂华西安西安电子科技大学 2000.8[4] 《VHDL硬件描述语言与数字逻辑电路设计》候伯亨西安西安电子科技大学出版社, 1999。

相关文档
最新文档