单片机应用技术99.9秒码表设计
- 格式:ppt
- 大小:425.50 KB
- 文档页数:50
1引言随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动控制系统开始进入了人们的生活,在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善,同时也标志了自动控制领域成为了数字化时代的一员。
它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果。
它更让人类懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。
2单片机简介2.1 单片机概述所谓单片机,即把组成微型计算机的各个功能部件,如中央处理器CPU、随机存储器RAM、只读存储器ROM、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在一块芯片中,构成一个完整的微型计算机。
因此单片机早期的含义为单片微型计算机(single chip microcomputer),直接译为单片机,并一直沿用至今。
由于单片机面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应控制领域应用的要求而诞生的。
随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如ADC、DAC、高速I/O口、PWM、WDT等。
这些对外电路及外设接口已经突破了微型计算机(microcomputer)传统的体系结构,所以更为确切反映单片机本质的名称应是微控制器。
单片机是单芯片形态作为嵌入式应用的计算机,它有惟一的、专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级体积的优点和在现场环境下可高速可靠地运行的特点,因此单片机又称之为嵌入式微控制器(embedded micro controller)。
但是,在国内单片机的叫法仍然有着普遍的意义。
我们已经把单片机理解为一个单芯片形态的微控制器,它是一个典型的嵌入式应用计算机系统。
目前按单片机内部数据通道的宽度,把它们分为4位、8位、16位及32位单片机。
2.2 单片机的历史与发展单片机出现的历史并不长,它的产生与发展和微处理器的产生与发展大体上同步。
摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域。
而51单片机是各单片机中最为典型和最有代表性的一种。
本次设计以单片机(AT89S51)芯片为核心,辅以必要的外围电路,在配以相应的软件,设计了一个简易的倒计时器,它由5V直流电源供电。
在硬件方面,除了单片机外,使用一个7SEG-MPX4-CA数码管来进行显示,用两个电容和一个晶振组成了一个振荡电路,提供时钟信号,用5V的电源、一个电阻和一个电容构成了一个复位电路,再用四个电阻完成驱动。
LED采用的是动态扫描显示。
在软件方面,我采用汇编语言编程,利用系统调试工具keil C51来调试程序,然后再利用Proteus进行仿真。
经过实践证明,本系统运行稳定,其优点是硬件电路简单,软件功能完善,性价比较高等,具有一定的实用和参考价值。
关键词:单片机;AT89S51;SEG-MPX4-CA数码管;倒计时器;汇编语言。
SummaryIn recent years, as computer penetration in the social field and the development of large scale integrated circuits, microcontroller applications are continually deepening, it has strong functions, small size, low power consumption, cheap, reliable, easy to use and so on, therefore particularly suitable for systems with control of more and more widely used in automatic control, intelligent instruments, meters, data acquisition, military products and household appliances and other fields.The SCM 51 SCM is the most typical and most representative one. The design of a microcontroller (AT89S51) chip as the core, supplemented by the necessary peripheral circuits, accompanied by the corresponding software in the design of a simple countdown device, which consists of 5V DC power supply.On the hardware side, in addition to SCM, the use of a 7SEG-MPX4-CA digital control to be displayed, with two capacitors and a crystal oscillation circuit composed of a provision of the clock signal, with 5V power supply, a resistor and a capacitor form a reset circuit, and then four resistors to complete the driver. LED uses a dynamic scan showed. On the software side, I use assembly language programming, using the system debugger to debug programs keil C51, and then simulated using Proteus. Proven, the system is stable, the advantage of simple hardware circuit, software, functional, high cost, etc., has certain practical and useful.Key words:SCM;AT89S51SEG-MPX4-CA;digital control; countdown device; assembly language目录前言原理简述1.1开发意义1.2原理简述第一章硬件电路2.1 单片机概述2.2 MCS-51 系列单片机介绍2.3 AT89C51的芯片概述2.4 LED显示器接口技术2.5 元器件筛选第三章系统电路3.1 硬件调试3.2 软件调试参考文献结束语致谢附录源程序前言近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
编号:审定成绩:重庆邮电大学毕业设计(论文)设计题目:基于51单片机的9999秒倒计时器设计学院名称:通信与信息工程学院学生姓名:X正伟专业:电子信息工程班级:0120XXX学号:060201XX指导教师:刘XX答辩组负责人:填表时间:2010 年 6 月重庆邮电大学教务处摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。
由于单片机具有体积小、易于产品化、面向控制、集成度高、功能强、可靠性高、价格低等特点,其在工业控制、机电一体化、智能仪表、通信等诸多领域中得到了广泛的应用。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。
但是仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
本论文针对倒计时系统的设计的需求,介绍了MCS-51单片机的部分基本原理,如51单片机的接口功能、中断、定时器等等。
倒计时系统需要用到锁存器、矩阵键盘、LED数码显示器等主要模块,通过不同的模块之间相互作用,完成倒计时的初步硬件结构。
对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即采用Keil uVision3软件程序进行译码。
本次设计采用C语言编程,通过倒计时子程序模块、矩阵键盘扫描模块、中断等子程序的正确调用,完成了可以随时设置初值的基于51单片机控制的9999秒倒计时系统。
【关键词】倒计时器单片机矩阵键盘Keil uVision3 LED数码显示器ABSTRACTIn recent years, with the penetration of computers in the social sphere, SCM applications are continually deepening, and the traditional control test is driving the rapid update. The size of SCM is very small, and it is easy to be producted. for control, high integration, functionality, high reliability, and so on. So it has been widely used in the area of industrial control, mechatronics, intelligent instruments and communications.In real-time detection and control of the microcomputer application system, the microcontroller is often used as a core component. But if only have the knowledge of SCM is not enough.It should be based on specific hardware architecture, and if the application-specific features of the software objects are combined will be perfect.This paper focuses on the needs of the countdown system design, introduced the MCS-51 MCU of some of the basic principles.Such as the 51 single-chip interface functions, interrupt, timer and so on. Countdown system needs to use latch, matrix keyboard, LED digital display and other major modules, through interaction between different modules to complete the Countdown to the initial hardware. The countdown device in the LED digital display, In order to simplify the circuit, reduce costs, we adopt a software-based interface method, namely using Keil uVision3 software program for decoding.C language programming was used in the design , we completed the initial value can be set at any time based on 51 single-chip control of the 9999 seconds countdown system by making use of the countdown subroutine modules, matrix keyboard scanning module, interrupt, and also the correct subroutine calls.【Key words】Counter-down SCM Matrix keyboard Keil uVision3 LED digital display目录前言 (1)第一章倒计时系统简介 (2)第一节功能说明 (2)一、设计要求 (2)二、方案说明 (2)三、系统功能 (3)第二节开发作用和意义 (3)第三节本章小结 (4)第二章MCS-51单片机基本原理 (5)第一节单片机概述 (5)一、单片机基础 (5)二、单片机应用领域 (7)三、单片机的生产厂家和机型 (8)第二节MCS-51单片机的组成原理 (8)一、80C51芯片介绍 (8)二、8051 与80C51 (10)第三节MCS-51单片机的引脚功能 (10)一、主电源引脚Vss和Vcc (11)二、外接晶体引脚XTAL1和XTAL2 (11)三、控制引脚RST/VPD、ALE/PROG、PSEN、EA/Vpp (11)四、输出输入引脚 (12)第四节中断 (14)一、中断的概念 (14)二、8051中断系统结构 (15)三、中断响应条件 (18)第五节定时器与计数器 (18)一、定时器概述 (18)二、定时器控制字 (18)第六节本章小结 (20)第三章倒计时器系统设计与调试 (21)第一节硬件电路设计 (21)一、中央处理器模块 (21)二、锁存器 (23)三、矩阵键盘 (25)四、LED数码显示模块 (26)第二节软件设计 (28)一、程序准备 (29)二、键盘扫描程序设计 (30)三、倒计时初值设置 (31)四、倒计时模块子程序设计 (32)五、其他子程序设计 (33)第三节系统调试 (34)一、系统调试工具Keil uVision3 (34)二、调试的主要方法 (34)结论 (38)致谢 (39)参考文献 (40)附录 (41)一、英文原文 (41)二、英文翻译 (51)三、源程序 (61)前言51系列单片机属于总线型单片机,具有硬件架构完整、功能强大、技术成熟、通用性强、可外部扩展、配套芯片齐全、集成开发环境好、实用子程序丰富以及价格低廉等一系列优点,无论是实际工程应用,还是学习单片机原理及其应用技术,51系列单片机都是理想的选择。
摘要本设计基于Protel99SE强大的自动设计能力、高速有效的编辑功能、简捷方便的设计过程管理PDM,并且可以完整地实现电子产品从电学概念设计到生成物理生产数据的全过程,以及这中间的所有分析、仿真和验证功能详细阐述了电路原理图的绘制、印刷电路板、网络表和元件清单的制作过程。
以及在自学过程和制作过程中所遇到的种种问题。
并且给了相应的解决方法。
本设计主要是应用Proteus软件和嵌入式C语言编程工具 结合单片机原理及应用、微机原理与接口技术等专业课程,强化和巩固专业理论基础,掌握Proteus仿真的技巧和嵌入式C语言编程工具,提高单片机开发能力,并为嵌入式开发打下基础。
系统功能由硬件和软件两大部分协调完成,硬件部分主要完成信息的显示;软件部分主要完成信号的处理及控制功能等。
目录一、设计目的及要求1.1 设计目的 (1)1.2 设计要求 (1)二、硬件电路设计2.1芯片简介 (1)2.2 总体设计思路 (2)2.3单元电路设计 (3)三、软件设计3.1 程序设计思路(流程图) (4)3.2 源程序 (5)3.3 原理图 (9)四、仿真调试4.1 keil简介 (10)4.2 keil与protues联调与仿真实现 (11)4.3仿真结果 (12)五、总结 (13)六、致谢 (14)七、参考文献 (15)一、设计目的及要求1.1 设计目的本设计主要是应用Proteus软件和嵌入式C语言编程工具 结合单片机原理及应用、微机原理与接口技术等专业课程,强化和巩固专业理论基础,掌握Proteus仿真的技巧和嵌入式C语言编程工具,提高单片机开发能力,并为嵌入式开发打下基础。
1.2 设计要求99.9秒马表设计(1)开始时,显示“00”,第1次按下SP1后就开始计时。
(2)第2次按SP1后,计时停止。
(3)第3次按SP1后,计时归零。
二、硬件电路设计2.1芯片简介本设计选择采用AT89C51单片机为核心。
AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
1绪论1.1 单片机的概述现代社会中,尽管PC机的应用已经相当普遍,但是,在控制领域日益追求小而精、轻而薄的自动化控制器、自动化仪器仪表、家电产品等方面,PC机仍有所不相适宜的地方。
而工业控制、仪器仪表、家电产品等市场广阔,要求PC机技术与之相适应。
在这种情况下,单片机应运而生了(也称作微型计算机)。
微型计算机的基本机构是由中央处理器、储存器、和I/O设备构成的。
所谓的单片机是指将微型计算机3个单元的多个分体中的主要功能用1个集成电路芯片来实现,该芯片具有一个微型计算机的基本功能。
这种超大规模集成电路芯片即称为单片微型计算机,通常简称单片机。
单片机具有以下特点:①受集成度限制,片内存储容量较小,一般8位单片机的ROM小于8/16K 字节,RAM小于256字节,但可在外部扩展,通常ROM、RAM可分别扩展至64K字节。
②可靠性好。
芯片本身是按工业测控环境要求设计的,其抗工业噪声干扰优于一般通用CPU;程序指令及常数、表格固化在ROM中不易破坏;许多信号通道均在一个芯片内,故可靠性高。
③易扩展。
片内具有计算机正常运行所必需的部件。
芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。
④控制功能强。
为了满足工业控制要求,一般单片机的指令系统中具有极丰富的条件分支转移指令、I/O口的逻辑操作以及位处理功能。
一般说来,单片机的逻辑控制功能及运行速度均高于同一档次的微处理器。
⑤一般单片机内无监控程序或系统通用管理软件,只放置有用户调试好的应用程序。
但近年来也开始出现了在片内固化有BASIC解释程序的单片机。
电子技术和微型计算机的迅速发展,促进微型计算机测量和控制技术的迅速发展和广泛应用,单片机(单片微型计算机)的应用已经渗透到国民经济的各个部门和领域,它起到了越来越重要的作用。
单片机微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。
实验一99秒马表设计1.实验任务开始时,显示“00”,第1次按下按键后就开始计时。
第2次按键后,计时停止。
第3次按键后,计时归零。
2.实验要求用proteus软件画出电路图在keil软件中编写、调试程序要求秒表的误差每秒钟不高于0.01S撰写好实验报告,要求至少包含以下几项:实验目的实验任务与要求实验电路程序流程图实验程序电路仿真结果分析与误差分析实验总结#include"reg52.h"#define uchar unsigned char#define uint unsigned intsbit key=P3^2;uchar code table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uint num,num1;void delayms(uint n){uint i,j;for(i=n;i>0;i--)for(j=110;j>0;j--);}void display(uint num){uchar shi,ge;shi=num/10;ge=num%10;P2=0x00;P0=table[shi];delayms(5);P2=0x01;P0=table[ge];delayms(5);}void init(){TMOD=0x01;IE=0x83;TH0=(65536-45892)/256; TL0=(65536-45892)%256; IT0=0;}void main(){init();while(1){display(num);}}void I0_wai() interrupt 0 {uint num2;delayms(10);if(key==0){EX0=0;TR0=1;num2++;while(!key);}if(num2==1){TR0=1;}if(num2==2){TR0=0;}if(num2==3){TR0=1;num=0;num2=1;}EX0=1;}void T0_time() interrupt 1 {TH0=(65536-45892)/256; TL0=(65536-45892)%256; num1++;if(num1==20){num1=0;num++;if(num==100){num=0;}}}。
实例9599.9秒秒表⒈电路设计设计99.9秒秒表电路如图7-15所示,该电路与上例相似,删除3位显示、一个校正按键和4个秒闪烁发光二极管,就组成了99.9秒秒表电路。
由80C51 RXD端与控制秒十位输出显示的74HC595 DS端连接,595串行输出端QS与下一片595串行输入端DS端连接,595并行输出端Q0~Q7与数码管笔段a~g、Dp端连接,依次输出3位秒数据;小数点固定在第2位,通过电阻接地;TXD端与3片595 CLK端连接,串行输出时钟脉冲,控制595串行移位;P1.7与3片595 RCK端连接,控制输出触发595片内缓冲寄存器中数据进入输出寄存器的正脉冲;INT0与K0连接,按下K0,触发INT0中断,控制秒表快速响应,立即计时。
图7-15 99.9秒秒表电路74HC595特性已在实例44中介绍,此处不再赘述。
⒉程序设计设f osc=6MHz,按图7-15电路,要求一键三用:按第一次,秒表运行计时,最大计时99.9s,超过复0。
按第二次,秒表停运行,但保持最后显示秒数。
按第三次,秒表清0。
T0定时器方式2定时500μs,计数200,即为0.1s,作为秒表最小计时单位。
T0初值=28 -500μs/2μs=256–250=6。
因此,TH0 =TL0 = 06H。
#include <reg51.h> //包含访问sfr库函数reg51.hsbit RCK=P1^7; //定义RCK为P1.7(输出锁存控制端,上升沿有效)bit one=0; //K0第1次标志bit two=0; //K0第2次标志unsigned char ms05=0; //定义0.5ms计数器ms05,并清0unsigned int s=0; //定义0.1s计数器s,并清0unsigned char code c[10]={ //定义共阳逆序字段码数组,并赋值0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};void disp3 ( ) { //3位显示子函数unsigned char i; //定义序号变量iunsigned char a[3]; //定义秒表显示数组a[3]a[2]=c[s/100]; //取出秒十位显示字段码a[1]=c[(s%100)/10]; //取出秒个位显示字段码a[0]=c[s%10]; //取出秒十分位显示字段码for (i=0; i<3; i++) { //3位显示字段码依次串行输出SBUF=a[i]; //串行发送while (TI==0); //等待串行发送完毕TI=0;} //串行发送完毕,清串行中断标志RCK=0; RCK=1;} //595 RCK端输入触发正脉冲void main ( ){ //主函数TMOD=0x02; //置T0定时器方式2SCON=0; //串口方式0TH0=0x06; TL0=0x06; //置T0定时0.5ms 初值(f osc=6MHz )IP=0x01; //置INT0为高优先级IT0=1; //置INT0边沿触发IE=0x83; //INT0、T0开中,串行禁中disp3 (); //初始显示0while(1);} //无限循环,等待中断void t0( ) interrupt 1 { //T0中断函数(0.5ms 中断)ms05++; //0.5ms 计数器加1if (ms05==200) { //0.1s 到ms05=0; //0.5ms 计数器清0s++; //0.1s 计数器加1if (s==1000) s=0; //秒表超限,复0disp3 ();}} //刷新显示void int0( ) interrupt 0 { //INT0中断函数(秒表运行中断)if (one==0) { //若K0第1次TR0=1; //T0运行one=1;} //置K0第1次标志else if ((one==1)&(two==0)) { //若K0第2次TR0=0; //T0停运行two=1;} //置K0第2次标志else if ((one==1)&(two==1)) { //若K0第3次one=0; two=0;s=0; //清K0第1、2次标志s=0; //秒表清0disp3 ();}} //刷新显示⒊ Keil 调试因涉及串行口外围元件,在Keil 软件调试中无法得到外围元件的有效信号。
郑州科技学院专科毕业设计(论文)题目_基于51单片机的9999秒倒计时器设计学生姓名陈利丹专业班级 10计通学号 201019009所在系信息工程学院指导教师邢烥岩完成时间 2013 年3月 5 日目录一引言 (3)二.总体设计方案 (4): (4)三、硬件设计 (5) (5)89C52单片机 (5)四.复位电路工作原理 (8) (8) (9)五.数码管显示电路 (11)显示电路 (11)LED数码显示器的介绍与结构 (12) (12)七.软件设计 (17)程序设计 (18)原理图 (25)PCB图 (26)元件清单 (27)八.结束语 (28) (29)基于51单片机的9999秒倒计时器设计信息工程学院通信技术陈利丹(201019009)指导老师:邢烥岩摘要倒计时器应用十分广泛,在制作倒计时器时多采用纯数字电路和模拟电路,电路复杂功能单一。
如今微控技术应用十分广泛,采用单片机控制器制作倒计时器电路十分简单,功能齐全并且可以扩展其它功能。
气短数码显示电路采用直接与单片机接口连接方式更加节省电路。
成本低、功能灵活、使用方便等优势,更加巩固了单片机技术在电子产品制作中的不可替代的作用。
本论文针对倒计时系统的设计的需求,介绍了MCS-51单片机的部分基本原理,如51单片机的接口功能、中断、定时器等等。
倒计时系统需要用到锁存器、LED 数码显示器等主要模块,通过不同的模块之间相互作用,完成倒计时的初步硬件结构。
对于倒计时器中的LED数码显示器来说,采用以软件为主的接口方法,即采用Keil uVision4软件程序进行译码。
【关键词】倒计时器单片机矩阵键盘 Keil uVision3 LED数码显示器9999 seconds countdown timerdesign based on 51 single chip microcomputer Name:Chen Lidan No. :201019009 Teacher: Xing Chenyan (Institute of information engineering network technology)Countdown timer is widely used, the pure digital circuit and analog circuit in the countdown timer, complex functions of a single circuit. Now micro control technology is widely used, using single chip microcomputer controller making countdown timer circuit is very simple, complete functions and can be extended to other functions. Shortness of breath and digital display circuit is directly connected with the microcontroller interface mode more saving circuit. Low cost, flexible functions, convenient use and other advantages, consolidate the single-chip technology plays an irreplaceable role in the production of electronic productsIn this paper, aiming at the requirement of the countdown system design, introduces the basic principle of MCS-51 SCM, such as interface function, 51 SCM interrupt, timer and so on. The countdown system needs to use latch, LED digital display module, through interaction between different modules, complete the countdown to the initial hardware. For LED digital display timer in the interface, the method based on software, which uses Keil uVision4 software decoding.[keyword] countdown timer Singlechip keyboard matrix Keil uVision3 LED digital display一.引言单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
信息与电气工程学院课程设计说明书(2013/2014 学年第二学期)课程名称:单片机应用课程设计题目:99秒马表专业班级:电气工程及其自动化0000班目录一、课程设计目的 (2)1.1概述 (2)1.2设计要求 (2)二、课程设计正文 (2)2.1整体设计 (2)2.2器件清单 (3)2.3主要器件说明 (4)2.3.1 STC90C52AD的功能参数介绍 (4)2.3.2译码单元 (6)2.3.3共阴极数码管 (7)2.4单元电路设计 (8)2.4.1 时钟模块 (8)2.4.2 复位电路模块 (8)2.4.3控制模块 (8)2.4.4 显示模块 (9)2.5系统调试 (9)2.4系统分析 (10)2.5系统设计 (10)2.5.1程序流程图 (10)2.5.2 T0中断服务程序框图 (11)2.6系统实施 (11)三、总结: (12)四、参考文献 (13)附录一:C语言设计程序代码: (14)附录二:设计原理图及PCB图 (16)附录三、课程设计评语及成绩 (18)99秒马表单片机设计一、课程设计目的1.1.概述单片机原理及应用课程设计是学生综合运用所学知识,全面掌握单片微型计算机及其接口的工作原理、编程和使用方法的重要实践环节。
通过独立或协作提出并论证设计方案,进行软、硬件调试,最后获得正确的运行结果,可以加深和巩固对理论教学和实验教学内容的掌握,进一步建立计算机应用系统整体概念,初步掌握单片机软、硬件开发方法,为以后进行实际单片机软、硬件应用开发奠定良好的基础。
课程设计的主要内容:根据单片机原理及应用课程的要求,主要进行两个方面的设计,即单片机最小系统和接口技术应用设计。
其中,单片机最小系统主要要求学生熟悉单片机的内部结构和引脚功能、引脚的使用、复位电路、时钟电路、4个并行接口和一个串行接口的实际应用,从而可构成最小应用系统,并编程进行简单使用。
接口技术应用设计主要要求学生能综合运用单片机、存储器、常用接口芯片构成单片机应用系统,有针对性地进行软、硬件设计与开发。
目录1第1章 99秒秒表设计背景及目的要求1-11.1 99秒秒表设计背景................................................................. 1-11.2 设计目的................................................................................ 1-21.3硬件选择................................................................................. 1-21.4 设计内容................................................................................ 1-2第2章设计方案及基本原理 ................................................................ 1-32.1 预备知识................................................................................ 1-32.2 LED显示原理.......................................................................... 1-42.3 元器件选择 ............................................................................ 1-42.4 系统设计................................................................................ 1-52.5硬件工作原理.......................................................................... 1-62.6 硬件连接................................................................................ 1-6 .......................................................................................................... 1-7第3章程序设计.................................................................................. 1-83.1设计步骤................................................................................. 1-83.2程序代码................................................................................ 1-11第4章调试结果及分析 ...................................................................... 1-114.1 调试结果............................................................................... 1-114.2 结果分析............................................................................... 1-11第5章结论与体会 .............................................................................1-13参考文献.............................................................................................1-14附录 ..................................................................................................1-15第1章 99秒秒表设计背景及目的要求1.1 99秒秒表设计背景目前,单片机正朝着高性能和对品种方向发展,趋势是进一步向着低功耗、小体积、大存量、高性能、低价格和电路内装化等几个方面发展。
计算机与信息技术学院综合性(设计性)实验报告一、实验目的1.掌握定时/计数器的工作方式及定时/计数初值的计算2.掌握定时/计数器程序设计方法3.利用定时器,产生秒表计数器,使数码管从00.0计时到99.9。
具有启动、暂停、复位键二、实验仪器或设备装WAVE软件、Proteus软件的微机一台三、总体设计(设计原理、设计方案及流程等)(一)设计原理1.89C51单片机片内有两个16位定时器/计数器(T0、T1),它们都有定时和事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。
2.当89C51采用12MHZ晶振时,一个机器周期为1us3.在模式1中,寄存器TH0和TL0是以全部16位参与操作。
计数长度是655364.对单片机内部定时器T0进行初始化化,定时50ms一次中断,计数2次即为0.1秒(二)设计方案及流程1.利用89C51单片机模式一的工作原理进行设计,定时50ms一次中断,中断一次在30H单元中计数一次,当计数够2次时,小数(HMIAO)计1,当HMIAO计够10次时,整数(MIAO)计1,当MIAO计够100次时,重新开始。
2.当程序开始运行时,应检查是否有键按下,当启动键按下时,中断服务程序开始工作,并同时检测是否有其它键按下,当暂停键按下时,中断服务程序停止工作,并进行判断,直到暂停键断开后继续工作;当复位键按下时,转向开始,一切赋初值,重新开始。
3.运用除法来实现16进制向10进制的转换,商为十位,余数为个位。
4.考虑到带小数点的编码与不带小数点的编码不同,在进行显示的时候,可以让各位进行分别查表。
5.根据实验要求,所设计的硬件电路如附录中电路图所示,该硬件电路主要有由89C51单片机、八位共阳数码管以及其它元器件组成。
89C51单片机通过并行I/O扩展芯片8155的P0口和P2口输出控制八位共阳数码管,其中,P2口控制位选端,P0口控制字符码。
P1口接控制的按键。
图1 流程图四、实验步骤(包括主要步骤、代码分析等)(一)主要步骤1.打开WA VE6000集成调试软件2.单击“文件”——“新建文件”,在文件中按照流程图写入程序,并给该程序的文件命名为“MB.ASM”3.单击“项目”——“编译”4.打开Proteus软件,在ISIS Professional环境中按照电路原理图连接电路5.双击AT89C51芯片,在Program File中添加MB的.HEX文件,单击OK即可6.点下开始按钮,分别按下“启动”、“暂停”和“复位”按键,观察实验结果(二)主要代码分析JNB P1.1,FH1 如果暂停键按下,执行FH1函数INC 30H 30H单元加1MOV A,30H 将30H 给A CJNE A,#2,JIXU A=2,继续往下执行;A 不等于2,执行JIXU MOV 30H,#0 给30H 单元赋值0 INC HMIAO 小数点后面的数加1 MOV A,HMIAO 将HMIAO 给A CJNE A,#0AH,JIXU A =10继续执行;A 不等于10时,执行JIXU MOV HMIAO,#0 将HMIAO 赋值0 INC MIAO MIAO 加1 MOV A,MIAO 将MIAO 给A CJNE A,#64H,JIXU A =100往下执行,A 不等于100时执行JIXU MOV MIAO,#0 将MIAO 赋值0 五、结果分析与总结通过本次实验,我掌握了定时/计数器的工作方式,以及定时/计数初值的计算,并掌握了定时/计数器程序设计方法利用定时器。
课程设计题目:用单片机AT89C51设计一个2位的LED数码显示作为“秒表”专业: 12自动化(2)班学号: 3姓名:华指导教师:蜀阳日期: 2015年6月17日目录一、设计题目和要求:1二、设计目的:1三、设计容:2四、课程设计心得体会18五、参考文献18一、前言21世纪是一个电子技术和电子元件有更大发展的世纪。
回顾百年来电子技术和电子工业发展的成就,举世瞩目。
作为一个电气专业的大学生,我们不但要有扎实的基础知识、课本知识,还应该有较强的动手能力。
现实也要求我们既精通电子技术理论,更要掌握电子电路设计、实验研究和调试技术。
课程设计就是一个理论联系实际的机会。
本次设计主要完成具备基本功能的电子秒表的理论设计,电子秒表是重要的记时工具,广泛运用于各行各业中。
作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点,不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。
在设计中应用到数码管,数码管主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。
特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。
用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。
事实证明,它已经成为照明产品中的一只奇葩,绽放在动感都市。
二、设计题目和要求:秒表应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。
设计一个“复位”键,按下“复位”键后,秒表从0开始计时。
三、设计目的:1.进一步掌握AT89C51单片机的结构和工作原理;2.掌握单片机的接口技术与外围芯片的工作原理与控制方法;3.进一步掌握单片机程序编写与程序调试过程,掌握模块化程序设计方法;4.掌握PROTEUS仿真软件的使用方法;5.掌握LED数码管原理与使用方法。
XXX毕业设计基于单片机的99马表设计班级:电子512专业:应用电子技术所在系:机电工程系学号:指导老师:完成时间2008年1月22日至2008年6月20日摘要 (2)引言 (3)第一章单片机的发展与应用 (4)1.1、单片机的发展 (4)1.1.1、单片机的概念 (4)1.2、MCS-51单片机的简介 (4)第二章基于单片机的99马表硬件系统 (8)2.1、基于单片机的99马表原理 (8)2.1.1、主要功能: (8)2.1.2、系统板上硬件连线 (9)2.2、AT89S51的介绍 (9)2.2.1、主要特性 (10)2.2.2、管脚说明 (10)2.2.3、振荡器特性 (12)2.2.4、芯片擦除 (12)2.3、基于单片机的99马表外围电路设计 (13)2.3.1、复位电路 (13)2.3.2、时钟电路 (15)2.3.3、数码管 (15)2.3.4、键盘电路 (18)第三章基于单片机的99马表软件系统 (20)3.1、基于单片机的99马表汇编程序 (20)3.1.1、基于单片机的99马表流程图 (20)3.1.2、基于单片机AT89S51的99马表汇编程序 (21)3.2、K EIL U V ISION2集成开发环境介绍 (25)3.2.1、keil的使用步骤 (25)3.4仿真软件P ROTEUS (27)3.4.1、基于Proteus软件的系统硬件仿真设计 (27)3.4.2、基于Proteus软件的系统硬件仿真运行 (28)3.5、硬件系统的设计 (28)3.5.1、Protel DXP概述 (28)3.5.2、原理图设计系统的特点 (28)3.5.3、印制电路板(PCB)的设计系统的特点 (30)第四章小结与展望 (31)4.1、小结 (31)4.2、全文展望 (31)致谢 (32)参考文献 (33)近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。
.课程名称单片机原理及应用课程设计学号姓名班级指导老师时间信息工程学院. 设计过程、步骤(可加页):一、设计方案利用STC90C51单片机来制作一个手动计数器,在STC90C51单片机的P3.7 管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7 接一个共阳数码管,作为00-99 计数的个位数显示,用单片机的P0.0-P0.7 接一个共阴数码管,作为00-99 计数的十位数显示;二、工作原理采用STC90C51单片机为中心器件,利用其定时器/计时器定时和计数的原理,结合硬件电路如电源电路、晶振电路、复位电路、显示电路,以及一些按键电路等来设计计时器,软硬件有机的结合起来,其中软件系统采用c语言编写程序,包括显示程序,快加程序,暂停程序等,硬件系统利用Keil强大的功能来实现,简单且易观察。
(一)开发板上硬件连线(如图1)1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8 芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。
2.把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8 芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h 端口上;3.把“单片机系统”区域中的P3.7/RD 端口用导线连接到“独立式键盘”区域中的SP1端口上。
图1 硬件电路连接图(二)显示电路两位数码管循环显示00~99电路数码管只要是用于数字的显示。
数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同。
两位数码管循环电路是由电阻、二极管和数码管组成,电源+5V通过560的电阻直接给数码管的7个段位供电,P0.0-P0.7对应了两个接数码管的A,B,C,D,E,F,G和小数点位,P2.6接显示个位数的数码管的3、8引角,P2.7则接十位数的。
P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示需要的数字。
017、99秒马表设计17. 99秒马表设计1.实验任务(1.开始时,显示“00”,第1次按下SP1后就开始计时。
(2.第2次按SP1后,计时停止。
(3.第3次按SP1后,计时归零。
2.电路原理图图4.17.13.系统板上硬件连线(1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。
(2.把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P2.0/A8对应着a,P2.1/A9对应着b,……,P2.7/A15对应着h。
(3.把“单片机系统“区域中的P3.5/T1用导线连接到”独立式键盘“区域中的SP1端口上;4.程序框图主程序框图T0中断服务程序框图MOVC A,@A+DPTRMOV P2,AMOV TMOD,#02HSETB ET0SETB EAWT: JB SP1,WTLCALL DELY10MSJB SP1,WTINC KEYCNTMOV A,KEYCNTCJNE A,#01H,KN1 SETB TR0MOV TH0,#06HMOV TL0,#06HMOV TCNTA,#00HMOV TCNTB,#00HLJMP DKNKN1: CJNE A,#02H,KN2 CLR TR0LJMP DKNKN2: CJNE A,#03H,DKN MOV SEC,#00HMOV A,SECMOV B,#10DIV ABMOV DPTR,#TABLE MOVC A,@A+DPTRMOV P0,AMOV A,BMOV DPTR,#TABLE MOVC A,@A+DPTRMOV P2,AMOV KEYCNT,#00H DKN: JNB SP1,$LJMP WTDELY10MS:MOV R6,#20D1: MOV R7,#248 DJNZ R7,$DJNZ R6,D1RETINT_T0:INC TCNTAMOV A,TCNTACJNE A,#100,NEXTMOV TCNTA,#00HINC TCNTBMOV A,TCNTBCJNE A,#4,NEXTMOV TCNTB,#00HINC SECMOV A,SECCJNE A,#100,DONEMOV SEC,#00HDONE: MOV A,SECMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AMOV A,BMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P2,ANEXT: RETITABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END6. C语言源程序#include <AT89X51.H>unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};unsigned char second;unsigned char keycnt;unsigned int tcnt;void main(void){unsigned char i,j;TMOD=0x02;ET0=1;EA=1;second=0;P0=dispcode[second/10];P2=dispcode[second%10];while(1){if(P3_5==0){for(i=20;i>0;i--)for(j=248;j>0;j--);if(P3_5==0){keycnt++;switch(keycnt){case 1:TH0=0x06;TL0=0x06;TR0=1;break;case 2:TR0=0;break;case 3:keycnt=0;second=0;P0=dispcode[second/10];P2=dispcode[second%10];break;}while(P3_5==0);}}}}void t0(void) interrupt 1 using 0 {tcnt++;if(tcnt==400){tcnt=0;second++;if(second==100){second=0;}P0=dispcode[second/10];P2=dispcode[second%10]; }}。