单片机 10秒秒表课程设计

合集下载

课程设计单片机秒表

课程设计单片机秒表

课程设计单片机秒表一、教学目标本课程旨在通过学习单片机秒表的设计与实现,让学生掌握单片机的基本原理、编程方法和实际应用。

具体的教学目标如下:1.了解单片机的基本结构和工作原理;2.掌握C语言编程的基本语法;3.掌握单片机秒表的设计方法和步骤。

4.能够使用单片机开发工具进行程序编写和调试;5.能够独立完成单片机秒表的设计和实现;6.能够对单片机程序进行优化和升级。

情感态度价值观目标:1.培养学生的创新意识和团队合作精神;2.培养学生对新技术的敏感度和持续学习的兴趣;3.培养学生对社会和科学的负责任态度。

二、教学内容本课程的教学内容主要包括以下几个部分:1.单片机的基本原理:介绍单片机的结构、工作原理和编程语言;2.C语言编程:讲解C语言的基本语法和编程技巧;3.单片机秒表的设计:讲解单片机秒表的设计方法和步骤,包括硬件设计和软件编程;4.实践操作:安排实验室实践环节,让学生亲手操作单片机,完成秒表的设计和实现。

三、教学方法为了达到上述教学目标,我们将采用以下教学方法:1.讲授法:讲解单片机的基本原理和C语言编程基础知识;2.案例分析法:分析具体的单片机秒表设计案例,让学生了解实际应用;3.实验法:安排实验室实践环节,让学生亲手操作单片机,完成秒表的设计和实现;4.讨论法:学生进行小组讨论,培养团队合作精神和创新意识。

四、教学资源为了支持本课程的教学内容和教学方法,我们将准备以下教学资源:1.教材:选择合适的单片机和C语言编程教材;2.参考书:提供相关的参考书籍,供学生自主学习;3.多媒体资料:制作PPT和教学视频,帮助学生更好地理解教学内容;4.实验设备:准备单片机开发板和实验工具,让学生进行实践操作。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过课堂参与、提问和小组讨论等方式,评估学生的学习态度和积极性;2.作业:布置相关的编程练习和设计任务,评估学生的编程能力和设计水平;3.考试:安排期末考试,测试学生对单片机秒表设计和C语言编程知识的掌握程度。

单片机秒表的课程设计

单片机秒表的课程设计

单片机秒表的课程设计一.设计题目用AT89C51设计一个2位LED数码显示秒表”,显示时间为00~99秒,每秒自动加一。

设计四个按键:一个“开始”按键,一个“复位”按键,一个“暂停”按键和一个“快加”按键。

二. 设计要求2.1 设计功能用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。

另设计一个“开始”按键和一个“复位”按键。

再增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)。

2.2 按键说明(1)按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;(2)按“复位”按键,系统清零,数码管显示00;(3)按“暂停”按键,系统暂停计数,数码管显示当时的计数;(4)按“快加”按键,系统每10ms快速加一,即数码显示管在原先的计数上快速加一。

三. 设计过程[1] 方案设计方案一:采用AT89C51单片机设计数显定时器和定时器。

本方案采用AT89C51单片机系统来实现。

单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。

单片机系统可控制数码管显示秒表的值,并能用键盘输入暂停,并可实现报捷。

同时AT89C51芯片(内部含有8KB 的EEPROM),不需要外扩展存储器,可使系统整体结构更为简单。

设计框图如下图所示方案二:采用分立元件门电路和集成块电路设计数显定时器此方案可分为五个功能模块:秒脉冲发生器、计数器、译码显示电路、时序控制电路。

秒脉冲发生器:555振荡器振荡周期T=0.693(1R +22R )C=0.72,频率f=1.39Hz ;计数器和控制电路是系统的主要部分,计数器是用可加(减)的计数方法,它是十进制计数的方式,选用74LS192,计时器完成计时功能;控制电路具有直接控制计数器的启动计数、暂停/连续计数、查询所计数、译码显示图二方案论证:方案二是电子式,时间走的很准时,也能达到“快加”键的功能,显示时间是现代式的数码管显示,但要做好是有很大的难度的,线非常之多,元件分散、多,容易把线接错。

单片机电子秒表课程设计

单片机电子秒表课程设计

单片机电子秒表课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解其内部结构和功能。

2. 使学生了解电子秒表的工作原理,掌握相关电子元器件的使用。

3. 帮助学生理解程序设计的基本思路,学会编写简单的单片机程序。

技能目标:1. 培养学生动手实践能力,能够独立完成单片机电子秒表的硬件搭建和程序编写。

2. 提高学生的问题解决能力,能够分析并解决在电子秒表制作过程中遇到的问题。

3. 培养学生的团队协作能力,学会在团队中分工合作,共同完成任务。

情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养创新精神和动手制作的热情。

2. 培养学生严谨的科学态度,注重实验数据的准确性和实验过程的完整性。

3. 增强学生的自信心,让学生在完成任务的过程中体验成功,树立学习的信心。

课程性质:本课程为实践性较强的课程,旨在培养学生的动手实践能力和创新能力。

学生特点:学生处于初中或高中年级,对电子制作有一定的兴趣,但可能缺乏实际操作经验。

教学要求:结合学生特点和课程性质,教师应注重理论与实践相结合,充分调动学生的积极性,引导学生在实践中学习,提高学生的综合能力。

在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。

二、教学内容1. 理论部分:- 单片机原理与结构:介绍单片机的基本组成、工作原理和性能特点。

- 电子秒表原理:讲解电子秒表的工作原理,包括计时、停止和清零等功能。

- 程序设计基础:阐述C语言编程的基本语法,以实现电子秒表功能为例,进行编程指导。

2. 实践部分:- 硬件搭建:指导学生使用相应的电子元器件,搭建单片机电子秒表的硬件电路。

- 程序编写:教授学生编写实现电子秒表功能的程序,并进行调试与优化。

- 功能测试:让学生对自己的作品进行功能测试,确保秒表的准确性。

3. 教学大纲:- 第一阶段:介绍单片机原理与结构,让学生对单片机有基本的认识。

- 第二阶段:讲解电子秒表原理,使学生了解其工作过程。

秒表(跑表)-课程设计-单片机

秒表(跑表)-课程设计-单片机

第一章设计的内容、要求及目的1.1设计内容本课题以单片机为核心,要求设计和制作一个秒表,实现计时功能。

开始时,全显示“0”,自行设计按钮,要求第1次按下按钮后就开始计时,计时精度最好为0.01秒;第2次按按钮后,计时停止,此时可读取计时数值;第3次按按钮后,计时归零,全显示“0”。

此为基本要求,学生可根据自己的创意添加相应扩张,完善或者添加部分功能。

1.2设计要求1.设计方案要合理、正确;2.系统硬件设计;3.完成必要元器件选择;4.系统软件设计及调试;5.写出设计报告。

1.3目的及意义要求通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

同时要求掌握定时器、外部中断的设置和编程原理。

此外,还希望通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

该实验通过单片机的定时器/计数器定时和计数原理,设计简单的秒表计时系统,拥有正确的计时、暂停、清零功能,并同时可以用数码管或者液晶显示器显示,在现实生活中应用广泛,比如说体育项目中的跑步竞赛计时,因此具有现实意义。

第二章 系统方框图与工作原理2.1 系统方框图秒表系统主要由单片机、显示电路,控制按钮等组成。

硬件系统比较简单,其系统方框图如下:图1 系统构成框图2.2 系统工作原理秒表系统比较简单,因此,实施了相应扩展,显示器采用了液晶显示器取代LED 数码管显示器。

同时,添加一个控制按钮,实现可计10个计数值的功能。

主要硬件部分与逻辑功能如下: 秒表系统主要用到的是一个内部定时器,如T0,每隔10MS 产生一次中断,实现秒表计时的“跑动”;一个外部中断,用于控制按钮,控制的实现由软件判定来实现;此外,就是一个显示电路,由内存读取需要显示的数值传输给显示器循环显示。

主要逻辑和控制均由51单片机的软件编程来实现。

对于内部定时器,为了保证计时要求,保证计时精度,步进定为10MS,51单片机系统内部定时器T0产生中断,定时时间为10MS,每次中断重写计数初值。

单片机的10秒秒表的设计

单片机的10秒秒表的设计
前 言
当今时代,是一个新技术层出不穷的时代。在电子领域,尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。单片机的出现是现代科技发展的一个重要的里程碑。由于单片机的集成度高、功能强,通用性好,特别是它具有体积下、重量轻、能耗低、价格便宜等优点,使单片机迅速得到推广应用,目前已成为测量控制应用系统中的优选机种和新电子产品的关键部件。
Second_Counts=0;
Key_Flag_Idx=0;//按键次数(取值0,1,2,3)
Key_State=1;//按键状态
TMOD=0x01;//定时器0方式1
TH0=(65536-50000)/256;//定时器0:15ms
TL0=(65536-50000)%256;
while(1)
{
if(Key_State!=K1)
电子科技日新月异,人们对现代电子设备的智能化和微型化及其精度提出了更高的要求,而单片机因其具有稳定可靠、 体积小、 价格低廉等特点,成为设计智能化仪器仪表的首选微控制器,因此本次我没有选用传统的专用的时钟芯片,而是采用了AT89C51芯片,此款单片机可以使用软件对其进行在线编程,其灵活性和可靠性都相对提高。
{
DelayMS(10);
Key_State=K1;
3.4显示电路
图4 数码管显示电路
图4数码管显示电路
3.5引脚控制
P0.0—P0.7对应两个数码管的A、B、C、D、E、F、G和小数点位;P2.5控制数码管个位的显示,P2.6控制数码管十位;P3.6、P3.7分别接按键。
3.6硬件元件清单

51单片机实验 秒表设计

51单片机实验 秒表设计

实验报告一、实验名称10秒计时的秒表设计二、实验内容精确到0.1秒的秒表三、相关模块led数码管、usb、独立键盘四、实验代码#include "reg52.h"typedef unsigned int u16; //对数据类型进行声明定义typedef unsigned char u8;sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;sbit k1=P3^1;sbit k2=P3^0;sbit k3=P3^2;sbit k4=P3^3;u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};u16 s,sec;unsigned int i;unsigned int j;unsigned int a,b,c,d;u8 mb[2];void Timer0Init(){TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。

TH0=0XFC; //给定时器赋初值,定时1msTL0=0X18;TR0=0;//打开定时器}void delay(u16 n){while(n--);}void DigDisplay1(u16 i){switch(i){case(0):LSA=0;LSB=0;LSC=0; break;case(1):LSA=1;LSB=0;LSC=0; break;case(2):LSA=0;LSB=1;LSC=0; break;case(3):LSA=1;LSB=1;LSC=0; break;case(4):LSA=0;LSB=0;LSC=1; break;case(5):LSA=1;LSB=0;LSC=1; break;case(6):LSA=0;LSB=1;LSC=1; break;case(7):LSA=1;LSB=1;LSC=1; break;}if (i==1){P0=smgduan[mb[i]]+0x80;//发送段码}else{P0=smgduan[mb[i]];}delay(1); //间隔一段时间扫描P0=0x00;//消隐}void DigDisplay2(u16 i){i=i+3;switch(i){case(0):LSA=0;LSB=0;LSC=0; break;case(1):LSA=1;LSB=0;LSC=0; break;case(2):LSA=0;LSB=1;LSC=0; break;case(3):LSA=1;LSB=1;LSC=0; break;case(4):LSA=0;LSB=0;LSC=1; break;case(5):LSA=1;LSB=0;LSC=1; break;case(6):LSA=0;LSB=1;LSC=1; break;case(7):LSA=1;LSB=1;LSC=1; break;}if (i==4){P0=smgduan[a]+0x80;}else{P0=smgduan[b];}delay(1);P0=0x00;}void DigDisplay3(u16 i){i=i+6;switch(i){case(0):LSA=0;LSB=0;LSC=0; break;case(1):LSA=1;LSB=0;LSC=0; break;case(2):LSA=0;LSB=1;LSC=0; break;case(3):LSA=1;LSB=1;LSC=0; break;case(4):LSA=0;LSB=0;LSC=1; break;case(5):LSA=1;LSB=0;LSC=1; break;case(6):LSA=0;LSB=1;LSC=1; break;case(7):LSA=1;LSB=1;LSC=1; break;}if (i==7){P0=smgduan[c]+0x80;}else{P0=smgduan[d];}delay(1);P0=0x00;}void key1(){delay(10);if(k1==0){TR0=!TR0;while(!k1);}}void key2(){delay(10);if(k2==0){s=0;sec=0;while(!k2);}}void key3(){delay(10);if(k3==0){if (j==0) j=1;else j=0;if (j==1){a=mb[1];b=mb[0];}if (j==0){c=mb[1];d=mb[0];}while(!k3);}}void key4(){delay(10);if(k4==0){s=0;sec=0;a=0;b=0;c=0;d=0;while(!k2);}}void main(){Timer0Init();i=0;j=0;while(1){delay(10);key1();if(TF0==1){TF0=0;TH0=0XFC; //给定时器赋初值,定时1msTL0=0X18;s++;}if(s==60){s=0;sec++;if(sec==100)sec=100;}key2();mb[0]=sec%10;mb[1]=(sec/10)%10;key3();DigDisplay1(i);DigDisplay2(i);DigDisplay3(i);i++;i=i%2;key4();}}五、实验效果K1作用:启动、开始或暂停计时K2作用:计数位清零K3作用:记录当前时间并显示K4作用:清零所有的数码管六、实验遇到的问题经过前几次的实验,0到10秒的计数已经不成问题,本次实验的难点主要在几个按键的功能实现上。

单片机秒表课程设计

单片机秒表课程设计

单片机课程设计学生姓名_____________________ 专业班级_____________________ 学号________________________1课程设计的目的及要求1.1 课程设计的目的1.2 课程设计的任务1.3 课程设计的要求2设计的方案及论证2.1方案设计2.2方案选择2.3方案确定 3硬件电路设计4软件设计4.1主要模块流程图4.2程序的主要模块5电路仿真6电路的焊接与调试6.1电路的焊接6.2电路的调试7总结11 参考文献12 附录1:总体电路原理图13 附录2:元器件清单14 附录3:编码程序15-LX. —1—刖言近年来随着科技的飞速发展,单片机的应用正在不断的走向深入, 同时带动着传统控制检测日新月异更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。

人们在日常生活中,有很多时候要精确地计算时间,但往往因为人为因素造成人们不愿意看到的误差。

本设计利用AT89C51单片机的定时器/计数器定时和记数的原理,使其能精确计时。

计时精度达到0.01s,P1 口P2 口接数码管显示功能,P3.4、P3.5、P3.6、P3.7分别接四个按钮开关,分别实现开始、暂停、清零、保存、读取的功能。

显示电路由两个四位共阴极数码管组成。

电子秒表精确度的提高,使它的运用越来越广泛,它解决了传统的由于计时精度不够造成的误差和不公平性是各种体育竞赛的必备设备之一。

1课程设计的目的及要求1.1课程设计的目的(1)掌握51单片机的基本使用方法和相关电子器件的应用。

(2)掌握键盘的使用,灵活运用中断。

(3)掌握Proteus的仿真与调试。

(4)秒表具有启动/停止、保存、读取、复位功能。

(5)单片机为控制核心,实现方案设计、电路的设计、程序设计,并在PROTEUS电子设计平台实现仿真。

单片机秒表课程设计 (3)

单片机秒表课程设计 (3)

单片机秒表课程设计1. 引言秒表是一种常用的计时工具,可以用来测量时间的精确度。

在本课程设计中,我们将使用单片机来设计一个简单的秒表。

本文档将详细介绍该秒表的设计思路、硬件和软件实现以及测试结果。

2. 设计思路我们的设计目标是实现一个简单的秒表,包括计时、暂停和复位功能。

我们将采用基于单片机的设计,使用定时器和中断来实现计时。

具体的设计思路如下:•使用微控制器作为核心控制单元,我们选择XXXX型号的单片机。

•使用定时器模块来计时,通过设置定时器的计数频率来控制计时的精确度。

•使用外部中断按钮来控制计时的开始、暂停和复位操作。

•使用LED显示屏来显示计时结果。

3. 硬件设计3.1 硬件连接在硬件设计方面,我们需要将单片机与其他外部设备进行连接。

具体的连接方式如下:•将定时器模块的输出引脚连接到单片机的计时输入引脚。

•将外部中断按钮连接到单片机的中断输入引脚。

•将LED显示屏的控制引脚连接到单片机的输出引脚。

3.2 硬件组成本设计所需要的硬件组成如下:•单片机:XXXX型号微控制器•定时器模块•外部中断按钮•LED显示屏4. 软件设计4.1 主程序框架主程序的框架如下:#include <reg51.h>// 定义全局变量和标志位// 定时器中断函数// 外部中断中断函数// 主程序入口void main() {// 初始化定时器和中断// 循环检测按钮状态,并执行相应操作}4.2 定时器中断函数定时器中断函数用于实现计时功能,其主要逻辑如下:1.获取当前的计数值,并进行相关处理。

2.更新LED显示屏上的计时数据。

4.3 外部中断函数外部中断函数用于响应按钮的按压操作,其主要逻辑如下:1.判断按钮的按下类型,根据不同的按压类型执行相应的操作(开始、暂停或复位)。

2.根据操作类型更新相应的标志位。

4.4 功能函数除了定时器中断函数和外部中断函数之外,还可以编写一些功能函数来实现计时、暂停和复位等功能。

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

赣南师范学院物理与电子信息学院课程设计Ⅳ设计报告书基于AT89S52单片机的10秒秒表的设计姓名:匡远熹班级:09电子信息工程学号:090802015指导老师:刘小燕时间:2012.1.01目录内容摘要 (1)关键词................................................................. 错误!未定义书签。

Abstract............................................................. 错误!未定义书签。

Keywords............................................................. 错误!未定义书签。

1绪论. (2)2 系统设计 (2)2.1 设计任务与要求 (3)2.2 方案的选择与论证 (3)3 系统硬件设计 (4)3.1 AT89C52简介 (4)3.2 时钟电路 (5)3.3 复位电路 (5)3.4 显示电路 (6)3.5引脚控制 7 3.6 硬件元件清单 (7)4软件设计与仿真 (7)4.1主程序设计 (7)4.2 仿真软件简介 (9)4.3 仿真结果 (10)4.4 系统调试 (11)结束语 (12)附录:程序清单 (14)参考文献 (16)内容摘要:本文阐述了基于单片机的数字电子秒表设计。

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

本设计的数字电子秒表系统采用8051单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管设计计时器。

其中软件系统采用C语言编写程序,包括显示程序,定时中断服务,延时程。

硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。

关键字:秒表;单片机AT89S52;硬件;软件;仿真Abstract:The design of the multi-function stopwatch system uses AT89S52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with display circuit, LED digital tube, as well as the external interrupt circuit to design a timer. Be able to correctly time at the same time to record a time, and the next time after the last time the time to search automatically added a second in which software systems using assembly language programming, including the display program, timing, interrupt service, external interrupt service routine, delay procedures, key consumer shaking procedures, and KEIL in the commissioning, operation, hardware system uses to achieve PROTEUS powerful, simple and easy to observe the cut in the simulation can be observed on the actual working condition.Keyword:Stopwatch;AT89S52 scm;Hardware;Software;Simulation1绪论当今,计算机技术带来了科研和生产的许多重大飞跃,微型计算机的应用已渗透到生产、生活的各个方面。

其中单片微型计算机虽然问世不久,然而体积小、价廉、功能强,其销售额以每年近80%的速率增长。

他的性能不断提高,适用范围愈来愈宽,在计算机应用领域已占有日益重要的地位。

单片微型计算机简称单片机,又成为控制器。

他是在一块半导体上,集成了CPU、ROM、RAM、I/O接口、定时器/计数器、中断系统等功能部件,构成了一台完整的数字计算机。

单片机在生产生活中的许多方面得到广泛的应用,例如,生活中五彩变幻的霓虹灯,手机通信,温度检测,流量控制等都涉及到单片机。

钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如按时自动打铃、时间程序自动控制、秒表等。

所有这些,都是以钟表数字化为基础的。

因此,研究电子秒表及扩大其应用,有非常现实的意义。

电子秒表是一种用数字电路技术实现秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

电子秒表从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

电子科技日新月异,人们对现代电子设备的智能化和微型化及其精度提出了更高的要求,而单片机因其具有稳定可靠、体积小、价格低廉等特点,成为设计智能化仪器仪表的首选微控制器,因此本次我没有选用传统的专用的时钟芯片,而是采用了AT89C52芯片,此款单片机可以使用软件对其进行在线编程,其灵活性和可靠性都相对提高。

通过此次课程设计,增强了我们的动手能力,把理论与实践融合在一起。

同时,也进一步加深了对单片机的硬件结构的理解和巩固,编程能力也得到了提高。

在此将秒表制作过程中用到的知识进行了一些总结,希望自己今后能注意。

2 系统设计2.1 设计任务与要求2.1.1 设计任务1、掌握数码管显示控制系统的显示原理,学习数码管显示数字和字符的编程方法.2、试设计一简易秒表,使得七段符显示管的a-g分别接在单片机的P口上,输出低电平时,显示管点亮,要求从数字“0”显示到数字“9”,延时间隔为1秒。

2.1.2 设计要求[1]显示时间范围0.0-9.9s;[2]按键开关按下,电路复位。

2.2 方案的选择与论证2.2.1总体设计方案方案1:在方案1中,我们所选用的是软件定时,即用for循环来定时1秒进行显示的变化。

方案2:在方案2中,采用的是硬件定时,即用单片机内部的定时器T0。

先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。

2.2.2:选择与论证方案比较:我们从两方面进行两种方案的比较,第一,由于此次课程设计要求是秒表,则在定时时要求比较精确,所以采用硬件的定时器定时时比较准确的。

第二,由于秒表的定时程序是很小的,在利用软件定时占用的CPU并不是很多,不能显现出来,但真正大程序时会很占用资源的,所以在用定时中断过程中是非常节省资源的。

综合上述两种比较,我们选用了第二种方案。

3 系统硬件设计本系统由控制器模块、复位模块、LED显示模块组成,系统硬件组成框图如图1所示。

系统总体电路原理图如图1所示。

图1 系统电路原理图3.1 AT89S52简介(1) 与MCS-51产品相兼容;(2) 具有8KB可改写的Flash 内部程序存储器,可写/擦1000次;(5)256字节内部RAM;(6) 32根可编程I/O口;(7) 3个16位定时器/计数器。

(8) 8个中断源;(9) 可编程中串行口;(10) 低功耗空闲和掉电方式。

它的价格便宜,功能强大,能耗低。

很大程度上减少总电路的复杂性,提高了所设计系统的稳定性。

其芯片引脚图如图2所示。

图2 单片机AT89S52引脚图3.2时钟电路下图所示为时钟电路原理图,在AT89S52芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。

时钟电路产生的振荡脉冲经过触发器进行二分频之后,才3.5引脚控制P0.0—P0.7对应两个数码管的A、B、C、D、E、F、G和小数点位;P2.5控制数码管个位的显示,P2.6控制数码管十位;P3.6、P3.7分别接按键3.6硬件元件清单系统元器件清单见下表系统元器件清单4软件设计与仿真本系统程序包括主程序、据子程序等。

主程序用于系统初始化,子程序调度等。

4.1主程序设计主程序流程图如下图:4.2 仿真软件简介P roteus是英国Labcenter公司开发的电路分析与实物仿真软件。

它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:(1)实现了单片机仿真和SPICE电路仿真相结合。

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

(2)支持主流单片机系统的仿真。

目前支持的单片机类型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。

(3)提供软件调试功能。

在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。

(4)具有强大的原理图绘制功能。

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

Proteus7.5是目前最好的模拟单片机外围器件的工具,可以仿真51系列、AVR、PIC等常用的MCU及其外围电路(如LCD、RAM、ROM、键盘、马达、LED、AD/DA、部分SPI器件、部分IIC器件等)。

软件编译采用KEIL C51软件,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C来开发,体会更加深刻。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

4.3 仿真结果4.4 系统调试在调试过程中主要是对程序的修改和对线路的修改来使系统正常的工作结束语本次的课程设计,使关于51系列单片机的,正是我们刚刚学到的51单片机,在平时课程的学习中,我们仅限于理论知识的讲解,即使知识是很扎实的,实际应用并不是这样的。

相关文档
最新文档