单片机秒表设计报告
单片机时钟秒表课程设计报告
单片机的时钟设计小组成员:班级:课程老师:目录一、硬件结构 (3)1硬件原理 (3)1 89C52 (3)1.1硬件原理 (3)1.2 主要功能特性 (3)1.3 管脚说明 (4)1.4振荡器特性 (5)1.5结构特点 (5)2、数码管 (6)2.1数码管分类 (6)2.2数码管结构 (7)2.3驱动方式 (8)3、排阻 (9)3.1排阻的作用 (9)3.2排阻引脚说明 (9)4、晶振 (10)4.1晶振构成 (10)4.2工作原理 (11)4.3功能作用 (11)二、软件结构概述 (12)1、显示子程序 (12)2、键盘扫描子程序 (13)3、中断程序 (16)4、流程图 (18)三、调试过程 (20)四、心得体会 (22)五、参考文献 (23)六、硬件电路图 (23)七、程序清单 (25)一、硬件结构概述1、89C521.1硬件原理89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。
它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。
89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。
1.2 主要功能特性·标准MCS-51内核和指令系统· 32个双向I/O口· 3个16位可编程定时/计数器·向上或向下定时计数器· 6个中断源·全双工串行通信口·空闲和掉电节省模式·片内8kROM(可扩充64kB外部存储器)· 256x8bit内部RAM(可扩充64kB外部存储器)·时钟频率3.5-12/24/33MHz·改进型快速编程脉冲算法· 5.0V工作电压·布尔处理器· 4层优先级中断结构·兼容TTL和CMOS逻辑电平· PDIP(40)和PLCC(44)封装形式·—帧错误侦测·—自动地址识别1.3 管脚说明VCC:供电电压。
实训1:单片机秒表设计
单片机秒表设计(论文)题目名称:单片机秒表设计专业班级:学号:学生姓名:指导教师:2011年 6月 15日一、单片机的功能单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器 RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
MCS-51系列单片机,其主要功能如下:·8位CPU·4kbytes 程序存储器(ROM)·128bytes的数据存储器(RAM)·32条I/O口线·111条指令,大部分为单字节指令·21个专用寄存器·2个可编程定时/计数器·5个中断源,2个优先级·一个全双工串行通信口·外部数据存储器寻址空间为64kB·逻辑操作位寻址功能·双列直插40PinDIP封装·单一+5V电源供电40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。
⒈ 电源:⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。
但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。
⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
⒊ 控制线:控制线共有4根,⑴ ALE/PR OG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
单片机课程设计_基于单片机的数字秒表设计
单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。
本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。
一、设计要求1、能够实现秒表的启动、暂停、复位功能。
2、计时精度达到 001 秒。
3、能够通过数码管显示计时结果。
二、系统方案设计1、硬件设计单片机选型:选用常见的 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
显示模块:采用 8 位共阴极数码管作为显示器件,通过动态扫描的方式实现数字的显示。
按键模块:设置三个独立按键,分别用于启动、暂停和复位操作。
时钟模块:使用单片机内部的定时器/计数器产生精确的时钟信号,实现计时功能。
2、软件设计主程序:负责系统的初始化、按键扫描和计时处理等。
中断服务程序:利用定时器中断实现 001 秒的定时,更新计时数据。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振频率选择 12MHz,为单片机提供时钟信号。
复位电路采用上电复位和手动复位相结合的方式,确保系统能够可靠复位。
2、显示电路将 8 位数码管的段选引脚通过限流电阻连接到单片机的 P0 口,位选引脚通过三极管连接到单片机的 P2 口。
通过动态扫描的方式,依次点亮每个数码管,实现数字的显示。
3、按键电路三个按键分别连接到单片机的 P10、P11 和 P12 引脚,采用低电平有效。
当按键按下时,相应引脚的电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。
四、软件程序设计1、主程序流程系统初始化后,进入主循环。
在主循环中,不断扫描按键状态,如果检测到启动按键按下,则启动计时;如果检测到暂停按键按下,则暂停计时;如果检测到复位按键按下,则将计时数据清零。
单片机时钟秒表课程设计报告
单片机的时钟设计小组成员:班级:课程老师:目录一、硬件结构 (3)1硬件原理 (3)1 89C52 (3)1.1硬件原理 (3)1.2 主要功能特性 (3)1.3 管脚说明 (4)1.4振荡器特性 (5)1.5结构特点 (5)2、数码管 (6)2.1数码管分类 (6)2.2数码管结构 (7)2.3驱动方式 (8)3、排阻 (9)3.1排阻的作用 (9)3.2排阻引脚说明 (9)4、晶振 (10)4.1晶振构成 (10)4.2工作原理 (11)4.3功能作用 (11)二、软件结构概述 (12)1、显示子程序 (12)2、键盘扫描子程序 (13)3、中断程序 (16)4、流程图 (18)三、调试过程 (20)四、心得体会 (22)五、参考文献 (23)六、硬件电路图 (23)七、程序清单 (25)一、硬件结构概述1、89C521.1硬件原理89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。
它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。
89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。
1.2 主要功能特性·标准MCS-51内核和指令系统· 32个双向I/O口· 3个16位可编程定时/计数器·向上或向下定时计数器· 6个中断源·全双工串行通信口·空闲和掉电节省模式·片内8kROM(可扩充64kB外部存储器)· 256x8bit内部RAM(可扩充64kB外部存储器)·时钟频率3.5-12/24/33MHz·改进型快速编程脉冲算法· 5.0V工作电压·布尔处理器· 4层优先级中断结构·兼容TTL和CMOS逻辑电平· PDIP(40)和PLCC(44)封装形式·—帧错误侦测·—自动地址识别1.3 管脚说明VCC:供电电压。
单片机0-99计数器 秒表报告
姓名班级指导老师时间信息工程学院图1 硬件电路连接图(二)显示电路两位数码管循环显示00~99电路数码管只要就是用于数字得显示.数码管有共阴与共阳得区分,单片机都可以进行驱动,但就是驱动得方法却不同。
两位数码管循环电路就是由电阻、二极管与数码管组成,电源+5V通过560得电阻直接给数码管得7个段位供电,P0、0—P0、7对应了两个接数码管得A,B,C,D,E,F,G与小数点位,P2、6接显示个位数得数码管得3、8引角,P2、7则接十位数得。
P2、6与P2、7端口分别控制数码管得十位与个位得供电,当相应得端口变成低电平时,驱动相应得三极管会导通,+5V通过二极管与驱动三极管给数码管相应得位供电,这时只要P0口送出数字得显示代码,数码管就能正常显示需要得数字。
图2 十位显示动态数码管(共阳数码管)图3 个位显示静态数码管(共阴数码管)(三)时钟电路时钟电路得晶振频率越高,系统得时钟频率越高,单片机得运行速度也越快。
晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中得电容应选择为30pF左右。
图4 时钟电路(四)复位电路MCS—51单片机得复位就是靠外部电路实现得。
MCS—51单片机工作之后,只要在她得RST引线上加载10ms以上得高点平,单片机就能有效地复位。
MCS-51单片机通常采用上电自动复位与按键复位两种方式。
最简单得复位电路如图5:图5 复位电路上电瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上得高电平,就能使单if(i++==100)//如果i=0{i=0;count++;P0=CODE[count/10];P2=~CODE[count%10];if(count==99)count=0; //如果到了99,则重新从0开始计数}}结果与分析(可以加页):(一)调试结果1.初始状态图7:初始状态结果图2.开始计时后按下按键暂停图8:中间状态图示(二)问题分析及解决措施1、一开始时没有分清楚数码管就是共阴数码管还就是共阳数码管,C语言程序中默认数码管就是共阴,所以两个P接口得值都就是按照共阴去写得,导致数码管选段及位显有问题,后来经过老师得指点,将共阳数码管P2得接口改成了共阴。
单片机秒表课程设计报告
一:课程设计题目秒表/时钟计时器二:课程设计任务与要求:利用89C51单片机设计秒表/时钟计时器,通过LED显示器显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,重新开始秒计数。
三:设计过程:1.设计原理:此次课程设计题目是秒表/时钟计时器,由课程设计的要求和任务,我采用的C语言编程,设计秒表要求一秒定时,采用了定时器和FOR 循环来定时,其中一个软件一个硬件,会在方案论证中分析在1秒时采用的是硬件定时,即用单片机内部的定时器T0。
先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。
然后由定义的变量second来进行加一运算,然后将其值通过P1,P2口在数码管上进行显示。
其中数码管的显示时,我在程序中首先定义了一个关于数码管显示的字形码定义,以便在显示时调用即可。
(1)方案论证:方案1:在方案1中,我们所选用的是软件定时,即用for循环来定时1秒进行显示的变化。
方案2:在方案2中,采用的是硬件定时,即用单片机内部的定时器T0。
先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。
方案比较:我们从两方面进行两种方案的比较,第一,由于此次课程设计要求是秒表,则在定时时要求比较精确,所以采用硬件的定时器定时时比较准确的。
第二,由于秒表的定时程序是很小的,在利用软件定时占用的CPU并不是很多,不能显现出来,但真正大程序时会很占用资源的,所以在用定时中断过程中是非常节省资源的。
综合上述两种比较,我们选用了第二种方案。
(2)创新点:a.在课程要求的基础上,我们做成的电路板上,用复位键来控制秒表计时的重新开始,即清零。
b.在以上设计的基础上,我们又重新设计了一个程序,基本原理没有变,只是将秒表在到达59清零的瞬间向分的位数上进1,程序将会在附录3中给出。
2.硬件系统框图与说明:首先,连接的是单片机51的最小系统,其中包括时钟电路,复位电路,在此中包括的元器件在附录3中。
单片机秒表设计课程设计报告范文2
单片机秒表设计课程设计报告范文2基于52单片机的简易秒表课程设计摘要自20世纪70年代单片微型计算机(简称单片机)诞生以来,单片机以其功能强、体积小、质量轻、价格低、可靠性高、可塑性好等优点得到了广泛的应用,成为目前世界上数量最多的计算机和工程师们开发嵌入式应用系统和小型智能化产品的首选控制器。
一.设计任务及要求1、题目基于51单片机的简易秒表课程设计2、基本要求1)使用51系列单片机作为主控芯片构建最小系统,熟练掌握晶振与复位电路;2)用LED数码管来显示倒计时;3)用按键来实现起动与停止等功能;4)设计一完整电路,要求应用Protue软件进行仿真验证,并要求焊接实物后进行功能调试。
3、设计目的1)掌握单片机的接口技术及外围芯片的工作原理及控制方法;2)进一步掌握单片机程序编写及调试过程,掌握模块化程序设计方法;3)掌握LED数码管的工作原理;4)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解;4)掌握定时器、外部中断的设置和编程原理;5)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
4、设计任务1)用STC89C52RC单片机的定时器/计数器定时和计数的原理,通过proteu仿真软件模拟设计一个2位LED数码显示“秒表”,显示时间为00-99秒,每秒自动加一或减一。
2)另设计一个“开始(正计数)”按键和一个“倒计数”按键,再增加一个“暂停”按键。
按键说明:按“开始”按键,开始正计数,数码管显示从00开始,每秒自动加一;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“倒计数”按键,系统在原先的计数上自动减一秒。
按“总开关”按键,结束计数;再按一下,系统清零,数码管显示00。
二、总体方案设计1、硬件方案设计1)时钟电路模块时钟电路由一个晶体振荡器12MHZ和两个22pF的瓷片电容组成。
引线某TAL1和某TAL2分别是放大器的输入端和输出端。
基于某单片机的秒表设计
基于某单片机的秒表设计一、设计要求与方案选择(一)设计要求1、能够精确到 001 秒的计时精度。
2、具备启动、暂停、复位等基本功能。
3、能够通过数码管或液晶显示屏显示计时结果。
(二)方案选择在单片机的选择上,考虑到成本、性能和易用性等因素,我们选用了_____单片机。
该单片机具有丰富的资源和良好的稳定性,能够满足秒表设计的需求。
对于计时方式,采用内部定时器中断来实现精确计时。
通过设置合适的定时器初值和中断时间间隔,可以达到 001 秒的计时精度。
在显示方案上,经过比较数码管和液晶显示屏的优缺点,最终决定使用_____液晶显示屏。
它具有显示内容丰富、功耗低、可视角度大等优点,能够清晰地显示秒表的计时结果。
二、硬件设计(一)单片机最小系统单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供稳定的时钟信号,复位电路用于系统的初始化和异常情况下的恢复。
(二)按键电路为了实现秒表的启动、暂停和复位功能,设计了三个独立按键。
通过检测按键的按下状态,将相应的信号传递给单片机进行处理。
(三)显示电路选用的液晶显示屏通过数据总线和控制总线与单片机相连。
单片机通过向显示屏发送指令和数据,实现计时结果的显示。
(四)电源电路为整个系统提供稳定的电源供应,确保系统正常工作。
三、软件设计(一)主程序流程主程序首先进行系统初始化,包括单片机内部资源的配置、液晶显示屏的初始化等。
然后进入一个无限循环,在循环中不断检测按键状态,并根据按键操作执行相应的功能,如启动计时、暂停计时、复位计时等。
(二)定时器中断服务程序定时器中断服务程序用于实现精确计时。
在中断服务程序中,对计时变量进行累加,当计时达到 1 秒时,将秒数加 1,并对毫秒数进行清零,从而实现秒表的计时功能。
(三)按键处理程序按键处理程序通过检测按键的按下和释放状态,判断用户的操作意图,并将相应的标志位置位或清零,以供主程序进行处理。
(四)显示程序显示程序负责将计时结果转换为相应的字符,并发送到液晶显示屏进行显示。
单片机秒表设计实验报告(1)
本科学生设计性实验报告学号姓名学院物理与电子专业、班级实验课程名称简易秒表设计教师及职称开课学期2013 至2014 学年下学期填报时间2014 年 6 月 5 日云南师范大学教务处编印摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。
本次设计内容为以 89C51 单片机为核心的秒表,它采用键盘输入,单片机技术控制。
设计内容以硬件电路设计,软件设计和PCB 板制作三部分来设计。
利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。
将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。
共阳极,共阴极数码管的字符码表2 程序设计此次选用C51来编程,首先要有初始化程序,通过初始化程序,将对主程序所用到的变量、常量以及各个参数和所调用的子函数定义,其次还有显示程序、按键扫描及处理程序、时钟程序。
//返回值:无void delay(unsigned char i) //延时函数,无符号字符型变量i为形式参数{unsigned char j,k; //定义无符号字符型变量j和kfor(k=0;k<i;k++) //双重for循环语句实现软件延时for(j=0;j<255;j++);}3.仿真图如下4.实验设备及材料(1)装有keil软件、下载软件和Proteus仿真软件的电脑一台。
(2)单片机开发板一块。
5.实验方法步骤及注意事项(1)根据题目要求画出流程图,对实验有总体概念;(2)程序的设计;(3)通过仿真图来测试、修改、优化程序;(4)设计电路板,做出实物图;(5)总结分析实验过程中出现的问题,在以后的实验中该如何避免类似的问题在发生,该实验还有那些可以优化的地方。
6.参考文献[1]王东锋陈园园郭向阳,单片机C语言应用100例,电子工业出版社[2]胡汉才.单片机及其接口技术.北京:清华大学出版社,2000。
单片机秒表实验报告(一)
单片机秒表实验报告(一)单片机秒表实验报告实验目的通过本次实验,掌握单片机外部中断的使用方法,并实现一个简单的秒表功能。
实验材料•STC89C52单片机开发板•12864液晶屏•面包板、杜邦线若干•USB转串口模块及数据线•电脑实验原理本次实验的主要原理是单片机外部中断。
当按下按键时,引脚的电平会发生变化,从而触发外部中断。
单片机在中断服务程序中可以对计数器进行增加或减少等操作,从而实现秒表的功能。
实验步骤1.将按键连接至单片机的外部中断引脚(如P3.2)。
2.在程序中配置外部中断,使单片机可以正确响应按键。
3.编写程序,在中断服务程序中对计数器进行增加或减少,并将计数值显示在LCD液晶屏上。
程序设计#include <reg52.h>sbit sw = P3 ^2;// 定义按键接口sbit rs = P0 ^0;sbit rw = P0 ^1;sbit en = P0 ^2;void delay(unsigned int i){while(i--);}void write_command(unsigned char tt){P2 = tt;rs =0;rw =0;en =1;delay(5);en =0;delay(100);}void write_data(unsigned char tt){P2 = tt;rs =1;rw =0;en =1;delay(5);en =0;delay(100);}void init(){write_command(0x38);// 8位数据口,双行显示,5x7字符 write_command(0x0c);// 关闭光标显示write_command(0x06);// 清屏后光标移动方向设为右write_command(0x01);// 显示开启}void display(unsigned int num){unsigned int i, j, k;i = num /100;j = num %100/10;k = num %10;write_command(0x80);write_data(i +'0');write_data(j +'0');write_data(k +'0');}void main(){unsigned int num =0;init();display(num);IE =0x88;// 打开中断允许while(1){}}void int0() interrupt 0{if(sw ==0){delay(100);if(sw ==0){num ++;display(num);}while(!sw);}}实验结果经过调试,成功实现了秒表实验功能。
单片机秒表实验报告
单片机秒表实验报告实验目的:本实验旨在通过使用单片机搭建一个简单的秒表,掌握单片机的基本输入输出方法和定时器的使用,提高对单片机的编程能力。
实验器材:1. STC89C52单片机开发板2. 4位共阳数码管3. 74HC595移位寄存器4. 按钮开关5. 连接线实验原理:秒表是一种测量时间的工具,通常用于计时。
在本实验中,我们将使用单片机来实现一个简单的秒表功能。
通过使用定时器中断,每隔一定的时间更新数码管上显示的时间,实现秒表的计时功能。
同时,通过按下按钮开关,可以控制秒表的启动、暂停和复位。
实验步骤:1. 将STC89C52单片机开发板与4位共阳数码管、74HC595移位寄存器和按钮开关连接。
2. 将开发板上的相应引脚与数码管和移位寄存器的引脚连接,确保连接正确。
3. 在单片机的主函数中初始化定时器和外部中断,并设置定时器的中断时间为1秒。
4. 在定时器中断函数中,每隔1秒更新数码管上的显示时间。
可以使用循环方式实现时间的累加和更新。
5. 在外部中断函数中,根据按钮开关的状态,实现秒表的启动、暂停和复位功能。
6. 编译、下载程序到单片机开发板,并将开发板上电。
7. 按下按钮开关开始计时,再次按下暂停计时,再次按下继续计时,再次按下复位计时。
8. 观察数码管上显示的时间是否正确,并测试秒表功能是否正常。
实验结果:经过测试,本实验搭建的单片机秒表功能正常,能够准确计时,并可以通过按钮开关实现启动、暂停和复位功能。
结论:通过本实验,我们成功地使用单片机搭建了一个简单的秒表,并实现了基本的计时功能。
同时,通过掌握单片机的定时器和外部中断的使用,我们提高了对单片机的编程能力。
这对于进一步深入学习和应用单片机具有重要的意义。
单片机秒表实验报告
单片机秒表实验报告单片机秒表实验报告引言在现代科技快速发展的时代背景下,单片机作为一种重要的电子元器件,被广泛应用于各个领域。
秒表作为测量时间的工具,在运动、实验、比赛等场景中起到了至关重要的作用。
本实验旨在通过使用单片机设计和制作一个简单的秒表,探索单片机在时间测量方面的应用。
实验原理秒表的原理基于计时器的工作原理。
计时器通过内部的计数器来记录时间,当计数器达到设定值时,会触发中断,从而实现时间的测量和显示。
在本实验中,我们使用8051系列单片机,通过编程设置计数器的初始值和中断触发条件,实现秒表的功能。
实验步骤1. 硬件设计首先,我们需要准备一个适当的电路板,用于连接单片机、显示器和按键等元件。
在电路板上,我们将单片机与显示器和按键进行连接,以实现数据的输入和输出。
同时,我们需要添加一个晶振电路,以提供单片机的时钟信号。
2. 软件设计在软件设计方面,我们需要使用汇编语言或C语言来编写单片机的程序。
程序的主要功能包括初始化、计时、显示和中断处理等。
在初始化阶段,我们需要设置计数器的初始值和中断触发条件。
在计时阶段,我们需要不断地读取计数器的值,并将其转换为秒、分、时等形式进行显示。
同时,我们还需要编写中断处理函数,以响应中断并更新计时器的值。
3. 实验验证在完成硬件和软件设计后,我们可以进行实验验证。
首先,我们将电路板连接到电源,并确保电路正常工作。
然后,我们可以通过按下按键来启动和停止秒表。
在启动状态下,秒表会不断地更新显示,并实时计算经过的时间。
在停止状态下,秒表会保持显示当前的时间。
实验结果经过实验验证,我们成功地设计和制作了一个简单的秒表。
秒表能够准确地测量时间,并将其以易于理解的形式进行显示。
同时,秒表还具备启动和停止功能,方便用户根据需要进行时间测量。
实验总结通过本次实验,我们深入了解了单片机在时间测量方面的应用。
通过合理的硬件设计和编程,我们成功地实现了一个简单而实用的秒表。
在实验过程中,我们不仅学习了单片机的工作原理和编程技巧,还培养了动手实践和解决问题的能力。
基于单片机的秒表设计
基于单片机的秒表设计一、设计需求分析在设计基于单片机的秒表之前,首先需要明确其功能和性能需求。
一般来说,秒表应具备以下基本功能:1、计时功能:能够精确地测量时间,最小计时单位通常为毫秒。
2、启动/停止功能:用户可以通过按键控制秒表的启动和停止。
3、复位功能:将秒表的计时数据清零,以便重新开始计时。
4、显示功能:能够清晰地显示计时结果,通常采用数码管或液晶显示屏。
此外,为了提高用户体验,还可以考虑增加一些扩展功能,如记录多个计时数据、设置计时上限、具备暂停功能等。
二、硬件设计1、单片机选型在选择单片机时,需要考虑其性能、资源和成本等因素。
常见的单片机如 STM32、Arduino 等都可以满足秒表的设计需求。
以 STM32 为例,其具有丰富的定时器资源和高速的处理能力,能够实现高精度的计时。
2、计时模块计时功能的实现通常依靠单片机内部的定时器。
通过设置定时器的工作模式和计数周期,可以精确地测量时间间隔。
例如,使用 STM32的通用定时器,设置为向上计数模式,并根据系统时钟频率和预分频系数计算出定时器的溢出时间,从而实现毫秒级的计时。
3、按键输入模块为了实现秒表的启动、停止和复位操作,需要设计按键输入电路。
可以使用普通的机械按键或触摸按键,将按键的信号连接到单片机的GPIO 引脚,并通过编程检测引脚的电平变化来响应按键操作。
4、显示模块显示模块用于将计时结果直观地展示给用户。
常见的显示方式有数码管显示和液晶显示屏显示。
数码管显示简单直观,但显示内容有限;液晶显示屏则可以显示更多的信息,并且具有更好的可读性。
在选择显示模块时,需要根据实际需求和成本进行综合考虑。
5、电源模块为整个系统提供稳定的电源是保证秒表正常工作的关键。
可以使用电池供电或通过 USB 接口连接外部电源。
在设计电源模块时,需要考虑电源的电压、电流和稳定性等因素。
三、软件设计1、主程序流程主程序主要负责初始化各个模块、检测按键操作和处理计时数据。
单片机秒表设计课程设计报告
单片机课程设计报告设计课题:秒表设计目录一、课程设计目的和意义和主要功能1、目的意义2、主要功能二、方案设计与论证1、时钟电路2、按钮电路3、显示电路4、单片机三、硬件电路设计1、STC89C52RC单片机的简单介绍2、接口电路3、硬件连线图四、软件设计:数字秒表流程图、数字秒表源程序五、性能分析六、结论和心得附件(源程序)电子秒表设计摘要:本次设计主要是用STC89C52RC设计一个2位的数码作为“秒表”。
主要是利用单片机的定时器/计数器定时和计数原理来设计简单的计时器系统,拥有正确的启动停止、时间调整,启动停止清零通过键盘按键控制,并同时可以用数码管显示数字0-59,每秒自动加1,能正确地进行计时。
其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,延时程序等,并在keil中调试运行,硬件系统利用单片机开发板能来实现,简单且易于观察,在现实生活中应用广泛,具有现实意义。
关键字:单片机定时器启动停止时间调整数码管键盘一、课程设计目的和意义和主要功能1、目的意义1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
2、掌握定时器、外部中断的设置和编程原理。
3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
2、主要功能显示时间为0-59秒,每1秒自动加1,另外设计一个“启动/停止”键、一个“时间调整”键。
能用按钮实现秒表启动、停止、时间调整。
二、方案设计与论证1、方案设计本设计要求进行计时并在数码管上显示时间,分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。
其模块电路如图2-1所示。
(1)、时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。
时钟电路如图所示,时钟电路的晶振频率越高,系统的时钟频率越高,单片机的运行速度也就越快。
晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中的电容C1、C2选择为30pF左右。
秒表设计报告
实验设计报告题目:专业:姓名:目录一、绪论 (3)二、课程设计任务与要求 (3)三、实验设计所需硬件 (4)四、实验设计原理图 (4)五、汇编实验程序 (5)六、实物图照片 (8)参考文献 (9)单片机秒表实验报告一、绪论秒表计时器是电器制造,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、延时器、定时器等的时间测试。
在现在的体育竞技比赛中,随着运动员的水平不断提高,差距也在不断缩小。
有些运动对时间精度的要求也越来越高,有时比赛冠亚军之间的差距只有几毫秒,因此就需要高精度的秒表来记录成绩。
二、课程设计任务与要求(1)让一只LED灯自由闪烁(即间歇式亮灭)。
(2)让数码管的低两位显示一个两位数50。
(3)使用一按键控制上述数字的加1,每按一下数字加1,当加到59时,再按一下,则从0开始,即在0到59循环加。
(4)使用另一按键控制上述数字的减1,每按一下数字减1,当减到0时,再按一下,则从59开始,即在0到59循环减。
(5)做一顺时计时秒表,以一秒为单位计时,分和秒之间用一小数点作间隔(6)用一个按键控制该计时秒表的暂停与继续,另一个按键使秒表复位(即数码管归位到0)。
(7)能用按键设定某一时刻,当计时到达这一时刻时,LED灯闪烁,且秒表停止变为0。
三、实验设计所需硬件6 脚自锁式开关1 个STC89C52 1 个74HC573H 1 个20 脚芯片座子1 个MAX232 1 个16 脚芯片座子1 个9 针串口公头1 个晶振12M 1 个电解电容10uF 6 个瓷片电容30pF 2 个共阴数码管 1 个40 脚芯片座子1 个按键 5 个电阻10k欧 2 个电阻500欧 1 个四、实验设计原理图五、汇编实验程序#include<reg52.h>#define uchar unsigned charcode uchar tab[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管0-9 uchar miao,num=51,count,smg,m ,mshi,mge,fshi ,fge;sbit key1 = P1^4; //控制秒钟加sbit key2 = P1^5; //控制秒钟减sbit key3 = P1^6; //控制按键切换sbit key4 = P1^7; //控制分钟加减sbit led = P2^0; //控制LED等闪烁sbit P1_0 = P1^0; //控制第一位数码管sbit P1_1 = P1^1; //控制第二位数码管sbit P1_2 = P1^2; //控制第三位数码管sbit P1_3 = P1^3; //控制第四位数码管void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时ms.{ //delay(500);大约延时ms.uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}EA = 1;TMOD= 0X11;TH0 = 0X3C;TL0 = 0XB0;TH1 = 0X3C;TL1 = 0XB0;ET0 = 1;TR0 = 1;ET1 = 1;void TIME0() interrupt 1{TH0=(65535-50000)/255;TL0=(65535-50000)%255;count++;if(count==20){ count=0;num++;}if(num==60)num=0;}void display(uchar num) {P1=0xff;P1_2=0;P0=tab[num%10];delay(1);P1=0xff;P1_1=0;P0=tab[num/10];delay(1);P1=0xff;}void keyscanf(){if(key1==0){delay(20);if(key1==0);{num++;if(num==59)num=0;while(!key1);}}if(key2==0){delay(20);if(key2==0);{num--;if(num==-1)num=59;while(!key2);}}if(key3==0){delay(20);if(key3==0);{ss++;if(ss%2==1)TR0=1;elseTR0=0;while(!key3);}}if(key4==0){delay(20);if(key4==0);num=0;while(!key4);}}void stopwatch(){TR1 = 1;if(m == 20){m = 0;smg++;if(smg == 60){smg = 0;num++;if(num == 60)num = 0;}mshi = smg/10;mge = smg%10;fshi = num/10;fge = num%10;}}void main(){TIME0init();while(1){keyscanf();display(num);}}六、实物图照片参考文献[1]张毅刚主编.《单片机原理及应用》.高教出版社.2003[2] 严洁主编,《单片机原理及其接口技术》机械工业出版社.2010[3] 申忠如主编,《MCS-51单片机原理及系统设计》西安交通大学出版社.2008。
单片机00.0~59.9秒表设计
目录1实验设计的目的和任务1.1 单片机秒表实验的概述1.2系统设计思路及描述1.3 系统设计任务和要求2软件与硬件设计2.1系统硬件方案设计2.2软件方案设计3 程序流程及实验效果3.1源程序及说明3.2原理图分析3.3实验效果1. 实验设计的目的和任务1.1单片机秒表实验的概述一、实验题目秒表系统设计——用STC89C52RC设计一个3位LED数码显示“秒表”,显示时间为00.0~59.9秒,每毫秒自动加一,每十毫秒自动加一秒。
二、增加功能增加一个“复位00.0”按键(即清零),一个“暂停”和“开始”按键,一个“复位60.0”按键(用来60秒倒计时),一个倒计时“逐渐自减”按键。
三,实验难点单片机电子秒表需要解决三个主要问题,一是有关单片机定时器(一个控制顺序计时,一个控制倒计时)的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程。
四、实验内容提要本实验利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED 数码管以及实验板上的按键来设计计时器。
将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。
其中本实验设计了四个开关按键:其中key2按键按下去时开始计时,即秒表开始键(同时也用作暂停键),key1按键按下去时数码管清零,复位为“00.0”,key3按键按下去时数码管复位为“60.0”(用于倒计时),key4按键按下去则是数码管开始“逐渐自减”倒计时。
实验的意义1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
2)掌握定时器、外部中断的设置和编程原理。
3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义实验仪器集成电路芯片8051,七段数码管,51hei单片机开发板,MCS-51系列单片机微机仿真实验系统中的软件(Keil uvision2)1.2系统设计思路及描述该实验要求进行计时并在数码管上显示时间,则可利用MCS-51系列单片机的芯片AT89C52的P3.4,P3.5,P3.6,P3.7作为按键的入口;定时器T0作为每0.1秒减一的定时器;定时器T1作为每0.1秒加一的定时器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广西科技大学单片机课程设计说明书课题名称单片机秒表系统的设计系别职业技术教育学院专业电子信息工程班级电子Z112姓名(学号)红头巾组合指导教师廖贵成摘要近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。
本文阐述了基于单片机的电子秒表设计。
本设计主要特点是计时精度达到0.1s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。
本设计是基于AT89C51单片机设计的,我们是分为几个模块来设计的。
首先对秒表的硬件进行了设计,它包括时钟电路设计、复位电路设计以及外部显示电路。
利用89C51单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。
计时精度为0.1s。
其次是软件进行了设计,软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等。
最后通过仿真调试,在proteus环境下建立了仿真模型,仿真和调试结果表明本设计是正确的。
关键词:单片机;秒表;系统设计目录摘要 (I)1 课题内容要求及目的 (1)1.1课题内容 (1)1.2课题要求 (1)1.3 课题目的 (2)2 硬件设计 (2)2.1 AT89C51单片机简介 (2)2.2设计思路 (3)2.3硬件电路设计 (3)3软件设计 (6)3.1程序设计 (6)3.2源程序 (7)4系统调试与仿真 (11)4.1 proteus简介 (12)4.2仿真调试 (12)5总结 (15)参考文献 (16)致谢 (16)1 课题内容要求及目的1.1课题内容用AT89C51设计一个秒表,该秒表课可显示0.0~9分59.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。
综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。
通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握。
本系统利用单片机的定时器/计数器定时和记数的原理,通过采用proteus仿真软件来模拟实现。
模拟利用AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计位!其中有三位数码管用来显示数据,显示分一位和秒(两位)和十分之一秒,十分之一秒的数码管计数从0~9,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。
计秒数码管采用四位的数码管,当计数超过范围是所有数码管全部清零重新计数。
1.2课题要求本课题是基于单片机的秒表系统设计,它的具体要求有以下几点:1.实物参见下图,设计一个精度为0.1s的秒表系统2.设计,启动按钮、暂停按钮及清零按钮3*.设计每到一秒钟有声音提醒功能,可通过按钮打开及关闭该提醒音1.3课题目的通过课程设计,进一步熟悉和掌握AT89C51单片机的结构及工作原理,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。
通过完成一个包括电路设计和程序开发的完整过程,进一步了解开发一单片机应用系统的全过程,通过此综合训练,为以后毕业设计打下一定的基础。
(1)通过本次课程设计加深对单片机课程的全面认识。
(2)掌握定时器、外部中断的设置和编程。
(3)该实验通过单片机的软件延时设计,设计简单的计时器系统,能正确的计时。
(4)通过本次课程设计能够对程序进行编辑,校验。
2.硬件设计2.1 AT89C51单片机简介AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与89C51引脚和指令系统完全兼容。
引脚分别如图2.1所示。
图2.1 单片机引脚分布图图2.1所示的单片机是引脚双列直插封装方式,电源引脚40脚与接地脚20。
P0口作输入口使用时,应先向口锁存器写入1。
P1口是一个带有内部上拉电阻的8位双向I/O端口。
P1的输出缓存可驱动4个TTL输入。
P2口是一个带有内部上拉电阻的8位双向I/O端口。
P3口也是一个带有内部上拉电阻的8位双向I/O端口,P3端口还用于一些复用功能。
2.2设计思路这次的试验要求进行计时并且在数码管上显示时间,先要基本了解硬件内在结构,确定用p2并行端口进行数码管控制输入,使用P2.0,P2.1,P2.2,P2.3进行选择0.1秒位,个位秒位,十位秒位,分位,以P1.0为开始和暂停控制,P1.1为清零控制。
本次实验设计的基本思路是要求借助AT89C51单片机做出一个9分59.9s的秒表从十位秒到0.1位秒数这些计时的位数是存在一个内嵌的结构,就是0.1秒位满足条件然后进行跳位使秒位加一的过程,当0.1s到0.9s时该位自动清零并且秒位加一,秒位个位达到9时也自动清零并向十秒位加一当十秒位和个位秒位同时到达59时向分位进1。
当计数超过范围是所有数码管全部清零重新计数。
其次开始控制,停止控制,清零控制等功能,我们采用蜂鸣器进行提示,该信号由P1.5输出,通过一个延时子程序加以控制。
最后就是根据硬件的条件进行编程,要求软硬件相互兼容。
这也是设计的关键之处。
因此需查阅相关书籍。
2.3硬件电路设计开始/停止和清零电路利用两个开关并联接地,分别接到芯片上的P1.0和P1.1接口,P1.0上的开关控制秒表的开始/停止,P1.1控制清零,如下图图a开始/停止和清零电路两种操作皆采用按键操作,简单快捷,易于完成。
(2)硬件电路设计使用proteus软件设计的硬件电路包含了两个功能键及蜂鸣器控制开关。
具体如图b所示。
图b 硬件电路连接图由电路图我们可以看到,我们用P2.0,P2.1,P2.2,P2.3进行0.1秒位,秒位,十秒位,分位进行位选,蜂鸣器用P1.5做输出口,按下开始按钮,秒表开始工作,蜂鸣器发出声音(无响应电路控制蜂鸣器停止和开始,所以按下“开始”按钮,蜂鸣器开始发声,再按一下“开始/停止”按钮,蜂鸣器停止发声,秒表计时停止)。
图3-6为数码管的引脚图,每位的段码线(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由AT89C51控制组合0-9十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。
由于各位的段码线并联,8位I/O口输出段码对各个显示位来说都是相同的。
3软件设计3.1程序设计根据课题内容,可做出主程序流程图如图c所示。
图c 主程序流程图流程图体现着设计程序的思路程序,开始后首先进行数据初始化然后是条件判断满足条件或不满足则进行对应的处理,如首先依次判断是否暂停是否清零,然后十分之一妙位计数,再判断是否进位,若是秒位就加一,秒位加一后进行声音提示,接着再判断是否有进位,若有则十秒位加一,若十秒位有进位则向十分位进一,十分位计满则重新开始。
3.2源程序:ORG 0000HLJMP MAINORG 000BHLJMP T IMEORG 0100HMAIN: MOV SP,#50HMOV TCON,#01H ;定义中断方式MOV 10H,#0AHMOV 20H,#00H ;BIN m_SECONDMOV 21H,#00H ;BIN SECONDMOV 22H,#00H ;BIN MINUTEMOV 31H,#00H ; BCD m_SECONDMOV 32H,#00H ;BCD SECONDMOV 33H,#00H ;MOV 34H,#00H ;BCD MINUTEMOV TMOD, #01H ;16位计数器MOV TH0, #0D8H ;10msMOV TL0, #0F0HMOV IE, #10000010BML1: LCALL DISPKEY: JNB P1.0, CONTROL;JNB P1.1, CLEARCONTROL:LCALL DL1JB P1.0, ML1LOOP1: LCALL DISPJNB P1.0,LOOP1CPL TR0CLEAR: LCALL DL1LCALL DISPJB P1.1, ML1CLR TR0MOV 20H,#0MOV 21H,#0MOV 22H,#0MOV 31H,#00H ; BCD m_SECONDMOV 32H,#00H ; BCD SECONDMOV 33H,#00HMOV 34H,#00H ; BCD MINUTEJNB p1.1,CLEARLJMP ML1TIME: MOV TH0,#0D8HMOV TL0,#0F0HMOV 10H,#0AHMOV A,20HINC ACLR CCJNE A,#99,GO1 ;转换BCD MOV 20H,#0MOV 31H,#0MOV A,21HINC AMOV A,21HINC ACJNE A, #3CH, GO2MOV 21H, #0HMOV 32H, #0MOV 33H, #0MOV A, 22HINC ACJNE A, #0AH, GO3MOV 22H, #00HMOV 34H, #0AJMP RET0 ;退出中断GO1: MOV 20H, AMOV B,#0AHDIV ABMOV 31H,AGO2: MOV 21H, AMOV B, #0AHDIV ABMOV 33H, AMOV 32H, BAJMP RET0GO3: MOV 22H, AMOV B, #0AHMOV 34H, BAJMP RET0RET0: POP PSWPOP ACCRETIDISP: MOV R0, #31HMOV R3, #0FEHMOV A, R3PLAY: MOV P2, AMOV A, @R0MOV DPTR, #DSEG1MOVC A, @A+DPTRMOV P0, ALCALL DL1MOV P2, #0FFHRL AJNB ACC.4, LD1INC R0MOV R3, ALD1: RETSND: SETB P1.5DL1: MOV R7,#05H ;延时5*(255*2+2+1)= 2,565us DL: MOV R6, #0FFHDL6: DJNZ R6,$DJNZ R7,DLRETDSEG1: DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHEnd4系统调试与仿真4.1仿真软件简介(1)Proteus是英国Labcenter electronics公司出版的仿真软件。
它不仅具有其它仿真软件的仿真功能,还能仿真单片机及外围器件,它是目前最好的仿真单片机及外围器件的工具。
受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。