用LED数码管显示秒表设计
LED数码管秒表

单片机课程设计说明书课题名称专业电气工程学生姓名班级学号指导教师完成日期2012年6月10日LED数码管秒表设计目录1 概述----------------------------------------------------------------31.1 总体设计方案------------------------------------------3 1.2 硬件设计与焊接----------------------------------------3 1.3 软件设计方案------------------------------------------32 系统总体方案及硬件设计----------------------------------42.1 硬件总体设计------------------------------------------4 2.2 单片机基本电路设计------------------------------------6 2.3 秒表时间显示电路设计----------------------------------7 2.4 独立按键电路设计--------------------------------------9 2.5 蜂鸣器电路设计---------------------------------------103 软件设计-------------------------------------------------11 3.1 程序设计思路-----------------------------------------11 3.2 秒表程序构成-----------------------------------------11 3.3 源程序代码与流程图-----------------------------------124 实验仿真-------------------------------------------------145 设计总结-------------------------------------------------15附录1-----------------------------------------------------------------16附录2-----------------------------------------------------------------22附录3-----------------------------------------------------------------23盐城工学院课程设计说明书(2012)1 概述1.1 总体设计方案先进行系统板的基本焊接,即先将晶振电路和复位电路焊接完成。
单片机课程设计_基于89c51的LED数字秒表设计

单片机系统课程设计成绩评定表设计课题:基于89c51的LED数字秒表设计学院名称:电气工程学院专业班级:学生姓名:学号:指导教师:设计地点:设计时间:单片机系统技术课程设计课程设计名称:基于89c51的LED数字秒表设计专业班级:学生姓名:学号:指导教师:课程设计地点:课程设计时间:单片机系统课程设计任务书目录1引言 (6)1.1研究背景 (6)1.2设计思想及基本功能 (6)2.总体方案设计 (7)2.1方案选取 (7)2.2系统框图 (7)2.3总体方案设计 (7)3.硬件电路设计 (8)3.1 89c51单片机的引脚及模块说明 (8)3.2晶体振荡电路 (8)3.3复位电路 (9)3.4按键电路 (10)3.5显示电路 (10)3.6引脚控制说明 (11)3.7绘制电路原理图 (11)4.系统软件设计 (12)4.1程序流程图 (12)4.2秒表的初始化 (13)4.3按键扫描检测程序 (14)4.4开始计时 (14)4.5计时程序 (14)4.6显示程序 (14)4.7暂停计时 (14)4.8秒表清零 (14)4.9延时程序 (15)5.总结 (15)参考文献 (16)附录一系统总原理图 (16)附录二主程序 (16)1引言1.1研究背景自20世纪末期以来,电子技术的发展日新月异。
电子技术在各个领域的运用也越来越广泛,从而有力地推动了社会生产力的发展以及社会信息化程度的提高。
其中,秒表计时器是工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、延时器、定时器等的时间测试。
在各种现代体育竞技比赛中,秒表成为必不可少的工具之一。
而随着运动员的水平的不断提高,他们之间的差距也在不断缩小。
因此,在某些运动中对时间精度的要求就会越来越高,也就需要高精度的秒表来记录成绩,从而保障比赛的公平性。
在历史上,钟表大致有三个演变阶段。
首先是大时钟演变到小时钟、其次小时钟过渡到袋表、再之袋表发展到腕表。
2LED数码显示的秒表

三、设计内容
• 了解芯片的工作原理和工作方式,使用该芯片对LED数码 管进行显示控制,实现用单片机的端口控制数码管,显示 分、秒,并能用按钮实现秒表起动、停止、清零功能,精 确到1秒。
四、主电路设计
五、主程序流程图
六、秒表汇编程序
• • • • • • • • • • • • • • • • • • • • K_S BIT P1.0 Z_T BIT P1.1 Q_L BIT P1.2 F_W QU 34H ORG 00H SJMP START ORG 0BH LJMP INT_T0 START:MOV DPTR,#TABLE MOV SECOND,#0 MOV TCNT,#0 MOV TMOD,#01H SETB P1.0 SETB P1.1 SETB P1.2 SETB P1.3 JB K_S,$ MOV TH0,#3CH • • • • • • • • • • • • • • • • • • • MOV TL0,#0B0H MOV IE,#82H SETB TR0 A1: LCALL DISPLAY MOV A,SECOND CJNE A,#99,A1 CLEAR: MOV SECOND,#0 INT_T0: JNB Z_T,ZT NEXT: MOV TH0,#3CH MOV TL0,0B0H INC TCNT MOV A,TCNT CJNE A,#20,RETUNE INC SECOND MOV TCNT,#0 MOV A,SECOND CJNE A,#99,RETUNE MOV SECOND,#0 RETUNE:RET1
2位LED数码显示的秒表
组员:42912118 严磊 42912139 蔡则豹
秒表的设计
• • • • • 一、AT89C51单片机 二、设计题目和要求 三、设计内容 四、主电路设计 五、主程序流程图
LED显示及秒表计时器设计

LED秒表计时器实验实验目的:1、掌握QuartusII6.0等EDA工具软件的基本使用;2、熟悉VHDL硬件描述语言编程及其调试方法;3、学习用FPGA控制LED电路实现显示器设计。
实验内容:基于LED显示器可以进行电子表、秒表计时器、出租车计价器、频率计等复杂电路系统设计,本实验以秒表计时器为例,继续介绍Quartus编程环境以及VHDL语言与原理图混合编程应用。
仅给出设计思路和必要的程序,请大家参照LED译码器实验的步骤完成。
本秒表计时器用于体育竞赛及各种要求有较精确时的各领域。
此计时器是用VHDL语言描述的在FPGA上实现。
它具有开关、计时、时钟和显示功能。
计时器的设计功能:(1)精度应大于1/100s(2)计时器的最长计时时间为1小时,在一般的短时间计时应用中,1小时应该足够了。
为此需要一个6位显示器,显示最长时间为59分59.99秒。
(3)设置复位和启/停开关复位开关用来使计时器清0。
启/停开关的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。
复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时进程应立即终止,并对计时器清零。
整体设计方案:为了便于描述,将整个计时控制芯片分成4个子模块:分频器子模块(fpq),十进制计数器子模块(cnt10),六进制计数器子模块(cnt6),和译码显示子模块(decorder4_7),各模块之间信号连接关系的方框图如下:程序设计:各模块程序及生成的符号文件如下:1、分频器子模块fpq模块设计--本程序实现由4MHz晶振分频得到100Hz计数脉冲信号--分频数计算:4000000/100=40000library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fpq isgeneric(framlenr:integer:=40000);Port (clk:in std_logic;bclk:out std_logic);end fpq;architecture Behavioral of fpq isbeginprocess(clk)variable cnt:integer;beginif rising_edge(clk) thenif cnt>=framlenr then cnt:=0; bclk<='0';elsif cnt>=framlenr/2 then cnt:=cnt+1;bclk<='1';else cnt:=cnt+1; bclk<='0';end if;end if;end process;end Behavioral;生成的符号:2、十进制计数器子模块(cnt10).LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 ISPORT (reset,en,clk:IN STD_LOGIC;carry:OUT STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END CNT10;ARCHITECTURE rtl OF cnt10 ISSIGNAL qs :STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL ca :STD_LOGIC;BEGINPROCESS(clk)BEGINIF(clk'EVENT AND clk='1')THENIF(reset='1')THENqs<="0000";ELSIF(en='1') THENIF(qs="1001") THEN --计数到9qs<= "0000";ca<='0';ELSIF(qs="1000") THEN --计数到8qs<= qs+1;ca<='1';ELSE qs<= qs+1;ca<='0';END IF;END IF;END IF;END PROCESS;PROCESS(ca)BEGINq<=qs;carry<=ca AND en;END PROCESS;END rtl;生成的符号:仿真波形:1、六进制计数器子模块(cnt6)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt6 ISPORT (reset,en,clk:IN STD_LOGIC;carry :OUT STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END CNT6;ARCHITECTURE rtl OF cnt6 ISSIGNAL qs :STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL ca :STD_LOGIC;BEGINPROCESS(clk)BEGINIF(clk'EVENT AND clk='1')THENIF(reset='1')THENqs<="0000";ELSIF(en='1')THENIF(qs="0101") THENqs<= "0000";ca<='0';ELSIF(qs="0100") THENqs<= qs+1;ca<='1';ELSEqs<=qs+1;ca<='0';END IF;END IF;END IF;END PROCESS;PROCESS(ca,en)BEGINq<=qs;carry<=ca AND en;END PROCESS;END rtl;生成的符号:仿真波形:4、译码显示子模块(decorder4_7)参考实验一5、顶层文件设计完整的顶层原理图如图所示:按图完成电路设计,编译通过正确后,分配器件管脚,如下表格:分配完管脚信息,再次编译使之生效,最后下载程序到FPGA实验箱进行结果验证。
LED数码管显示电子秒表设计

设 计 工 作 量
1、汇编或 C51 语言程序设计; 2、在 Proteus 上进行仿真成功; 3、提交一份完整的课程设计说明书,包括封面,中文摘要,目录,正文(正 文主要包括:设计原理、程序设计、程序分析、仿真分析、调试过程,调试 结果等部分) ,参考文献、设计总结等。 起止日期(或时间量) 设计内容(或预期目标) 课题介绍,答疑,收集材料,C51 介绍 设计方案论证,练习编写 C51 程序 程序设计 程序调试、仿真 系统测试并编写设计说明书 备注
《单片机原理及应用》课程设计任务书 1
系(部):电信系 课题名称 1、课题内容: 设 计 内 容 及 要 求 设计一种基于 AT89S52 单片机的电子计时秒表,要求如下: (1) 、能正确显示时间,时钟由八位数码管显示,显示格式为: XX 分 XX 秒XX(十分之一、百分之一)秒。 (2) 、设置一个独立式按键,首次按键计时开始,再次按键暂停,第三 次按键清零。 2、要求: 完成该系统的硬件和软件的设计,在 Proteus 软件上仿真通过,并提 交一篇课程设计说明书。 设 计 工 作 量 1、汇编或 C51 语言程序设计; 2、程序调试; 3、在 Proteus 上进行仿真成功; 4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序 分析、仿真分析、调试过程,参考文献、设计总结等。 起止日期(或时间量) 第一天 进 度 安 排 第二天 第三天~第六天 第六天~第八天 第九天~第十天 设计内容(或预期目标) 课题介绍,答疑,收集材料,C51 介绍 设计方案论证,练习编写 C51 程序 程序设计 程序调试、仿真 系测试并编写设计说明书 备注 专业:2012 级电子信息工程 LED 数码管显示电子秒表设计
教研室 意见
年
月
日
LED数码管动态稳定秒表设计与制作

LED数码管
LED引脚
6.1.1 LED数码管结构
LED工作原理
从内部结构上看,LED 可分为共阳极和共阴极两种结构。
共阳极LED的8个LED 阳极连接在一起, 作 为公共控制端(com), 阴极作为“段”控制 端。当公共端为高电 平,某段控制端为低 电平时,这段对应的 LED导通并点亮。
共阴极LED的8个LED 阴极连接在一起, 作 为公共控制端(com), 阳极作为“段”控制 端。当公共端为低电 平,某段控制端为高 电平时,这段对应的 LED导通并点亮。
Y 1 0 0 1 0 0 0 1 91H 0 1 1 0 1 1 1 0 6EH
- 1 0 1 1 1 1 1 1 BFH 0 1 0 0 0 0 0 0 40H
. 0 1 1 1 1 1 1 1 7FH 1 0 0 0 0 0 0 0 80H
熄灭 1 1 1 1 1 1 1 1 FFH 0 0 0 0 0 0 0 0 00H
请阅读三段中断服务程序,并写出其功能
void int_0() interrupt 0 {
if(b==0){TR0=0;b=1;} else {TR0=1;b=0;} } void int_1() interrupt 2 { sec=0; msec=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; }
5 1 0 0 1 0 0 1 0 92H 0 1 1 0 1 1 0 1 6DH
6 1 0 0 0 0 0 1 0 82H 0 1 1 1 1 1 0 1 7DH
7 1 1 1 1 1 0 0 0 F8H 0 0 0 0 0 1 1 1 07H
8 1 0 0 0 0 0 0 0 80H 0 1 1 1 1 1 1 1 7FH
led上显示秒表程序

shi++;
if(shi==10) {
shi=0;
bai++;
if(bai==10)
{
bai=0;
qian++;
if(qian==10)
qian=0;
}}} }}
void displ() {
unsigned char i,j;
j=0x20;
for(i=0;i<6;i++) { /*display subprogrammer*/
outbit=0;
outseg=ledbuf[i];
outbit=j;
delay(1);
j>>=1;
}
outbit=0;
}
void main()
{
s1=1;
num=0;
TMOD=0x02; /*定时器方式2,自动重装载*/
TH0=0xce;
TL0=0xce; /*计数初值为206,定时时间为100us*/
sbit s1=P1^0; /*开始键与停止键*/
sbit s2=P1^1; /*清零键*/
unsigned char qian,bai,shi,ge; /*分辨率为0.01miao*/
unsigned char num;
unsigned int tt; /*累计100次为0.01秒*/
unsigned char ledbuf[6]; /*display buffer*/
{
TR0=0;
qian=0;
bai=0;
shi=0;
ge=0;
}
ledbuf[0]=0x00;
ledbuf[1]=0x00; /*一直循环*/
七段数码管显示秒表

沈阳工程学院课程设计摘要摘要本文提出了一个利用微机原理与接口技术完成秒表的设计方案,该方案主要是选择8254A的计数器0进行100ms的定时,其输出于OUT0与8259的IRQ7相连,当定时到100ms 的时候产生一个中断信号,在中断服务程序进行秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接七段数码管的段选信号,C口上面接键盘,通过键盘控制暂停计时、继续计时。
秒,毫秒的数值通过对8255的编程可以显示在七段数码管上面。
通过对一个基于微型计算机的能实现电子时钟的设计学习,详细介绍了微型计算机原理控制的应用中的数据转换显示,LED显示原理,微型计算机控制的定时中断原理。
从而达到学习、了解微机原理控制的相关指令在各方面的应用。
系统由8254、8255、8259等构成,能实现秒表显示的功能,能进行秒、毫秒的显示。
关键词:定时器8254A,并行通信接口芯片8255,七段数码管。
目录摘要 (I)第1章概述 (1)1.1 设计题目 (1)1.2 设计目的 (1)1.3 设备器材 (1)1.4 任务分析 (1)第2章设计原理 (3)2.1 设计原理 (3)2.2 元器件功能特性 (3)2.2.1 8255简介 (3)2.2.2 8259简介 (5)2.2.3 8254简介 (6)2.2.4 七段LED数码管及其接口 (8)第3章系统设计 (9)3.1 硬件设计 (9)3.2 软件设计 (9)第4章系统实现 (11)4.1 概述 (11)4.2 程序模块 (11)4.2.1 主程序模块 (11)4.2.2 显示模块 (12)4.2.3 小键盘模块 (13)4.2.4 定时模块 (13)4.2.5 中断处理模块 (14)第5章遇到的问题及解决方法 (15)5.1 遇到的问题 (15)5.2 解决的方法 (15)总结 (17)致谢 (18)参考文献 (19)附录 (20)A1.1 源程序代码 (20)第1章概述1.1 设计题目用七段LED数码管显示秒表1.2 设计目的《微型计算机原理及应用》是一门实践性较强的课程,让学生在学完该课程之后,进行一次课程设计,使学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2系统模块结构论证
1•单片机模块选择
方案一:选用飞思卡尔单片机,飞思卡尔单片机功能强大,但是价格相对 要高,而且对此不熟悉。
方案二:采用STC89系列单片机,其架构简单,相对熟悉,价格便宜,对 设计功能已经足够。焊接也是比较容易。
因此,选择方案二。
2.电源模块选择
方案一:采用交流220V/50HZ电源转换为直流5V电源作为电源模块。该 方案实施简单,电路搭建方便,可作为单片机开发常备电源使用。
方案二:采用干电池串并联到5V作为电源模块。该方案实施简单,无需搭 建电路,但相对方案不够稳定,电池消耗快,带负载后电圧降过高,可能无法使系 统稳定持续运行。
4.驱动模块选择:
方案一:用与非门逻辑电路作为驱动电路主要元件。
方案二:用PNP型三极管作为驱动电路主要元件。
与非门逻辑电路相对来说较为复杂,PNP三极管只有三个端口且价格也很便宜,因此 选择方案二。
3
3.1总体设计
利用单片机定时器/计数器中断设计秒表,从而实现秒的计•时。用两个数码管来 显示秒表数据。增加一个清零按钮,计时结束后可以清零。通过采用proteus仿真软 件来模拟实现。模拟利用AT89C52单片机、LED数码管以及控件来控制秒表的讣数 以及计数的开启/暂停/继续与复位。两位数码管用来显示数据,一位数码管显示个 位1~9,满十进一后显示十位的数码管的数字加一,并且个位显示清零重新从零计 数。汁秒数码管采用两位的数码管,当计数超过范RI是所有数码管全部清零重新汁 数。、
本设计包含有单片机最小系统模块、复位模块、放大器模块、LED数码管显示模块。
其中最小系统模块山STC89C32、电阻、电容和晶振电路等主要硬件组成。 复位模块由二极管、电阻和复位开关组成。
放大器模块由PNP三极管、电阻组成。
LED数码管显示模块山两位八段数码管组成。
3.2单片机运行的最小系统
最小系统模块III STC89C52.电阻、电容和晶振电路等主要硬件组成。
单片机课程设计说明书
用
专业电气工程及其自动化
学生姓名刘宝
班级B电气081
学号0810601114
指导教师张兰红
完成日期
1、概述1
2、课题方案设计1
2.1系统总体设计要求1
2.2系统模块结构论证1
3、系统硬件设计2
3.1总体设计2
3.2单片机运行的最小系统3
3.2.152单片机最小系统电路介绍3
3.2.2单片机的振荡电路与复位电路6
时间to
设置为计数器模式时,外部事件计数脉冲山TO或T1引脚输入到计•数器。在每个机 器周期的S5P2期间采样TO、T1引脚电平。当某周期釆样到一高电平输入,而下一 周期乂采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入讣数器。曲于检测一个从1到0的下降沿需要2个机器周期,因此要求被 采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超 过1/2MHZ,即计数脉冲的周期要大于2mso
附录5:基于单片机的秒表设计元器件目录表18
1
21世纪是一个电子技术和电子元件有更大发展的世纪。回顾百年来电子技术和 电子工业发展的成就,举世嘱目。作为一个电气专业的大学生,我们不但要有扎实 的基础知识、课本知识,还应该有较强的动手能力。现实也要求我们既精通电子技 术理论,更要掌握电子电路设计、实验研究和调试技术。课程设计就是一个理论联 系实际的机会。
3.52单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越 好,晶振离单片机越近越好
4.P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。
设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个 振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时
方案三:采用USB接口电源,该方案简单方便,可以直接和电脑的USB接 口相连。电脑的USB接口属于接口电源,要并联耦合电容进行缓冲。
因此,选择的是方案三。
3.显示模块选择:
方案一:采用8段LED数码管作为显示模块核心。
方案二:采用LCD液晶显示器作为显示模块核心。
LED数码管节能环保,显示直观。因此选择方案一。
本次设讣主要完成具备基本功能的电子秒表的理论设讣,电子秒表是重要的记时工 具,广泛运用于各行各业中。作为一种测量工具,电子秒表相对其它一般的记时工 具具有便捷、准确、可比性高等优点,不仅可以提高精确度,而且可以大大减轻操 作人员的负担,降低错误率。
在设计中应用到数码管,数码管主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。特别适合应用于广告牌背景、立交 桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。用 护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。事实证明,它已 经成为照明产品中的一只奇葩,绽放在动感都市。
3.3数码管介绍8
3.4驱动电路8
4、软硬件联调及调试结果9
4.1软硬件调试中出现的问题及解决措施9
4.2实物图11
4.3调试结果12
5、结束语12
参考文献13
附录14
附录1:基于单片机的秒表设计原理图14
附录2:基于单片机的秒表设计PCB图15
附录3:PROTEUS仿真图15
附录4:基于单片机的秒表设计C语言程序清单16
3. 2.152单片机最小系统电路介绍
1.52单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时 间,一般采用10〜30uF,52单片机最小系统容值越大需要的复位时间越短。
2.52单片机最小系统晶振Y1也可以采用11.0592MHz,在正常工作的悄况下可以 采用更高频率的晶振,52单片机最小系统晶振的振荡频率直接影响单片机的处理速 度,频率越大处理速度越快。
软硬件设计是设计中不可缺少的,为了满足功能和指标的要求,资源分配如下:
晶振采用11. 0592MZ的外部晶振频率
内存分配:
P0口与数码管个位和十位数据输入端相连,控制其段选信号,输出1~9不同 字型。
P3口的P3.1、P3.2分别与秒表个位和十位数码管位选连接,控制秒表的汁数 以及计数的开启/暂停/继续与复位清零。