电子跑表的设计

合集下载

电子跑表设计毕业设计

电子跑表设计毕业设计

电子跑表ABSTRACT:Because of its extremely high performance-price ratio, the single-chip computer (SCC) has been paid great attention to ever since it came out in 1970s of 20th Century, and has gained an extensive applicable field and fast development. Among all kinds of SCCs, 51 SCC is the most typical and representative one. This design, adopting 80C51 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 5V DC as the power supply. In hardware aspect, besides the CPU, four seven-segment LED digi-tubes are used for display, which work in a dynamically scanning display mode and driven by 74SL245 chip. The LEDs can accurately indicate hour and minute and two buttons can be used to adjust the time. While in the software aspect, the programming language is assembly language. The whole electronic clock system has functions of time display, adjustment, stopwatch and reset, etc. This design enables me to have greater insight into the basic circuit of SCC, and the basic methods of timer control and interruption programming, so that is a training of my ability of learning, designing and developing software and hardward.KEY WORDS:80C51 LED digi-tubes Electronic clock Stopwatch摘要:单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。

数字跑表设计eda课程设计

数字跑表设计eda课程设计

数字跑表设计eda课程设计摘要:一、引言1.课程背景介绍2.数字跑表设计意义二、数字跑表设计原理1.跑表系统架构2.数字跑表核心模块三、EDA工具介绍1.EDA工具的作用2.EDA工具的选择四、数字跑表设计流程1.设计输入2.设计仿真3.物理布局4.物理验证5.结果分析与优化五、数字跑表设计实践1.设计参数设定2.使用EDA工具进行设计3.设计验证与优化六、数字跑表设计成果与应用1.设计成果展示2.设计实用性分析3.设计前景展望七、总结与展望1.课程学习总结2.数字跑表设计发展趋势正文:一、引言随着科技的飞速发展,电子设计自动化(EDA)技术在电子设计领域中的应用越来越广泛。

数字跑表作为一种实用且具有较高技术含量的电子设备,其设计过程离不开EDA技术的支持。

本课程设计旨在让学生掌握数字跑表的设计方法,熟悉EDA工具的使用,提高实际动手能力和创新能力。

二、数字跑表设计原理数字跑表设计主要包括系统架构设计和核心模块设计两部分。

系统架构设计要求明确整个跑表的组成,包括时钟模块、计数模块、显示模块、控制模块等。

核心模块设计则是针对各个功能模块提出具体的实现方案,如采用何种器件、电路拓扑结构等。

三、EDA工具介绍EDA工具在数字跑表设计过程中发挥着至关重要的作用。

它能帮助设计师快速完成电路设计、仿真、验证及优化等任务。

常见的EDA工具包括原理图编辑器、布图布线工具、仿真器、时序分析工具等。

本课程将使用某款EDA工具进行数字跑表的设计。

四、数字跑表设计流程1.设计输入:根据数字跑表的功能需求,编写设计说明书,明确各个模块的功能、性能参数及接口关系。

2.设计仿真:利用EDA工具进行电路仿真,验证电路的正确性。

3.物理布局:根据电路原理图,进行物理布局设计,考虑器件摆放、连线走向等因素。

4.物理验证:对物理布局进行验证,确保电路符合制程要求。

5.结果分析与优化:分析仿真结果,找出存在的问题,对设计进行优化。

五、数字跑表设计实践1.设计参数设定:根据数字跑表的实际需求,设定各项性能参数,如时钟频率、计数范围等。

跑表-《现代电子技术综合实验》实验报告

跑表-《现代电子技术综合实验》实验报告

电子科技大学《现代电子技术综合实验》实验报告实验题目基于FPGA的数字跑表设计姓名xxx学号xx学院通信与信息工程学院专业通信工程指导老师陈学英指标1、跑表精度为0.01秒2、跑表计时范围为:1小时3、设置开始计时/停止计时、复位两个按钮4、显示工作方式:用六位BCD 七段数码管显示读数。

显示格式:扩展功能:按键消抖选手分时显示要求(1) 设计出符合设计要求的解决方案(2) 设计出单元电路(3) 利用EDA 软件对各单元电路及整体电路进 行仿真(4) 在开发板上实现设计(5) 撰写设计报告分 秒 0.01秒设计方框图单元电路划分计数器分频器使能控制器(开关,复位等以设置到计数器中,没有单独设计模块,特此说明下)扫描显示控制器各单元电路设计计数器程序中本应该采用写一个六进制和十进制的计数器,然后采用画图的方法实现总计数器的设计(即采用两个六进制计数器和四个十进制计数器),本实验中采用了直接对总的计数器进行总体描述来实现(因为编写相对简单,不易处错误)。

用了一个特别长的一大串if内嵌套if进行处理。

同时,里面直接写了开始和复位的功能,相当于把使能模块并入其中。

削抖原理在按键按下一次时会有如下的毛刺信号,这个毛刺信号持续时间虽然只有1-3ms,但是这对于硬件来说,还是很长的,最关键的是,会产生很多个下降沿和电平触发。

所以必须对其进行处理,否则在按键按下一次后,run/stop 会反转多次。

消抖方法分为硬件消抖和软件延时消抖。

在FPGA 中可以定义三个D 触发器,进行硬件3ms 消抖(时间可以根据实际情况而定)。

代码如下:module myroad(i nput clk100,//100hz时钟input clk1000,//1000hz时钟input reset,//复位键input key,//开始停止按键output reg [3:0] num0,//跑表的最低位output reg [3:0] num1,//跑表的第2位output reg [3:0] num2,//跑表的最3位output reg [3:0] num3,//跑表的最4位output reg [3:0] num4,//跑表的最5位output reg [3:0] num5//跑表的最6位);reg keyout,run;//key的衍生内部信号reg clr,dout1,dout2,dout3,do1,do2,do3;//reset的内部衍生信号,以及6个消抖的内部变量initial beginnum0<=0;num1<=0;num2<=0;num3<=0;num4<=0;num5<=0;run<=1;clr<=1;dout1<=1;dout2<=1;dout3<=1;do1<=1;do2<= 1;do3<=1;keyout<=1;End//赋初值,居然是被允许的,还是ISE比quarters要宽松一些。

电子实验数字跑表

电子实验数字跑表

电子科技大学基于FPGA的数字系统设计——数字跑表的设计学生姓名:学号:指导教师:摘要本文利用XILINX-ISE开发软件和XILINX EDA教学实验开发板实现数字跑表的开始、暂停以及复位等功能。

ISE工程利用VHDL语言编写,单模块包含时钟分频进程、始能及清零进程、时钟数据产生进程、位码产生进程和显示进程;分模块设计包含时钟分频模块、控制模块、计数器模块、显示模块。

计时区间00’00’’00到59’59’’99。

课余设计的单模块源程序:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;entity paobiao isPort ( clkin : in STD_LOGIC;enable : in STD_LOGIC;clear : in STD_LOGIC;seg : out STD_LOGIC_VECTOR (7 downto 0);wei : out STD_LOGIC_VECTOR (2 downto 0);enout : out STD_LOGIC);end paobiao;architecture Behavioral of paobiao issignal cnt100: integer range 1 to 240000;signal cnt1k: integer range 1 to 24000;signal clk100: std_logic:='0';signal clk1k : std_logic:='0';signal en: std_logic:='0';signal d1: integer range 0 to 5:=0;signal d2: integer range 0 to 9:=0;signal d3: integer range 0 to 5:=0;signal d4: integer range 0 to 9:=0;signal d5: integer range 0 to 9:=0;signal d6: integer range 0 to 9:=0;signal num: integer range 1 to 6:=1;beginenout<='0';process(clkin)beginif clkin'event and clkin='1' thenif cnt100=240000 thencnt100<=1;clk100<=not clk100;elsecnt100<=cnt100+1;end if;if cnt1k=24000 thencnt1k<=1;clk1k<=not clk1k;elsecnt1k<=cnt1k+1;end if;end if;end process;process(enable,clear)beginif clear='0' thenen<='0';elseif enable'event and enable='1' thenen<=not en;end if;end if;end process;process(clear,d1,d2,d3,d4,d5,d6)beginif clear='0' thend1<=0;d2<=0;d3<=0;d4<=0;d5<=0;d6<=0;-- en<=0;elseif en='1' and clk100'event and clk100='1' then if d6=9 thend6<=0;if d5=9 thend5<=0;if d4=9 thend4<=0;if d3=5 thend3<=0;if d2=9 thend2<=0;if d1=5 thend1<=0;elsed1<=d1+1;end if;elsed2<=d2+1;end if;elsed3<=d3+1;end if;elsed4<=d4+1;end if;elsed5<=d5+1;end if;elsed6<=d6+1;end if;end if;end if;end process;process(num)beginif clk1k'event and clk1k='1' thenif num=6 thennum<=1;elsenum<=num+1;end if;end if;end process;process(num)variable data: integer range 0 to 9;begincase num iswhen 1 => wei<="111";data:=d1;when 2 => wei<="110";data:=d2;when 3 => wei<="100";data:=d3;when 4 => wei<="011";data:=d4;when 5 => wei<="001";data:=d5;when 6 => wei<="000";data:=d6;end case;case data iswhen 0 => seg<="00000011";when 1 => seg<="10011111";when 2 => seg<="00100101";when 3 => seg<="00001101";when 4 => seg<="10011001";when 5 => seg<="01001001";when 6 => seg<="01000001";when 7 => seg<="00011111";when 8 => seg<="00000001";when 9 => seg<="00001001";end case;end process;end Behavioral;管脚分配NET "clkin" LOC = T8;NET "enout" LOC = D7;NET "seg<0>" LOC = C11;NET "seg<1>" LOC = A11;NET "seg<2>" LOC = B12;NET "seg<3>" LOC = A12;NET "seg<4>" LOC = C12;NET "seg<5>" LOC = C13;NET "seg<6>" LOC = A13;NET "seg<7>" LOC = B14;NET "wei<0>" LOC = F8;NET "wei<1>" LOC = D8;NET "wei<2>" LOC = E7;NET "clear" LOC = E4;NET "enable" LOC = G6;课时设计一、系统总体设计指标:1、跑表精度为0.01秒2、跑表计时范围为:1小时3、设置开始计时/停止计时、复位两个按钮4、显示工作方式:用六位BCD七段数码管显示读数。

数字跑表设计.

数字跑表设计.

学号:课程设计题目数字跑表设计学院自动化学院专业班级姓名指导教师年月日课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 数字跑表设计初始条件:1.运用所学的模拟电路和数字电路等知识;2.用到的元件:实验板、电源、连接导线、74系列芯片、555芯片或微处理器等。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.设计一个具有、‘分’、‘秒’、‘1/100秒’的十进制数字显示的计时器。

2.要有外部开关,控制计数器的直接清零、启动和暂停/连续计时功能;3.严格按照课程设计说明书要求撰写课程设计说明书。

时间安排:第1天下达课程设计任务书,根据任务书查找资料;第2~4天进行方案论证,软件模拟仿真并确定设计方案;第5天提交电路图,经审查后领取元器件;第6~8天组装电路并调试,检查错误并提出问题;第9~11天结果分析整理,撰写课程设计报告,验收调试结果;第12~14天补充完成课程设计报告和答辩。

指导教师签名:年月日系主任(或责任教师)签名:年月日目录引言 (1)1设计意义及要求 (2)1.1设计意义 (2)1.2设计要求 (2)2方案设计 (3)2.1设计思路 (3)2.2 方案设计 (4)2.2.1设计方案一(个人方案)电路图 (4)2.2.2设计方案二(小组方案)电路图简单说明 (5)2.3方案比较 (6)3部分电路设计 (7)3.1计数单元 (7)3.2开始和暂停单元 (11)3.3清零功能单元 (12)3.4脉冲输出电路 (14)3.5译码及显示电路 (15)4调试与检测 (18)4.1调试中故障及解决办法 (18)4.2 调试与运行结果 (18)5仿真操作步骤及使用说明 (19)结束语 (20)参考文献 (21)附录1 (22)附录2 (23)本科生课程设计成绩评定表........................ 错误!未定义书签。

引言过去的三个世纪,我们经历了第一次工业革命,人类开始进入蒸气时代,第二次工业革命,人类开始进入电气时代并在信息革命资讯革命中达到顶峰。

eda数字跑表课程设计

eda数字跑表课程设计

eda数字跑表课程设计一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握数字跑表的工作原理;2. 学生能掌握数字跑表设计中所涉及的电子元件、电路图及编程知识;3. 学生能了解数字跑表在实际应用中的功能与作用。

技能目标:1. 学生能运用所学知识,设计并搭建简单的数字跑表电路;2. 学生能通过编程实现对数字跑表的调试与优化;3. 学生能运用团队协作、问题解决和创新能力,完成数字跑表的设计与制作。

情感态度价值观目标:1. 学生培养对电子科技的兴趣和热情,增强实践操作的信心;2. 学生培养团队协作精神,提高沟通与表达能力;3. 学生认识到科技对社会发展的作用,树立创新意识,增强社会责任感。

课程性质:本课程为实践性、综合性课程,结合理论知识与实际操作,培养学生的动手能力、创新能力和团队合作能力。

学生特点:六年级学生具有一定的电子知识基础和编程能力,对新鲜事物充满好奇心,善于合作与探究。

教学要求:教师需引导学生掌握EDA数字跑表的基本知识,注重实践操作,鼓励学生创新与思考,提高学生的问题解决能力。

在教学过程中,关注学生的个体差异,给予个性化指导,确保课程目标的达成。

通过本课程的学习,使学生能够将所学知识应用于实际生活中,提高综合素质。

二、教学内容1. 电子设计自动化(EDA)基础理论:- EDA概念及其发展历程;- 数字跑表的基本原理与功能。

2. 数字跑表电路设计:- 常用电子元件的特性与选型;- 电路图绘制及仿真;- 数字跑表电路搭建与调试。

3. 编程与控制:- 编程环境及编程语言介绍;- 数字跑表程序设计;- 程序调试与优化。

4. 实践操作与团队协作:- 分组进行数字跑表设计与制作;- 团队合作、问题解决与创新能力培养;- 实践成果展示与评价。

教材章节关联:本教学内容与教材中“电子设计自动化”、“数字电路设计”和“编程控制”等章节相关。

具体内容包括:- 电子设计自动化:第1章;- 数字电路设计:第3章;- 编程控制:第5章。

数字跑表的设计与仿真

数字跑表的设计与仿真

EAST CHINA INSTITUTE OF TECHNOLOGY EDA设计与应用课程设计:数字跑表的设计与仿真学院:机械与电子工程学院专业:电子科学与技术班级:1221402学号:201220140223姓名:杨卡2014年11月一、实验目的:1)进一步学习更复杂的EDA项目设计,更熟练地掌握VHDL语言设计。

2)学习动态数码管的VHDL编程。

3)更加熟练计时显示、进位和校时的编程方法。

二、实验要求:1)设计一个具有、‘分'、‘秒'、‘ 1/100 秒'的十进制数字显示的数字跑表。

2)要有外部开关,控制计数器的直接清零、启动和暂停/ 连续计时功能。

三、实验内容:1)数字跑表功能:计时精度10ms,计时范围为59分59.99秒。

设置两种模式,模式一:对单个人计数,能实现暂停、显示及清零功能,并在数码管上实时显示;模式2:实现对多个人的同时计时,在数码管上实时显示,并能在液晶显示屏上回显出 6 个时间,可控制显示。

2)数字跑表分模块设计:数字跑表设置如下的子模块。

分频模块;模式 1 控制模块;模式 2 控制模块;计时模块;数码管译码模块;液晶译码模块;液晶显示模块。

百分秒、秒和分等信号即采用BCD译码计数方式,根据上述设计要求,用Verilog 对数字跑表的描述如下。

仍然采用引脚属性定义语句进行引脚的锁定。

四、设计程序(此处只写出与课本中不同的部分)为了便于显示,百分秒、秒和分钟信号皆采用BCD码计数方式,并直接输出到6 个数码管显示出来。

根据上述设计要求,用Verilog HDL 语言对数字跑表描述如下。

/* 信号定义:CLK: CLR: PAUSE: MSH,MSL:时钟信号;异步复位信号;暂停信号;百分秒的高位和低位;SH,SL :秒的高位和低位;MH,ML:分钟的高位和低位。

*/module paobiao(CLK,CLR,PAUSE,MSH,MSL,SH,SL,MH,ML); input CLK,CLR,PAUSE; output[3:0] MSH,MSL,SH,SL,MH,ML; reg[3:0] MSH,MSL,SH,SL,MH,ML;reg cn1,cn2; //cn1 为百分秒向秒进位,cn2 为秒向分进位//**************** 百分秒计数进程,每计满100,cn1 产生一个进位*******always @(posedge CLK or posedge CLR)begin if(CLR) begin {MSH,MSL}<=8'h00; cn1<=0;end // 异步复位else if(!PAUSE) //PAUSE 为0 时正常计数,为1 时暂停计数begin if (MSL==9) begin MSL<=0;if (MSH==9) begin MSH<=0;cn1<=1;endelse MSH<=MSH+1;endelse begin MSL<=MSL+1;cn1<=0;endendend秒计数进程,每计满60,cn2 产生一个进位********* always @(posedge cn1 or posedge CLR)begin if(CLR) begin {SH,SL}<=8'h00;cn2<=0; end // 异步复位else if(SL==9)begin SL<=0;if (SH==5) begin SH<=0;cn2<=1; end else SH<=SH+1;endelse begin SL<=SL+1;cn2<=0;end end //****************** 分钟计数进程,每计满60,系统自动清零********* always @(posedge cn2 or posedge CLR) begin if(CLR) begin {MH,ML}<=8'h00;end // 异步复位else if (ML==9) begin ML<=0;if(MH==5) MH<=0;else MH<=MH+1;endelse ML<=ML+1;endendmodule五、心得体会:此次课程设计,从程序设计到仿真,我经历了一个困难重重,愈挫愈勇的过程。

数字跑表设计

数字跑表设计

学号:课程设计题目数字跑表设计学院自动化学院专业班级姓名指导教师年月日课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 数字跑表设计初始条件:1.运用所学的模拟电路和数字电路等知识;2.用到的元件:实验板、电源、连接导线、74系列芯片、555芯片或微处理器等。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.设计一个具有、‘分’、‘秒’、‘1/100秒’的十进制数字显示的计时器。

2.要有外部开关,控制计数器的直接清零、启动和暂停/连续计时功能;3.严格按照课程设计说明书要求撰写课程设计说明书。

时间安排:第1天下达课程设计任务书,根据任务书查找资料;第2~4天进行方案论证,软件模拟仿真并确定设计方案;第5天提交电路图,经审查后领取元器件;第6~8天组装电路并调试,检查错误并提出问题;第9~11天结果分析整理,撰写课程设计报告,验收调试结果;第12~14天补充完成课程设计报告和答辩。

指导教师签名:年月日系主任(或责任教师)签名:年月日目录引言 (1)1设计意义及要求 (2)1.1设计意义 (2)1.2设计要求 (2)2方案设计 (3)2.1设计思路 (3)2.2 方案设计 (4)2.2.1设计方案一(个人方案)电路图 (4)2.2.2设计方案二(小组方案)电路图简单说明 (5)2.3方案比较 (6)3部分电路设计 (7)3.1计数单元 (7)3.2开始和暂停单元 (11)3.3清零功能单元 (12)3.4脉冲输出电路 (14)3.5译码及显示电路 (15)4调试与检测 (18)4.1调试中故障及解决办法 (18)4.2 调试与运行结果 (18)5仿真操作步骤及使用说明 (19)结束语 (20)参考文献 (21)附录1 (22)附录2 (23)本科生课程设计成绩评定表......................... 错误!未定义书签。

引言过去的三个世纪,我们经历了第一次工业革命,人类开始进入蒸气时代,第二次工业革命,人类开始进入电气时代并在信息革命资讯革命中达到顶峰。

EDA课程设计——数字跑表

EDA课程设计——数字跑表

第一章引言数字电子技术的应用一直在向着广度和深度扩展。

时至今日,“数字化”的浪潮几乎席卷了电子技术应用的一切领域。

由于电子产品的更新周期日益缩短,新产品开发速度日益加快,因而对电子设计自动化(EDA)提出了更高的要求,也有力地促进了EDA技术的发展和普及。

在数字集成电路方面,电路的集成度如摩尔定律(Moore’s Law)所预言的那样,以每1-2年翻一番的速度增长,使电路的复杂程度越来越高、规模越来越大。

同时,在基本技能方面,对使用EDA工具的能力也提出了更高的要求。

因此,学好EDA课程设计至关重要。

第二章 设计说明1.器件介绍-集成十进制加法计数器74160集成同步十进制加法计数器74160。

图2-1给出了74160的引脚排列图和逻辑符号图。

除了具有十进制加法计数功能外,还具有异步复位、同步预置数和计数状态保持、对输入的时钟信号进行分频等功能。

CLRN 为异步复位端,LDN 为预置数控制端,A-D 为预置状态输入端,RCO 为进位输出端,ENT 和ENP 为工作状态控制端(双使能端)。

图2-1 74160逻辑符号图 表2-1 74160功能特性 表2-2是74160的功能表,它给出了各种控制信号作用下计数器的工作状态,具体如下。

序号 CLK CLRN LDN ENP ENT 工作状态 1 × 0 × × × 复位 2 ↑ 1 0 × × 预置数 3 ↑ 1 1 1 1 正常计数 4 × 1 1 × 0 保持,且C=0 5×110 1保持表2-2 74160的功能表⑴当CLRN=0时,无论其他功能端为何状态,计数器都将复位,有QD ~QA=0000(注:QD 为状态端最高位)。

⑵当CLRN=1、LDN=0时,计数器处于预置数状态。

在出现此情况后的第一个CLK 上升沿,将预置输入端加载的数据送入计数器,即有QD ~QA=D ~A(注:D 为置入端最高位)。

51单片机跑表课程设计

51单片机跑表课程设计

51单片机跑表课程设计一、课程目标知识目标:1. 学生能理解51单片机的基本原理,掌握其编程方法。

2. 学生能掌握跑表功能实现的硬件设计,包括定时器/计数器的工作原理和应用。

3. 学生能了解并运用中断系统,实现跑表的精确计时功能。

技能目标:1. 学生能够运用C语言编写程序,实现对51单片机的控制。

2. 学生能够设计并搭建简单的跑表电路,进行功能调试和优化。

3. 学生能够通过课程学习,培养动手实践能力,提高问题解决技巧。

情感态度价值观目标:1. 学生在课程学习中,培养对电子技术和编程的兴趣,提高学习积极性。

2. 学生在团队协作中,学会相互沟通、合作,培养集体荣誉感。

3. 学生通过课程实践,认识到科技对社会发展的作用,树立正确的价值观。

课程性质:本课程为实践性较强的课程,注重培养学生的动手能力和实际问题解决能力。

学生特点:学生具备一定的电子技术基础和C语言编程能力,对单片机有一定了解。

教学要求:结合学生特点,注重理论与实践相结合,引导学生通过动手实践掌握课程内容,提高学生的综合运用能力。

在教学过程中,关注学生的个体差异,因材施教,确保每位学生能够达到课程目标。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 51单片机基础原理回顾:包括51单片机的内部结构、工作原理,重点复习定时器/计数器、中断系统等关键知识点。

相关教材章节:第一章《单片机概述》和第二章《51单片机结构及原理》。

2. C语言编程基础:回顾数据类型、运算符、控制语句等基础语法,为编写跑表程序打下基础。

相关教材章节:第三章《51单片机C语言编程基础》。

3. 跑表功能硬件设计:讲解跑表电路的设计方法,包括时钟电路、复位电路、显示电路等。

相关教材章节:第四章《51单片机接口技术》。

4. 跑表程序设计:教授如何利用定时器/计数器、中断系统编写跑表程序,实现计时功能。

相关教材章节:第五章《51单片机定时器/计数器与中断系统》。

电子跑表课程设计

电子跑表课程设计

电子跑表课程设计一、课程目标知识目标:1. 学生能理解电子跑表的基本结构、工作原理及使用方法。

2. 学生能掌握电子跑表计时、数据显示等相关知识点。

3. 学生了解电子跑表在体育运动、科研实验等领域的应用。

技能目标:1. 学生能够熟练操作电子跑表,进行简单的计时和数据记录。

2. 学生能够运用电子跑表进行实际场景的测量,如短跑、长跑等运动项目的计时。

3. 学生能够分析电子跑表测量数据,提高实验结果的准确性。

情感态度价值观目标:1. 学生培养对电子跑表及计时测量工作的兴趣,增强探索精神。

2. 学生通过实际操作,培养团队协作、严谨求实的科学态度。

3. 学生认识到电子跑表在现实生活中的重要作用,增强对科技创新的认识。

课程性质:本课程为实践性课程,结合理论知识与实际操作,让学生在动手实践中掌握电子跑表的使用。

学生特点:本年级学生具备一定的物理知识和动手能力,对新鲜事物充满好奇,喜欢探索和实践。

教学要求:教师应注重理论与实践相结合,关注学生个体差异,提供充分的时间和机会让学生动手操作,提高学生的实践能力和创新能力。

通过课程目标的实现,培养学生具备实际应用电子跑表的能力,为今后的学习和工作打下基础。

二、教学内容1. 电子跑表的基本原理:讲解电子跑表的工作原理,包括内部电路、传感器、计时器等组成部分,对应教材第3章“电子计时器的原理与应用”。

2. 电子跑表的操作方法:详细介绍电子跑表的按键功能、操作步骤和注意事项,对应教材第4章“电子跑表的使用与维护”。

3. 实践操作:组织学生进行电子跑表的实践操作,包括短跑、长跑等运动项目的计时,以及数据分析,对应教材第5章“电子跑表在实际运动中的运用”。

4. 教学内容的安排与进度:- 课时1:电子跑表的基本原理及结构介绍;- 课时2:电子跑表的操作方法和注意事项讲解;- 课时3:学生进行电子跑表实践操作,教师指导;- 课时4:学生分组进行实际运动项目计时,分析数据,总结经验。

教学内容注重科学性和系统性,以教材为依据,结合课程目标,制定详细的教学大纲。

数字跑表模块设计

数字跑表模块设计

显示内容
可显示当前时间、已用时间、剩余时间、距离、 速度等比赛和训练数据。
显示亮度与对比度
具备可调节的显示亮度与对比度,以适应不同光线环境。
控制模块设计
控制方式
采用微控制器进行系统控制,实现各种功能的逻辑处理。
数据处理
对采集的数据进行实时处理,确保计时和显示的准确性。
人机交互
通过按键或触摸屏实现人机交互,方便用户进行功能设置和操作。
数字跑表的重要性
提高训练效果
通过精确记录运动数据,数字跑 表可以帮助运动员了解自己的训 练状态,制定合理的训练计划, 提高训练效果。
比赛成绩记录
在比赛中,数字跑表可以精确记 录运动员的成绩,保证比赛的公 平性和准确性。
健康监测
数字跑表还可以监测运动者的心 率、步数等健康数据,帮助运动 者了解自己的身体状况,预防运 动损伤。
低功耗设计技术
节能模式
支持低功耗模式,在非 使用状态下自动进入节 能状态。
硬件优化
采用低功耗硬件设计和 电路优化,降低功耗。
电源管理
采用智能电源管理系统, 根据需求合理分配电源。
可靠性设计技术
故障检测与恢复
具备故障检测和恢复机制,确保在异常情况 下仍能保持正常运行。
防抖动设计
防止因按键或触摸产生的抖动对计时精度的 影响。
采用先进的计时算法,如分段计时法,以提高计 时精度。
校准与同步
定期校准和与标准时钟同步,以保持计时准确性。
人机交互技术
1 2
显示界面
提供清晰、易读的显示界面,包括计时、计圈、 计分等功能。
输入方式
支持多种输入方式,如触摸屏、按键等,方便用 户操作。
3
语音提示

电子跑表

电子跑表

单片机电子跑表的设计一方案设计及原理1.1设计方案电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片机来实现等等。

本次单片机综合实验需要进行硬件设计与软件设计。

1.2 设计原理(1)本系统采用AT89C51单片机、4位LDE显示、两块块74LS244芯片、2个调节按键、共同构成我的单片机电子跑表的硬件。

(2)计时单元由单片机内部的定时器/记数器来实现。

(3)时间显示功能通过LED数码管动态扫描来实现。

由于数码管要显示时钟,还要显示跑表,因此,我分别用31H、32 H计时钟,用R5、R6计跑表,当要显示哪一个的时候,就把哪一个地址送到显示地址35 H、36 H中,达到跑表显示与时钟显示互不影响。

(4)电子跑表的启动/复位/清零功能由软件来实现。

P1.1表示清零、启动、和复位键, P1.2实现时钟和跑表的转换功能。

(5)由于跑表和时钟的中断服务程序有冲突,我们就把跑表的中断服务程序写成另外的子程序了,这样就必须要引入标志位了,我们在此用42H标志位,用标志位来给跑表计数。

二系统硬件设计2.1 硬件电路的设计方案及框图根据设计要求和设计思路,确定该系统的设计方案,图1所示为该系统设计方案的硬件电路设计框图。

硬件电路有五部分组成,即单片机按键输入电路,单片机时钟电路,复位电路,LED显示器段码驱动电路,4位LED显示器电路。

图一系统框图2.2 单片机的选择根据初步设计方案的分析,设计这样一个简单的应用系统,可以选择带有EPROM的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。

本系统选用AT89C51单片机。

该芯片的功能与MCS-51系列单片机完全兼容。

2.3 时钟与复位电路的设计2.3.1 时钟电路单片机工作的时间基准是由时钟电路提供的。

在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路,电路中,电容器C1和C2对振荡频率有微调作用,通常的取值范围(20-40)pF。

单片机电子跑表课程设计

单片机电子跑表课程设计

单片机电子跑表课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其编程方法。

2. 学生能掌握电子跑表的工作原理,了解各部分功能及其相互关系。

3. 学生能运用所学知识设计并实现一个简单的单片机电子跑表。

技能目标:1. 学生能够运用C语言或汇编语言进行单片机编程,实现电子跑表的基本功能。

2. 学生能够运用电路设计软件绘制电子跑表的原理图和PCB图。

3. 学生能够运用调试工具对单片机程序进行调试,解决常见问题。

情感态度价值观目标:1. 学生培养对电子制作的兴趣,激发创新意识和动手能力。

2. 学生在团队协作中,学会沟通与交流,培养合作精神。

3. 学生能够关注单片机技术在生活中的应用,认识到科技发展对生活的影响。

课程性质:本课程为实践性较强的课程,结合理论知识与实际操作,培养学生动手能力。

学生特点:学生具备一定的电子基础知识,对单片机有一定了解,但编程和实际操作经验不足。

教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,培养学生解决问题的能力。

在教学过程中,关注学生的个体差异,提供个性化指导。

通过课程学习,使学生能够独立完成单片机电子跑表的设计与制作。

二、教学内容1. 单片机原理与编程基础- 单片机结构及工作原理- C语言或汇编语言基础- 单片机编程环境搭建2. 电子跑表原理与设计- 电子跑表功能需求分析- 电路设计原理及元件选择- 原理图和PCB图绘制方法3. 单片机与外围电路接口技术- 按键输入接口设计- 数码管显示接口设计- 定时器/计数器应用4. 程序设计与调试- 程序框架设计- 功能模块编写- 程序调试与优化5. 实践操作- 电子跑表组装与调试- 故障分析与排除- 课程项目展示与评价教学内容安排和进度:第一周:单片机原理与编程基础第二周:电子跑表原理与设计第三周:单片机与外围电路接口技术第四周:程序设计与调试第五周:实践操作(含课程项目展示与评价)教学内容与教材关联性:本教学内容紧密结合教材,按照教材章节逐步展开,使学生能够循序渐进地掌握单片机电子跑表的设计与制作。

数字跑表设计

数字跑表设计

学号:课程设计题目数字跑表设计学院自动化学院专业班级姓名指导教师年月日... .课程设计任务书学生:专业班级:指导教师:工作单位:题目: 数字跑表设计初始条件:1.运用所学的模拟电路和数字电路等知识;2.用到的元件:实验板、电源、连接导线、74系列芯片、555芯片或微处理器等。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.设计一个具有、‘分’、‘秒’、‘1/100秒’的十进制数字显示的计时器。

2.要有外部开关,控制计数器的直接清零、启动和暂停/连续计时功能;3.严格按照课程设计说明书要求撰写课程设计说明书。

时间安排:第1天下达课程设计任务书,根据任务书查找资料;第2~4天进行方案论证,软件模拟仿真并确定设计方案;第5天提交电路图,经审查后领取元器件;第6~8天组装电路并调试,检查错误并提出问题;第9~11天结果分析整理,撰写课程设计报告,验收调试结果;第12~14天补充完成课程设计报告和答辩。

指导教师签名:年月日系主任(或责任教师)签名:年月日..目录引言 (1)1设计意义及要求 (2)1.1设计意义 (2)1.2设计要求 (2)2方案设计 (3)2.1设计思路 (3)2.2 方案设计 (4)2.2.1设计方案一(个人方案)电路图 (4)2.2.2设计方案二(小组方案)电路图简单说明 (5)2.3方案比较 (7)3部分电路设计 (8)3.1计数单元 (8)3.2开始和暂停单元 (13)3.3清零功能单元 (14)3.4脉冲输出电路 (16)3.5译码及显示电路 (17)4调试与检测 (20)4.1调试中故障及解决办法 (20)4.2 调试与运行结果 (21)5仿真操作步骤及使用说明 (21)结束语 (22)参考文献 (23)附录1 (24)..附录2 (26)本科生课程设计成绩评定表......................... 错误!未定义书签。

..引言过去的三个世纪,我们经历了第一次工业革命,人类开始进入蒸气时代,第二次工业革命,人类开始进入电气时代并在信息革命资讯革命中达到顶峰。

数字跑表设计eda课程设计

数字跑表设计eda课程设计

数字跑表设计eda课程设计【原创版】目录1.数字跑表设计概述2.EDA 课程设计的目的和意义3.数字跑表的主要功能和特点4.数字跑表的设计流程5.EDA 课程设计对数字跑表设计的影响和应用正文数字跑表设计是电子设计自动化 (EDA) 课程设计中的一个重要项目,目的是让学生通过实践了解和掌握数字电路的设计方法和技巧。

数字跑表是一种能够记录跑步时间和距离的电子设备,主要功能是计时和计数,同时还具备闹钟、计时器等附加功能。

数字跑表的设计流程主要包括需求分析、系统设计、电路设计、PCB 设计、测试和调试等步骤。

在 EDA 课程设计中,学生需要使用 EDA 软件来完成数字跑表的设计。

EDA 软件能够提供可视化的电路设计和仿真环境,学生可以通过绘制原理图、PCB 图等来实现数字跑表的设计。

同时,EDA 软件还能够提供多种工具和函数库,帮助学生快速实现数字跑表的各种功能。

数字跑表的主要功能是计时和计数。

计时功能是指数字跑表能够准确地记录跑步时间,同时能够在跑步过程中实时显示跑步速度和距离。

计数功能是指数字跑表能够记录跑步的圈数和步数等信息,以便用户了解自己的跑步情况。

数字跑表还具备闹钟、计时器等附加功能,方便用户进行更多的运动训练。

EDA 课程设计对数字跑表设计具有重要的影响和应用。

通过 EDA 课程设计,学生能够学习和掌握数字电路的设计方法和技巧,提高数字电路设计和实现的能力。

同时,EDA 软件提供的可视化设计和仿真环境,能够帮助学生更好地理解数字跑表的工作原理和电路结构,加快数字跑表的设计和测试进度。

数字跑表设计是 EDA 课程设计中的一个重要项目,能够帮助学生学习和掌握数字电路的设计方法和技巧。

数字跑表的主要功能是计时和计数,同时还具备闹钟、计时器等附加功能。

基于51单片机的跑表设计

基于51单片机的跑表设计

4种工作方式 (方式0-方式3):
选用方式1——16位定时 /计数器,由TH的8位和TL的 8位组成。选用工作方式1, 则为16位的定时/计数器, 其最长计时为65536。若要 定时时间为50ms,则初值为
TH0=(65536-50000)/256;
TR0、TR1——计数运行控制位
TL0=(65536-50000)%256;
P0=b[ms/10];
//十位
P2=0xfd;
//11111101
delay(2);
P0=b[ms%10];
//个位
P2=0xfe;
//11111110
delay(2);
}
பைடு நூலகம்
相关程序:(中断-定时器0程序)
void time0_TSR(void) interrupt 1 {
TF0=0; TH0=(65536-10000)/256; //高4位 TL0=(65536-10000)%256; //低4位 ms++; if(ms==100) { ms=0; s++; if(s==60) { s=0; m++; if(m==60) m=0; } }
任务要求:
1.使用6位数码管显示时间,时间包括分、秒、 0.01秒,格式如下:mm.ss.ms 2.可以通过按键启动或者停止跑表。按键只能使 用四个独立键。 3.时间通过定时器产生
数码管显示原理:
数码管由7个发光二极管组 成,形成一个日字形,它们可以 共阴极,也可以共阳极,通过解 码电路得到的数码接通相应的发 光二极管而形成相应的字。
动态显示的亮度比静态显示要差一些,所 以在选择限流电流时应小于静态显示电路中的。
按键识别原理:

数字跑表设计资料

数字跑表设计资料

1 设计意义及要求1.1 设计意义随着社会的发展,在一些竞技比赛中,尤其是体育运动中,数字跑表的精度已经越来越高了,数字跑表扮演着越来越重要的角色,而通过一学期对数字电子技术的学习,学校安排了这次的课程设计,而我们小组的课题是数字跑表的简单设计,目的在与让学生综合运用所学的知识,对各基本器件的运用更加熟练,也更好的锻炼学生的设计思维和动手设计能力,而这也是我们作为电气专业学生的必备技能。

1.2 设计要求1)设计一个具有、‘分’、‘秒’、‘1/100秒’的十进制数字显示的计时器。

2)要有外部开关,控制计数器的直接清零、启动和暂停/连续计时功能;3)严格按照课程设计说明书要求撰写课程设计说明书。

2.1 设计思路电路主要由秒脉冲发生器,计数器,译码器显示电路和控制电路四个部分组成。

其中计数器为系统的主要部分,计数器完成计数功能;秒脉冲发生器提供脉冲信号;译码显示器显示当前数字,控制电路完成计数的启动,暂停和清零功能。

设计框图如图2—1。

图2—1 设计思路框图2.2.1设计方案一电路图在设计过程中,为了满足设计的要求,应正确处理各个信号间的关系。

该电路是由秒脉冲电路,计数器,译码器显示电路和控制电路组成。

其中计数器和控制电路是系统的主要模块,计数器是由6个74LS90构成。

控制电路完成计数器的直接清零、启动计数、暂停/连续计数、译码显示电路的显示等功能。

当启动开关闭合时,555振荡器将产生的信号送至计数器的CP信号输入端,计数器开始计时功能。

当清零//置数端处于置数端时,启动开关闭合,控制电路应封锁时钟信号CP,同时计数器完成置数功能,译码显示电路显示“00”字样;当启动开关断开时,计数器开始计数;将暂停与连续的控制开关放在555电路模块中,通过控制脉冲信号的传送来达到相应的目的。

当计数器R0端输入高电平时则全部计数器清零,进而实现整个课程设计的要求。

原理图如图2—2所示。

图2—2 方案一电路原理图2.2.2设计方案二电路图方案二和方案一的原理大同小异,该电路同样由秒脉冲电路,计数器,译码器显示电路和控制电路组成。

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

课程设计课程名称单片机原理与应用课程设计课题名称电子跑表设计专业电子信息工程班级1501学号03姓名谭青权指导老师肖锋2015年6月*日报告撰写要求(此页不打印)课程设计报告是体现课程设计成果的载体,具体要求如下:1、课程设计报告的基本格式(1)说明书统一使用word文档打印,A4纸张,页边距设置为:上2cm,下2cm,左2.54cm,右2cm。

(2)正文采用宋体小四,字间距20磅;1级标题采用黑体小三,2级标题采用黑体四号,3级标题采用黑体小四;1和2级标题段落间距为上下0.5行。

(3)图表需统一编号,图标标题采用黑体五号;图标题在图片下方,表格标题在表格上方。

(4)装订顺序为:封面、任务书、报告正文、评分表。

2、课程设计报告的撰写要求(1)设计报告正文内容为5-6页为宜,主要内容为自己的设计思路、设计步骤、关键性步骤的记录、重要结果的记录以及自己本次课程设计的总结。

报告撰写要求思路清晰、结构合理、层次清晰,报告简洁但又要能体现设计过程。

(2)报告中图表要求清晰、规范,图表的尺寸大小适当。

(3)课程设计报告内容(仅供参考):电气信息学院课程设计任务书课题名称电子跑表的设计姓名谭青权专业电子信息工程班级1501 学号03指导老师肖锋课程设计时间2017/12/11-2017/12/22一、任务及要求设计任务:利用单片机为核心设计一个多功能电子表,具有电时钟和跑表功能。

用做时钟时,在显示器上显示时、分、秒,用做跑表时,显示范围00时00分00秒-23时59分59秒并具有跑表启动和跑表复位功能键。

当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。

设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)应用系统的硬件和软件的调试。

二、进度安排第一周:周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。

周二~周三:完成硬件设计和电路连接周四~周日:完成软件设计第二周:周一~周三:程序调试周四~周五:设计报告撰写。

周五进行答辩和设计结果检查。

三、参考资料1、王迎旭等.单片机原理及及应用[M]. 2版.机械工业出版社,20122、胡汉才.单片机原理及其接口技术[M].3版.清华大学出版社,2010.3、戴灿金.51单片机及其C语言程序设计开发实例[M].清华大学出版社,201目录第1章、总体方案设计 (2)1.1、设计任务及要求 (2)1.2、设计原理或者设计思路 (2)第2章、硬件电路设计 (4)2.1、主控制器单片机的选择 (4)2.2、时钟电路 (4)2.3、显示接口电路 (5)2.4、键盘接口电路 (6)第3章、软件设计 (7)3.1、设计说明 (7)3.2、主程序设计 (7)3.3、时间处理模块 (8)3.4、键盘扫描模块 (10)3.5记数回调模块 (12)第4章、调试 (13)第5章、总结 (15)附录 (16)第1章总体方案设计1.1、设计任务及要求设计任务:利用单片机为核心设计一个多功能电子表,具有电时钟和跑表功能。

用做时钟时,在显示器上显示时、分、秒,用做跑表时,显示范围00时00分00秒-23时59分59秒并具有跑表启动和跑表复位功能键。

当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。

跑表能记下10个数,记数完毕能回调显示设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要的参数计算与元器件选择;4)完成应用程序设计;5)应用系统的硬件和软件的调试。

1.2、设计原理或者设计思路1.设计思路1)计时单元由单片机内部的定时器/记数器来实现。

2)时间显示功能通过LED 数码管动态扫描来实现。

利用单片机内部4的8位并行I/O 端口来实现外部按键的信号输入,由于数码管要显示时钟,还要显示跑表,因此,我分别用TR1,TR0定时器来分别定时跑表和时钟,分别写出跑表和时钟的子程序,定义一控制变量Numb 并赋其初值0,当Numb=0时调用时钟子程序,当Numb=1时调用跑表子程序,达到跑表显示与时钟显示互不影响。

3)跑表的切换,启动,停止,清零功能由软件来实现,分别由P1.0,P1.1,P1.2,P1.3外接按键,跑表的记数,回调显示,分别由P1.6,P1.7外接按键,在分别编写两段不同的子程序来实现所需要的功能1.3、总体设计方案本系统采用AT89C51单片机、6位LDE 数码管显示、一个排阻、6个调节按钮、2个电容与1个晶体振荡器共同构成本的单片机电子跑表的硬件。

时钟模块与计时模块则分别由单片机内部的定时器/记数器T0与T1来实现。

时间显示功能通过LED 数码管动态扫描来实现。

电子跑表的启动/暂停/清零功能由软件来实现。

P1.0实现时钟与秒表的切换功能,P1.1接开始计时键,P1.2接计时暂停键,P1.3接计时重新计时键,P1.6接计时记数键,P1.7接计时回显键。

本系统软件部分则采用C51编写,功能模块结构化强,共利用了7个功能函数,2个中断服务函数和1个主函数构成了本次电子跑表的软件部分。

图2.1为本系统方框图。

2.1本次设计采用4k 字节Flash 闪速存储器,128字节内部RAM ,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0Hz 的静态逻辑操 作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU 的工作,但允许RAM ,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

MCS51的管脚图如图2.1图2.1 89c51芯片管脚图2.2、时钟电路单片机工作的时间基准是由时钟电路提供的。

在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路,如图3.2所示。

电路中,电容器C1和C2对振荡频率有微调作用,本次设计中电容器取值为20pF,石英晶体选择12MHz,故单片机的机器周期为1us,图2.2为单片机内部时钟电路图2.2内部时钟电路2.3、显示接口电路本次设计中使用了6位共阴数码显示管,显示控制采用动态显示,即数据的显示是由段和位选信号共同配合完成的。

为了实现显示器的动态扫描,我们需要对显示器进行段控和位控,因此在显示器接口电路中需要有两个输出口,其中一个用于输出8条段控线;另一个用于输出位控线,位控线的数目等于显示器的位数。

本次设计中用P1口与显示器的8条段控线相接,用P2.2~P2.7与显示器的6条位控线相接。

如图2.3所示。

图2.3 显示接口电路2.4、键盘接口电路本设计的键盘接口电路中使用了4个按键分别与单片机的P1.1~P1.3口相连如图3.3所示,分别实现时钟/秒表切换、开始计时、暂停计时、重新计时的功能。

按键的开关状态通过一定的电路转换为高、低电平状态。

按键闭合过程在相应的I/O端口形成一个负脉冲。

闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。

抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms 之间。

为了避免键的一次处理闭合,应采CPU多次按用措施消除抖动。

图2.4为键盘接口电路图2.4 键盘接口电路第3章软件设计3.1、设计说明在进行应用软件设计时应采用模块化结构设计,其优点是:每个模块的程序结构简单,任务明确,易于编写,调试和修改,程序可读性好,对程序的修改可局部进行,其他部分可以保持不变,便于功能扩充和版本升级,是便于多个模块的调用和分工合作。

因此为了达到功能结构模块化,易读,简单,易移植的特点,故本次设计采用C51编写。

系统编写时可分为键盘扫描程序模块,时间处理模块,显示模块。

如图4.1所示。

将这些事先划分好的模块用C51编成不同的子函数,再将它们有机的结合起来从而达到系统的整体功能。

图3.1为软件设计总体模块图3.1软件设计模块3.2、主程序设计本程序可分为4个模块,共定义了7个子函数,其中键盘扫描模块包括键盘扫描函数,数码管显示模块包括时钟显示函数、秒表显示函数,时间处理模块包括时钟系时间处理函数、秒表系时间处理函数、延迟函数,,另本程序还利用了两个定时/计数器分别为T0、T1,故还需定义两个中断函数T0中断服务函数和T1中断服务程序。

本程序中由于涉及时钟与秒表互切问题,故定义了一控制变量Numb 并赋其初值0,若在仿真过中切到秒表则Numb 取反为1,切到时钟则Numb 重新为0。

因此在程序运行过程中便可控制各按键功能3.2为主程序流程图。

3.3时钟处理函数用定时器T0定时10ms ,其计数初值为12*2tfosc X M -=,由于T0选用工作方式1,故M 为162即65536,fosc 为晶振频率为12MHZ ,t 为定时时间10ms ,所以X 的值为64536,将该值的高八位值赋给TH0,低八位并赋给TL0,这样便完成了T0的初始化工作,因为定时器T0工作在方式1下,故每次定时器T0溢出都需再给T0赋初值。

由于T0定时10ms ,所以要得到1s 的时间需T0溢出100次,由此引入计数变量Count 。

每当T0溢出,Count 便自动加1,直至计满100,便使秒变量Seconds 自动加1并初始化Count 重新开始计数,直到Seconds 为60,初始化Seconds 并使分变量Minutes 自动加1,同理到时变量Hour 为24时,初始化Hours ,由此无限循环下去直到关闭电源。

图3.3为程序流程图图3.3 T0中断函数及时钟处理函数流程秒表时间处理函数用的是定时器T1与T0相同,定时10ms ,高八位TH1赋值为()2561000065536-,低八位TL1赋值为()256%1000065536-。

T1的启动由按键扫描函数控制,当开启T1后,每次T1溢出,Decisec 自动加1,直至Decisec 到100,秒Sec 自动加1,直至分Mint 为10,初始化Mint 计时复位。

图3.4为其程序流程图。

图3.4 秒表处理函数及T1中断服务函数流程3.4、键盘扫描模块时钟与秒表切换键程序:CHANGE 键为时钟秒表切换键,当按下CHANGE 键时,会产生按键抖动,本程序中利用delay (5)产生5ms 延迟使得按键状态稳定后重新确认是否按下了CHANGE 键即CHANGE 为低电平,此时还需判断控制变量Numb 是否为0(Numb 为0即奇数次按下CHANGE 键显示秒表,Numb 为1则为偶数次按下CHANGE 键显示时钟),在CHANGE 为0且Numb 为0的情况下,执行数码管显示秒表函数并对Numb 取反为再次按下CHANGE 键做准备,此后程序进入确认结束按键循环,若松开CHANGE,则非CHANGE 为0,循环结束回到开始处等待按键电平;若一直按着CHANGE ,则一直执行数码管显示秒表函数。

相关文档
最新文档