C单片机课程设计之秒表设计实验报告
单片机秒表课程设计报告
单片机秒表课程设计报告㈠设计任务及要求秒表系统设计——用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~59秒,每秒自动加一。
另设计一个“开始”按键和一个“暂停”按键。
实验要求通过单片机的定时器/计数器定时和计时原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可用数码管显示。
(二)设计思路分析该实验要求进行计时并在数码管上显示时间,则可利用芯片AT89C51中的P2.5管脚作为外部中断0的入口地址,并实现“开始”按键功能;将P2.6作为数据信号DATA输入的入口地址;将P2.7做为外部中断1的入口地址,并实现“清零”按键的功能;其中“开始”按键当开关由1拨向0时开始计时;“清零”按键当开关由1拨向0时数码管清零,此时若再拨“开始”按键则有可重新开始计时。
(三)硬件电路设计如图在P0口上接一个16M的晶振,它是时钟电路中最重要的部件,向主板的各部分提供基准频率。
2位LED数码管作为显示,并接在P0口和P2口。
“起始”、“暂停”和“清零”三个按键分别对应接在P2.5、P2.6、P2.7上。
(四)程序设计STRT EQU P2.5 ; 启动键端口STP EQU P2.6 ; 暂停键端口CLRR EQU P2.7; 复位键端口ORG 00HAJMP MAINORG 0BH ;定时器T0,中断入口AJMP T0INTORG 30HMAIN: MOV R0,#20 ; 中断计数器(循环次数)MOV TMOD,#01H; 定时器初始化MOV TH0,#3CH ; 设定时间50msMOV TL0,#0B0HMOV DPTR,#TABLESETB EA ; 开中断SETB ET0 ; 启动T0k1: LCALL DISPJB STRT,K2 ; 等待k2键停止LCALL DISPJNB STRT,$-3AJMP STARTk2: JB STP,K3 ; 等待K3键LCALL DISPJNB STP,STOPK3: JB CLRR, K1 ; 等待K1键LCALL DISPJNB CLRR,CLEARAJMP K3START: SETB TR0AJMP K1STOP: CLR TR0AJMP K2CLEAR: CLR TR0MOV 40H,#0AJMP K1T0INT: MOV TH0,#3CH ; 重新设置初始值MOV TL0,#0B0HDJNZ R0,RTIMOV R0,#20MOV A,40HCJNE A,#59,ADD1 ; 判断是否等于59MOV 40H,#00H ; 清零CLR TR0AJMP RTIADD1: ADD A,#01H ; 加一MOV 40H,ARTI: RETIDISP: MOV A,40HMOV B,#10DIV AB ;//当前值除以10MOV 20H,A ;//得出的商送给十位MOV 21H,B ;//得出的余数送给个位CLR P2.0SETB P2.1MOV A,20H ;//十位显示MOVC A,@A+DPTRMOV P0,ALCALL DELAYCLR P2.1SETB P2.0MOV A,21H ; //个位显示MOVC A,@A+DPTRMOV P0,A ; P0显示RETDELAY: ;误差0usMOV R6,#01HDL0:MOV R5,#61HDJNZ R5,$DJNZ R6,DL0RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99H ;//共阳极0-9显示代码DB 92H,82H,0F8H,80H,90HEND(五)调试及结论在整个程序设计、电路的选择过程中,小组成员都遇到了许多问题。
基于89C51单片机的秒表课程设计
基于89C51单片机的秒表课程设计第一篇:基于89C51单片机的秒表课程设计摘要随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,人对它的认识也逐步加深。
秒表计时器秒表计时器常常用于体育竞赛及各种其他要求有较精确时间的各领域中。
其中启/停开关的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。
而复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时应立即终止,并对计时器清零。
本设计就是利用所学到的电子元器件将脉冲源用数码管显示出来,以制承诺简易的秒表。
以单片机为核心,设计一个秒表,具有计时功能,按键有启动计时、数据清零、停止、时间显示。
采用3个LED数码管显示时间,计时范围设置为0~99.9秒,即精确到0.1秒,用按键控制秒表的“开始”、“暂停”、“复位”,按“开始”按键,开始计时;按“暂停”按键,系统暂停计时;再按“开始”键,系统继续计时;数码管显示当前计时值;按“复位”按键,系统清零。
目录一、设计任务 (3)二、设计题目 (3)三、功能分析 (3)四、总体设计 (3)4.1硬件设计 (4)4.1.1 89C51单片机 (4)4.1.2晶体振荡电路 (5)4.1.3复位电路 (6)4.1.4按键电路 (7)4.1.5显示电路 (8)4.2引脚控制 (9)五、电路原理图 (10)六、程序流程图及程序设计 (11)6.1程序流程图 (11)6.2程序设计 (12)七、程序仿真 (21)八、心得体会 (22)九、致谢 (2)3十、参考文献 (24)一、设计任务以单片机为核心,设计一个秒表,具有计时功能,按键有启动计时、数据清零、停止、时间显示。
二、设计题目秒表的设计三、功能分析采用3个LED数码管显示时间,计时范围设置为0~99.9秒,即精确到0.1秒,用按键控制秒表的“开始”、“暂停”、“复位”,按“开始”按键,开始计时;按“暂停”按键,系统暂停计时;再按“开始”键,系统继续计时;数码管显示当前计时值;按“复位”按键,系统清零。
单片机秒表课程设计报告
一:课程设计题目秒表/时钟计时器二:课程设计任务与要求:利用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中.我们所选用的数码管是共阴极的,置1时导通,所以将单片机的P1。
单片机电子实训报告-秒表的制作及其功能的实现
单片机电子实训报告目录第一章:前言1.1 单片机的基本概况 (3)第二章:设计目的及其思路2.1 设计目的 (4)2.2 设计思路 (4)2.3 设计思路总结 (6)第三章:电路图及其解释3.1秒表的完整电路图 (7)3.2电路图的原理解释 (8)第四章:程序功能实现4.1秒表的完整C语言源程序 (9)4.2 C语言源程序的分析 (10)第五章:总结第一章前言第一节单片机的基本概况随着技术的飞速发展,国民经济各个领域对自动化的要求越来越迫切。
计算机在自动化技术中发挥着及其重要的作用。
从计算机外围设备、民用电器、医用仪器设备、机电一体化产品到航空航天技术,从人工智能、工业机器人到人体工程等领域中,开发计算机应用系统成为一个热门技术。
目前,8位、16位、32位单片机以及具有各种优异性能、特殊功能类型的单片机,如信号处理单片机、USB接口控制单片机、网络通信控制单片机等,可作为广大科技工作者的开发工具。
与通用计算机不同,单片机是专为智能仪器仪表与自动化领域设计开发的专用计算机,在一芯片上集成了组成了一个计算机所需的五个主要部件:运算器、控制器、存储器、输入接口和输出接口,具有体积小、功能强、可靠性好、容易扩展、使用方便、价格便宜等特点。
有两种结构的单片机体系。
一种是单总线结构,如Intel公司,Motorola公司和Zilog公司的系列产品。
另一种是双总线哈佛结构,如Microchip公司的PIC 系列产品和Atmel公司的AVR系列产品,单总线结构的单片机大多是复杂指令集计算机,而双总线哈佛结构的单片机大多是精简指令集计算机。
在国内,主流产品是Intel公司的MCS—51系列单片机。
PIC单片机和AVR 单片机由于速度快、功耗低、采用精简指令集,收到许多开发者的重视。
从20年纪70年代初期开始,Intel公司开始开发单片机产品。
MCS—48和MCS—51系列产品奠定了Intel公司在单片机领域的主导地位。
单片机秒表设计课程设计报告范文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分别是放大器的输入端和输出端。
单片机课程设计报告秒表(WORD档)
单片机课程设计报告秒表设计电子科学系班级:姓名:学号:指导老师:实用文档2013.12.01实用文档课程设计任务书实用文档实用文档摘要:在生活中我们常常用到秒表作为计时器,为了更深刻理解它的工作原理。
本次课程设计以STC89S51单片机为控制核心,以2位共阴数码管作为显示器。
并用外部中断0控制秒表的清零和用外部中断1控制秒表的开始/暂停。
利用Altium.Designer 10.0设计原理图和PCB。
设计完成后在面包板上搭建电路进行验证和调试。
实验成功后,利用化学方法进行腐蚀刻板。
通过一个个多次实验修改,最后设计出了一个能从00~99秒计时的秒表。
此外后文还对对本次课程设计进行了归纳与总结。
关键词:单片机、数码管、中断、Altium.Designer、腐蚀刻板实用文档目录一、设计要求: (8)二、方案论证: (9)2.1总方案设计方框图: (9)2.2方案选择: (9)2.2.1显示电路: (9)2.2.2按键控制: (10)三、硬件设计: (10)3.1系统主芯片STC89C51单片机介绍: (10)3.2电源电路: (12)3.3时钟电路: (13)3.4复位电路: (13)3.5显示电路: (14)3.6键盘电路: (14)实用文档3.7扩展电路: (15)3.8硬件总电路图设计: (15)四、软件设计 (17)4.1系统主程序设计 (17)4.2定时器T1中断: (17)4.3 外部中断0流程图: (18)4.4 外部中断1流程图: (18)4.5数码管显示程序: (19)五、设计中遇到的问题及解决方法: (20)5.1设计原理图和画PCB遇到问题及解决方法: (20)5.1.1设计原理图: (20)5.1.2 绘制PCB: (20)5.2 在面包板调试时遇到问题及解决方法: (21)5.3在腐蚀刻板时遇到问题及解决方法: (21)5.3.1打印PCB印菲林纸: (21)5.3.2在涂蓝油过程中: (21)5.3.3在显影过程中: (22)实用文档5.4焊接完成后遇到问题及解决方法: (22)结束语 (22)谢辞 (23)参考文献: (24)附录A:秒表设计的源程序 (24)附录B:元件清单: (30)附录C: 秒表的原理图和PCB图: (32)附录D:成绩评定表: (34)附录E:实物图(已通过验证) (36)秒表设计一、设计要求:1.1用89C51设计一个2位的LED数码作为“秒表”。
单片机秒表设计实验报告(1)
P1=led[fen%10];//显示分钟个位
delay(10);
P2=0x10;//选中P2.1控制的数码管
P1=led[fen/10];//显示分钟十位
delay(10);
P2=0x20;//选中P2.0控制的数码管
P1=0xbf;
delay(10);
2、综合运用所学的理论知识(数码管、按键),通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。
3、通过本次试验,增强自己的动手能力。认识单片机在日常生活中的应用的广泛性,实用性。
实验要求:
制作简易秒表,用三个按键分别实现秒表的启动、停止与复位,利用八位共阳级的数码管显示时间(从左到右依次显示秒,分钟,小时,当秒数到达60s时向分钟进一,当分钟达到60min时向小时进一,当小时达到24h时全部清零从头开始)。
3.程序设计
此次选用C51来编程,首先要有初始化程序,通过初始化程序,将对主程序所用到的变量、常量以及各个参数和所调用的子函数定义,其次还有显示程序、按键扫描及处理程序、时钟程序。
(1)、系统软件流程图
(2)、编写及调试好的程序如下:
//功能:简易秒表程序
#include <reg51.h>
unsigned char msec,sec=0,fen=0,shi=0;//定义msec为50ms计数变量,sec为秒变量,fen为分钟变量,shi为小时变量
{
TH0=0x3c;//50ms定时初值TH0=(65536-50000)/256;
TL0=0xb0; //TL0=(65536-50000)%256;
msec++;//中断次数增1
单片机课程设计报告-秒表设计
硬件综合课程设计报告设计课题:秒表设计专业班级:计算机科学与技术学生姓名:李新娱饶琪学号:2010211912 2010211914指教教师:刘锐设计时间:2013年6月秒表设计1. 设计题目、内容用盛群单片机HT48F50E设计秒表,要求实现以下功能:(1)计时开始、停止设置。
(2)计时初值0设置。
(3)计时状态显示。
2. 设计思路及电路设计原理图。
本次设计使用HT-IDE的集成开发环境,在其软件部分用c语言编写时钟功能代码,并用其硬件工具HT-ICE 仿真器烧写程序在HT48F50E上,再根据相应电路实现秒表功能。
整体程序包括两大模块:动态显示和键盘扫描,程序执行流程为:单片机初始化—>扫描按键—>显示计时结果,定时器1产生固定的定时,通过变量计算时间然后通过数码管实时显示。
整个设计利用软件模拟定时器功能,采用软计时以cpu的消耗为代价,能够动态实现数码管的显示及动态扫描键盘输入,键盘控制。
其中LED屏显示秒和毫秒,分钟数由灯以二进制进行显示,可以存储时间并查阅。
a)模块电路如图所示本设计分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。
b)HT48F50E的芯片结构的构造图及目标板的键盘分布:本目标板上有一个4*4键盘。
引脚KA0—KA3用于选择键盘的列,引脚KB0—KB3用于选择键盘的行。
通常检测哪一个按键被按下的方法是:利用单片机依次向KA0—KA3输出0,然后再去读KB0—KB3的值。
如果读回的值为”1111”,则表示没有键被按下。
KA0—KA3,KB0—KB3行列对应关系如下:KB0KB1KB2KB3在本次试验中,我们用了三个键和reset键。
reset键为开始和暂停。
按SW13键暂停计时,SW14键存储当前时间,查看存储过的时间则利用SW16进行下翻,浏览查看。
c)本次设计的电路连线图:其中PA设计为输出端,输出七段码。
PB4-7为输出端,接入com0-com3,作为片选。
单片机秒表实验报告(一)
单片机秒表实验报告(一)单片机秒表实验报告实验目的通过本次实验,掌握单片机外部中断的使用方法,并实现一个简单的秒表功能。
实验材料•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. 实验验证在完成硬件和软件设计后,我们可以进行实验验证。
首先,我们将电路板连接到电源,并确保电路正常工作。
然后,我们可以通过按下按键来启动和停止秒表。
在启动状态下,秒表会不断地更新显示,并实时计算经过的时间。
在停止状态下,秒表会保持显示当前的时间。
实验结果经过实验验证,我们成功地设计和制作了一个简单的秒表。
秒表能够准确地测量时间,并将其以易于理解的形式进行显示。
同时,秒表还具备启动和停止功能,方便用户根据需要进行时间测量。
实验总结通过本次实验,我们深入了解了单片机在时间测量方面的应用。
通过合理的硬件设计和编程,我们成功地实现了一个简单而实用的秒表。
在实验过程中,我们不仅学习了单片机的工作原理和编程技巧,还培养了动手实践和解决问题的能力。
单片机c语言秒表显示实验
秒表显示实验一.实验目的1. 这个实验是设计一个程序,可以通过单片机让数码管显示从00开始每秒自动加一至99(不熟练的可先设计一个数码管的显示)到99后自动清零,从00开始继续计时。
2. 在做这个实验时要用到更新显缓存这种方法。
3. 让学生更熟悉keil软件的应用,对单片机C语言能更好的应用。
二. 实验过程1.对程序开发环境进行处理(打开软件,建工程,保存工程,建文件,文件加到工程里)。
2编程序,用更新显缓存:#include"AT89X51.H"//************************#define uchar unsigned char#define uint unsigned int//************************uint second;uchar disbuf[4];uchar codeLED[10]={0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00}void delay_nms(unit nms){}//延时void update_disbuf(void){uint tmp16bit;tmp16bbit = second;disbuf[0] = LED[tmp16bit%10]tmp16bit=tmp16bit/10disbuf[1] = LED[tmp16bit%10]tmp16bit=tmp16bit/10disbuf[2] = LED[tmp16bit%10]tmp16bit=tmp16bit/10disbuf[3] = LED[tmp16bit%10]}void main(void){sp = 0x70;P1_4 = 0;P0 = 0xff;second = 0;update_disbuf();while(1){P0 = disbuf[0];delay nms(1000);second++;update_disbuf();}} //end3.完成整个程序:#include"AT89X51.H"#include"intrins.h"//==============================#define uint unsigned int#define uchar unsigned charuint second;uchar disbuf[4];sbit wei=P2^7;sbit duan=P2^6;uchar codeLED[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f };//============================== void delay_ms(uint nms){uint i,j;for(i=0;i<nms;i++){for(j=0;j<99;j++){_nop_();_nop_();}}}//============================== void update_disbuf(){delay_ms(1000);second++;disbuf[0]=second%10;disbuf[1]=second/10%10;disbuf[2]=second/100%10;disbuf[3]=second/1000%10;}//============================== void main(){second=0;wei=1;P0=0xdf;wei=0;duan=1;P0=LED[0];while(1){update_disbuf();P0=LED[ disbuf[0]];}}4.对程序进行保存编译,无错后,点击target options,在点击OUTPUT后,生成.hex文件,将程序下载到开发板上,观察实验效果。
单片机C秒表的课程设计
单片机及其相关实践课程设计报告基于单片机的(秒表)设计班级:电XXXX-X班学号:XXXXXXXX姓名:XXX指导老师:XXXX目录一、概述 (1)1.1设计目的 (1)1.2设计要求 (1)1.3设计意义 (1)二、系统总体方案及硬件设计 (1)2.1系统总体方案 (1)2.2硬件设计 (1)2.3原理图绘制 (1)2.3.1原理图的绘制 (2)2.3.2原理图布线 (3)2.3.3编辑和调整 (3)2.3.4原理图报表文件的生成 (4)2.3.5 PCB设计 (4)2.3.6 PCB布局 (4)2.4各部分的电路 (5)2.4.1晶体振荡电路 (5)2.4.2复位电路 (5)2.4.3按键电路 (6)2.4.4 显示电路 (6)2.4.5系统电路 (7)三、软件设计 (8)3.1.设计特点 (8)3.2.秒表设计源程序 (8)四、元器件清单 (10)五、结论与心得 (10)一、概述1.1设计目的设计一个单片机控制的秒表系统。
利用单片机的定时器/计数器定时和记数的原理,结合显示电路、数码管以及按键来设计秒表。
将软、硬件有机的结合起来,使得系统能够正确的进行计时,同时具有开始、暂停、清零、复位等功能。
1.2设计要求(1)共四位数码管显示,显示时间为:00.00-99.99;(2)共三个按键,分别是开始、暂停、清零;(3)显示时间从00.00一直到99.99,到99.99自动清零。
1.3 设计意义(1)通过本次课程设计可以使我们进一步熟悉和掌握单片内部和工作原理,了解单片机应用系统设计的基本步骤和方法。
(2)通过利用STC89C52单片机,理解单片机在自动化仪表的作用以及掌握单片机的编程方法。
(3)通过设计一个简单的实际应用输入以及显示模拟系统,掌握单片机仿真软件的使用方法。
(4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的记时器系统,拥有正确的计时、暂停、清零的功能,该秒表在现实生活中应用广泛,具有现实意义。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这里可以加学校L O G A L 单片机课程设计报告
院系:xxxxxxxxxx
班别:xxxxxxxxxx
课程名称:秒表设计
姓名:xxx
学号:xxxxxxx
指导老师:xxxxxxx
目录
1课程设计的目的和任务
单片机秒表课程设计的概述
课程设计思路及描述
课程设计任务和要求
2硬件与软件的设计流程
系统硬件方案设计
软件方案设计
及课程设计效果
源程序及注释
原理图分析
课程设计效果
4 心得体会
5 相关查阅资料
1. 课程设计的目的和任务
单片机秒表课程设计的概述
一、课程设计题目
秒表系统设计——用STC89C52RC设计一个4位LED数码显示“秒表”,显示时间为~秒,每10毫秒自动加一,每1000毫秒自动加一秒。
二、增加功能
增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。
三、课程设计的难点
单片机电子秒表需要解决三个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程。
四、课程设计内容提要
本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。
将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。
其中本课程设计有两个开关按键:其中key1按键按下去时开始计时,即秒表开始键(同时也用作暂停键),key2按键按下去时数码管清零,复位为“”.
五、课程设计的意义
1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
2)掌握定时器、外部中断的设置和编程原理。
3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、
清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义
六、课程设计仪器
a) 集成电路芯片8051,七段数码管,89C51单片机开发板
b) MCS-51系列单片机微机仿真课程系统中的软件(Keil uvision2)。
课程设计思路及描述
该课程设计要求进行计时并在数码管上显示时间,则可利用MCS-51系列单片机的芯片AT89C52的,作为按键的入口;定时器T1作为每秒加一的定时器。
其中“开始”按键当开关由上向下拨时开始计时,此时若再拨“开始”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
方框图如下图1:
图1数字秒表设计导向
课程设计任务和要求
1.3.1 设计指标 。
了解8051芯片的的工作原理和工作方式 ,使用该芯片对LED 数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、99秒、清零等功能,精确到秒。
要求选用定时器的工作方式,画出使用单片机控制LED 数码管显示的电路图,并实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、清零等功能。
1.3.2 设计要求
① 画出电路原理图(或仿真电路图); ② 软件编程与调试; ③ 电路仿真与调试;
2.软件与硬件设计 系统硬件方案设计
单片机应用系统由硬件系统和软件系统两部分组成。
硬件系统是指单片机以及扩展的存储器、I\O 接口、外围扩展的功能芯片以及接口电路。
软件系统包括监控程序和各种应用程序。
在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。
与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O 接口,使单片机应用系统能够运行。
在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。
在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。
配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。
在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。
图2系统硬件结构框
软件方案设计
此次选用C51来编程,首先要有初始化程序,通过初始化程序,将对主程序所用到的变量、常量以及各个参数和所调用的子函数定义。
其次还有显示程序、按键扫描及处理程序、时钟程序和倒计时程序,系统软件流程图图如图3所示:
及课程设计效果
编写:
日期:
修改:无
1清零
------------------------------------------------*/
图3
#include<> ex文件,把.hex下载到TX-1C开发板的STC89C52RC单片机上的最终效果图如下:
下图: 开始运行,执行自动加1
下图:下图为复位后的显示
下图:“开始自加”运行,一直加到99秒
4 心得体会
以下是我在设计这个秒表过程中所总结的心得,整个过程主要是:设计程序----修正程序 ----扩展功能
----完善程序,经过自己的独立思考与查阅相关知识,最终完成这个作品.
5 相关资料查阅
【1】孙育才编着.MCS-51系列单片微型计算机及其应用.东南大学出版社.
【2】郭天祥编着.51单片机C语言教程-入门、提高、开发、拓展全攻略.电子工业出版社.
【3】刘刚编着.Protel DXP 2004 SP2原理图与PCB设计.电子工业出版社. 【4】丁峻岭主编.C语言程序设计.中国铁道出版社.。