基于单片机的简易秒表制作
基于单片机的秒表制作毕业设计论文
基于单片机的秒表制作班级:P12电气五班姓名:苑仁绰学号:2012031202742014年6 月20 日一.摘要基于单片机技术制作秒表,运用单片机的定时器中断程序,来实现计时功能。
在给单片机接上外部电路,接上LED数码管,由单片机的P2口控制位码输出,P0口控制断码输出。
3个按键可以采用独立式键盘,其中两个按键分别连接到外部中断INTO、INT1,第三个按键连接到定时器1的T1端口,以中断方式实现键盘的扫描。
给单片机接上按键复位电路。
通过单片机X1,X2端接上外部时钟脉冲,通过编程,来实现秒表的计时。
关键字:单片机秒表LED数码管二. 目录一.摘要 (2)二.目录................................. 错误!未定义书签。
三.总体设计方案 (4)四.硬件电路设计 (4)1.硬件知识: (4)(1).单片机 (4)(2). LED数码管 (7)(3).时钟电路 (8)(4).复位电路 (9)(5).限流电阻 (9)2.线路图 (10)五.软件设计 (11)1.资源分配 (11)2.程序流程图 (12)( 1).主程序 (12)(2).显示子程序 (12)3.编程 (14)六.设计完成后的心得体会 (18)三.总体设计方案主要分为3个部分:主程序﹑显示子程序和定时器中断程序。
主程序主要是初始化部分和不断调用动态显示子程序部分。
动态显示子程序完成4位LED的轮流位扫描,它被主程序不断调用,以保证稳定可靠的显示。
显示时间的刷新由定时器中断产生,定时器每50ms中断一次,当中断20次后(即1s后),对时间单元(秒计数单元、分计数单元)进行更新,然后通过拆字子程序将时间单元里面的十六进制数拆开为两个BCD码,并送到显示缓冲区。
返回主程序后显示缓冲区的待显示数据被刷新一次,数码管相应的显示数值也随之发生变化。
根据硬件设计,由单片机的P2口控制位码输出,P0口控制断码输出。
动态显示程序中,在单片机内部RAM中设置显示数据缓冲区,由查表程序完成显示译码,将缓冲区内待显示数据转换成相应的断码,再将断码通过8051的P0口输出;位码数据由累加器循环左移指令产生,再通过P2口输出。
基于51单片机的数字秒表设计
摘要本设计是基于AT89S51单片机的简易数字秒表设计,主要组成是以51单片机最小系统为核心,通过运用单片机的振荡电路实现计时同时用数码管同步显示。
本秒表最大计时为99秒。
本设计的特点是:大部分功能通过软件实现,使电路简单明了,系统稳定性好。
关键词:AT89S51 振荡电路计时数码管目录1设计概述 (1)1.1AT89S51概述 (1)1.2系统设计功能概述 (1)2系统设计 (2)2.1设计思路 (2)2.2硬件设计 (2)2.2.1单片机最小系统的设计 (2)2.2.2数码管显示电路设计 (3)2.3软件设计 (7)2.3.1软件设计流程图 (7)2.3.2消除开关抖动 (9)2.3.3数码管延时显示程序 (9)2.3.4延时1秒的程序 (10)3软件调试和结果 (10)3.1软件调试与下载 (10)3.2硬件仿真 (11)4心得体会 (12)参考文献 (14)附录 (15)I基于单片机的数字秒表设计主程序 (15)IIPCB电路图 (17)III实物图 (17)11 设计概述1.1 AT89S51概述AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In -system programmable)的可反复擦写1000次的Flash 只读程序存储器,器件采用ATMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash 存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:40个引脚,4k Bytes Flash 片内程序存储器,128 bytes 的随机存取数据存储器(RAM ),32个外部双向输入/输出(I/O )口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT )电路,片内时钟振荡器。
单片机课程设计_基于单片机的数字秒表设计
单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。
本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。
一、设计要求1、能够实现秒表的启动、暂停、复位功能。
2、计时精度达到 001 秒。
3、能够通过数码管显示计时结果。
二、系统方案设计1、硬件设计单片机选型:选用常见的 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
显示模块:采用 8 位共阴极数码管作为显示器件,通过动态扫描的方式实现数字的显示。
按键模块:设置三个独立按键,分别用于启动、暂停和复位操作。
时钟模块:使用单片机内部的定时器/计数器产生精确的时钟信号,实现计时功能。
2、软件设计主程序:负责系统的初始化、按键扫描和计时处理等。
中断服务程序:利用定时器中断实现 001 秒的定时,更新计时数据。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振频率选择 12MHz,为单片机提供时钟信号。
复位电路采用上电复位和手动复位相结合的方式,确保系统能够可靠复位。
2、显示电路将 8 位数码管的段选引脚通过限流电阻连接到单片机的 P0 口,位选引脚通过三极管连接到单片机的 P2 口。
通过动态扫描的方式,依次点亮每个数码管,实现数字的显示。
3、按键电路三个按键分别连接到单片机的 P10、P11 和 P12 引脚,采用低电平有效。
当按键按下时,相应引脚的电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。
四、软件程序设计1、主程序流程系统初始化后,进入主循环。
在主循环中,不断扫描按键状态,如果检测到启动按键按下,则启动计时;如果检测到暂停按键按下,则暂停计时;如果检测到复位按键按下,则将计时数据清零。
基于51单片机的秒表设计报告
课程名称:微机原理课程设计题目:基于51单片机的秒表设计随着社会的发展,单片机已经渗透到我们生活中的各个领域,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等。
本设计就是由单片机STC89C52RC芯片和四位一体LED数码管为核心,辅以必要的电路,构成了一个单片机电子秒表。
秒表是一种常用的测试仪器,它可以用在百米赛跑等需要精确计时的地方,为人们的生活提供了很大的方便。
该单片机电子秒表布置合理,全部器件分布在7*9cm洞洞板上,看起来小巧精简。
采用的是单片机内部定时/计数器计时,走时非常精确而且不易出错。
0.56英寸的四位数码管发出红光,可以直观地显示时间。
一个控制按键就可以控制秒表的计数与停止,按一下控制键,秒表工作状态就由计时变为计时变为停止或停止变为计时,按一下清零键就可以清零,操作非常简单。
由于是四位数码管,它的计时周期为100秒,显示满刻度为99:99秒,从左往右数共四位,前两位显示整数部分,后两位显示小数部分,中间两个个秒闪灯(秒闪灯一直亮)。
关键词:秒表,51单片机,C语言一、设计任务与要求 (18)1.1 设计任务 (18)1.2 设计要求 (18)二、方案总体设计 (19)2.1 方案一 (19)2.2 方案二 (19)2.3 系统采用方案 (19)三、硬件设计 (21)3.1 单片机最小系统 (21)3.2 数码管显示模块 (21)3.3 系统电源 (22)3.4 整体电路 (22)四、软件设计 (24)4.1 keil软件介绍 (24)4.2 系统程序流程 (24)五、仿真与实现 (27)5.1 proteus软件介绍 (27)5.2 仿真过程 (27)5.3 实物制作与调试 (29)5.4 使用说明 (30)六、总结 (32)6.1设计总结 (32)6.2经验总结 (20)七、参考文献 (21)一、设计任务与要求1.1 设计任务1).对更多小器件的了解2).巩固51单片机和C语言的知识,熟悉单片机和C语言的实际操作运用3).掌握仿真软件的运用和原理图的绘制4).加深焊接的技巧,提高焊接的能力5).熟悉调试方法和技巧,提高解决实际问题的能力6).熟悉设计报告的编写过程1.2 设计要求1).清零键进行清零2).一个独立按键进行停止与运行的操作3).秒闪灯一直亮二、方案总体设计设计一个基于51单片机的秒表。
基于单片机的秒表设计
基于单片机的秒表设计基于单片机的秒表设计引言在现代生活中,计时设备已经成为了我们日常生活中的必需品。
无论是体育比赛、工程控制还是交通调度,都需要精确的计时功能。
传统的机械秒表虽然精度高,但操作复杂,不易携带。
为了解决这一问题,基于单片机的秒表设计应运而生。
本文将详细介绍秒表的设计原理、实现方案以及实验验证。
原理分析单片机内部有一个高精度振荡器,通过晶振和电容等元件构成的电路,产生具有一定频率的方波信号。
该信号送入单片机内的计数器,计数器对单位时间内方波的个数进行计数,从而得到时间信息。
单片机将这些时间信息进行处理和存储,并通过输出设备展示给用户。
设计方案基于单片机的秒表设计主要包括以下几个部分:1、电路连接:通过单片机内部的计数器和外部的晶振、电容等元件构成计时电路。
2、程序编写:编写程序实现计时、暂停、清零等功能。
3、输出显示:通过液晶显示屏等设备将计时的结果展示给用户。
实验验证为了验证基于单片机的秒表的准确性和稳定性,我们进行了一系列实验。
实验结果表明,该秒表在各种环境条件下均能保持较高的精度和稳定性。
对比其他方案相比于传统的机械秒表,基于单片机的秒表具有更高的精度和稳定性。
同时,基于单片机的秒表可以通过程序实现复杂的功能,如计时、暂停、清零等,更加方便实用。
结论基于单片机的秒表设计具有高精度、多功能、易操作等优点,在实际生活中具有广泛的应用价值。
通过单片机内部的高精度振荡器和外部的晶振、电容等元件构成的计时电路,实现了秒表的计时功能。
通过程序编写实现了计时、暂停、清零等功能,并通过液晶显示屏等设备将计时的结果展示给用户。
实验结果表明,该秒表在各种环境条件下均能保持较高的精度和稳定性。
基于单片机的秒表相比于传统的机械秒表具有更高的精度和稳定性,同时可以通过程序实现复杂的功能,更加方便实用。
基于单片机的简易秒表设计
• 207•ELECTRONICS WORLD ・技术交流1 前言生活中常见的定时有很多,如电视机定时关机、空调定时开关、微波炉定时加热等等。
单片机中的计数器除了可以作为计数之用外,还可以用作时钟,只要计数脉冲的间隔相等,则计数值就代表了时间的流逝。
基于单片机定时器的简易秒表结构简单,使用方便。
2 电路设计简易秒表电路采用单片机的定时/计数器产生1s 信号,设计一个简易秒表,最大显示60。
2个LED 显示器段选段并联在一起,与单片机的P0口连接;P2口与2个PNP 型三极管的基极连接,驱动LED 显示器的位选端。
LED 为共阳极数码管,显示方式为动态显示。
具体如图1所示。
图1 硬件电路图3 程序设计软件整体设计思路是以动态显示作为主程序,定时器定时时间为50ms ,定时器50ms 溢出一次,溢出20次后秒值加1,中断服务程序流程图如图2所示。
(1)程序1的运行结果是:数码管显示00~59,每1s 变化一次,显示效果直观而且时间较为准确。
(2)注意定时器预置数后,在中断服务程序中还要再次重装定时器初值。
(3)程序的编制过程中,在主程序中用到的寄存器,若在中断服务程序中又要用到,则需要现场保护,同时在中断结束时,恢复现场,如程序中的累加器A 。
另外还要注意IE 、TCON 、TMOD等特殊功能寄存器的使用。
图2 中断服务程序4 结语本设计以51单片机为控制核心,介实现了简易秒表的设计,具有硬件结构简单、扩展性强、驱动能力强等特点,具有较高的应用价值。
参考:张靖武,周灵彬,单片机原理、应用于PROTEUS 仿真[M].北京:电子工业出版社,2010;孙勤江,沈彬,基于单片机的信号发生器设计[J].石油和化工设备,2014(01):11-23;熊华波,单片机开发入门及应用实例[M].北京:北京大学出版社,2011。
杨凌职业技术学院自然科学研究基金项目“无线远程监控技术在设施农业中的应用”(A2018051)。
51单片机秒表程序设计
51单片机秒表程序设计1. 简介秒表是一种用于测量时间间隔的计时器,常见于体育比赛、实验室实验等场合。
本文将介绍如何使用51单片机设计一个简单的秒表程序。
2. 硬件准备•51单片机开发板•LCD液晶显示屏•按键开关•连接线3. 程序流程3.1 初始化设置1.设置LCD液晶显示屏为8位数据总线模式。
2.初始化LCD液晶显示屏。
3.设置按键开关为输入模式。
3.2 主程序循环1.显示初始界面,包括“00:00:00”表示计时器初始值。
2.等待用户按下开始/暂停按钮。
3.如果用户按下开始按钮,则开始计时,进入计时状态。
4.如果用户按下暂停按钮,则暂停计时,进入暂停状态。
5.在计时状态下,每隔1毫秒更新计时器的数值,并在LCD液晶显示屏上显示出来。
6.在暂停状态下,不更新计时器的数值,并保持显示当前数值。
3.3 计时器控制1.定义一个变量time用于存储当前的计时器数值,单位为毫秒。
2.定义一个变量running用于标记计时器的状态,0表示暂停,1表示运行。
3.定义一个变量start_time用于存储计时器开始的时间点。
4.定义一个变量pause_time用于存储计时器暂停的时间点。
5.在计时状态下,每隔1毫秒更新time的值为当前时间与start_time的差值,并将其转换为小时、分钟、秒的表示形式。
6.在暂停状态下,保持time的值不变。
3.4 按键检测1.检测按键开关是否被按下。
2.如果按键被按下,判断是开始/暂停按钮还是复位按钮。
3.如果是开始/暂停按钮,并且当前处于计时状态,则将计时状态设置为暂停状态,并记录暂停时间点为pause_time;如果当前处于暂停状态,则将计时状态设置为运行状态,并记录开始时间点为当前时间减去暂停时间的差值。
4.如果是复位按钮,则将计时器数值重置为0,并将计时状态设置为暂停。
4. 程序代码示例#include <reg51.h>// 定义LCD控制端口和数据端口sbit LCD_RS = P1^0;sbit LCD_RW = P1^1;sbit LCD_EN = P1^2;sbit LCD_D4 = P1^3;sbit LCD_D5 = P1^4;sbit LCD_D6 = P1^5;sbit LCD_D7 = P1^6;// 定义按键开关端口sbit START_PAUSE_BTN = P2^0;sbit RESET_BTN = P2^1;// 定义全局变量unsigned int time = 0; // 计时器数值,单位为毫秒bit running = 0; // 计时器状态,0表示暂停,1表示运行unsigned long start_time = 0; // 开始时间点unsigned long pause_time = 0; // 暂停时间点// 函数声明void delay(unsigned int ms);void lcd_init();void lcd_command(unsigned char cmd);void lcd_data(unsigned char dat);void lcd_string(unsigned char *str);void lcd_clear();void lcd_gotoxy(unsigned char x, unsigned char y);// 主函数void main() {// 初始化设置lcd_init();while (1) {// 显示初始界面lcd_clear();lcd_gotoxy(0, 0);lcd_string("00:00:00");// 等待用户按下开始/暂停按钮while (!START_PAUSE_BTN && !RESET_BTN);// 判断按钮类型并处理计时器状态if (START_PAUSE_BTN) {if (running) { // 当前处于计时状态,按下按钮将进入暂停状态 running = 0;pause_time = time;} else { // 当前处于暂停状态,按下按钮将进入计时状态running = 1;start_time = get_current_time() - pause_time;}} else if (RESET_BTN) { // 复位按钮按下,重置计时器time = 0;running = 0;}}}// 毫秒级延时函数void delay(unsigned int ms) {unsigned int i, j;for (i = ms; i > 0; i--) {for (j = 110; j > 0; j--);}}// LCD初始化函数void lcd_init() {lcd_command(0x38); // 设置8位数据总线模式lcd_command(0x0C); // 显示开,光标关闭lcd_command(0x06); // 光标右移,不移动显示器lcd_command(0x01); // 清屏}// 向LCD发送指令函数void lcd_command(unsigned char cmd) {LCD_RS = 0;LCD_RW = 0;LCD_EN = 1;LCD_D4 = cmd >> 4 & 1;LCD_D5 = cmd >> 5 & 1;LCD_D6 = cmd >> 6 & 1;LCD_D7 = cmd >> 7 & 1;delay(1);LCD_EN = 0;LCD_D4 = cmd >> 0 & 1;LCD_D5 = cmd >> 1 & 1;LCD_D6 = cmd >> 2 & 1;LCD_D7 = cmd >> 3 & 1;delay(1);LCD_EN = 0;}// 向LCD发送数据函数void lcd_data(unsigned char dat) { LCD_RS = 1;LCD_RW = 0;LCD_EN = 1;LCD_D4 = dat >> 4 & 1;LCD_D5 = dat >> 5 & 1;LCD_D6 = dat >> 6 & 1;LCD_D7 = dat >> 7 & 1;delay(1);LCD_EN = 0;LCD_D4 = dat >> 0 & 1;LCD_D5 = dat >> 1 & 1;LCD_D6 = dat >> 2 & 1;LCD_D7 = dat >> 3 & 1;delay(1);LCD_EN = 0;}// 向LCD发送字符串函数void lcd_string(unsigned char *str) {while (*str) {lcd_data(*str++);delay(5);}}// 清屏函数void lcd_clear() {lcd_command(0x01);}// 设置光标位置函数void lcd_gotoxy(unsigned char x, unsigned char y) {unsigned char addr;if (y == 0)addr = x | (0x80 + y);else if (y == 1)addr = x | (0xC0 + y);lcd_command(addr);}5. 总结本文介绍了使用51单片机设计一个简单的秒表程序。
基于单片机实现的简易秒表毕业论文
目录摘要………………………………………………………………………Abstract……………………………………………………………………...1 绪论…….……………………………………........................1.1 设计任务及指标…………………………………………………...1.2 系统设计方案论证…………………………..……………………………1.3设计任务...........................................................................................................2 设计方案简述…………………………..…………………...............2.1 中央处理单元………………………………..………………………….…2.2 电源电路部分……………………………..………………………….…2.3 显示部分…………………………………..………………………….…3 详细设计……………………………………………..………………......3.1 器件及原理…………………………..………………………….…............3.1.1 STC89C52简介.............................................3.1.2 74LS138简介..............................................3.2 电路制作…………………………………………………………………4总结...………………………………..………………………….…........................ 参考文献.....................................................................................................................附录主要程序代码………...………………………..………………………….…摘要在现实生活中,秒表的用途很广泛。
单片机技术简易秒表教程
T1
T0
指令:MOV TMOD,#01H;则可以使T0工作在方式1状态
若要设置T1为计数方式1,指令是怎样?
注意:TMOD不能位寻址。
《单片机技术》项目化课程
2. 给定时器初赋。即把初值装入TH0、TL0或TH1、TL1。
2、Our destiny offers not only the cup of despair, but the chalice of opportunity. (Richard Nixon, American President )命运给予我们的不是失望之酒,而是机会之杯。二〇二一年六月十七日2021年6月17日星期四 3、Patience is bitter, but its fruit is sweet. (Jean Jacques Rousseau , French thinker)忍耐是痛苦的,但它的果实是甜蜜的。10:516.17.202110:516.17.202110:5110:51:196.17.202110:516.17.2021 4、All that you do, do with your might; things done by halves are never done right. ----R.H. Stoddard, American poet做一切事都应尽力而为,半途而废永远不行6.17.20216.17.202110:5110:5110:51:1910:51:19 5、You have to believe in yourself. That's the secret of success. ----Charles Chaplin人必须相信自己,这是成功的秘诀。-Thursday, June 17, 2021June 21Thursday, June 17, 20216/17/2021
基于某单片机的秒表设计
基于某单片机的秒表设计一、设计要求与方案选择(一)设计要求1、能够精确到 001 秒的计时精度。
2、具备启动、暂停、复位等基本功能。
3、能够通过数码管或液晶显示屏显示计时结果。
(二)方案选择在单片机的选择上,考虑到成本、性能和易用性等因素,我们选用了_____单片机。
该单片机具有丰富的资源和良好的稳定性,能够满足秒表设计的需求。
对于计时方式,采用内部定时器中断来实现精确计时。
通过设置合适的定时器初值和中断时间间隔,可以达到 001 秒的计时精度。
在显示方案上,经过比较数码管和液晶显示屏的优缺点,最终决定使用_____液晶显示屏。
它具有显示内容丰富、功耗低、可视角度大等优点,能够清晰地显示秒表的计时结果。
二、硬件设计(一)单片机最小系统单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供稳定的时钟信号,复位电路用于系统的初始化和异常情况下的恢复。
(二)按键电路为了实现秒表的启动、暂停和复位功能,设计了三个独立按键。
通过检测按键的按下状态,将相应的信号传递给单片机进行处理。
(三)显示电路选用的液晶显示屏通过数据总线和控制总线与单片机相连。
单片机通过向显示屏发送指令和数据,实现计时结果的显示。
(四)电源电路为整个系统提供稳定的电源供应,确保系统正常工作。
三、软件设计(一)主程序流程主程序首先进行系统初始化,包括单片机内部资源的配置、液晶显示屏的初始化等。
然后进入一个无限循环,在循环中不断检测按键状态,并根据按键操作执行相应的功能,如启动计时、暂停计时、复位计时等。
(二)定时器中断服务程序定时器中断服务程序用于实现精确计时。
在中断服务程序中,对计时变量进行累加,当计时达到 1 秒时,将秒数加 1,并对毫秒数进行清零,从而实现秒表的计时功能。
(三)按键处理程序按键处理程序通过检测按键的按下和释放状态,判断用户的操作意图,并将相应的标志位置位或清零,以供主程序进行处理。
(四)显示程序显示程序负责将计时结果转换为相应的字符,并发送到液晶显示屏进行显示。
基于单片机的秒表设计
基于52单片机的秒表设计1 单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种职能IC卡,名用豪华车辆的安全保障系统,摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机广发应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴:1.1 在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用与仪器仪表中,结合不同类型的传感器,可实现诸如电压、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(示波器,各种分析仪)。
1.2在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二极管控制系统等。
1.3在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子称量设备,五花八门,无所不在。
1.4在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便的与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可以兼得移动电话,集群移动通信,无线电对讲机等。
单片机实验——秒表 (详细步骤)
20*50ms=1000ms=1s,将变量 temp 的值加 1
{
aa=0;
temp++;
if(temp==60) //秒表到达 60s 后回零
{
temp=0;
}
shi=temp%100/10;
ge=temp%10;
//分离个位和十位
}
}
4.3 步骤三:PROTEUS 仿真 加载目标代码文件,双击编辑窗口的 AT89C51 器件,在弹出属性编辑对话
图按键与单片机连接图
图按键被按下时电压的变化
4 任务步骤 4.1 步骤一:PROTEUS 电路设计,简易秒表的原理图如图 5-51 所示。 1、选取元器件
①单片机:AT89C51 ②两位共阴极蓝色数码管:7SEG-MPX2-CC-BLUE ③排阻:RESPACK-8 ④按钮:BUTTON 2、放置元器件、放置电源和地、连线、元器件属性设置 简易秒表的原理图如图 5-51 所示,整个电路设计操作都在 ISIS 平台中进
MCU实验报告--3-基于单片机的简易秒表设计制作.doc
MCU实验报告--3-基于单片机的简易秒表设计制作MCU实验报告--3-基于单片机的简易秒表设计制作项目二基于单片机的简易秒表设计制作一、实验目的和要求1、实验目的熟悉LED数码管与单片机的接口电路及其设计方法,掌握动态显示方式及其典型的应用电路;掌握LED八段数码管秒表显示器的程序编制方法。
通过调试简易秒表整体程序,学会编制含LED动态显示、定时器中断等多种功能的综合程序,初步掌握复杂应用程序的编制和调试技巧。
2、实验要求A仿真试验,完成用数码管显示0-9或A-F并不断循环;B简单秒表的设计及实现,每过1S,LED数码管显示的秒数加1,设计制作0-59S不断运行的秒表。
二、实验仪器设备1、PC机(Keil,PROTEUS)3、面包板4、元器件2、实验仿真板(用dpj.dll实验仿真板验证)三、实验步骤1、器件准备元器件清单列表元件名称AT89S51晶振电容1数码管12MHz参数数量1112电阻1电阻2电容1其它元件名称参数数量2、硬件设计试验A仿真原理图试验B仿真原理图实验B根据电路原理图,对各个硬件模块在面包板上进行搭试。
3、软件设计及调试1)、启动Keil软件2)、源程序(供参考)试验ACounterEQU57H;计数器,显示程序通过它得知现正显示哪个数码管DISPBUFEQU58H;显示缓冲区为58H-5DH……试验B2……3)、调试程序A、根据程序确定调试目的,即调试时所需观察的内容结果。
B、调试程序。
4、固化程序将以上ASM编译生成HEX文件,利用编程器将HEX文件烧录到AT89S51。
5、秒表显示(照片)四、总结与体会扩展阅读:简易秒表的制作简易秒表的制作1.实训目的(1)利用单片机定时器中断和定时器计数方式实现秒、分定时。
(2)通过LED显示程序的调整,熟悉8155与8051,8155与LED的接口技术,熟悉LED动态显示的控制过程。
(3)通过键盘程序的调整,熟悉8155与矩阵式键盘的接口技术,熟悉键盘扫描原理。
基于单片机的00秒-99秒的秒表设计
题 目:用单片机AT89C51设计一个2位的LED数码显示作为“秒表”
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
AT89C51单片机的主要工作特性:
·内含4KB的FLASH存储器,擦写次数1000次;
·内含28字节的RAM;
·具有32根可编程I/O线;
·具有2个16位可编程定时器;
·具有6个中断源、5个中断矢量、2级优先权的中断结构;
·具有1个全双工的可编程串行通信接口;
·具有一个数据指可编程的3级程序锁定定位;
AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.
AT89C51各部分的组成及功能:
1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。
(1)运算器
运算器主要用来实现算术、逻辑运算和位操作。其中包括算术和逻辑运算单元ALU、
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
基于单片机的秒表设计
基于单片机的秒表设计一、设计需求分析在设计基于单片机的秒表之前,首先需要明确其功能和性能需求。
一般来说,秒表应具备以下基本功能:1、计时功能:能够精确地测量时间,最小计时单位通常为毫秒。
2、启动/停止功能:用户可以通过按键控制秒表的启动和停止。
3、复位功能:将秒表的计时数据清零,以便重新开始计时。
4、显示功能:能够清晰地显示计时结果,通常采用数码管或液晶显示屏。
此外,为了提高用户体验,还可以考虑增加一些扩展功能,如记录多个计时数据、设置计时上限、具备暂停功能等。
二、硬件设计1、单片机选型在选择单片机时,需要考虑其性能、资源和成本等因素。
常见的单片机如 STM32、Arduino 等都可以满足秒表的设计需求。
以 STM32 为例,其具有丰富的定时器资源和高速的处理能力,能够实现高精度的计时。
2、计时模块计时功能的实现通常依靠单片机内部的定时器。
通过设置定时器的工作模式和计数周期,可以精确地测量时间间隔。
例如,使用 STM32的通用定时器,设置为向上计数模式,并根据系统时钟频率和预分频系数计算出定时器的溢出时间,从而实现毫秒级的计时。
3、按键输入模块为了实现秒表的启动、停止和复位操作,需要设计按键输入电路。
可以使用普通的机械按键或触摸按键,将按键的信号连接到单片机的GPIO 引脚,并通过编程检测引脚的电平变化来响应按键操作。
4、显示模块显示模块用于将计时结果直观地展示给用户。
常见的显示方式有数码管显示和液晶显示屏显示。
数码管显示简单直观,但显示内容有限;液晶显示屏则可以显示更多的信息,并且具有更好的可读性。
在选择显示模块时,需要根据实际需求和成本进行综合考虑。
5、电源模块为整个系统提供稳定的电源是保证秒表正常工作的关键。
可以使用电池供电或通过 USB 接口连接外部电源。
在设计电源模块时,需要考虑电源的电压、电流和稳定性等因素。
三、软件设计1、主程序流程主程序主要负责初始化各个模块、检测按键操作和处理计时数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TR0=1;
break;
case 2:
TR0=0;
break;
case 3:
second=0;
break;
}
for(count=0;count<100;count++)
{ P2=wei[6];
P0=table[second/10];
delay(2);
P2=wei[7];
P0=table[second%10];
3.实现按键控制。利用单片机P3复用端口输入按键控制命令,如:定义sbit key1=P3^2,可以将与P3^2端口相连的按键定义为启动按键,与key2=P3^3为相连定义为暂停按键,与key3=P3^5相连定义为复位按键。由原理图可知按键未按下时,相应端口为高电平,按下为低电平,因此可由条件key1/key2/key3是否为零来判断是否有键按下,有键按下就执行相应操作,实现按键的控制功能。
0x7f,0xbf,0xdf,0xef,
0xf7,0xfb,0xfd,0xfe};
void delay(uint);
uint second;
uint flag;
sbit k1 = P3^2;//定义开始按键
sbit k2 = P3^3;//定义暂停按键
sbit k3 = P3^5;//定义复位按键
void main()
2)《轻松跟我学protel99se电路设计与制版》赵广林编著
九.总结体会
通过这次实验,我学到了很多。如:
1.熟悉了单片机元件的工作特点。
2.熟悉了单片机C语言编程特点和注意事项。
3.熟悉了Protel制作原理图和PCB印制电路板的技巧。
4.这次试验程序很简单一个小时就可以编好了,难点就是对软件的不熟悉,例如用protel99se来制作PCB的基本步骤,要熟悉这个软件的使用才可以做出实验的要求内容。所以我觉得这次实验的关键就是软件的使用。
1
9
瓷片电容
30pF
直插式
2
10
电解电容
104
直插式
6
11
电阻
1kΩ
6
12
电阻
10kΩ
4
13
电阻
510Ω
6
14
直流电源
GM-050100
5V/1A
1
15
电源插头
DC座(中号)
与直流电源的插口直径相同
1
16
串口接口
9针
1
17
USB转串口线
9针
1
18
三极管
9014
6
19
制PCB板
1
八、参考文献
1)单片机原理与应用技术
简易秒表
一.实验目的
1.了解数码管与单片机的连接方式。
2.熟悉定时器.计数器.中断的综合应用技术。
3.熟悉键盘的使用。
二、实验任务
键盘是单片机应用系统中最常用的输人设备,用它输入数据或命令。数码管是单片机应用系统最常见的输出设备,用它显示单片机输出的视觉信息。本次实验制作的简易秒表,是利用按键控制LED数码管的显示,实现简易秒表的启动、停止与复位。
DIP-40
1
2
IC插座
DIP40
双列直插式/40个引脚孔
1
3
晶体振荡器
12MHZ
石英晶体振荡器
(非温度补偿式)
直插式
1
4
数码管
HS-5101BS2
6
5
IC插座
单排针插座/16个引脚孔,间距2.54mm
说明:串口下载RS232
1
6
RS232通讯
MAX232
DIP
1
7
普通按键
DTS65K
3
8
复位按键
DTS65K
{
uchar flag=0;
if(k1==0)
{delay(1);
if(k1==0)
{
flag=1;
k1=1;
}
}
if(k2==0)
{delay(1);
if(k2==0)
{
flag=2;
k2=1;
}
}
k3==0)
{delay(1);
if(k3==0)
{
flag=3;
k3=1;
}
}
switch(flag)
华中科技大学
单片机原理及应用
课程设计报告
姓名:毅哥
学号:080108031113
学部(系):信息学部
专业年级:08自动化
指导教师:余愿
2011年6月27日
一.实验目的……………………………………………………..3
二.实验任务……………………………………………………..3
三.实现任务……………………………………………………..3
五.程序
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90};
uchar code wei[]={
delay(1);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=112;y>0;y--);
}
void timer0(void) interrupt 1 using 1{ //T/C中断服务程序入口
TH0=(65536-10000)/256; //计数初值重装载
等等方面的知识。
TL0=(65536-10000)%256;
flag++;
if(flag==100)
{ flag=0;
second++;}
if(second==60)
{
second=0;
}
}
六、硬件原理图和PCB图
七、实验器件
秒表电路器件清单如表1所示。
表1秒表电路器件清单
元件名称
参数/型号
说明
封装
数量
1
单片机
STC89C51
四.程序流程图
N
Y
Key3Key1 Key2
电源开关刚闭合时,数码管显示00,定时器开始计时。由中断控制计时时间,一秒到计时条件flag=100,计数条件second加1,数码管显示的时间加1。Key2暂停键按下时,TR0=0停止计时,数码管显示当前时间。Key1开始键按下时,TR0=1开始计时数码管显示计时时间。Key3复位键按下时,second=0数码管显示00。不断执行键盘扫描程序和显示时间程序,实现简易秒表启动.暂停.复位功能。
具体实现:1.实现计时。利用单片机内部T0计时器实现计时,首先给定时器工作方式寄存器TMOD赋值0x01选定T0定时器工作在方式1。接着确定定时初值TH0=(65536—10000)/256;TL0=(65536—10000)%256实现10ms的定时,利用中断循环100次实现一秒的定时。中断控制条件为EA=1,ET0=1,TR0=12.实现时间显示。利用单片机P2端口控制数码管的位选,如:P2=0xfd;DS6时P2=0xfe利用P0端口控制数码管的段选,如:共阳极时为P0= 0xc0,只要两个数码管位选段选间隔的时间适当,就可以实现动态显示时间。
{
uint count;
second=0;
flag=0;
TMOD=0x01; //T/CO工作在定时器方式1
TH0=(65536-10000)/256; //预置计数初值
TL0=(65536-10000)%256;
EA=1; //CPU开中断
ET0=1; //T/C0开中断
TR0=1;
while(1)
四.程序流程图…………………………………………………..4
五.程序…………………………………………………………..4
六.硬件原理图和PCB图………………………………………9
七.实验器件…………………………………………………….11
八.参考文献…………………………………………………….12
九.总结体会…………………………………………………….12
三、实现任务
需要解决如下问题:1.如何实现计时;2.如何显示时间;3.如何利用按键实现对简易秒表的控制。
为此,可以采用单片机内部定时器T0或Tl的定时时间作为时钟计时的基准,实现计时。用两个数码管动态显示时间,时间范围为0-60S,实现时间显示。用三个独立式按键实现秒表的启动、停止和复位功能,实现控制。