单片机电子表设计
- 格式:doc
- 大小:270.00 KB
- 文档页数:31
目录1、目的............................................................ .. (2)2、课题内容 (2)3、主要技术指标 (2)4、课题分析与硬件电路设计原理 (2)5、系统框图 (4)6、方案选择与元器件选择 (4)7、软件设计依据与分析 (7)8、附录 (12)9、附录一设计总结与体会 (12)10、附录二元器件清单 (13)11、附录三系统调试记录......................................................... . (14)12、附录四参考文献......................................................... (16)13、附录五整机电路图......................................................... .. (17)14、附录六源程序清单......................................................... .. (18)多功能数字电子表设计报告一、目的1、使学生将所学的“数字电子技术”和“单片机原理”等相关知识应用于实践。
培养学生理论联系实际的工作作风,提高学生的动手能力。
2、学会用“计算机辅助分析设计软件”对该题目进行分析、设计与仿真,并打印出仿真结果,提高学生对计算机的应用水平。
3、掌握电路的焊接、安装、调试技术,培养学生的工程意识,提高学生分析并解决实际问题的能力,激发学生对产品开发的兴趣,培养学生的科技创新精神。
二、课题内容设计并制作符合以下要求的“多功能数字电子表”,并撰写分析设计报告。
1、基本要求:(2010-11-11)(1)、计时功能:显示时、分、秒;(2)、定闹功能;(3)、秒表功能;(4)、倒计时功能。
2、提高要求:(1)、增加“语音报时”功能;(2)、增加“电子日历”功能。
烟台南山学院《单片机原理与接口技术》课程设计题目:数字电子表设计学院(系):自动化工程学院年级专业:电气技术4班学号: ************学生姓名:***指导教师:***课程设计任务书学生姓名:毕天华专业班级:电气技术4班指导教师:田敬成工作单位:自动化工程学院题目: 基于51单片机的数字电子表的设计初始条件:1.运用所学的单片机原理与接口技术知识和数字电路知识;2.51单片机应用开发系统一套;3.PC机及相关应用软件;要求完成的主要任务:1.完成数字电子表的设计和调试。
2.要求采用四位八段数码管显示时间和日期,并且可以用按键修改时间和日期。
3.撰写课程设计说明书。
4.课程设计说明书要求:引言、设计要求、系统结构、原理设计、各个模块的设计与实现、软件设计、调试过程、收获、体会及总结、参考文献、电路图和源程序。
说明书使用A4打印纸计算机打印或手写,用Protel 等绘图软件绘制电子线路图纸。
时间安排:第1天下达课程设计任务书和日程安排,根据任务书查找资料;第2~3天完成方案论证,单片机系统的设计;第4~6天参考有关文献,完成程序的编写;第7~10天调试硬件系统和软件程序;第11~12天结果分析整理、撰写课程设计报告,验收和答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日基于单片机数字电子表的设计摘要随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。
多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。
本课程设计是基单片机原理与接口技术的简单应用。
运用所学的单片机原理和接口技术知识完成数字电子表的设计。
电子表已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采用了先进的石英技术,使电子表具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
用51单片机编程,实现一个电子表源程序#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charsbit dula=P2^6 ;sbit wela=P2^7;sbit led1=P1^0;Uchar code table[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x7 1};void delay(uint t) //延迟函数{uint i,j;for(i=0;i<t;i++)for(j=0;j<110;j++);}uchar num,num1,num2,num3,num4;uint a[6];void display(uint a[]){wela=1;P0=0xfe; //第一个数码管亮wela=0;dula=1;P0=table[a[0]];dula=0;delay(1);wela=1;P0=0xfd; //第2个数码管亮wela=0;dula=1;P0=table[a[1]];dula=0;delay(1);wela=1;P0=0xfd; //第2个数码管亮小数点wela=0;dula=1;P0=0x80;dula=0;delay(1);wela=1;P0=0xfb; //第3个数码管亮wela=0;dula=1;P0=table[a[2]];dula=0;delay(1);wela=1;P0=0xf7; //第4个数码管亮wela=0;dula=1;P0=table[a[3]];dula=0;delay(1);wela=1;P0=0xf7; //第4个数码管亮小数点wela=0;dula=1;P0=0x80;dula=0;delay(1);wela=1;P0=0xef; //第5个数码管亮wela=0;dula=1;P0=table[a[4]];dula=0;delay(1);wela=1;P0=0xdf; //第6个数码管亮wela=0;dula=1;P0=table[a[5]];dula=0;delay(1);}void main (void) //主函数开始{TMOD=0x11; // 初始化函数TH0=(65536-45872)/256; //TL0=(65536-45872)%256; //TH1=(65536-45872)/256; //TL1=(65536-45872)%256; //EA=1;ET0=1;ET1=1;TR0=1;TR1=1;while(1){display(a); //显示数字}}void T0_time()interrupt 1{TH0=(65536-45872)/256; //初始化TL0=(65536-45872)%256;num1++;if(num1==4){num1=0;led1=~led1; //LED闪亮}}void T1_time()interrupt 3{TH1=(65536-45872)/256; //初始化TL1=(65536-45872)%256;num2++;if(num2==20){num2=0;num++;if(num==60){num=0;num3++;}if(num3==60){num3=0;num4++;}if(num4==24){num=0;}a[4]=num/10; // 秒(十位)a[5]=num%10; // 秒(个位)a[2]=num3/10; // 分(十位)a[3]=num3%10; // 分(个位)a[0]=num4/10; // 时(十位)a[1]=num4%10; // 时(个位)}}。
1 绪论电子表是20世纪50年代才开始出现的新型计时器。
最早的一款电子表被称做“摆轮游丝电子表”,它诞生于1955年。
这种手表用电磁摆轮代替发条驱动,以摆轮游丝作为振荡器,微型电池为能源,通过电子线路驱动摆轮工作。
它的走时部分与机械手表完全相同,被称为第一代电子手表。
1960年,美国布洛瓦公司最早开始出售“音叉电子手表”。
这种手表以金属音叉作为振荡器,用电子线路输出脉冲电流,使机械音叉振动。
它比摆轮式电子手表结构简单,走时更精确,被称为第二代电子手表。
1969年,日本精工舍公司推出了世界上最早的石英电子表。
石英电子表的出现,立刻成为了钟表界主流产品,它走时精确,结构简单,轻松地将一、二代电子表,甚至机械表淘汰出局。
石英表又称“水晶振动式电子表”,因为它是利用水晶片的“发振现象”来计时的。
当水晶受到外部的加力电压,就会产生变形和伸缩反应;如果压缩水晶,便会使水晶两端产生电力。
这样的性质在很多结晶体上也可见到,称为“压电效果”。
石英表就是利用周期性持续“发振”的水晶,为我们带来准确的时间。
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
从上世纪80年代,由当时的4位、8为单片机,发展到现在的32位300M的高速单片机。
1.1 单片机的介绍单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
毕业设计基于单片机的电子跑表设计此设计还有以下资料,有需要的朋友下载了文档后留下你的邮箱,方便我传给你。
目录第一部分过程管理资料一、毕业设计课题任务书 (3)二、本科毕业设计开题报告 (6)三、本科毕业设计进展情况记录 (10)四、本科毕业设计中期报告 (12)五、毕业设计指导教师评阅表 (13)六、毕业设计评阅教师评阅表 (14)七、毕业设计答辩及最终成绩评定表 (15)第二部分设计说明书八、设计说明书 (16)第一部分过程管理资料****届毕业设计课题任务书院(系):专业:本科毕业设计开题报告说明:开题报告作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一,此报告应在导师指导下,由学生填写,将作为毕业设计(论文)成绩考查的重要依据,经导师审查后签署意见生效。
本科毕业设计进展情况记录毕业设计题目:基于单片机的电子跑表设计班级:自本0302学号:46030216学生:刘正武指导教师:廖代文注:教师监督学生如实记录毕业设计(论文)过程中根据《课题任务书》拟定的进度与进展情况以及毕业设计(论文)撰写过程中遇到的问题和困难,并签署意见。
注:教师监督学生如实记录毕业设计(论文)过程中根据《课题任务书》拟定的进度与进展情况以及毕业设计(论文)撰写过程中遇到的问题和困难,并签署意见。
本科毕业设计中期报告院(系):电气与信息工程学院院、系:电气与信息工程学院毕业设计答辩及最终成绩评定表院、系(公章):说明:最终评定成绩=a+b+c,三个成绩的百分比由各院、系自己确定。
第二部分毕业论文摘要本次毕业设计的课题是基于单片机的电子跑表设计,设计要求为电子跑表能显示正确的时间并能作秒表使用。
设计的主要内容包括单片机最小系统(电源电路,复位电路,时钟电路),键盘电路,驱动电路,显示电路和电子跑表的程序设计。
我选用的单片机型号为AT89S52,采用两片74LS244为驱动电路,显示采用两个4位一体的七段数码显示管,通过制作实物,编程,下载程序,制作的电子跑表能够实现正确的时间显示,并且可以实时调整时间显示,作秒表使用时计时范围为000.0秒到999.9秒,通过检测,发现误差不大。
1 绪论电子表是20世纪50年代才开始出现的新型计时器。
最早的一款电子表被称做“摆轮游丝电子表”,它诞生于1955年。
这种手表用电磁摆轮代替发条驱动,以摆轮游丝作为振荡器,微型电池为能源,通过电子线路驱动摆轮工作。
它的走时部分与机械手表完全相同,被称为第一代电子手表。
1960年,美国布洛瓦公司最早开始出售“音叉电子手表”。
这种手表以金属音叉作为振荡器,用电子线路输出脉冲电流,使机械音叉振动。
它比摆轮式电子手表结构简单,走时更精确,被称为第二代电子手表。
1969年,日本精工舍公司推出了世界上最早的石英电子表。
石英电子表的出现,立刻成为了钟表界主流产品,它走时精确,结构简单,轻松地将一、二代电子表,甚至机械表淘汰出局。
石英表又称“水晶振动式电子表”,因为它是利用水晶片的“发振现象”来计时的。
当水晶受到外部的加力电压,就会产生变形和伸缩反应;如果压缩水晶,便会使水晶两端产生电力。
这样的性质在很多结晶体上也可见到,称为“压电效果”。
石英表就是利用周期性持续“发振”的水晶,为我们带来准确的时间。
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
从上世纪80年代,由当时的4位、8为单片机,发展到现在的32位300M的高速单片机。
1.1 单片机的介绍单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:一块芯片就成了一台计算机。
电子跑表一.个人任务在本次课程设计中,本人负责跑表的C语言程序编程部份和开发板调试。
另一人负责proteus仿真。
二.设计要求以51开发板为核心设计一个多功能电子表。
利用AT89C52作为主控器组成一个具有跑表功能的4位LED显示器的电子跑表。
跑表的-999.9秒并具有跑表启动和跑表复位功能键。
跑表的显示范围:;当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。
三.设计思路1.计时单元由单片机内部的按时器/记数器来实现。
2.跑表的显示功能是由LED数码管动态扫描来实现。
这能够利用专用的键盘/显示器接口芯片来实现对键盘/显示器的动态扫描。
3.跑表的启动/复位/清零功能由软件来实现。
P1.0接启动键,P1.1接停止键,P1.2接清零键。
四.设计方案在单片机中,按时功能既能够由硬件实现,也可通过软件按时实现。
硬件按时是利用单片机内按时器按时,启动以后按时器可与CPU并行工作,不占用CPU时刻,CPU有较高的工作效率。
采纳硬件按时和软件按时并用的方式,即用T0出中断功能实现50ms按时,通过软件延时程序实现1s按时。
按时器的有关的寄放器有工作方式寄放器TMOD和操纵寄放器TCON。
依照设计要求和设计思路,硬件电路有两部份组成,即单片机按键电路,LED 显示器电路,以下图为系统电路设计流程图。
图1 电路设计流程图依照课程设计要求,决定计时单元由单片机内部的按时器/记数器89C52芯片来实现。
跑表显示功能通过LED数码管动态扫描来实现。
能够利用专用的键盘/显示器接口芯片可实现对键盘/显示器的动态扫描。
五.硬件设计1. 单片机型号选择由于咱们利用的单片机开发板上的单片机的型号是SCT89C52,因此咱们只能选择这款型号的单片机。
可是这款单片机和SCT89C51是一样的,也是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处置器,器件采纳ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
智能仪器及应用实验报告项目名称:基于51单片机的简易电子表设计与仿真专业名称:测控技术与仪器班级:测控0901班学生姓名:指导教师:一、任务要求使用Keil uVision编程软件以及ISIS 7 Professional仿真软件制作一个简易电子表,要求具备电子表基本功能<时间显示、时间调整等)。
二、总体设计方案利用AT89C51作为控制以及1602LCD作为显示,通过6个按键实现出入时间设置状态、出入闹铃设置状态、小时位调整、分钟位调整、开关闹铃等功能。
系统的流程图如下:图1-1 系统仿真流程图三、系统硬件1、AT89C51引脚功能说明:AT89C51芯片如图1-2所示图1-2AT89C51VCC:供电电压。
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编程和校验时接收高八位地址信号和控制信号。
目录第1章设计内容与要求 (1)1.1系统结构框图与工作原理设计内容 (1)1.2设计要求 (1)第2章系统总体方案选择说明 (2)2.1总体思路 (2)2.2系统方案选择 (2)2.3系统总体方案说明 (2)第3章系统结构框图与工作原理 (3)3.1系统结构框图 (3)3.2系统工作原理 (3)第4章模块电路设计 (4)4.1调节时钟部分电路 (4)4.2显示部分电路 (4)4.3单片机部分电路 (5)第5章软件设计说明 (6)5.1主程序流程图 (6)5.2显示程序流程图 (7)5.3定时计数器T0中断服务流程图 (8)第6章电路的调试 (9)第7章设计总结 (10)附录1 参考文献 (11)附录2 总体设计图 (12)附录3 程序清单 (13)第1章设计内容与要求1.1 系统结构框图与工作原理设计内容(1)设计时钟包括:时钟、跑表;(2)使用6位LED进行显示。
(3)能通过键盘对时钟进行调整;(4)做时钟时在6位LED 显示器上显示时、分、秒,(5)做跑表时具有跑表启动和跑表清零和暂停功能键。
1.2 设计要求(1)确定系统设计方案;(2)进行系统的硬件设计;(3)完成必要的参数计算与元器件的选择;(4)完成应用程序设计;(5)进行软硬件调试;第2章系统总体方案选择说明2.1 总体思路利用8051的P2口作为控制单片机跑表开始,暂停,清零,返回的输入端。
P3作为控制LED的显示时钟的调节时间控制信号输入端。
P0,P1控制LED动态显示选择控制端控制六个LED的显示时间和显示顺序。
定时器T0定时50ms。
T1定时10ms,37H-39H保存时钟的变化量。
41H-43H保存秒表的变化量。
其中为了方便显示,每个变量对应两个单元,以便将变量拆开成两个十进制的数方便显示。
2.2 系统方案选择本系统采用AT89C51单片机、6位数码管显示(不带译码器)和7个键盘键盘操作(分别为功能键,加一键,减一键,返回键,开始键,暂停键,清零键)作为调节时间的按钮构成一个单片机多功能时钟的硬件。
目录1 设计内容及要求 (1)1.1 设计内容与要求: (1)1.2设计要求: (1)2 系统总体方案设计 (1)2.1 总体方案设计 (1)2.2 设计说明 (1)3 各部分方案选定及接口设计 (2)3.1 主控制器单片机的选择 (2)3.2 时钟电路 (2)3.3显示接口电路 (3)3.4 键盘接口电路 (3)4 系统软件的设计 (4)4.1 设计说明 (4)4.2 主程序设计 (5)4.3 时间处理模块 (6)4.5 键盘扫描模块 (8)5 系统的调试与使用说明 (10)6 总结 (11)7 参考文献 (12)附录: (13)1 设计内容及要求1.1 设计内容与要求:具有时钟和电子跑表的功能。
开机为时钟功能,用4位LED数码管显示时、分,以24小时计时方式;用按键控制切换到电子跑表功能:可用3位数码管从00.0开始计时的功能。
1.2设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要元器件选择;4)完成应用程序设计;5)进行应用程序的调试;2 系统总体方案设计2.1 总体方案设计电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片机来实现等等。
为求结构简单,本次设计利用单片机组成数字电子跑表。
2.2 设计说明本系统采用AT89C51单片机、4位LDE数码管显示、一个排阻、4个调节按钮、2个电容与1个晶体振荡器共同构成本的单片机电子跑表的硬件。
时钟模块与计时模块则分别由单片机内部的定时器/记数器T0与T1来实现。
时间显示功能通过LED数码管动态扫描来实现。
电子跑表的启动/暂停/清零功能由软件来实现。
P1.0实现时钟与秒表的切换功能,P1.1接开始计时键,P1.2接计时暂停键,P1.3接计时重新计时键。
本系统软件部分则采用C51编写,功能模块结构化强,共利用了6个功能函数,2个中断服务函数和1个主函数构成了本次电子跑表的软件部分。
目录第1章单片机和数字钟概述 (5)第2章系统总体方案设计 (6)2.1课程设计内容要求 (6)2.2设计思路简要分析 (6)第3章硬件设计 (8)3.1 结构框图 (8)3.2工作原理 (8)3.2主要硬件功能及机构介绍 (10)3.2.1、晶振电路 (10)3.2.2、AT89C51 (10)3.2.3、6位7段共阳显示器 (11)3.2.4、8255芯片 (12)第4章软件设计与调试 (13)4.1 系统软件方案的设计 (13)4.2 系统应用程序设计 (13)4.2.1主程序设计 (13)4.2.2子程序设计 (15)第5章调试和使用说明 (17)第六章总结与体会 (18)参考文献 (20)附录 (34)第1章单片机和数字钟概述单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
我们都知道,设计系统的关键是思路,而系统通常又由各个模块所组成,所以必须先把所要设计系统模块化,再把各个模块组合在一起,实现一个完整的系统。
这就要求我们先要有较扎实的理论知识,特别对芯片的各个管脚功能必须了解,这样才能进行硬件设计。
同时,又必须掌握MCS51的指令功能,通过编程实现其功能,这就能让我们更好地理解《单片机原理及应用》这门课程,也是一种理论在实践中的运用。
如果说我们以前学的都只是些理论,包括c语言,微机原理,c++,微机接口,protel,单片机,那么这次的课程设计就是一个贯穿多学科的综合性实践!单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。
单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
目前,数字钟的功能越来越强,并且有多种专门的大规模集成电路可供选择。
第2章系统总体方案设计2.1课程设计内容要求以51系列单片机为核心,以开发板为平台;设计一个多功能电子表,具有电子时钟、时钟设置和跑表功能。
做时钟时在6位LED 显示器上显示分、秒、时,做跑表时显示范围000.0秒~999.9秒,并具有时钟启动、时钟停止、跑表启动、跑表复位、时钟调整功能键。
2.2设计思路简要分析电子表的电路由多个部分组成,如控制按键的输入电路,单片机的时钟电路,复位电路,LED显示器段码驱动电路,LED显示器位码驱动电路,显示器电路和跑表时钟电路组成。
然后通过对以上电路的产生和调整设计出总的电路框图。
所以可根据上述条件作出相应的实时时钟电路总的框图。
然后开始设计内部驱动程序,是各种芯片按照相应的程序实现特定的功能个,之后按照程序的设计,将相应的管脚连接调试,看是否能实现预定的功能。
该电子表采用ATB9C51单片机为核心器件,将可编程芯片8255A与6个LED数码管连接,用于显示时钟与跑秒。
PA口输出显示段码,PB口输出位码,单片机的P1.0~P1.4、P3.2、P3.3接K1~K6,用于实现表的清零/启动/复位/调整/暂停功能,其可由软件完成。
时间显示功能通过LED数码管动态扫描来实现,在显示器上进行动态扫描。
由于数码管要显示时钟,还要显示秒表,利用T0定时器定时1s,T1定时器定时100ms,即0.1s,用R6和R7作为扫描的短延时数据地址。
因此,分别用30H、31H、32H、33H、34H、35H计时钟,即时钟计数器;用40H、41H、42H、43H、44H、45H计跑表,即秒表计数器。
如果要显示时钟的时候,就把时钟地址中的数据通过8255A的PA口输出给显示器显示;如果要显示跑表的时候,就把跑秒地址中的数据通过8255A的PA口输出给显示器显示。
第3章硬件设计3.1 结构框图基于单片机系统的电子表的基本结构框图如下,LED显示模块是单片机的通用方法。
图3-1 电子表基本结构框图LED数码显示: 是指单片机将需要显示的数据发送到LED显示模块,并控制LED显示模块按照一定的显示的功能。
3.2工作原理电子表由四部分构成,晶振、复位电路,控制输入,LED显示,单片机。
时钟功能的实现,由定时器和中断来控制其时间的控制。
调时暂停和复位由按键控制,秒表功能也是由按键切换。
输入控制:是指在一定的要求下,采取何种形式的控制方式来实现数字时钟不同功能的变换,以及控制指令以何种方式传送到单片机。
LED显示的基本原理:按显示方法分,有静态显示和动态显示,按译码方式分为硬件译码和软件译码。
静态显示是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后不再控制LED,直到下次显示时再传送一次新的显示数据。
静态显示的数据稳定,占用的CPU时间少。
动态显示要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用CPU时间多。
这两种显示方式各有利弊:静态显示虽然数据显示稳定,占用CPU时间少,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多,动态显示虽然有闪烁感,占用CPU时间多,但使用的硬件少,能节省线路板空间。
动态扫描显示接口是单片机中应用最广泛的一种显示方式,其接口电路是把所有LED显示器的8个比划段A-G。
DP的同名端连在一起,而每一个数码管的公共端COM是各自独立地受I/O 线控制。
其CPU向字段输出口送出字形时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,可以自行决定何时显示哪一位了。
而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM 端,使各个显示器轮流点亮。
在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的,约1ms左右,但由于人的视觉暂留现象及发光二极管的余晖效应,尽管实际上各位显示器并非同时点亮,但只要扫描速度足够快,给人的映像就是一组稳定的显示数据,不会有闪烁感。
根据上面分析可以看出动态显示方案具备一定的实用性,也是目前单片机数码管显示中较为常用的一种显示方法。
因此本次课程设计采用动态显示。
3.2主要硬件功能及机构介绍3.2.1、晶振电路单片机工作的时间基准是由时钟电路控制的。
在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路。
电路中,电容器C1和C2对振荡频率有微调作用,通常的取值范围为30PF。
石英晶体选择12MHZ。
图3-2 时钟电路图3.2.2、AT89C51根据设计方案的分析,可以选择带有EPROM的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。
ATMEL公司生产的AT89CXX系列单片机,AT89CXX系列与MCS-51系列单片机相比,有两大优势:第一,片内程序存储器采用闪速存储器,使程序的写入更方便;第二,提供了更小尺寸的芯片,使整个硬件电路的体积更小。
它以较小的体积、良好的性能价格比倍受青睐。
本次课程设计采用89C51单片机图3-3AT89C51单片机的接口3.2.3、6位7段共阳显示器LED显示器的选择,在应用系统中,设计要求不同,使用的LED 显示器的位数也不同,因此生产厂家就生产了多种位数、尺寸、型号不同的LED显示器。
在我们的设计中,选择6位一体的时钟型LED显示器。
6位7段共阳显示器:六位是同时显示六位阿拉伯数字,而每一个数字又是七段码显示的;七段是指一个数码显示的阿拉伯数字是由七位二进制数控制的,共阳是指相应的二进制为1时不亮,为0时亮。
在实验中显示器的作用是显示时间。
图3-4 LED显示器3.2.4、8255芯片8255内部包括三个并行数据输入/输出端口,两个工作方式控制电路,一个读/写控制逻辑电路和8位总线缓冲器。
Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。
它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。
8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。
图3-5 8255A接口第4章 软件设计与调试4.1 系统软件方案的设计每个模块的程序结构简单,任务明确,易于编写、调试和修改;程序可读性好,对程序的修改可局部进行,其他部分可以保持不变,便于功能的扩从和版本的升级;对于使用频繁的子程序可以建立子程序库,便于多个模块调用; 便于分工合作,多个程序员同时进行程序的编写和修改调试工作,加快软件的研制进度。
图4-1 计时器程序模块结构图4.2 系统应用程序设计4.2.1主程序设计主程序的初始化内容:所谓初始化,是对将要用到的51系列单片机内部部件或扩展芯片进行初始工作设定。
51系列单片机复位后,特殊功能寄存器IE ,IP 的内容均为00H ,所以因对IE,IP 进行初始化编程。
计数器T0中断服务程序流程图:图4-2 计数器TO中断服务程序流程图图4-3 跑表主程序流程图4.2.2子程序设计子程序包括了:时钟暂停显示程序,时钟运行显示程序,时钟TO溢出入口程序,跑秒暂停及循环显示程序,跑秒运行循环显示程序等等。
代码转换程序:由于人们日常习惯使用十进制数,而计算机的键盘输入,输出以及显示都采用二进制编码的十进制数或ASCII 码。
因此,在程序设计时常常要代码转换。
LED动态显示程序:采用动态扫描方式时,要使得LED显示得比较均匀和有足够的亮度,需要设置适当的扫描频率。
扫描频率在70Hz左右时,能够产生足够的图形和较好的显示效果。
图4-4 显示程序流程图第5章调试和使用说明本系统可以先在电脑上使用proteus仿真软件进行电路的仿真进行仿真,编程使用Wave、调试工具并生成可执行文件加载到单片机中,在proteus中点击运行,查看运行结果是否与预期要求相符,如果仿真成功,便可以到实验板上进行实物实验。
第六章总结与体会在这一次课程设计当中,我进行了多方面的学习和实践,虽然当中遇到了许多的困难,但最终还是把它们一一地克服了。
学习就是这样的,要做好每一件事,都有很多的因素影响制约着我们,我们必须快速准确的适应这样的环境,通过改变自己来更快的融入社会。
有了这份经历,我觉得自己少了一分浮躁,多了一份沉稳。
我深深地感到要有科学的思维方法和学习方法是极其重要的。
刚刚拿到课程设计的题目时真不知道从哪里开始动手,课题名称里的芯片根本就没听说过。
通过上网查找资料,弄清楚了它的功能,才真正开始了设计。
但这个东西包括了几个部分,所以一定要把握好它的整体设计思路,在其框架之下,对各部分的单元电路进行分析和设计,最后经过电路的修改,参数的确定,将各个部分连接起来,形成总的电路图。