单片机课程设计——电子秒表
51电子秒表课程设计

51电子秒表课程设计一、课程目标知识目标:1. 学生理解电子秒表的基本原理,掌握其计时功能的工作机制。
2. 学生掌握51单片机的编程基础,能够运用C语言进行简单的程序编写。
3. 学生了解电子秒表中涉及到的电子元器件,如晶振、电容、按键等,并理解它们在电路中的作用。
技能目标:1. 学生能够运用所学知识,独立完成51电子秒表的硬件电路搭建。
2. 学生能够编写程序,实现电子秒表的启动、停止、清零及计时功能。
3. 学生能够通过实际操作,解决电子秒表中遇到的问题,提高动手能力和故障排查能力。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发学习热情,养成积极探索和主动学习的良好习惯。
2. 学生通过合作完成项目,培养团队协作能力和沟通能力,增强集体荣誉感。
3. 学生在课程学习中,树立正确的价值观,认识到科技对生活的影响,增强社会责任感。
课程性质:本课程为实践性课程,结合理论知识与动手实践,旨在提高学生的实际操作能力和创新能力。
学生特点:学生具备一定的物理和数学基础,对电子技术有较高的兴趣,喜欢动手操作,但编程能力可能较弱。
教学要求:结合学生特点,注重理论与实践相结合,循序渐进,由浅入深地引导学生掌握电子秒表的设计与制作。
在教学过程中,关注学生的个体差异,鼓励学生积极参与,充分调动学生的主观能动性。
通过课程学习,使学生在知识、技能和情感态度价值观方面均取得具体、可衡量的学习成果。
二、教学内容本课程教学内容主要包括以下几部分:1. 电子秒表原理:介绍电子秒表的工作原理,分析计时功能的实现过程,探讨51单片机在电子秒表中的应用。
2. 硬件电路设计:学习51单片机的基本电路,掌握晶振、电容、按键等电子元器件的选择和使用方法,学会搭建电子秒表的硬件电路。
3. 软件编程:学习C语言编程基础,掌握51单片机的编程技巧,编写电子秒表的程序,实现启动、停止、清零及计时功能。
4. 实践操作:学生分组进行硬件电路搭建,编程调试,实际操作电子秒表,解决过程中遇到的问题。
单片机课程设计之秒表设计

单片机课程设计之秒表设计一、课程目标知识目标:1. 学生理解单片机的基本原理,掌握单片机编程基础知识;2. 学生掌握秒表设计的流程和关键步骤,了解计时器的工作原理;3. 学生熟悉并掌握单片机中断、定时器等相关知识,并能将其应用于实际项目中。
技能目标:1. 学生能够运用所学知识,独立设计并实现一个简单的秒表程序;2. 学生能够通过编程调试,解决在秒表设计过程中遇到的问题;3. 学生具备团队协作能力,能够与同学共同分析问题、讨论方案并完成项目。
情感态度价值观目标:1. 学生培养对单片机及电子制作的兴趣,激发创新精神和实践能力;2. 学生养成勤奋好学、独立思考的良好习惯,形成积极向上的学习态度;3. 学生在项目实践中,培养团队精神,学会相互尊重、沟通协作。
本课程针对单片机课程设计之秒表设计,结合学生年级特点,注重理论与实践相结合,培养学生的动手能力和实际操作技能。
通过课程学习,使学生能够掌握单片机基础知识,具备实际项目设计与实施能力,同时培养他们的团队协作和创新能力。
课程目标明确、具体,可衡量,有助于学生和教师在教学过程中清晰了解预期成果,并为后续教学设计和评估提供依据。
二、教学内容1. 单片机基础知识回顾:主要包括单片机的结构、工作原理、指令系统及编程基础;2. 定时器与中断:讲解单片机定时器的工作原理,中断处理过程,以及如何利用定时器实现精确计时;3. 秒表设计原理:分析秒表的功能需求,设计流程,以及所需硬件和软件资源;4. 程序设计:根据秒表设计原理,编写程序代码,实现秒表的开始、停止、计次、清零等功能;5. 硬件电路设计:介绍秒表所需硬件电路的设计方法,包括单片机、按键、显示屏等部分的连接;6. 调试与优化:教授学生如何对程序进行调试,找出并解决存在的问题,优化程序性能;7. 课外拓展:引导学生思考如何改进秒表功能,增加趣味性和实用性。
教学内容依据课程目标制定,涵盖单片机基础知识、定时器与中断、程序设计、硬件电路设计等方面,以确保内容的科学性和系统性。
单片机课程设计_基于单片机的数字秒表设计

单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。
本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。
一、设计要求1、能够实现秒表的启动、暂停、复位功能。
2、计时精度达到 001 秒。
3、能够通过数码管显示计时结果。
二、系统方案设计1、硬件设计单片机选型:选用常见的 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
显示模块:采用 8 位共阴极数码管作为显示器件,通过动态扫描的方式实现数字的显示。
按键模块:设置三个独立按键,分别用于启动、暂停和复位操作。
时钟模块:使用单片机内部的定时器/计数器产生精确的时钟信号,实现计时功能。
2、软件设计主程序:负责系统的初始化、按键扫描和计时处理等。
中断服务程序:利用定时器中断实现 001 秒的定时,更新计时数据。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振频率选择 12MHz,为单片机提供时钟信号。
复位电路采用上电复位和手动复位相结合的方式,确保系统能够可靠复位。
2、显示电路将 8 位数码管的段选引脚通过限流电阻连接到单片机的 P0 口,位选引脚通过三极管连接到单片机的 P2 口。
通过动态扫描的方式,依次点亮每个数码管,实现数字的显示。
3、按键电路三个按键分别连接到单片机的 P10、P11 和 P12 引脚,采用低电平有效。
当按键按下时,相应引脚的电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。
四、软件程序设计1、主程序流程系统初始化后,进入主循环。
在主循环中,不断扫描按键状态,如果检测到启动按键按下,则启动计时;如果检测到暂停按键按下,则暂停计时;如果检测到复位按键按下,则将计时数据清零。
单片机课程设计--电子秒表设计说明书

《新编单片机原理及应用》课程设计电子秒表说明书目录一、绪论 (3)1.1概述 (3)1.2设计目的 (3)1.3设计任务和内容 (3)二、总体设计及核心器件简介 (4)2.1总体设计 (4)2.2硬件设计 (4)2.3软件设计 (13)三、数字秒表的安装与调试 (17)3.1软件的仿真与调试 (17)3.2硬件的安装与调试 (17)3.3汇编程序 (18)四、设计体会与总结 (22)参考文献 (23)第一章绪论1.1概述单片微型计算机简称单片机,又称微控制器,是微型计算机的一个重要分支。
单片机是20世纪七十年代中期发展起来的一种大规模集成电路芯片,是集CPU、RAM、ROM、I/O接口和终端系统与同一硅片的器件。
20世纪八十年代以来单片机发展迅速各类新产品不断涌现出现许多新产品,出现了许多高性能新型机种现已成为工业控制和各控制领域的支柱产业之一。
由于单片机功能强、体积小、可靠性好、价格便宜等独特优点因而受到人们的高度重视并取到了一系列的科研成果,成为传统工业技术改造和新产品更新换代的理想机种,并具有广阔的发展前景。
本设计运用所学的单片机知识,将单片机与普通秒表相结合设计了电子秒表,具有显示直观、读取方便、精度高等优良特点,在计时中应用广泛。
1.2设计目的加强对51系列单片机的构造了解及应用,熟悉汇编语言或C语言编程,综合掌握和理解设计各部分的工作原理、设计过程、芯片器件的选择方法、模块化编程等多项知识。
(1)用单片机模拟实现具体应用使个人设计系统能够真正使用;(2)把理论知识与实践知识相结合,充分发挥个人能力,并在实践中得到锻炼;(3)提高利用已学的知识分析和解决问题的能力;(4)提高动手实践能力。
1.3设计任务及内容1.3.1设计任务结合教材及参考资料,用80C51单片机模拟实现电子秒表的开启,计时,停止并显示时间等功能。
1.3.2设计内容(1)填写设计任务书;(2)进行总体设计,画出设计原理图;(3)用PROTEUS软件画出设计电路图;(4)用Keil软件编写程序;(5)在PROTEUS里模拟并调试程序达到期望功能。
单片机课程设计-秒表

单片机课程设计姓名: 学号: 设计课题: 指导老师: 同组人员: 设计时间: 一、设计目的1.单片机的基本原理及相关的简单应用。
2.掌握用单片机设计系统的一般步骤。
3.了解LED数码管的基本知识和驱动方法。
4•掌握单片机系统各个组成部分的作用以及分布位置5•学会运用单片机的硬件资源。
*********2009 年12 月16二、设计要求1、要求设计一个秒表,精度为00.01秒;2、显示位数为4位;3、有启动、停止、清零功能三、设计工具1.PC机一台2.TDN-MI教学实验系统台(配串行口通讯线)四、元器件4位数码管(1个)、30P瓷片电容(2个)、12M晶振(1个)、12*12键盘(2个)、面包板(1块)、连接线(若干)、10K排阻(1个)五、电路连接1、本系统中“启动/停止”按钮接在外部中断0 口(P3.2);2、本系统中“清零”按钮接在RST脚(第9管教);3、本系统的位选通信号接在P1 口的低四位;4、本系统的LED数据端口使用的是P0口,由于采用了共阴数码管,且面包板上空间有限,未加扩流三极管,只使用了上拉电阻。
5、为使电路工作更加稳定,加了上电复位电路。
详见下图06级电子信息工程单片机课程设计六、设计原理图1、3641数码管脚位图nO1DI01Gco6JGAAiiiiiA Ki i A ii i i ******; l E C D [ f F 帥fi c > r t or ij B C J> F r cDIG*neoA if F ;W*I0 6 61 4 2O O O OI ICM 32、系统电路图19七、程序流程图(1)主函数(2) LED动态扫描(3)外部中断0 (4)定时器0羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊//乂)人羽PIOA诲国庙第工酉&寅易咸诲〃!()Xe|sp piOA 诲国工酉易咸诲//!()Xe|dsip piOA滋国羽券回//:()l!U! P!OA************************* 国羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊Mj9X0'jZX020X0'PZX0'P9X0'99X0hX0'qgxo'90XO‘j£Xo}=[]o|qEl 」Eip psu6isun spoo! 0 = SOBjLU0 = snqsoeix 0 = i^nqsoeix jeqo psu6isunJvbElj = P|OH_se>rs| *qs !0v6e|j = 6e|d _sn;e;s l!qs !6e|j jeqo psu6isun e;epq3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3dD0lzlN00 Nld 羊羊羊羊羊羊羊羊羊羊羊羊羊 *//uM SUUiuj,,spnpuj# ”UN9bai”spnpuj#/羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊91/乙1/60 :晡目妞琴 SLOO:首1糾4視 即磷4》当尊回:#W韋戢 '可劃 '程日 黑44視:來壷44視華矽:@WW羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊羊,MW 6~o *申 //(冯亠)冯一骂占涯诲轟阴呦44孙爭〃! 0 = l^oeiiu*//单诲\[/孙爭〃 口陳舉滋a3i x 君〃冯园骂易咸诲孙爭// 冯三骂易咸诲孙爭// 冯二骂易咸诲孙爭// 冯一骂易咸诲孙爭// ws 韋戢 m WS 可劃/程日"II08X0 da ou!Qp# 0d a31 ou!Qp#:£vid = LC T IOS *qs 2v ・d = LO_|8S *qsiivid =旧 PS *qs :0vid = LV_|8S *qs!£v£d = JBSIO *qs3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.3f.44探屋削酗月寅屋工冒马£因舵90void key() 〃启动停止按钮释放键盘判断{if(ls_KeyS_Hold)if(Start_Stop){Is_KeyS_Hold = 0 ; EXO = 1 ;〃****************display(void delay() {unsigned int i ; for(i = 0; i<300; i++); }void display() {Sel_A1 = 1; Sel_B1 = 1; Sel_C1 = 1; Sel_D1 = 0;LED = table[xiaoshu2];delay();Sel_A1 = 1; Sel_B1 = 1; Sel_C1 = 0;//********************* void main() { init(); while(1){ key(); display 。
单片机课程设计电子秒表

目录前言 .............................................................................. 错误!未定义书签。
1电子秒表总体设计. (4)1.1课程设计的目的 (4)1.2任务要求 (4)1.3任务分析 (4)1.4 方案设计及论证 (5)1.4.1 方案设计 (5)1.4.2方案确定 (6)1.5 设计步骤 (7)2 系统的硬件电路 (8)2.1时钟电路 (8)2.2 复位电路 (9)2.3显示模块设计 (10)2.4 按键电路 (10)3 软件设计 (12)3.1主要模块流程图 (12)3.2 程序的主要模块 (13)4 仿真与调试 (14)4.1 仿真分析 (14)4.2硬件调试 (14)结论 (16)参考文献 (17)附录 (18)电子秒表的设计摘要本次设计是基于AT89C51单片机的电子秒表的设计,单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。
本次设计内容为以AT89C51单片机为核心的秒表,采用两个4位LED数码管显示以及外部中断电路来实现数字秒表的基本功能。
它采用键盘输入,单片机技术控制。
设计内容以硬件电路设计,软件设计和PCB 板制作三部分来设计。
利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。
将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示计时。
本次课程设计主要完成具备基本功能的电子秒表的理论和实践设计,电子秒表是重要的记时工具,广泛运用于各行各业中。
作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点。
提高了精确度,而且可以大大降低错误率。
因此电子秒表常常用于体育竞赛及各种其他要求有较精确时间的各领域中。
关键词:AT89C51单片机;电子秒表;数码管前言近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动着传统控制检测日新月异更新。
单片机课程设计--电子秒表与闹钟的设计

目录摘要 (Ⅰ)1 电子秒表与闹钟系统概述 (1)1.1 课程设计基本要求 (1)1.2 系统实现功能 (1)1.3 系统应用价值展望 (2)2 仿真软件Proteus和Keil简介 (3)2.1 Proteus简介 (3)2.2 Keil简介 (3)3 系统工作原理分析 (4)3.1AT89C2051模块 (4)3.2 显示驱动模块 (6)3.3 数码管显示模块 (8)4 程序流程图设计 (9)5 Proteus仿真原理图 (12)6 课程设计体会 (14)参考文献 (15)附:源程序代码 (16)摘要随着科学技术的不断发展 , 人们对时间计量的要求越来越高。
在当今社会,电子时钟已经得到相当广泛的应用,产品多样,发展更是多元化。
本作品是以STC89C51单片机作为主控芯片,使用12MHZ的晶振,使用专用时钟日历芯片DS12C887产生时间信息,时间精确。
软件部分以C语言为主体,用1602LCD 液晶屏显示输出信息,输出信息量多,更直观、人性化。
该时钟可实现人机交互,可通过提供的键盘对其进行调整。
系统具有以下功能:年、月、日、时、分、秒显示;12小时/24小时模式切换,在12小时模式中,用AM和PM区分上午和下午;秒表功能;整点闹铃和报时功能,且闹钟可设置多组。
本次设计的电子时钟系统由单片机最小系统,1602LCD液晶屏,时钟芯片,调整按键,蜂鸣器,电源五大部分组成。
关键词:定时器中断闹钟电子时钟1 电子秒表与闹钟系统概述1.1 课程设计基本要求(1) 用并行口设计一个具有显示功能的秒表,显示准确的北京时间(时、分、秒),可用24小时制式;(2) 有时间校准功能;(3) 允许通过转换功能键转换显示时间,用定时器实现一个电子闹钟,能设定和修改定时的时间,并能到时响铃通知;(4) 所有按键需要通过串口自发自收来调校各种功能。
1.2 系统实现功能本系统是基于单片机AT89S52制作的数字电子钟。
根据实验要求,在完成实验所要求的基本功能外,扩展了几个功能。
c51电子秒表课程设计

c51电子秒表课程设计一、课程目标知识目标:1. 学生能够理解C51单片机的基础知识,掌握其编程方法。
2. 学生能够掌握电子秒表的基本原理,包括计时、暂停、清零等功能。
3. 学生能够了解并掌握电子秒表中的中断处理、定时器/计数器等硬件资源的使用。
技能目标:1. 学生能够运用C语言编写C51单片机程序,实现电子秒表的计时功能。
2. 学生能够通过实验操作,学会使用开发板、编译器等工具进行程序编写和调试。
3. 学生能够培养实际动手能力,独立完成电子秒表的搭建和调试。
情感态度价值观目标:1. 学生能够培养对电子制作的兴趣和热情,提高学习积极性。
2. 学生能够培养团队协作意识,学会与他人共同解决问题。
3. 学生能够认识到科技发展对社会进步的重要性,增强科技创新意识。
课程性质:本课程为实践性课程,注重培养学生的动手能力和实际操作技能。
学生特点:学生具备一定的C语言基础,对单片机有一定了解,但实践经验不足。
教学要求:教师需引导学生通过实际操作,掌握C51单片机编程和电子秒表制作技能,同时注重培养学生的情感态度价值观。
将课程目标分解为具体学习成果,以便在教学设计和评估中逐一实现。
二、教学内容1. 理论部分:- C51单片机基础知识:介绍C51单片机的结构、工作原理和编程环境。
- 中断处理和定时器/计数器:讲解中断的概念、中断处理过程,以及定时器/计数器的使用方法。
- 电子秒表原理:阐述电子秒表的计时原理、功能模块及其相互关系。
2. 实践部分:- C51编程实践:指导学生使用C语言编写电子秒表程序,掌握程序结构、函数调用等。
- 硬件搭建与调试:学生动手搭建电子秒表电路,学习电路连接、元件识别等,并进行程序下载和调试。
- 综合应用:结合所学知识,学生独立完成一个具有计时、暂停、清零等功能的电子秒表项目。
3. 教学大纲安排:- 第一课时:C51单片机基础知识学习,介绍教材相关章节内容。
- 第二课时:中断处理和定时器/计数器原理学习,结合教材实例进行讲解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安徽科技学院电气与电子工程学院《单片机原理与应用设计》课程设计设计说明书题目: 秒表姓名(学号) ************************************ 专业: 电气工程及其自动化班级: 133 指导教师: ***2016 年 5 月 9 日目录摘要 (1)关键字 (1)第一章硬件的选择与设计 (1)第二章软件设计 (9)第三章调试结果 (19)参考文献 (20)秒表摘要:本次课程设计,我们组设计的是秒表。
使用AT89C51单片机设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“开始计时/时间锁定”键和一个“复位”键。
通过对键盘的扫描对时钟的走时/停止进行控制,项目采用定时器T0作为计时器,每10ms发生一次中断,每100次中断加1s。
在此期间,如“开始计时/时间锁定”按键按下,程序方将TR0置为1,从而开启中断,秒表开始计时,再按一次“开始计时/时间锁定”按键,则将TR0置0,秒表停止计时;如“复位”按键按下,程序将TR0置为0,同时将存储时间的变量清零,从而中断停止,并实现复位。
我们设计的秒表完成了准确计时,和当前时间的显示。
通过Keil uvison4进行程序软件的编译,通过proteus进行仿真,最后调试通过,完成此次课程设计。
关键字:秒表51单片机MAX7219 定时第一章硬件选择与设计1、芯片简介(1)8051单片机MCS-51是指美国Inter公司生产的一系列单片机的总称。
这一系列单片机包括8031、8051、8751、8032、8052、8752等。
其中8051是最早、最典型的产品,该系列其他单片机都是以8051为核心发展起来的,都具有8051的基本结构和软件特征。
8051单片机内部包含了作为微型计算机所必需的基本功能部件,各部件相互独立地集成在一块芯片上,其基本功能特性如下:a、8位CPU;b、32条双向可独立寻址的I/O线;c、4KB程序存储器(ROM),外部可扩充至64KB;d、12KB数据存储器(RAM),外部可扩充至64KB;e、两个16位定时/计数器;f、五个中断源;g、全双工的串行通信口;h、具有布尔运算能力。
其引脚排列如图:管脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
(2)MAX7219芯片MAX7219是7段共阴极LED显示驱动器,采用三线串行方式与8051通信。
MAX7219片内集成了BCD码到B码的译码器、多路复用扫描电路、LED字段和字位驱动电路及RAM存储器。
MAX7219可以驱动8个7段共阴极LED显示器,通过一个10KΩ左右的外接电阻可以设置所有LED的段电流。
MAX7219具有低电压保持,只要外接电压超过2V,便可以保存数据。
典型的DIP封装的MAX7219如图所示,其各引脚的功能如下:a、DID0——DID7:8个字段驱动引脚;b、SEGA-G,dp:7段驱动和小数点驱动输出;c、SEG dp:小数点驱动输出;d、CLK:时钟输入,最高时钟频率为10MHz;e、DIN:串行数据输入。
在CLK时钟的上升沿,串行数据被移入MAX7219内部移位寄存器,移入时最高位在前;f、DOUT:串行数据输出。
输入到DIN的数据经过16.5个时钟周期后,在DOUT 端有效。
在CLK的下降沿数据移出;R来设置峰值段g、ISET:峰值段电流设置。
可以通过一个10KΩ的上拉电阻SET电流;h、LOAD:加载输入数据。
LOAD信号必须在第16个上升沿同时或之后,但在下一个时钟上升沿之前变高,否则将会丢失数据;i、V+:+5V外接电源;j、GND:接地,两个GND引脚必须接地。
2、硬件电路设计(1)硬件原理图(2)硬件电路设计○1单片机最小系统单片机最小系统做为整个系统的控制部分,其包含了晶振电路、复位电路、电源等。
外接晶振通过两个30pF的电容接地,同时采用了手动复位和上电复位两种复位方式。
该电路可以实现复位和程序运行的基本功能。
○2MAX7219驱动电路MAX7219是七段共阴极LED显示驱动器,可以驱动8个七段共阴极LED显示器,这里用其来驱动2位的LED数码管,通过一个10KΩ左右的外接电阻可以设置所有的LED段电流。
A——DP分别驱动数码管的七段,DIG0、DIG1分别用来驱动LED数码管的两位,即个位和十位。
○3数码管显示两位数码管用来显示0—99秒的数字。
○4独立按键两个独立按键分别用来开始计时、时间锁定和复位,实现秒表的计时。
(4)总电路图见下页实用标准文案大全第二章软件设计软件设计包括MAX7219芯片的初始化、向MAX7219芯片写指令函数、MAX7219驱动数码管显示函数、定时器初始化、中断等。
一、MAX7219寄存器及软件函数介绍(一)MAX7219相关寄存器及数据格式对于MAX7219芯片,串行数据以16位包的形式从DIN引脚串行输入,在CLK的每一个上升沿一位一位地送入芯片内部16位移位寄存器,而不管LOAD引脚的状态如何,LOAD引脚必须在第16个CLK上升沿出现的同时或之后,并在下一个CLK上升沿之前变为高电平,否则移入的数据将丢失。
1、MAX7219的内部寄存器及其地址MAX7219芯片通过D11——D8的4位地址位译码,可寻址内部14个寄存器,分别是8个显示位寄存器、5个控制寄存器和1个空操作寄存器。
如表1所示:2、五个控制寄存器(1)译码方式寄存器MAX7219的译码方式寄存器中,每一位与一个数字位相对应,如果对应位为逻辑高电平,表示改位使用B码译码,而逻辑低电平则表示改位不译码,如表2所示:(2)亮度寄存器MAX7219的亮度寄存器用于调节LED的显示亮度。
实际电路中,在ISET和电源正极之间连接外部电阻R来控制显示亮度。
R即可以是固定电阻,也可以是可变电阻,其最小值为9.25KΩ。
亮度寄存器中的数值表示了亮度的大小,共有16级亮度。
如表3所示:(3)扫描范围寄存器MAX7219的扫描范围寄存器用于设置需要显示的数字位,其取值范围为1—8。
数据含义如表4所示:(4)停机寄存器MAX7219的停机寄存器用于停止LED显示。
当MAX7219处于停机工作方式时,扫描振荡器停止工作,LED所有的段都截止,此时LED不显示任何时数据。
数据格式如表5:(5)显示测试寄存器MAX7219的显示测试寄存器用于测试LED的好坏。
其有两种工作方式,即正常工作和显示测试。
正常工作模式即一般的扫描显示模式。
数据格式含义如表6:3、数字寄存器MAX7219的数字寄存器用于设置LED数码管的显示数字。
可直接寻址。
数字寄存器受译码方式寄存器的控制,可以选择B译码或不译码。
如果不译码,则数字寄存器中数据的D0——D6位分别对应7段LED显示器的A—G段,D7位对应LED的小数点DP。
某数据为为1,则点亮与改位对应的段,而如果数据为0,则改段熄灭。
如果使用B码译码,数字寄存器可将BCD码译成B码(0—9、-、E、H、L、P),如表7所示:其中,小数点位DP由D7控制,D7=0时,熄灭小数点,D7=1时,点亮小数点。
本程序将小数点熄灭。
(二)向MAX7219芯片写指令函数本程序中定义了向MAX7219芯片写指令函数,在MAX7219芯片的初始化中要调用向MAX7219芯片写指令函数,该函数有两个形参add和dat,分别代表MAX7219芯片的寄存器地址和数据内容,即16位数据包的高8位和低8位。
在控制寄存器中add为控制寄存器的地址,dat为控制寄存器中的数据内容;在数字寄存器中add对应的实参是数组address[],dat对应的实参是数组dat[],address[]分别取数字寄存器0—7的地址,dat[]分别取数字0—7的16进制编码。
(三)MAX7219初始化函数MAX7219初始化函数主要是对5种控制寄存器的初始化,即设置5种控制寄存器的状态及数据格式。
这里设置译码方式寄存器为使用B码译码方式,所以译码方式寄存器数据为0xff;显示亮度为11/32,所以亮度显示寄存器数据为0xf5;扫描范围为第0—1位数字显示,所以扫描范围寄存器数据为0x01;设置MAX7219为正常工作方式,所以停机寄存器数据为0x01;设置MAX7219为正常工作而不是显示测试工作方式,所以显示测试寄存器数据为0x00。