基于单片机的秒表设计

合集下载

单片机课程设计之秒表设计

单片机课程设计之秒表设计

单片机课程设计之秒表设计一、课程目标知识目标:1. 学生理解单片机的基本原理,掌握单片机编程基础知识;2. 学生掌握秒表设计的流程和关键步骤,了解计时器的工作原理;3. 学生熟悉并掌握单片机中断、定时器等相关知识,并能将其应用于实际项目中。

技能目标:1. 学生能够运用所学知识,独立设计并实现一个简单的秒表程序;2. 学生能够通过编程调试,解决在秒表设计过程中遇到的问题;3. 学生具备团队协作能力,能够与同学共同分析问题、讨论方案并完成项目。

情感态度价值观目标:1. 学生培养对单片机及电子制作的兴趣,激发创新精神和实践能力;2. 学生养成勤奋好学、独立思考的良好习惯,形成积极向上的学习态度;3. 学生在项目实践中,培养团队精神,学会相互尊重、沟通协作。

本课程针对单片机课程设计之秒表设计,结合学生年级特点,注重理论与实践相结合,培养学生的动手能力和实际操作技能。

通过课程学习,使学生能够掌握单片机基础知识,具备实际项目设计与实施能力,同时培养他们的团队协作和创新能力。

课程目标明确、具体,可衡量,有助于学生和教师在教学过程中清晰了解预期成果,并为后续教学设计和评估提供依据。

二、教学内容1. 单片机基础知识回顾:主要包括单片机的结构、工作原理、指令系统及编程基础;2. 定时器与中断:讲解单片机定时器的工作原理,中断处理过程,以及如何利用定时器实现精确计时;3. 秒表设计原理:分析秒表的功能需求,设计流程,以及所需硬件和软件资源;4. 程序设计:根据秒表设计原理,编写程序代码,实现秒表的开始、停止、计次、清零等功能;5. 硬件电路设计:介绍秒表所需硬件电路的设计方法,包括单片机、按键、显示屏等部分的连接;6. 调试与优化:教授学生如何对程序进行调试,找出并解决存在的问题,优化程序性能;7. 课外拓展:引导学生思考如何改进秒表功能,增加趣味性和实用性。

教学内容依据课程目标制定,涵盖单片机基础知识、定时器与中断、程序设计、硬件电路设计等方面,以确保内容的科学性和系统性。

基于单片机的秒表课程设计

基于单片机的秒表课程设计

基于单片机的秒表课程设计————————————————————————————————作者:————————————————————————————————日期:基于单片机的秒表课程设计姓名:班级:学号:专业:指导老师:年月日目录1、总体设计方案简介1.1设计课程任务1。

2系统分析1。

3系统方案1.4方案论证2、硬件设计2。

1控制芯片的介绍2.2硬件接线2。

2。

1硬件接线接口2。

2。

2硬件接线图3、软件设计3.1程序设计思路3.2流程图3.3源程序3.4仿真结果4、元件清单5、心得体会基于单片机的秒表课程设计摘要本设计的成品是在单片机最小系统的基础上增加显示电路和控制电路来完成数字式秒表的硬件电路的。

电子秒表电路主要由AT89S51单片机最小系统电路、七段数码管动态显示电路和控制电路组成,它能实现八段数码显示和计时,能通过控制电路控制时间的暂停和开始。

关键字:AT89S51 数码管最小系统1总体设计方案简介1。

1设计课题任务设计一个具有特定功能的数字式秒表。

用AT89C52设计一个2位LED 数码显示“秒表”,显示时间为00-59,另设计一个“开始”按钮和一个“复位”按钮。

按键说明:按“开始"按键,开始计数,数码管从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00。

1.2系统分析设计的电路主要是能多次计时,计时的多少通过显示电路出来,设计框图如图所示;控制部分技术和存储部显示部分1.3系统方案利用AT89C52单片机设计数显定时器。

此方案采用AT89C52单片机系统来实现。

AT89C52芯片内含8KB 的EEPROM ,不需要外扩展存储器,可是系统整体结构更为简单。

设计框图如图所示;1.4方案论证此方案是以AT89C52芯片为中心控制系统,可实现计时、清零等功能,大大提高了系统的智能化,也是的系统所测结果精度大大提高。

所以此方案可行。

2硬件设计2。

1控制芯片的介绍AT89S52是一种低功耗、高性能的片内含有4KB 快闪可编程/擦除只读存储器,的8位CMOS 微控制器,使用高密度、非易失存储技术制造,并外部控制开关AT89C52单 片 机七段数码显示与80S52引脚和指令系统完全兼容。

基于51单片机秒表的程序的设计[1]

基于51单片机秒表的程序的设计[1]

基于51单片机秒表的程序设计1.设计目的:(1)利用单片机定时器中断和定时器计数方式实现秒、分定时。

(2)通过LED显示程序的调整,熟悉8155与8051,8155与LED的接口技术,熟悉LED动态显示的控制过程。

(3)通过键盘程序的调整,熟悉8155与矩阵式键盘的接口技术,熟悉键盘扫描原理。

(4)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。

2.设计步骤与要求(1)要求:以8位LED右边2位显示秒,左边6位显示0,实现秒表计时显示。

以4×4矩阵键盘的KE0、KE1、KE2等3键分别实现启动、停止、清零等功能。

(2)方法:用单片机定时器T0中断方式,实现1秒定时;利用单片机定时器1方式3计数,实现60秒计数。

用动态显示方式实现秒表计时显示,用键盘扫描方式取得KE0、KE1、KE2的键值,用键盘处理程序实现秒表的启动、停止、清零等功能。

(3)软件设计:软件整体设计思路是以键盘扫描和键盘处理作为主程序,LED动态显示作为子程序。

二者间的联系是:主程序查询有无按键,无按键时,调用二次LED动态显示子程序(约延时8ms)后再回到按键查询状态,不断循环;有按键时,LED动态显示子程序作为按键防抖延时被连续调用二次(约延时16ms),待按键处理程序执行完后,再回到按键查询状态,同时兼顾了按键扫描取值的准确性和LED动态显示的稳定性。

秒定时采用定时器T0中断方式进行,60秒计数由定时器1采用方式3完成,中断及计数的开启与关闭受控于按键处理程序。

由上述设计思路可设计出软件流程图如图1.1所示。

(5)程序编制:编程时置KE0键为“启动”,置KE1键为“停止”,置KE2键为“清零”,因按键较少,在处理按键值时未采用散转指令“JMP”,而是采用条件转移指令“CJNE”,每条指令后紧跟着一条无条件跳转指令“AJMP”,转至相应的按键处理程序,如不是上述3个按键值则跳回按键查询状态。

单片机课程设计_基于单片机的数字秒表设计

单片机课程设计_基于单片机的数字秒表设计

单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。

本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。

一、设计要求1、能够实现秒表的启动、暂停、复位功能。

2、计时精度达到 001 秒。

3、能够通过数码管显示计时结果。

二、系统方案设计1、硬件设计单片机选型:选用常见的 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。

显示模块:采用 8 位共阴极数码管作为显示器件,通过动态扫描的方式实现数字的显示。

按键模块:设置三个独立按键,分别用于启动、暂停和复位操作。

时钟模块:使用单片机内部的定时器/计数器产生精确的时钟信号,实现计时功能。

2、软件设计主程序:负责系统的初始化、按键扫描和计时处理等。

中断服务程序:利用定时器中断实现 001 秒的定时,更新计时数据。

三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。

晶振频率选择 12MHz,为单片机提供时钟信号。

复位电路采用上电复位和手动复位相结合的方式,确保系统能够可靠复位。

2、显示电路将 8 位数码管的段选引脚通过限流电阻连接到单片机的 P0 口,位选引脚通过三极管连接到单片机的 P2 口。

通过动态扫描的方式,依次点亮每个数码管,实现数字的显示。

3、按键电路三个按键分别连接到单片机的 P10、P11 和 P12 引脚,采用低电平有效。

当按键按下时,相应引脚的电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。

四、软件程序设计1、主程序流程系统初始化后,进入主循环。

在主循环中,不断扫描按键状态,如果检测到启动按键按下,则启动计时;如果检测到暂停按键按下,则暂停计时;如果检测到复位按键按下,则将计时数据清零。

基于单片机的简易秒表设计

基于单片机的简易秒表设计

• 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)。

单片机课程设计+基于单片机的秒表系统设计

单片机课程设计+基于单片机的秒表系统设计

目录一总体方案设计 (1)1.1 设计要求 (1)1.2 优点及意义 (1)1.3 初步设计思路 (1)二、硬件电路设计 (1)2.1 AT89C51单片机模块 (1)2.1.1 89C5单片机 (1)2.1.1单片机中断系统 (2)2.2 复位与时钟电路模块 (3)2.2.1晶振电路 (3)2.2.2 复位电路 (3)2.3按键模块 (3)2.4蜂鸣器模块 (4)①蜂鸣器工作原理 (4)2.5数码管模块 (4)三、软件设计 (5)3.1程序流程图 (5)3.2主程序设计 (5)3.2.1定义管脚、指示灯、蜂鸣器 (5)3.2.2启动与暂停 (5)3.2.3每秒报警 (7)3.2.4数码管显示 (7)3.3子程序设计 (8)3.3.1 定时器子程序设计 (8)总结 (9)参考文献 (10)附录 (11)一总体方案设计1.1 设计要求1、设计精度为0.1S的秒表系统。

2、设置启动、暂停、清零按钮。

3、设计每一秒钟都有提醒功能。

4、秒表的最长计时长度为9:59:59,超过此长度,报警。

1.2 优点及意义单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。

事实上单片机是世界上数量最多的计算机。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

1.3 初步设计思路该实验要求进行计时并在数码管上显示时间,则可利用单片机微机仿真实验系统中的芯片AT89C51中的P3.2管脚做为外部中断0的入口地址,并实现“开始/停止”、“暂停”、“清零”按键的功能;定时器T0作为每秒加一的定时器。

基于51单片机的数字秒表毕业设计论文

基于51单片机的数字秒表毕业设计论文

摘要近年来随着科学技术的发展,单片机的应用正在不断走下面还深入。

本文简单阐述了基于单片机的数字秒表的的设计。

本设计的主要特点是计时精度达到0.01秒,是各种体育竞赛的必要设备之一。

本设计的数字秒表采用AT89S52单片机为主要器件,利用其定时器的原理,结合显示电路、LED数码管以及外部外部中断电路来设计计时器。

将软硬件结合起来,使得系统能实现0~99.99秒的计时,计时精度位0.01秒。

硬件系统利用proteus仿真,在仿真中就能观察到系统的实际运行情况。

关键字:单片机数字秒表仿真一硬件设计1、1 总体方案的设计数字秒表具有显示直观、读取方便、精度高等优点,在计时中广泛应用。

本设计中用单片机和数码管组成数字秒表力求结构简单。

设计中包括硬件电路的设计和系统程序的设计。

硬件电路主要有主控制器、控制按钮与显示电路组成。

主控制器采用单片机AT89S52,显示电路采用四位共阴极数码管显示计时时间。

本设计利用AT89S52单片机的定时器,使其能精确计时。

利用中断系统使其实现启动和暂停的功能,P0口输出段码数据,P2.0~P2.2连上译码器作为位选,P3.2和P3.3接口的两个按钮分别实现启动和暂停功能。

设计的基本要求是正确性。

硬件电路按下图进行设计。

计时器采用T0中断实现,定时溢出中断周期为1ms,当溢出中断后向CPU发出溢出中断请求,每发出10次中断请求就对10ms位(即最后一位)加一,达到100次就对100ms位加一,以此类推,直到99.99s为止。

再看按键的处理。

两个按键采用中断的方法,设置外部中断0和外部中断1位脉冲边沿触发方式,这样一来每当按键按下时便会触发中断,从而实现启动和暂停。

1.2 单片机的选择本设计在选取单片机时,充分借鉴了许多成型产品使用单片机的经验。

并根据自己的实际情况,选用了ATMEL公司的AT89S52。

ATMEL公司的89系列单片机以其卓越的性能、完善的兼容性、快捷便利的电擦写操作、低廉的价格完全替代了87C5162和875152,低电压、低功耗,有DIP、PLCC、QFP封装,是目前性能最好、价格最低、最受欢迎的单片机之一。

基于单片机的电子秒表课程设计(附程序)

基于单片机的电子秒表课程设计(附程序)

《新编单片机原理及应用》—课程设计---电子秒表---说明书目录第一章绪论 (3)1.1概述 (3)1.2设计目的 (3)1.3设计任务和内容 (3)第二章总体设计及核心器件简介 (4)2.1总体设计 (4)2.2MCS-51之80C51 (4)第三章单元电路模块设计 (6)3.1按键电路 (6)3.2时钟电路 (7)3.3LED数码管显示电路 (7)3.4复位电路 (9)3.5 总体功能介绍 (11)第四章软件编程设计 (12)第五章设计体会及总结 (13)参考文献 (14)附录一程序流程图 (15)附录二系统程序设计 (16)第一章绪论1.1概述单片微型计算机简称单片机,又称微控制器,是微型计算机的一个重要分支。

单片机是20世纪七十年代中期发展起来的一种大规模集成电路芯片,是集CPU、RAM、ROM、I/O接口和终端系统与同一硅片的器件。

20世纪八十年代以来单片机发展迅速各类新产品不断涌现出现许多新产品,出现了许多高性能新型机种现已成为工业控制和各控制领域的支柱产业之一。

由于单片机功能功能强、体积小、可靠性好、价格便宜等独特优点因而受到人们的高度重视并取到了一系列的科研成果,成为传统工业技术改造和新产品更新换代的理想机种,并具有广阔的发展前景。

本设计运用所学的单片机知识,将单片机与普通秒表相结合设计了电子秒表,具有低功耗,保密性好等优良特点,具有广阔的市场前景1.2设计目的加强对单片机和C51语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。

(1)用单片机模拟实现具体应用使个人设计系统能够真正使用。

(2)把理论知识与实践知识相结合,充分发挥个人能力,并在实践中得到锻炼。

(3)提高利用已学的知识分析和解决问题的能力。

(4)提高动手实践能力。

1.3设计任务及内容1.3.1设计任务结合教材及参考资料,用80C51单片机模拟实现电子秒表的开启,计时,停止并显示时间等功能。

基于单片机设计的秒表

基于单片机设计的秒表

数理与信息工程学院《单片机原理及应用》期末课程设计题目:基于单片机设计的秒表专业:计算机科学与技术班级:计本072班名:学号:指导老师:成绩:( 2010.1 )目录第1节引言 (3)1.1 秒表功能概述 (3)1.2 本设计任务和主要内容 (3)第2节系统主要硬件电路设计 (4)2.1 系统组成框图 (4)2.2 控制系统电路 (4)2.2.1晶振的使用 (5)2.2.2控制电路 (6)2.3 控制电路与晶振的连接 (6)2.4 数码管显示系统电路 (7)第3节系统软件设计 (9)3.1 计时主程序设计 (9)3.2 数码管显示程序设计 (12)第4节结束语 (15)参考文献 (16)基于单片机设计的秒表数理与信息工程学院计算机科学与技术072 郑进伟指导教师:余水宝第1节引言秒表虽然是一个简单的小工具,但是给我们的生活带来许多方便,体育比赛中秒表是必不可少的裁判工具。

其核心是基于单片机的控制部分和晶振共同组成,加以软件编程实现。

秒表的设计程序用AT89C51,外接晶振,复位电路,二个数码管,二个按键,做一个电子秒表,具体要求为用按键起停电子表,可用按键设计倒计时时间(如10S,20S,60S),并启动倒计时功能。

能用按键选择以上两功能之一。

该系统结构简单,易于操作,可靠性高,用途广泛。

1.1 秒表设计概述秒表虽然是一个简单的小工具,市面上随处可见。

但麻雀虽小,五脏俱全。

它亦是一个完整,精密的小系统。

加上秒表使用范围广,如果能用更加稳定,优异的设计来实现,使其能够更精确,或者能将其模块化添加到其他的电子产品中,如手表,手机等,可以创造许多经济效益。

1.2本设计任务和主要内容本论文主要研究基于单片机的秒表设计,主要是控制电路设计,数码管显示的设计,和软件程序的编写。

第2节系统主要硬件电路设计2.1 系统组成框图图2-1 秒表系统原理框图2.2 控制系统电路AT89C51单片机是51系列单片机的一个成员,是8051单片机的简化版。

基于某单片机的秒表设计

基于某单片机的秒表设计

基于某单片机的秒表设计一、设计要求与方案选择(一)设计要求1、能够精确到 001 秒的计时精度。

2、具备启动、暂停、复位等基本功能。

3、能够通过数码管或液晶显示屏显示计时结果。

(二)方案选择在单片机的选择上,考虑到成本、性能和易用性等因素,我们选用了_____单片机。

该单片机具有丰富的资源和良好的稳定性,能够满足秒表设计的需求。

对于计时方式,采用内部定时器中断来实现精确计时。

通过设置合适的定时器初值和中断时间间隔,可以达到 001 秒的计时精度。

在显示方案上,经过比较数码管和液晶显示屏的优缺点,最终决定使用_____液晶显示屏。

它具有显示内容丰富、功耗低、可视角度大等优点,能够清晰地显示秒表的计时结果。

二、硬件设计(一)单片机最小系统单片机最小系统包括单片机芯片、晶振电路和复位电路。

晶振电路为单片机提供稳定的时钟信号,复位电路用于系统的初始化和异常情况下的恢复。

(二)按键电路为了实现秒表的启动、暂停和复位功能,设计了三个独立按键。

通过检测按键的按下状态,将相应的信号传递给单片机进行处理。

(三)显示电路选用的液晶显示屏通过数据总线和控制总线与单片机相连。

单片机通过向显示屏发送指令和数据,实现计时结果的显示。

(四)电源电路为整个系统提供稳定的电源供应,确保系统正常工作。

三、软件设计(一)主程序流程主程序首先进行系统初始化,包括单片机内部资源的配置、液晶显示屏的初始化等。

然后进入一个无限循环,在循环中不断检测按键状态,并根据按键操作执行相应的功能,如启动计时、暂停计时、复位计时等。

(二)定时器中断服务程序定时器中断服务程序用于实现精确计时。

在中断服务程序中,对计时变量进行累加,当计时达到 1 秒时,将秒数加 1,并对毫秒数进行清零,从而实现秒表的计时功能。

(三)按键处理程序按键处理程序通过检测按键的按下和释放状态,判断用户的操作意图,并将相应的标志位置位或清零,以供主程序进行处理。

(四)显示程序显示程序负责将计时结果转换为相应的字符,并发送到液晶显示屏进行显示。

单片机秒表课程设计

单片机秒表课程设计

单片机秒表课程设计设计目的本文档旨在介绍一个基于单片机的秒表课程设计方案,通过该课程设计,学生可以学习和掌握单片机的基本原理和应用,同时加深对计时器和中断的理解和应用能力。

课程设计内容本课程设计将通过以下几个步骤来实现一个基本的秒表功能:1.硬件准备:准备一个支持单片机编程的开发板、显示屏模块和按钮模块。

2.程序框架:编写程序框架,初始化单片机的引脚和外设,并定义相关的变量和常量。

3.显示模块:编写程序代码,实现显示屏的驱动,在屏幕上显示计时的时间。

4.按钮模块:编写程序代码,实现按钮的驱动,用于开始、停止和复位秒表。

5.计时功能:编写程序代码,实现秒表的计时功能,包括计时开始、计时停止和计时复位等操作。

6.中断处理:利用中断技术,实现定时中断,以精确计时,并实现按钮的中断处理功能。

7.调试和测试:将程序烧录到开发板上,进行调试和测试,确保秒表功能正常运行。

操作流程以下是使用该秒表的基本操作流程:1.程序启动:按下按钮模块上的启动按钮,秒表开始计时并在显示屏上显示计时时间。

2.计时中:显示屏上的时间会实时更新,秒表将一直计时。

3.计时停止:按下按钮模块上的停止按钮,秒表停止计时,但显示屏上的时间保持不变。

4.计时复位:按下按钮模块上的复位按钮,秒表归零,并在显示屏上显示零。

软件设计以下是软件设计的关键部分:程序框架#include <reg51.h>// 定义所使用的引脚和外设sbit startButton = P0^0; // 启动按钮sbit stopButton = P0^1; // 停止按钮sbit resetButton = P0^2; // 复位按钮sbit display = P1; // 显示屏// 定义所使用的变量和常量unsigned char hour; // 时unsigned char minute; // 分unsigned char second; // 秒unsigned int count; // 计数器// 函数声明void init();void displayTime();// 主函数void main(){init();// 主循环while(1){displayTime(); }}// 初始化函数void init(){// 初始化引脚和外设// ...// 初始化变量和常量 hour = 0;minute = 0;second = 0;count = 0;}// 显示时间函数void displayTime(){// 显示时间的代码// ...}显示模块使用该模块可以将计时的时间显示在屏幕上,具体实现需要根据显示屏的驱动方式来编写代码。

基于单片机的秒表设计

基于单片机的秒表设计

基于52单片机的秒表设计1 单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种职能IC卡,名用豪华车辆的安全保障系统,摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械了。

因此,的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

单片机广发应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴:1.1 在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用与仪器仪表中,结合不同类型的传感器,可实现诸如电压、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。

采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。

例如精密的测量设备(示波器,各种分析仪)。

1.2在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。

例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二极管控制系统等。

1.3在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子称量设备,五花八门,无所不在。

1.4在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便的与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可以兼得移动电话,集群移动通信,无线电对讲机等。

基于单片机的秒表设计

基于单片机的秒表设计

基于单片机的秒表设计一、设计需求分析在设计基于单片机的秒表之前,首先需要明确其功能和性能需求。

一般来说,秒表应具备以下基本功能:1、计时功能:能够精确地测量时间,最小计时单位通常为毫秒。

2、启动/停止功能:用户可以通过按键控制秒表的启动和停止。

3、复位功能:将秒表的计时数据清零,以便重新开始计时。

4、显示功能:能够清晰地显示计时结果,通常采用数码管或液晶显示屏。

此外,为了提高用户体验,还可以考虑增加一些扩展功能,如记录多个计时数据、设置计时上限、具备暂停功能等。

二、硬件设计1、单片机选型在选择单片机时,需要考虑其性能、资源和成本等因素。

常见的单片机如 STM32、Arduino 等都可以满足秒表的设计需求。

以 STM32 为例,其具有丰富的定时器资源和高速的处理能力,能够实现高精度的计时。

2、计时模块计时功能的实现通常依靠单片机内部的定时器。

通过设置定时器的工作模式和计数周期,可以精确地测量时间间隔。

例如,使用 STM32的通用定时器,设置为向上计数模式,并根据系统时钟频率和预分频系数计算出定时器的溢出时间,从而实现毫秒级的计时。

3、按键输入模块为了实现秒表的启动、停止和复位操作,需要设计按键输入电路。

可以使用普通的机械按键或触摸按键,将按键的信号连接到单片机的GPIO 引脚,并通过编程检测引脚的电平变化来响应按键操作。

4、显示模块显示模块用于将计时结果直观地展示给用户。

常见的显示方式有数码管显示和液晶显示屏显示。

数码管显示简单直观,但显示内容有限;液晶显示屏则可以显示更多的信息,并且具有更好的可读性。

在选择显示模块时,需要根据实际需求和成本进行综合考虑。

5、电源模块为整个系统提供稳定的电源是保证秒表正常工作的关键。

可以使用电池供电或通过 USB 接口连接外部电源。

在设计电源模块时,需要考虑电源的电压、电流和稳定性等因素。

三、软件设计1、主程序流程主程序主要负责初始化各个模块、检测按键操作和处理计时数据。

基于单片机的电子秒表的设计

基于单片机的电子秒表的设计

电子秒表的设计一、设计目的掌握定时器使用方法,掌握单片机管理键盘、显示器的方法。

二、技术指标12.按键启动、停止秒表计数。

三、设计方案基本定时时间为100us。

中断10000次为1秒。

秒和分逢60进1。

1/1000秒不显示,做四舍五入处理。

参考实验十八电子钟程序。

设计任务设计任务:利用LAB6000单片机实验箱实现数字秒表设计1.设计电子秒表,精度为0.01秒2.具有启动、停止、清零功能3.每到1秒蜂鸣提示,此功能可关闭。

基本定时时间为100us。

中断10000次为1秒。

秒和分逢60进1。

1/1000秒不显示,做四舍五入处理。

利用数码管扫描显示,将数据显示在数码管上。

程序是从左边开始显示,然后显示下一位,四位显示完后返回。

不断的循环扫描,由于扫描时间小于20ms,人眼有时间暂留现象,能看到同时亮。

还利用了键盘扫描程序,能够设置键盘按钮控制程序,本课程设计利用了15个按键,0~9十个数字输入按键,一个开始按键,一个暂停按键,一个复位清零按键,一个控制输入按键。

程序流程图程序模块功能1、主程序Start:设置初始化,包括初值的设置,计数器的设置和中断的设置。

2、中断程序T0Int、T1Int:分别实现正数计时和倒数计时功能。

3、数码管扫描及显示程序DisplayLED:利用数码管扫描显示,将数据显示在数码管上。

4、键盘扫描及读键值程序TestKey、GetKey:利用了键盘扫描程序,设置键盘按钮控制,一个开始按键,一个暂停按键,一个复位清零按键,一个控制输入按键。

程序清单OUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口LEDBuf equ 60h ; 显示缓冲Minute equ 40hSecond equ 41hNSecond equ 42hMSecond equ 43hC100us equ 44hTick equ 100T100us equ 206org 0000hljmp Startorg 000bhajmp t0intorg 1bhajmp t1intT0Int:push PSWpush ACCdec C100usmov a, C100usjnz Exitmov C100us,#Tickinc Msecondmov a,Msecondcjne a,#10,Exitmov Msecond,#0mov a,Nsecondcjne a,#10,Exitmov Nsecond,#0inc Secondmov a, Secondcjne a, #60, Exitmov Second, #0inc Minutemov a, Minutecjne a, #60, Exitmov Minute, #0pop ACCpop PSWretiT1Int: push PSW ;恢卸? 倒数计时 push ACCdec C100usmov a, C100usjnz Exitmov C100us,#TickDEC Msecondmov a,Msecondcjne a,#0,Exitmov Msecond,#9DEC Nsecondmov a,Nsecondcjne a,#0,Exitmov Nsecond,#9mov a, Secondcjne a, #0, ExitJZ WWWW: CLR TR1SETB P1.0mov r4,#255qq1: call displayleddjnz r4,qq1CLR P1.0Exit:pop ACCpop PSWretiDelay: ; 延时子程序mov r7, #0DelayLoop:djnz r7, DelayLoopdjnz r6, DelayLoopretLEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h DisplayLED:mov r0, #LEDBufmov r1, #6 ; 共6个八段管mov r2, #00100000b ; 从左边开始显示Loop:mov dptr, #OUTBITmov a, #0movx @dptr, a ; 关所有八段管 mov a, @r0mov dptr, #OUTSEGmovx @dptr,amov dptr, #OUTBITmov a, r2movx @dptr, a ; 显示一位八段管 mov r6, #1call Delaymov a, r2 ; 显示下一位rr amov r2, ainc r0djnz r1, LoopretTestKey:mov dptr, #OUTBITmov a, #0 ;movx @dptr, a ; 输出线置为0 mov dptr, #INmovx a, @dptr ; 读入键状态cpl aanl a, #0fh ; 高四位不用retKeyTable: ; 键码定义db 16h, 15h, 14h, 0ffhdb 13h, 12h, 11h, 10hdb 0dh, 0ch, 0bh, 0ahdb 0eh, 03h, 06h, 09hdb 0fh, 02h, 05h, 08hdb 00h, 01h, 04h, 07hGetKey:mov dptr, #OUTBITmov P2, dphmov r0, #Low(IN)mov r1, #00100000bmov r2, #6KLoop:mov a, r1 ; 找出键所在列cpl amovx @dptr, acpl arr amov r1, a ; 下一列movx a, @r0cpl aanl a, #0fhjnz Goon1 ; 该列有键入djnz r2, KLoopmov r2, #0ffh ; 没有键按下, 返回 0ffh sjmp Exit1Goon1:mov r1, a ; 键值 = 列 X 4 + 行mov a, r2dec arl arl amov r2, a ; r2 = (r2-1)*4mov a, r1 ; r1中为读入的行值 mov r1, #4LoopC:rrc a ; 移位找出所在行jc Exit1inc r2 ; r2 = r2+ 行值djnz r1, LoopCExit1:mov a, r2 ; 取出键码mov dptr, #KeyTablemovc a, @a+dptrmov r2, aWaitRelease:mov dptr, #OUTBIT ; 等键释放clr amovx @dptr, amov r6, #10call Delaycall TestKeyjnz WaitReleasemov a, r2retToLED:mov dptr, #LEDMapmovc a, @a+dptrretStart:mov LEDBuf,#3fhmov LEDBuf+1,#0bfhmov LEDBuf+2,#3fhmov LEDBuf+3,#0bfhmov LEDBuf+4,#3fhmov LEDBuf+5,#3fhmov TMOD, #00100010b ; 模式2, 定时器 mov TH0, #T100usmov TL0, #T100usmov TH1, #T100usmov TL1, #T100usmov IE, #10001010b ; EA=1, IT0 = 1mov Minute, #0mov Second, #0mov NSecond, #0mov MSecond, #0mov C100us, #Tickclr p1.0MLoop: call DisplayLEDcall loopdcall Testkeyjz MLoopcall Getkeycjne a,#11h,L0call ssajmp Mloopl0: cjne a,#15h,L1setb TR0L1: cjne a,#16h,L2clr TR0clr cmov a,C100ussubb a,#50jc L4ljmp MLoopL2: cjne a,#0ffh,L3mov Minute, #0mov Second, #0mov NSecond, #0 mov MSecond, #0 mov C100us, #Tick ljmp MLoopL4: ljmp NLoopL3:ljmp MLoop NLoop: inc Msecondmov a,Msecondcjne a,#10,MLoop mov Msecond,#0inc Nsecondmov a,Nsecondcjne a,#10,MLoop mov Nsecond,#0inc Secondmov a, Secondcjne a, #60, MLoop mov Second, #0inc Minutemov a, Minutecjne a, #60, MLoop mov Minute, #0retLoopd: mov a, Minutemov b, #10div abcall ToLEDmov LEDBuf, amov a, bcall ToLEDorl a, #80hmov LEDBuf+1, a mov a, Secondmov b, #10div abcall ToLEDmov LEDBuf+2, a mov a, bcall ToLEDorl a, #80hmov LEDBuf+3, a mov a, NSecondcall ToLEDmov LEDBuf+4, a mov a, MSecondcall ToLEDmov LEDBuf+5, a RETDLOOP: call DisplayLEDcall loopdcall Testkeyjz DLoopcall GetkeyCJNE A,#15H,l000 setb TR1L000: cjne a,#16h,L222 clr TR1clr cmov a,C100ussubb a,#50jc L444ljmp DLoopL222: cjne a,#0ffh,L333mov Minute, #00 mov Second, #00 mov Nsecond,#0mov MSecond, #0 mov C100us, #Tick ljmp startL444: ljmp ELoopL333: ljmp DLoop ELoop: dec Msecondmov a,Msecondcjne a,#0,DLoopmov Msecond,#9dec Nsecondmov a,Nsecondcjne a,#0,DLoopmov Nsecond,#9dec Secondmov a, Secondcjne a, #00, DLoop retss: call testkeyjz sscall getkeymov ledbuf+2,acall toledss1: call testkeyjz ss1call getkeymov ledbuf+3,acall toledMOV A,LEDBUF+2MOV B,#10MUL ABADD A,LEDBUF+3mov Minute, #0MOV SECOND,Amov NSecond, #9 mov MSecond, #9 mov C100us, #Tick qq: call displayledcall DLOOPretend硬件资源分配表。

基于单片机定时器的秒表设计.

基于单片机定时器的秒表设计.
{
hurd=0;
sec=0;
}
void main(void)//主函数
{
while(1)
{
P1=a[0];
P3=tab[0];
delay(N);
P1=a[1];
P3=tab2[0];
delay(N);
P1=a[2];
P3=tab[0];
delay(N);
P1=a[3];
P1=a[2];
P3=tab[ten];
delay(N);
P1=a[3];
P3=tab[bits];
delay(N);
if(start==0)//检测开始健是否按下
{
delay(200);//延时消抖
break;//如果开始键按下,则跳出死循环
}
}
}
timer0 (void) interrupt 1 using 1 //T0中断函数
返回值:无。
函数名:canplay
功能功能:将各个显示位都清零。
形式参数:无。
返回值:无。
函数名:timer0
功能功能:重载计数初值,对中断计数,判断各显示位是否大于十,大于十则回零。
形式参数:无。
返回值:无。
4、程序流程:
5、变量定义:
此题中定义了全局变量can来对中断进行计数和hurd ten bits ms分另用来显示各个位。
P3=tab[0];
delay(N);
if(start==0)//检测开始健是否按下
{
delay(200);//延时消抖
break;
}
}
while(1)//死循环
{
if(start==0)//检测开始键是否按下

基于单片机的电子秒表设计

基于单片机的电子秒表设计

目录第一章绪论.................................................................................................................. 1 1.1 1.1 秒表及其发展现状秒表及其发展现状......................................................................................... 1 1.2 1.2 设计目的及意义设计目的及意义............................................................................................. 1 1.3 1.3 设计内容设计内容......................................................................................................... 1 1.4 1.4 课题设计要求课题设计要求................................................................................................. 1 第二章硬件设计.......................................................................................................... 2 2.1 2.1 总体方案的设计总体方案的设计............................................................................................. 2 2.2 2.2 单片机的选择单片机的选择................................................................................................. 3 2.2.1 AT89C51单片机性能介绍.................................................................................... 4 2.2.2 2.2.2 单片机最小系统单片机最小系统................................................................................................... 6 2.3 2.3 显示电路的选择与设计显示电路的选择与设计................................................................................. 8 2.4 2.4 按键电路的选择与设计按键电路的选择与设计............................................................................... 11 2.5 2.5 时钟电路的选择与设计时钟电路的选择与设计............................................................................... 12 2.6 2.6 系统总电路的设计系统总电路的设计....................................................................................... 13 第三章软件设计........................................................................................................ 15 3.1 3.1 程序设计思想程序设计思想............................................................................................... 15 3.2 3.2 程序框程序框........................................................................................................... 16 3.3 3.3 源程序及说明源程序及说明............................................................................................... 17 第四章系统的仿真与调试........................................................................................ 18 4.1 4.1 硬件的调试硬件的调试................................................................................................... 18 4.1.1 4.1.1 排除元器件失效排除元器件失效................................................................................................. 18 4.1.2 4.1.2 排除电源故障排除电源故障..................................................................................................... 18 4.1.3 4.1.3 联机仿真调试联机仿真调试..................................................................................................... 18 4.2 4.2 软件的仿真与调试软件的仿真与调试....................................................................................... 18 4.2.1 Proteus 简介...................................................................................................... 18 4.2.2 4.2.2 软件的仿真软件的仿真......................................................................................................... 19 4.2.3 4.2.3 软件的调试软件的调试......................................................................................................... 19 结论............................................................................................................................ 21 致谢............................................................................................................................ 22 参考文献...................................................................................................................... 23 附录源程序及说明.................................................................................................... 24 摘要电子秒表在生活中的应用电子秒表在生活中的应用,,它可广泛应用于对运动物体的速度、加速度的测量实验量实验,,还可用来验证牛顿第二定律、机械能守恒等物理实验机械能守恒等物理实验,,同时也适用于对时间测量精度要求较高的场合间测量精度要求较高的场合..测定短时间间隔的仪表。

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

摘要本设计是一个利用单片机控制的多功能秒表系统,它是基于51系列的单片机进行的系统设计。

它采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及键盘电路来设计计时器。

将软、硬件有机地结合起来,使得系统能够实现四位LED显示,最大显示时间为9分59.9秒,每毫秒自动加1,一个开始暂停按键、一个复位按键。

其突出的优点:体积小、场外作业、功耗最低、宜用电池作为电源、硬件结构紧凑、简单和软件设计灵活.当今时代,是一个新技术层出不穷的时代。

在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。

单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

单片机的出现是现代科技发展的一个重要的里程碑。

由于单片机的集成度高、功能强,通用性好,特别是它具有体积下、重量轻、能耗低、价格便宜等优点,使单片机迅速得到推广应用,目前已成为测量控制应用系统中的优选机种和新电子产品的关键部件。

目录1 概述 (4)1.1设计任务 (4)1.2设计要求 (4)2 系统总体方案及硬件设计 (5)2.1系统总体方案 (5)2.2硬件电路设计 (6)3 软件设计 (10)3.1软件设计概述 (10)3.2程序流程图 (10)3.3子程序模块设计 (12)4 Proteus软件真 (13)4.1软件功能简介 (13)4.2 Proteus运行流程 (14)5课程设计会 (16)参考文献 (16)附1:源程序代码 (17)附2:系统原理图 (20)1 概述1.1 设计任务设计一个单片机控制的秒表系统。

利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计计时器。

将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。

1.2设计要求1)利用单片机内部定时器设计一个秒表,显示最大值为9分59.9秒。

2)使用4位七段显示器来显示现在的时间。

显示格式为“分、秒、毫秒”。

3)要求能实现秒表的启动、停止和复位。

2 系统总体方案及硬件设计2.1系统总体方案本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。

其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用PROTEUS 强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。

系统电路原理图外围电路电源电路单片机显示电路键盘电路2.2硬件电路设计本系统中,硬件电路主要有电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等,电路图如下(1)单片机简介本系统设计采用AT89C51单片机。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容(由于在微机原理中学过C-51的具体知识,这里不再详细说明)。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效的微控制器。

(2)电源电路电源电路是系统最基本的部分,任何电路都离不开电源部分,由于三端集成稳压器件所组成的稳压电源线路简单,性能稳定,工作可靠,调整方便,已逐渐取代分立元件,在生产中被广泛采用,由于是小系统,我们采用7809电源提供+5V稳压电压。

(3)晶体振荡电路MCS--51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。

这里,我们选用51单片机12MHZ的内部振荡方式,电容器C1,C2起稳定振荡频率,快速起振的作用,C1和C2可在20-100PF之间取,这里取30P,接线时要使晶体振荡器X1尽可能接近单片机。

(4)复位电路采用上电+按键复位电路,上电后,由于电容充电,使RST持续一段高电平时间。

当单片机已在运行之中时,按下复位键也能使用使RST持续一段时间的高电平,从而实现上电加开关复位的操作。

这不仅能使单片机复位,而且还能使单片机的外围芯片也同时复位。

当程序出现错误时,可以随时使电路复位。

(5)显示电路显示电路既可以选用液晶显示器,也可以选用数码管显示。

我们采用的是数码管显示电路。

用4个共阳极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各管的亮暗组合成字符。

在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。

在设计中,我们采用LED动态显示,用P0口驱动显示。

由于P0口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。

电路图如下所示:(6)键盘电路在按键电路中,我们可以在I/O口上直接接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有键按下等。

键盘扫描电路节省I/O口,但编程有些复杂,在这里,由于我们所用的按键较少,且系统是一个小系统,有足够的I/O口可以使用,为了使程序简化,我们采用按键电路,用部分P1口做开关,P1.0启动,P1.1清零,电路图如下所示3 软件设计3.1软件设计概述在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。

把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。

应用系统的程序由包含多个模块的主程序和各种子程序组成。

各程序模块都要完成一个明确的任务,实现某个具体的功能,如:加计数、暂停、清零,显示等,在具体需要时调用相应的模块即可。

功能描述:用4位LED数码显示"秒表",显示时间为00~9分59.9秒,每秒自动加1;一个"开始"键,一个"复位"键,一个"清零"键。

3.2程序流程图开始系统初始化数码管显示按键判断定时启动位取反按键2关闭定时器时间清零按键1NYYN定时中断开始T0初始化程序处理(分、秒、毫秒自动增加)退出中断3.3子程序模块设计增加按键控制功能。

1、启动/停止2、清零ML1: LCALL DISPKEY: JNB P1.0, CONTROL;JNB P1.1, CLEARLJMP ML1CONTROL:LCALL DELAYJB P1.0, ML1LOOP1: LCALL DISPJNB P1.0,LOOP1CPL TR0LJMP ML1CLEAR: LCALL DELAYLCALL 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 ML14 Proteus软件仿真4.1软件功能简介Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。

它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。

该软件的特点是:(1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。

(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、I2 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

(3)目前支持的单片机类型有:ARM7系列、68000系列、8051系列、AVR 系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

(4)支持大量的存储器和外围芯片。

总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真ARM、51、AVR、PIC。

Proteus启动画面:4.2 Proteus运行流程Proteus ISIS的工作界面是一种标准的Windows界面,如图所示。

包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

运行Proteus程序后,进入软件的主界面。

通过左侧工具栏中的P(从库中选择元件命令)命令,在Pick Devices 左侧窗口中选择所需元件的关键字,然后放置元件并调整方向和位置以及参数设置,最后进行连线。

运行图如下:初始状态中间状态最终状态5课程设计体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近四星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。

在做课程设计的日子里得到了老师的悉心指导和同学的帮助,在此向他们致以诚挚的谢意。

感谢提供相关技术帮助的老师和同学,你们的支持和鼓励使我们对这次的设计完成有了信心和动力,在此深表谢意。

参考文献[1] 余发山主编.单片机原理及应用技术.徐州:中国矿业大学出版社.2003.76-94,152-157[2] 杨凌霄编著.微型计算机原理及应用.徐州:中国矿业大学出版社,2004.36-52附1 源程序代码ORG 0000HLJMP MAINORG 000BHLJMP TIMEORG 0100HMAIN: MOV SP,#50HMOV TCON,#01H ;定义中断方式MOV 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 DISPLJMP ML1TIME: MOV TH0,#0D8HMOV TL0,#0F0HMOV A,20HINC ACLR CCJNE A,#99,GO1 ;转换BCDMOV 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,A ;仅显示毫秒的百位AJMP RET0GO2: MOV 21H, AMOV B, #0AHDIV ABMOV 33H, AMOV 32H, BAJMP RET0GO3: MOV 22H, AMOV B, #0AHDIV ABMOV 34H, B ;仅显示分的个位AJMP 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, #0FFHMOV A, R3RL AJNB ACC.4, LD1INC R0MOV R3, ALJMP PLAYLD1: RETDL1: 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,6FH附2 系统原理图.- 21 -。

相关文档
最新文档