单片机控制秒表显示时间为—-暂停-复位优质资料.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 控制 秒表 显示 时间 暂停 复位 优质 资料
- 资源描述:
-
单片机控制秒表显示时间为—,暂停,复位优质资料 (可以直接使用,可编辑 优质资料,欢迎下载) 9 创新实践实训报告 学院 信息电子技术学院 专业 电子信息工程 班级 14 学籍号 姓名 指导教师 蒋野 2021年06月29日 单片机控制秒表电路 一、 电路工作原理 1. 工作原理 用STC89C52设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“暂停”键S2和一个“继续”键S3。为使本设计系统更加完善,可以引入一个“复位”键S1,以方便对系统的控制。如图。 本系统采用STC89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用Protues强大的功能来实现,简单易于观察,在仿真中就可以观察到实际的工作状态。 2. 元器件作用 (1) STC89C52单片机在电子行业中有着广泛的应用。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。 (2) 时钟电路作用是为电路提供唯一的时钟信号。 (3) 复位电路外接一个开关,控制电路复位,接通电源电路直接复位,如果没有开关亦可将复位电路引出导线接电源后断开。 (4)本设计要求使用共阳极的数码管,如下是共阳极的数码管的0-9编码:0xc0,0x92,0x82,0xf8,0x80,0x90,0xf9,0xa4,0xb0,0x99. (5)控制电路:S2按下电路停止计时,S3按下电路恢复计时。 二、程序流程图 开始 显示“00” 开启中断,并允许T1,T2中断 TH1、TL1 初始化 每隔1秒 开始计数 按键 S2 T1停止 暂停计数 S3 T2恢复 恢复计数 主程序流程图 三、检测安装与调试 1. 元件检测 序号 名称 型号(标称值) 测量值 误差 备注 1 电阻 1K 780 22% 2 电阻 10K 10.78 0.07% 3 电容 33pF 32 3% 4 电容 10uF 9 10% 5 晶振 12M 12M 0 共阳极数码管检测管脚序号利用万用表二极管档红表笔接一个抵住两个管脚,利用另一个接触其他,找出1,2两个管脚,继续分别找出A,D,C,D,E,F,G,Dp管脚。 2. 安装 (1) 首先固定好元件,先固定单片机,以单片机为中心安装其他小件,电解电容需要注意不要贴在电路板上,放置短路。将电解电容贴近单片机减少影响。合理运用电路板,保证节省空间,导线明了。 (2) 按照proteus仿真电路连接电路图。 3. 调试 (1) 安装好后,接通电源,电路没有反应,数码管不亮。 (2) 检查电路:利用万用表蜂鸣档来检测电路的通断,发现几处空焊,补焊完成。 (3) 二次接通电源,电路依然不工作。 (4) 复查电路:重新检测电路,利用万用表电流档,检测电路电流,发现电路无电流,检查40引脚VCC,发现单片机40引脚与插座短路,接触不良导致,陆续检查其他引脚。发现还有部分引脚短路。 (5) 继续检查电路,直至数码管显示数字为止。 结果显示,秒表运行正常。按照预期实现了99s计时、暂停以及继续的功能。 至此,秒表设计、制作、仿真及调试工作就全部完成了。 4. 电路工作电流和关键点电压检测 序号 名称 数值(mA) 数值(V) 备注 1 电路工作电流 28 5 2 EA电压 - 4.8 3 R1电压 - 0.0047 4 XTAL1 - 2.01 5 XTAL2 - 2.02 二、 问题与解决 如图可以看出利用两个数码管,首次焊接没有检测数码管器件为共阴极数码管,与设计程序不符,导致乱码,而后改接电路,重新安装共阳极数码管。单片机与排座接触不良,解决方法:利用废弃的二极管的管脚,插入排座排孔,增大接触面积。 附件 1. 利用单片机完成一定的任务,你的创意(创新)是什么? 我的创意就是电路的布局,实验操作起来与仿真不同,需要注意很多细节,例如原件检测。我的电路布局既节省空间,又不影响电路结构。 2. 程序 #include<reg52.h> sbit W=P1^4; sbit H=P1^6; unsigned char msec,sec; void delay(unsigned char i) { unsigned int j,k; for(k=0;k<i;k++) for(j=0;j<255;j++); } void To_INT(void) interrupt 1 { TH0=0x3c; TL0=0xb0; msec++; if(msec==20) { msec=0; sec++; if(sec==100) { sec=0; } } } void main() { unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; TMOD=0x01; TH0=0x3C; TL0=0xb0; EA=1; ET0=1; TR0=1; while(1) { if(W==0){TR0=1;} if(H==0){TR0=0;} P2=0x02; P0=led[sec%10]; delay(10); P2=0x01; P0=led[sec/10]; delay(10); } } 单片机课程设计 课程设计任务书 20 17 -20 18 学年 第 一 学期 第17周-18周 题目 基于51单片机控制的多功能秒表系统 内容及要求 1.设计制作一个秒表系统,可用多位数码管显示时间。 2.可用开关控制并用多位数码管显示当前时间。 3.可以进行计时并能清零重新计时。 进度安排 1.布置任务、方案论证 1天 2.硬件制作、程序编写、仿真调试 3天 3.检查、整理、写设计报告、小结 2天 4.答辩 1天 学生姓名:许乐 郭利铂 指导时间: 12月 23 日- 12 月 29 日 指导地点: F 楼 403 室 任务下达 2021 年 12月 23日 任务完成 2021 年 12 月 29 日 考核方式 1.评阅 √ 2.答辩 √ 3.实际操作 √ 4.其它□ 指导教师 蒋沅 系(部)主任 王长坤 注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。 2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。 摘要 本设计是设计一个单片机控制的多功能秒表系统。 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。 本设计的多功能秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及按键电路来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计数,并且结合相应的显示驱动程序,使数码管能够正确地显示时间,暂停和中断。我们设计的秒表可以同时记录八个相对独立的时间,通过上翻下翻来查看这八个不同的计时值,可谓功能强大。其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,延时程序,按键消抖程序等,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。 关键字:单片机,多功能秒表 小组成员:许乐,郭利铂 小组分工: 小组成员:讨论并确定秒表要实现哪些功能 许乐:硬件电路的设计仿真,查阅资料 郭利铂:编写程序,撰写实验报告 目录 1.概述4 1.1设计目的4 1.2设计要求4 1.3设计意义4 2.系统总体方案及硬件设计4 2.1系统总体方案4 2.2硬件设计5 2.2.189C51单片机5 2.2.2晶体振荡电路6 2.2.3 复位电路7 2.2.5显示电路8 2.2.6 系统电路图9 3.软件设计9 3.1设计特点9 3.2设计思路10 3.2.1程序流程图10 3.2.2程序10 4.PROTEUS软件仿真13 4.1仿真13 4.2仿真结果描述14 4.3结论及进一步设想15 5.元器件清单………………………………………………………………………16 6.课程设计体会16 7.参考文献 …………………………………………………………………….….18 1.概述 1.1设计目的 设计一个单片机控制的秒表系统。利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计秒表。将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时具有开始/暂停,记录,上翻下翻,清零等功能。 1.2设计要求 (1)共四位LED显示,显示时间为00:00~59.99 (2)共五个按键,分别是开始/暂停,记录,上翻,下翻,清零键; (3)能同时记录多个相对独立的时间并分别显示; (4)翻页按钮查看多个不同的计时值; 1.3设计意义 (1)通过本次课程设计可以使我们进一步熟悉和掌握单片机内部结构和工作原理,了解单片机应用系统设计的基本步骤和方法。 (2)通过利用AT89C51单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法。 (3)通过设计一个简单的实际应用输入及显示模拟系统,掌握单片机仿真软件PROTEUS的使用方法。 (4)该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、功能,并能同时记录多个相对独立的时间利用翻页按钮查看多个不同的计时值,该种秒表在现实生活中应用广泛,具有现实意义。 2.系统总体方案及硬件设计 2.1系统总体方案 本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,包括显示,计数,中断,延时,按键消抖程序等,并在编程软件中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。 单 片 机 外围 电路 电路 电源 电路 电路 显示电路 键盘电路 图1 系统电路原理 2.2硬件设计 89C51单片机 MCS-51系列单片机是8位单片机产品,89C51是其中的典型代表,基本模块包括以下几个部分: (1)CPU:89C51的CPU是8位的,另外89C51内部有1个位处理器 (2)R0M:4KB的片内程序存储器,存放开发调试完成的应用程序 (3)RAM:256B的片内数据存储器,容量小,但作用大 (4)I/O口:P0-P3,共4个口32条双向且可位寻址的I/O口线 (5)中断系统:共5个中断源,3个内部中断,2个外部中断 (6)定时器/计数器:2个16位的可编程定时器/计数器 (7)通用串行口:全双工通用异步接收器/发送器 (8)振荡器:89C51的外接晶振与内部时钟振荡器为CPU提供时钟信号 (9)总线控制:89C51对外提供若干控制总线,便于系统扩展 89C51的引脚图如下: 89C51单片机引脚图 晶体振荡电路 89C51芯片内部有一个高增益反相放大器,用于构成振荡器。引线 XTAL1和XTAL2分别为反向放大器的输入和输出,两端跨接石英晶体及两个电容就可构成稳定的自激振荡器。 这里,我们选用51单片机12MHZ的内部振荡方式,电容器C1,C2起稳定振荡频率,并对振荡频率有微调作用,C1和C2可在20-100PF之间取值,这里取33PF。 复位电路 采用上电加按键复位电路,上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电加按键复位的操作。 按键电路 在按键电路中,我们可以在I/O口上直接接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有键按下等。键盘扫描电路节省I/O口,但编程有些复杂,在这里,由于我们所用的按键较少,且系统是一个小系统,有足够的I/O口可以使用,为了使程序简化,我们采用按键电路,用部分P1口做开关,P1.0开始/暂停,P1.1记录,P1.2上翻,P1.3下翻,P1.4清零。对于按键的设计,采用了防抖动的程序设计,使系统的性能得到进一步的提升。当按键被按下时,相应的引脚被拉低,经扫描后,获得键值,并执行键功能程序,因此按下不同的按键,将执行不同的功能程序。 2.2.5显示电路 显示电路既可以选用液晶显示器,也可以选用数码管显示。我们采用的是数码管显示电路。用四个共阴极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各管的亮暗组合成字符。 在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。 在设计中,我们采用LED动态显示,用P0口驱动显示。由于P0口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。 系统电路图 3.软件设计 3.1设计特点 在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。 应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,如:计数、延时、和显示等,在具体需要时调用相应的模块即可。 功能描述:用四位LED数码管显示时间。一个"开始/暂停"键,一个"复位"键,一个“记录”键,可同时记录八个相对独立的时间;一个“上翻”键,一个“下翻”键,查看八个不同的计时值。五个按键分别通过五个端口控制秒表的五个功能。 3.2设计思路 3.2.1程序流程图 开始 初始化化 P1.0=0?? P1.1=0?? P1.2=0?? P1.3=0?? P1.4=0?? 停止 下翻 上翻 够8个个? N Y 记录 N N N N N Y Y Y Y Y 清零 开始 初始化 P1.0=0? P1.1=0? P1.2=0? P1.3=0? P1.4=0? 停止 下翻 上翻 够8个? N Y 暂停记录 N N N N N Y Y Y Y Y 清零 3.2.2程序 程序如下: /* 1、程序目的:使用定时器学习秒表计时,记录8组数据,通过上翻、下翻键查看记录的数据 2、硬件要求:数码管、晶振12M */ #include <reg52.h> code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管 0-9 code unsigned char tab1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef} ;//共阴数码管0-9带小数点 sbit key1 = P1^0; //开始、暂停 sbit key2 = P1^1; //记数 sbit key3 = P1^2; //上翻 sbit key4 = P1^3; //下翻 sbit key5 = P1^4; //清零 static unsigned char ms,sec; static unsigned char Sec[8],Ms[8]; static int i ,j; void delay(unsigned int cnt) //延时程序 { while(--cnt); } void main() { unsigned char key3_flag=0,key4_flag=0; TMOD |=0x01;//定时器0 10ms in 12M crystal 用于计时 TH0=0xd8; TL0=0xf0; ET0=1; TR0=1; TMOD |=0x10; //定时器1用于动态扫描 TH1=0xF8; TL1=0xf0; ET1=1; TR1=1; EA =1; sec=0; //初始化 ms=0; P1=0xff; i=0; j=0; while(1) { if(i>=8) i=0; start: //开始、暂停 if(!key1) //判断是否按下 { delay(50); //去抖 if(!key1) { while(!key1) //等待按键释放 {;} TR0=!TR0; } } //记录 if(!key2) //判断是否按下 { delay(50); //去抖 if(!key2) { while(!key2) //等待按键释放 {;} if(i>=8) //8组数据记录完毕 {TR0=0; goto start;} Sec[i]= sec; //将数据存入数组 Ms[i]= ms; i++; } }//上翻 if(!key3) { delay(50); if(!key3) { while(!key3) {;} TR0=0; key3_flag=1; //按键3标志 if(j==i) goto start; else if(key4_flag) j+=2; key4_flag=0; sec=Sec[j];ms=Ms[j]; j++; } }//下翻 if(!key4) { delay(50); if(!key4) { while(!key4) {;} TR0=0; key4_flag=1; //按键4标志 if(j<0) goto start; else if(key3_flag) j-=2; key3_flag=0; sec=Sec[j];ms=Ms[j]; //显示数组里的内容 j--; } } //清零 if(!key5) { delay(50); if(!key5) while(!key5) {;} TR0=0; ms=0; sec=0; for(i=0;i<8;i++) { Sec[i]=0;Ms[i]=0; } i=0; } } } /********************************/ /* 定时中断1 */ /********************************/ void time1_isr(void) interrupt 3 using 0//定时器1用来动态扫描 { static unsigned char num; TH1=0xF8;//重入初值 TL1=0xf0; switch(num) { case 0: P2=0xfe;P0=tab[sec/10];break;//显示秒十位 case 1: P2=0xfd;P0=tab1[sec%10];break; //显示秒个位 case 2: P2=0xfb;P0=tab[ms/10];break;//显示十位 case 3: P2=0xf7;P0=tab[ms%10];break; //显示个位 default:break; } num++; if(num==4) num=0; } /********************************/ /* 定时中断0 */ /********************************/ void tim(void) interrupt 1 using 1 { TH0=0xd8;//重新赋值 TL0=0xf0; ms++;//毫秒单元加1 if(ms>=100) { ms=0;//等于100时归零 sec++;//秒加1 if(sec>=60) { sec=0;//秒等于60时归零 } } } 4.PROTEUS软件仿真 4.1仿真 将以上程序清单导入先前做好的Proteus仿真电路,汇编之后,开始进行仿真。仿真结果如下: 显示清零功能: 按下开始键后显示 按下清零键后显示 4.2仿真结果描述: 按“开始”键,秒表开始计时;按“暂停”键,秒表暂停计时;按记录键,秒表记录时间,共可记录八个数值;按上翻下翻键,可查看这八个不同的计时值。 4.3结论及进一步设想: 根据实验要求,本次课设基本完成了设计要求,由于秒表系统并不一定仅仅局限于计时,定时等功能,还可以进行多项的扩展,可以利用AT89C51强大的扩展功能,进一步丰富秒表的功能,例如可设定计时时间,倒计时等等众多功能。单片机以其强大的功能和良好的兼容性可以更好地为我们服务,通过查阅各种资料,多了解一些单片机有关知识,可以为以后的工作和学习生活创造更多的便利条件。 5.元器件清单 元件名称 型号 数量/个 单片机 AT89C52 1 晶振 12MHZ 1 电容 22pF 2 电解电容 10uF 1 电源 5V 1 数码管 HS-3461AS 1 电阻 1K/10K 5/8 按键开关 6 6.课程设计体会 通过本次课程设计,我们深刻地认识到自己有很多不足之处,比如在自主学习能力方面的不足,实际动手操作能力的不足等。 这次的单片机课程设计是理论与实践相结合的范例。该设计从头到尾都要自己参与进来,熟悉了整个设计流程才能更快地设计出方案并完成设计。 本次课程设计我主要负责硬件电路的焊接,写程序和查阅相关资料。单片机课程早已结束,相关的知识已经很模糊,导致我们在设计硬件电路中遇到了不少麻烦。首先是不知从何入手。虽然小组讨论后确定了秒表要实现的功能,可是没有相关理论知识的熟知和实践操作。查阅了与89C51单片机相关的资料也阅读了其他人单片机数字秒表的设计,慢慢地我们开始了解其中原理,一步步设计出了硬件电路的各个部分,如晶体振荡电路,复位电路,按键电路,显示电路。完成设计后需要运用PROTEUS软件进行设计仿真。 这次的课程设计同学进行了交流和讨论,我们分工进行设计,从搜索资料到硬件、软件的调试,每一步、每一个细节都经过我们自己的思考,我们共同讨论各方案的比较选择、硬件、软件的设计和调试,最终拿出了我们的成果。在做的过程中不但加深了我们对单片机理论知识的认识和理解还认识到了这门学科在应用方面的广阔前景。 实践是最有高度也是最能体现整体水平的整个设计过程中,我们不断地探索,设计出了不一样的硬件电路图,写过了不一样的程序,正如设计中如何能使硬件电路图简单明了,程序简单而准确,如何能准确的运行,都是通过与同学老师的交流,慢慢摸索出来的。以上的不断探索,使我们进一步熟悉和掌握单片机内部结构和工作原理,了解单片机应用系统设计的基本步骤和方法。通过利用AT89C51单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法。通过设计一个简单的实际应用输入及显示模拟系统,掌握单片机仿真软件PROTEUS的使用方法。 我们设计的这种具有记录,上翻下翻功能的秒表在现实生活中应用广泛,如体育项目,因此本次课程设计具有现实意义,我很开心能将知识运用到实践中并在自主学习中收获到那么多。 7.参考文献 [1]万福君. 单片微机原理系统设计与应用.合肥:中国科技大学出版社,2005 [2]杨光友. 单片微型计算机原理与接口技术.北京:水利水电出版社,2002 [3]胡耀辉. 单片机系统开发实例经典. 北京:冶金工业出版社,2006 [4]刘守义、杨宏丽. 单片机应用技术.西安:西安电子科技大学出版社,2003 [5]姜武中、姜春霞. 片机原理与接口技术. 大连:大连理工大学出版社,2002 [6]李朝青. 单片机原理及其接口技术. 北京:北京航空大学出版社,1998 [7]肖玲妮. Protel99SE印刷电路板设计教程. 北京:清华大学出版社,2003 单片机课程设计报告 设计课题:秒表设计 专业班级:电子***班 学生姓名:*** 学号:*** 指教教师:*** 设计时间:2021年5月30~6月19日 目录 一、 设计任务和要求………………………………………….….3 (1)设计任务…………………………..…………………...…..…3 (2)设计要求…………………..……………..………………....…3 二、 设计方案与论证………………………………………….....3 三、 单元电路设计与参数计算………………………………….4 (1)时钟电路…………………………………………………….4 (2)按钮电路…………………………………………………….4 (3)显示电路…………………………………………………….5 (4)单片机……………………………………………………….5 四、 原理图及器件清单………………………………………….6 ( 1 )总原理图…………………………………………………..…..6 (2)PCB图………………………………………………….…….7 (3)Proteus仿真图…………………………………………….……7 (4)元器件清单………………………………………..……….….8 五、 安装与调试……………………………………………..…..8 (1)安装………………………………………………………...8 (2)调试………………………………………………………...8 六、 性能测试和分析…………………………………………….9 七、 结论和心得………………………………………………….9 八、 参考文献……………………………………………….…...9 秒表设计 一、 设计任务和要求错误!未找到目录项。 (1)设计任务 用AT89C51设计一个3位的LED数码作为“秒表”。 (2)设计要求 显示时间为0.0-99.9秒,每0.1秒自动加1,另外设计一个“开始”键、一个“复位”键和一个“停止”键。秒表可单独分别计时,且最多可计5次。 二、方案设计与论证 本设计分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。其模块电路如图2-1所示。时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。按钮电路中的“复位”按钮是按键手动复位,它有电平和脉冲两种方式,比较电路的复杂程度,本设计选择了按钮电平复位电路,其他几个按钮则是通过单片机判断高低电平的不同来控制按钮。显示电路所用的数码管有共阴和共阳之分,不管使用何种数码管,P0口作为I/O使用时都是需要上拉电阻才能驱动数码管。另外,因为单片机的4个并行I/O口的输出电流一般是1mA,短路电流为4mA左右,而数码管的最少驱动电流也需要10mA,因而不管在使用共阴数码管时,单片机输出口也必须使用上拉电阻提高输出电流,才能驱动数码管。为了使电路简单化,本设计选用共阳数码管。 但根据显示方式的不同选择,我们可以有几种方案: 方案一:使用静态显示方式。静态显示方式下的数码管的显示字符一经确定,相应锁存器锁存的断码输出將维持不变,直到送入另一个字符的断码为止。因而此设计中使用的显示位数使用了三个8位并行I/0口。如果另外想扩展单片机功能,则能使用的输出管脚很是有限。 方案二:使用动态显示方式。这个显示方式是将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,而各位的共阴或共阴极分别由相应的I/O线控制,形成各位的分时选通。这种显示方式,简化了硬件电路,特别在多位数码管显示时尤为突出。 本小组尝试了各种方案,在此报告中以静态显示方式为例说明。(动态显示方式省略) 单片机 AT89C51 显示电路 按钮电路 时钟电路 图2-1 三、单元电路设计与参数计算 注://单元电路设计中的网络标号的数字即为单片机的管脚// (1)时钟电路 图3-1 时钟电路如图3-1所示,时钟电路的晶振频率越高,系统的时钟频率越高,单片机的运行速度也就越快。晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中的电容C1、C2选择为30pF左右。该电容的的大少会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。 (2)按钮电路 图3-2a 图3-2b A、复位按钮 根据计算容抗的公式以及并联电阻变小的性质,可以知道,当S13断开时,C3的容抗大,管脚9处的电位U9为电阻R3上的压降,因而U9为低电平,复位键无效。当S13按下时,R2与C3的并联阻抗变小,R3上的压降增大,U9为高电平,复位键有效,实现复位功能。本设计中C3取值22uF,电阻R2取值100欧姆,R3取值1K欧姆。具体电路如图3-2a所示。 B、开始,停止、翻页按钮 电路如图3-2b所示 (3)显示电路 P1口控制显示的是十位,p0口控制显示的是个位,P2口控制显示的是十分位。 不同的数码管显示方式,对应的最适合的共阴或者共阳级的数码管也不同。静态显示的适宜选共阳的数码管,动态显示的适宜选共阴的数码管。如果动态显示方式下选择共阳的数码管,位选端直接用单片机驱动则数码管的亮度不够,因而应该在位选端使用上拉电阻以提高数码管的驱动电流,但因为显示那个的数据段选的数目不同,故而需要用电阻对各段进行限流,以保证显示的每个数据亮度相同。相同情况下,静态显示的数码管的亮度要比动态的亮。 (4)单片机 单片机的程序可用汇编语言也可用C语言,为了提高使用汇编语言的能力,本设计特用了汇编语言了编写程序主程序流程图如下所示,具体程序见电子档。主程序流程图: 程序开始 程序初始化 P1.7=?0 开各中断 P3.3=?0 计五次? 翻页 调用显示子程序 关定时器 复位 四、总原理图及元器件清单 (1)总原理图 (2)PCB图 (3)Proteus仿真图 (4)元器件清单 1) AT89C51的引脚图和数码管5101BS的引脚图 图4-3a AT89C51引脚图 图4-3b 5101引脚图 2)元器件总清单 元件名称 数量 备注 元件名称 数量 备注 5101B 3块 AT89C51 1块 按钮 4个 排阻 1个 8个引脚 拨动开关 1个 电容 2个 33pF 发光二极管 1个 红色 电容 1个 100uF 电阻 2个 1K 晶振 1个 12MHz 电阻 1个 100 五、安装与调试 (1)安装 制板的顺序依次是:画原理图、做封装、在原理图中添加元器件对应的封装、布PCB板、改焊盘大少、打印PCB图、用快速制板机将PCB图烤制到铜板上、腐蚀铜板、钻孔、放置元器件、烙铁焊好器件。一块电路板就安装完毕了。 (2)调试 将外部电源接至电路板上,检验电路板是否完全实现设计要求。本设计中,发现按钮功能完全符合设计要求,但是数码管的显示中有些段码不亮,从而显示的数据乱码,用万用表检测对应的管脚是否有电压,发现焊盘有虚焊,引脚与引脚之间有短路,排查后电路板实现设计要求。 六、性能测试与分析 所制电路板虽然能实现设计中要求的功能,但是在实际使用中还是存在着许多缺陷。这块电路板不能随意查看记录的数据,而是必须在计完五次数据后才能依次的翻页查看,复位后所计数据便会丢失,不能翻看历史,所计数据组数不能满足现实需要。 七、结论与心得 在这三周的课程设计中,不管是在软件方展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




单片机控制秒表显示时间为—-暂停-复位优质资料.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4516910.html