6位数字钟课程设计用P1口控制4只段码管,用2位数码管进行分针时间显示,用2位数码管进行秒针时间显示。

合集下载

单片机课程设计6位数字显示计时(DOC)

单片机课程设计6位数字显示计时(DOC)

单片机课程设计报告书课题: 6 位数显频率计数器院(系):机电工程学院专业:机械设计制造及其自动化姓名:学号:2014年1月14日目录一、前言----------------------------------------------------1.1、课程设计任务------------------------------------------------1.2、课程设计任务完成要求------------------------1.3、设计目的-----------------------------------------------------二、方案提出与论证-------------------------------------2.1频率测量原理与方法-----------------------------------三、系统硬件设计----------------------------------------3.1电路原理图总图-------------------------------------------------3.1.1电源供电电路--------------------------------------------------3.1.2 单片机时钟电路----------------------------------------------3.1.3单片机复位电路-----------------------------------------------3.1.4显示及驱动电路-----------------------------------------------3 .2 AT89C51单片机芯片的功能及其参数------------------四、系统软件设计----------------------------------------4.1软件流程图-------------------------------------------------------4.2程序调试及误差分析-------------------------------------------五、制作PCB板及焊接元件调试--------------------六、元器件明细表----------------------------------------七、实验总结-------------------------------八、参考文献----------------------------------------------题目四:6位数显频率计数器一前言数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

六位数字钟课程设计

六位数字钟课程设计

R9.R10.R11.R12.R13.R14
C1 C2.C3.C5 C4 C7.C8. D1.D2.D3 电解电容 电解电容 瓷片电容 瓷片电容 二极管 220UF 10UF 104 30 1N4148
电阻
1 3 1 2 3
4.7k
ห้องสมุดไป่ตู้
6
LED1.LED2.LED3.LED4 发光二极管 3MM 红色 Q1.Q2.Q3.Q4.Q5.Q6. IC1 IC2 集成电路 集成电路 三极管 9012
程序设计部分
• AT89C2051时钟程序 ;
• 定时器T0、T1溢出周期为50MS,T0为秒计 数用, T1为调整时闪烁用
• P3.7为调整按钮,P1口 为字符输出口, 采用共阳显示管。
元件清单
位号 名称 规格 数量 电阻 2 470 8 R1.R2.R3.R4.R5.R6.R7.R16 R8.R15 电阻 10K
概述
• 控制芯片采用AT89C2051,数码管采用3只 0.36寸双位红色共阳型LED数码管;
• S1按键用于校准时间,按住2秒以上校准 时间状态及换档和退出,快速点触用于调 节时间数阻。本电路又增加了一个3V的备 用电池,停电时AT89C2051采用备用电池 供电,时钟不会停止,但数码管不显示, 来电后备用电池失去作用,AT89C2051采 用外部电源供电,数码管正常显示。 • 加入光敏电阻后,能达到白天显示,夜晚 中断的效果,节省电量。
六位光敏数字钟
卢雄辉 黄斌
在此处插入产品 照片
设计要求
• 时间以24小时为一个周期;
• 显示时,分,秒; • 有校时功能,可以分别对时及分进行单独 校时,使其校正到标准时间; • 为了保证计时的稳定及准确须由晶体振荡 器提供表针时间基准信号.

《六位数数字电子钟》实训报告书

《六位数数字电子钟》实训报告书

实训报告一. 实训目的:了解常用电子元器件的性能,规格,质量参数及其意义.学习借助万用表鉴别其性能好坏的方法,学习通孔插装元器件的组装焊接技术,提高焊接水平.通过数字钟组状与调试学习,提高识图能力及实际操作技能.二. 实训内容:1.常用元器件识别及测试性能鉴别2.通孔插装元器件手工焊接及拆焊3.数字钟组装调试三. 实训步骤:1.常用元器件识别及测试性能鉴别1)三用表使用方法学习2)电阻、电容、电感、二极管、三极管、集成电路等(符号、参数、万用表测试三极管及其E.B.C判别方法)2.通孔插装元器件手工焊接及拆焊1)常用工具使用方法学习钳子、镊子、起子、吸锡器、烙铁等2)焊料(焊锡丝)3)助焊剂4)手工焊接A.对焊点要求B.焊接要领(五步法)C.焊件表面处理:保持烙铁头清洁、焊锡、焊剂用量适中、焊件整形及固定、烙铁撤离方向等5)拆焊要求拆焊原则、拆焊工具、拆焊操作要点实训过程步骤一准备认准焊点位置, 准备好焊锡丝和烙铁, 处于随时可焊接的状态。

此时特别强调的施烙铁头部要保持干净, 即可以沾上焊锡(俗称吃锡)。

步骤二加热将烙铁头放在工件焊点处, 加热焊接点。

注意首先要保持烙铁加热焊件各部分, 例如印制板上引线和焊盘都使之受热, 其次要注意让烙铁头的扁平部分(较大部分)接触热容量较大的焊件, 烙铁头的侧面或边缘部分接触热容量较小的焊件,以保持焊件均匀受热。

步骤三送焊锡当焊件加热到能熔化焊料的温度后将焊丝置于焊点, 焊料开始熔化并润湿焊点。

步骤四去焊锡当熔化一定量的焊锡后将焊锡丝移开。

步骤五移烙铁当焊锡完全润湿焊点后移开烙铁, 注意移开烙铁的方向应该是大致45°的方向。

要保证焊点美观。

上述过程, 对一般焊点而言焊接时间大约2~3秒钟。

对于热容量较小的焊点, 例如印制电路板上的小焊盘, 有时用三步法概括操作方法, 即将上述步骤2, 3合为一步, 4, 5合为一步。

实际上细微区分还是五步, 所以五步法有普遍性, 是掌握手工烙铁焊接的基本方法。

6位单片机电子钟

6位单片机电子钟

《6位单片机电子钟》一.硬件电路设计:我们此次设计的电子钟采用2个3位共阳LED数码管作为显示器件,以STC89C52单片机作为控制器,可以显示时分秒。

具体电路设计如下图:二:源程序:#include "at89x52.h"#define uchar unsigned char#define uint unsigned intuchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};uchar code tab1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x42,0x78,0x00,0x10};uchar n;uchar hh,mm,ss;uchar nhh,nmm,nss;uint year;uchar day,mon,week;uchar hhs,hhg,mms,mmg,sss,ssg;uchar days,dayg,mons,mong;uchar nhhs,nhhg,nmms,nmmg,nsss,nssg;uchar set1=1,set2=1;sbit fm=P3^6;sbit k1=P1^0;sbit k2=P1^1;sbit k3=P1^2;sbit k4=P1^3;uchar table1[]={31,31,29,31,30,31,30,31,31,30,31,30,31}; //闰年uchar table2[]={31,31,28,31,30,31,30,31,31,30,31,30,31}; //非闰年void jishi();void baoshi();void alarm();void set_time();void set_alarm();void set_mdw();void key_change();void key_set();void delay(int m) //延时程序,延时m*0.5ms{uint i;uint j;for (i=0;i<m;i++){for(j=0;j<50;j++);}}void timer0( ) interrupt 1{TMOD=0x01;TH0=0x3c;TL0=0xb1;n++;jishi();}main(){TMOD=0x01;TH0=0x3c;TL0=0xb1;TR0=1;EA=1;ET0=1;hh=23;mm=59;ss=50;nhh=7;nmm=30;nss=0;year=2008;mon=12;day=1;week=1;while(1){hhs=hh/10;//时分秒hhg=hh%10;mms=mm/10;mmg=mm%10;sss=ss/10;ssg=ss%10;nhhs=nhh/10;//闹钟nhhg=nhh%10;nmms=nmm/10;nmmg=nmm%10;nsss=nss/10;nssg=nss%10;days=day/10;//月日dayg=day%10;mons=mon/10;mong=mon%10;key_change(); //k1按键扫描key_set(); //k2按键扫描set_time(); //设置时间set_mdw(); //设置月日星期set_alarm(); //设置闹钟if(set1==1) //正常走时显示{P0=tab[hhs];P2_5=0;delay(1);P2_5=1;//时十位P0=tab1[hhg];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[mms];P2_3=0;delay(1);P2_3=1;//分十位P0=tab1[mmg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[sss];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[ssg];P2_0=0;delay(1);P2_0=1;//秒个位}if(set1==2) //设置时间{P0=tab[hhs];P2_5=0;delay(1);P2_5=1;//时十位P0=tab1[hhg];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[mms];P2_3=0;delay(1);P2_3=1;//分十位P0=tab1[mmg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[sss];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[ssg];P2_0=0;delay(1);P2_0=1;//秒个位}if(set1==3) //正常显示月日-星期{P0=tab[mons];P2_5=0;delay(1);P2_5=1;//时十位P0=tab1[mong];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[days];P2_3=0;delay(1);P2_3=1;//分十位P0=tab1[dayg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[11];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[week];P2_0=0;delay(1);P2_0=1;//秒个位}if(set1==4) //设置月日-星期{P0=tab[mons];P2_5=0;delay(1);P2_5=1;//时十位P0=tab[mong];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[days];P2_3=0;delay(1);P2_3=1;//分十位P0=tab[dayg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[11];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[week];P2_0=0;delay(1);P2_0=1;//秒个位}if(set1==5) //正常显示定时{P0=tab[nhhs];P2_5=0;delay(1);P2_5=1;//时十位P0=tab[nhhg];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[nmms];P2_3=0;delay(1);P2_3=1;//分十位P0=tab[nmmg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[nsss];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[nssg];P2_0=0;delay(1);P2_0=01;//秒个位}if(set1==6) //设置闹钟定时{P0=tab[nhhs];P2_5=0;delay(1);P2_5=1;//时十位P0=tab[nhhg];P2_4=0;delay(1);P2_4=1;//时个位P0=tab[nmms];P2_3=0;delay(1);P2_3=1;//分十位P0=tab[nmmg];P2_2=0;delay(1);P2_2=1;//分个位P0=tab[nsss];P2_1=0;delay(1);P2_1=1;//秒十位P0=tab[nssg];P2_0=0;delay(1);P2_0=01;//秒个位}baoshi(); //整点报时alarm(); //闹钟}}void jishi() //计时函数{if(n==20){n=0;ss++;if(ss==60){ss=0;mm++;if(mm==60){mm=0;hh++;if(hh==24){hh=0;day++;week++;if(week==8){week=0;}if(year%4==0&&year%100!=0||year%400==0) //闰年{if(day==table1[mon]+1){day=0;mon++;if(mon==13){mon=0;year++;}}}else //非闰年{if(day==table2[mon]+1){day=0;mon++;if(mon==13){mon=0;year++;}}}}}}}}uchar incone(uchar n) //加1函数{if(k3==0){delay(20);if(k3==0){n++;while(!k3);}}return(n);}uchar decone(uchar m) //减1函数{if(k4==0){delay(20);if(k4==0){m--;while(!k4);if(m<0){m=0;}}}return(m);}void key_change() //k1按键扫描{if(k1==0){delay(20);if(k1==0){set1++;while(!k1);if(set1==7){set1=1;}}}}void key_set() //k2按键扫描{if(k2==0){delay(20);if(k2==0){set2++;while(!k2);if(set2==4){set2=1;}}}}void baoshi() //整点报时函数{if(mm==00&&ss==00){fm=0;}if(ss==1){fm=1;}}void alarm( ) //闹钟函数{uchar x;if(nhh==0){goto end;}if(hh==nhh&&mm==nmm&&ss==nss) {for(x=0;x<6;x++){fm=0;delay(30);fm=1;delay(20);fm=0;delay(30);fm=1;delay(20);fm=0;delay(30);fm=1;delay(20);fm=0;delay(30);fm=1;delay(180);}}end:;}void set_time() //设置时间函数{if(set1==2){if(set2==1){hh=incone(hh);if(hh==24){hh=0;}if(hh==-1){hh=23;}hh=decone(hh);}if(set2==2){mm=incone(mm);if(mm==60){mm=0;}if(mm==-1){mm=59;}mm=decone(mm);}if(set2==3){ss=incone(ss);if(ss==60){ss=0;}if(ss==-1){ss=59;}ss=decone(ss);}}}void set_mdw() //设置月日星期函数{if(set1==4){if(set2==1){mon=incone(mon);if(mon==13){mon=1;}mon=decone(mon);if(mon==0){mon=12;}}if(set2==2){day=incone(day);if(day==32){day=1;}day=decone(day);if(day==0){day=31;}}if(set2==3){week=incone(week);if(week==8){week=1;}week=decone(week);if(week==0){week=7;}}}}void set_alarm() //设置闹钟函数{if(set1==6){if(set2==1){nhh=incone(nhh);if(nhh==24){nhh=0;}if(nhh==-1){nhh=23;}nhh=decone(nhh);}if(set2==2){nmm=incone(nmm);if(nmm==60){nmm=0;}nmm=decone(nmm);if(nmm==-1){nmm=59;}}if(set2==3){nss=incone(nss);if(nss==60){nss=0;}nss=decone(nss);if(nss==-1){nss=59;}}}}合作者:吴肖,陈耀,张鹏程,徐煜。

六位数字钟设计课程设计

六位数字钟设计课程设计

目录目录 (I)摘要 ................................................................................................................................................................ I I 第一章绪论 . (1)1.1关于单片机的基础知识 (1)1.2开发背景及电子钟原理 (2)1.2.1 开发背景 (2)1.2.2 电子钟原理 (2)1.3方案比较 (2)1.4 定时与中断系统 (3)第二章系统硬件设计 (3)2.1 电源电路图 (3)2.2硬件电路设计框图 (4)2.3数字钟原理图 (4)2.4单片机模块 (5)2.5 AT89S52芯片简介 (5)2.6 AT89S52功能描述 (6)2.7键盘控制电路 (8)2.8复位电路 (8)2.9显示电路 (8)2.9.1 LED共阳数码管简介 (9)第三章系统软件设计 (10)3.1编程思路 (10)3.2系统资源分配 (11)3.3编程流程图初始化程序框图: (11)3.4数字钟程序 (12)第四章单片机应用系统的调试 (17)4.1.硬件调试 (17)4.2软件调试 (17)4.3系统调试 (18)谢辞 (18)参考文献 (19)摘要该数字钟电路采用单片机AT89S52实现,晶振频率采用6MHZ,显示部分采用了3个两位一体共阳极的LED数码管组成的动态显示电路,通过6个驱动器(即共阳极PNP 型的三极管)来驱动放大LED,用4个LED闪动的点来指示秒的节拍,其中字段由P0口控制。

按键K0进行选位,K1、k2进行时间调整,可适用显示时,分,秒的信息。

利用我们现所学的知识,本着经济,可靠、体积小、功能扩展方便并具有先进性的基本原则,我们选用当今世界流行的已被广泛应用的器件AT89S52单片微型计算机为核心并根据其功能要求的特性来构成本方案的基本设计思想,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,体积小、精度高、功能扩展极其方便,成本低。

6位 数字钟设计

6位 数字钟设计

目录一、课程设计目的 (2)二、课程设计正文 (2)1.任务要求说明 (2)1.1、主要任务 (2)1.2、技术要求 (2)1.3、设计思路 (2)1.4、所需器件 (3)1.5、硬件设计 (3)1.5.1.STC90C52AD说明 (3)1.5.2.数码管说明 (4)2.单元模块设计 (5)2.1时间显示模块 (5)2.2 按键调时模块 (6)2.3 显示驱动模块 (7)3.原理简介 (7)3.1电路原理图 (7)3.2、原理介绍 (8)4.参数计算 (8)5.系统软件设计 (8)5.1开发软件Keil C51 uVision3简介 (8)5.2单片机程序烧写软件 (9)5.3参考程序 (9)三、课程设计总结 (15)四、参考文献 (16)附录一、系统原理图附录二、PCB图一、课程设计目的1.进一步熟悉和掌握单片机的结构及工作原理。

2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。

3.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。

4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

5.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。

二、课程设计正文1任务及要求说明1.1主要任务采用AT89S51作为控制单元,实现数字钟的设计。

1)设计键盘输入电路2)设计显示电路3)合理分配地址,编写系统程序4)利用Protel设计硬件电路原理图并进行软硬件联机调试1.2 技术要求1.3设计思路1、时间的显示:单片机P0.0—P0.3控制位选,可分别选通四只共阴数码管。

P1.0—P1.6控制段码管,将数据送给74LS245驱动数码管显示时间。

2、时间的调整:设置4个按钮,分别由P2.0—P2.3控制,其编号分别是1到4。

1为调节切换键,2为加1键,3为减1键,4为确认开始键。

1.4 设计所需器材电阻: 1K (8个) 10K(9个) 2.2k(1个) 300(8个)200K(1个)按键开关:5个瓷石电容:30pF (2个)电解电容:10μF(1个)晶振:6MHZ(1个)三极管:NPN(4个)共阴极数码管:4个底座:DIP40(1个)DIP16(1个)万能电路板:1个芯片:STC90C52(1片)Header2(1个)1.5 硬件设计1.5.1.STC90C52AD说明AT89C51的引说明和功能说明如下:XTAL1 :接外部晶振的一个引脚。

多功能6位电子钟说明书

多功能6位电子钟说明书

多功能6位电子钟说明书一、原理说明:1、显示原理:显示部分主要器件为2位共阳红色数码管,驱动采用PNP型三极管驱动,各端口配有限流电阻,驱动方式为扫描,占用P1.0~P1.6端口。

冒号部分采用4个Φ3.0的红色发光,驱动方式为独立端口驱动,占用P1.7端口。

2、键盘原理:按键S1~S3采用复用的方式与显示部分的P3.5、P3.4、P3.2口复用。

其工作方式为,在相应端口输出高电平时读取按键的状态并由单片机支除抖动并赋予相应的键值。

3、迅响电路及输入、输出电路原理:迅响电路由有源蜂鸣器和PNP型三极管组成。

其工作原理是当PNP型三极管导通后有源蜂鸣器立即发出定频声响。

驱动方式为独立端口驱动,占用P3.7端口。

输出电路是与迅响电路复合作用的,其电路结构为有源蜂鸣器,4.7K定值电阻R16,排针J3并联。

当有源蜂鸣器无迅响时J3输出低电平,当有源蜂鸣器发出声响时J3输出高电平,J3可接入数字电路等各种需要。

驱动方式为迅响复合输出,不占端口。

输入电路是与迅响电路复合作用的,其电路结构是在迅响电路的PNP型三极管的基极电路中接入排针J2。

引脚排针可改变单片机I/O口的电平状态,从而达到输入的目的。

驱动方式为复合端口驱动,占用P3.7端口。

4、单片机系统:本产品采用AT89C2051为核心器件(AT89C2051烧写程序必须借助专用编程器,我们提供的单片机已经写入程序),并配合所有的必须的电路,只具有上电复位的功能,无手动复位功能。

二、使用说明:1、功能按键说明: S1为功能选择按键,S2为功能扩展按键,S3为数值加一按键。

2、功能及操作说明:操作时,连续短时间(小于1秒)按动S1,即可在以上的6个功能中连续循环。

中途如果长按(大于2秒)S1,则立即回到时钟功能的状态。

1、时钟功能:上电后即显示10:10:00 ,寓意十全十美。

2、校时功能:短按一次S1,即当前时间和冒号为闪烁状态,按动S2则小时位加1,按动S3则分钟位加1,秒时不可调。

【设计】六位数码管电子钟

【设计】六位数码管电子钟

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 【关键字】设计毕业设计(论文)(2011届)题目六位数码管电子钟系别信息电子系专业信息电子工程管理班级信电0811姓名张淑娇指导教师2011年月日目录摘要 (1)文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 4六位数码管电子钟【摘要】数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。

它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能。

因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。

干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。

秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。

将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。

“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。

“时计数器”采用24进制计时器,可实现对一天24小时的累计。

译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过七位LED七段显示器显示出来。

整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。

校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的。

数字钟是以不同的计数器为基本单元构成的,它的用途十分广泛,只要有计时、计数的存在,便要用到数字钟的原理及结构;同时在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱。

【关键词】:校时电路、报时电路、振荡器第一章数字电子钟的设计方案论证1.1数字电子钟的应用意义数字电子钟是用数字电路实现“时”、“分”、“秒”数字显示的计时装置,主要由振荡器、分频器、计数器、译码显示器、校时电路、报时电路等六部分组成。

数字逻辑课程设计数字时钟课程设计数电课程设计 数字电子技术

数字逻辑课程设计数字时钟课程设计数电课程设计 数字电子技术

数字逻辑课程设计课题名称数字时钟班级姓名指导教师日期 2008-6-24前言自从它被发明的那天起,就成为人们生活中必不可少的一种工具,尤其是在现在这个讲究效率的年代,时钟更是在人类生产、生活、学习等多个领域得到广泛的应用。

然而随着时间的推移,人们不仅对于时钟精度的要求越来越高,而且对于时钟功能的要求也越来越多,时钟已不仅仅是一种用来显示时间的工具,在很多实际应用中它还需要能够实现更多其它的功能。

诸如闹钟功能、日历显示功能、温度测量功能、湿度测量功能、电压测量功能、频率测量功能、过欠压报警功能等。

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

诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

可以说,设计多功能数字时钟的意义已不只在于数字时钟本身,更大的意义在于多功能数字时钟在许多实时控制系统中的应用。

在很多实际应用中,只要对数字时钟的程序和硬件电路加以一定的修改,便可以得到实时控制的实用系统,从而应用到实际工作与生产中去。

因此,研究数字时钟及扩大其应用,有着非常现实的意义。

数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路.目前,数字钟的功能越来越强,并且有多种专门的大规模集成电路可供选择.目录前言 (2)目录 (2)题目 (2)摘要 (2)关键字 (3)设计要求 (3)正文 (3)1电路结构与原理图 (3)2数码显示器 (3)60进制计数和24进制计数 (4)校时 (7)振荡器 (8)3.计算、仿真的过程和结果 (9)鸣谢 (11)元器件清单 (11)参考文献 (11)总结与体会 (11)教师评语 (12)数字时钟的课程设计摘要:数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

六位电子钟实习报告

六位电子钟实习报告

一、实习目的随着科技的发展,电子钟已经成为我们日常生活中不可或缺的用品。

为了更好地了解电子钟的原理和制作方法,提高自己的动手能力,我参加了为期一周的六位电子钟实习。

本次实习旨在让我了解电子钟的基本结构、工作原理和调试方法,掌握电子钟的组装技巧,并培养我的实践能力和创新精神。

二、实习内容1. 电子钟的基本结构电子钟主要由以下几个部分组成:电源、振荡器、分频器、计数器、显示器和控制系统。

电源为电子钟提供稳定的电压;振荡器产生基准频率信号;分频器将基准频率信号分频,得到所需的时、分、秒信号;计数器对时、分、秒信号进行计数;显示器将计数结果显示出来;控制系统对电子钟的整体运行进行控制。

2. 电子钟的工作原理电子钟的工作原理如下:(1)电源为电子钟提供5V电压,经过稳压电路后得到稳定的3V电压。

(2)振荡器产生一个1MHz的基准频率信号。

(3)分频器将1MHz的基准频率信号分频,得到1Hz的时、分、秒信号。

(4)计数器对时、分、秒信号进行计数,并将计数结果存储在存储器中。

(5)控制系统读取存储器中的计数结果,并通过显示驱动电路将计数结果显示在显示器上。

3. 电子钟的组装(1)首先,将振荡器、分频器、计数器、显示器和控制系统等元件焊接在电路板上。

(2)然后,将电路板固定在机箱中,连接好电源线和显示器的引脚。

(3)最后,进行调试,确保电子钟的正常运行。

4. 电子钟的调试(1)检查电路板上的元件焊接是否牢固,有无短路或虚焊现象。

(2)调整振荡器的频率,使分频器输出的时、分、秒信号符合实际时间。

(3)检查显示器的显示效果,确保显示的时、分、秒准确无误。

(4)调整控制系统,使电子钟的时、分、秒能够自动调整。

三、实习收获1. 了解电子钟的基本结构和工作原理,为今后从事电子行业打下基础。

2. 提高自己的动手能力,掌握电子钟的组装和调试方法。

3. 培养自己的实践能力和创新精神,为今后的职业生涯做好准备。

4. 增强团队协作能力,与同学们共同完成实习任务。

六位数码管时钟设计

六位数码管时钟设计

xxxx职业技术学院《计算机控制技术》实训报告题目: 六位数码管时钟设计专业:________机电一体化班级: 机电1006班学生姓名:学号: ******** 指导教师:实训时间: 2012 年 12 月 29—2013年1月6 日一.系统设计要求(一)设计1分钟定时程序•选择定时器(T0/T1)•选择适当的工作方式(方式1/方式2)•计算并设定定时器的计数初值•要求用中断方式•每隔1秒钟信号取反一次,输出到P1.0引脚所连接的LED灯去。

(二)设计6位数码管显示程序设计6位数码管显示程序,用动态扫描方式显示6位数字(如日期:121203)。

段码显示由P0口负责,位码由P2口显示(三)实际完成的功能起始值时、分、秒全是零,系统执行初始化程序后,随即开始走时,无须特为启动。

当时钟显示为23:59:59时,再加1,时钟从00:00:00开始运行,从而达到24小时循环。

二.系统的硬件设计••CPU--AT89C51•段码驱动芯片--74LS245•6位数码管--7SEG-MPX6-CC•电阻--3WATT10K•电容--A VX0402……、GENELECT……•晶振--CRYSTAL•按钮--BUTTON6LED日期显示三.系统的软件设计程序流程图子程序定时中断子程序调节分钟中断子程序调节小时中断子程序(一)定时程序1秒定时(模式1)ORG 0000HSJMP STARTORG 000BHSJMP INTIORG 0030HSTART:MOV TMOD,#01HSETB TR0SETB EASETB ET0MOV R6,#10MOV TH0,#15HMOV TL0,#0A0HMOV R6,#0E8HMOV R7,#03HSJMP $INTI:MOV TH0,#15HMOV TL0,#0A0HDJNZ R6,EXITDJNZ R7,EXITMOV R6,#0E8HMOV R7,#03HCPL P1.0EXIT:RETIEND(二)6位LED显示程序ORG 0000HLJMP LOOP4ORG 0030HLOOP4:MOV SP,#60HMOV R5,#6MOV R1,#30HMOV R4,#1LOOP2:MOV A,R4MOV @R1,AINC R1INC R4DJNZ R5,LOOP2LOOP1:MOV DPTR,#TABMOV R0,#30HMOV R2,#6HMOV R3,#0FEH LOOP:MOV P2,R3MOV A,@R0MOVC A,@A+DPTRMOV P0,AACALL DEINC R0MOV A,R3RL AMOV R3,ADJNZ R2,LOOPSJMP LOOP1DE:MOV R7,#0FFHDE12:MOV R6,#0DJNZ R6,DE12DE1:DJNZ R7,DE1RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H END(三)时钟程序ORG 0000HLJMP STARTORG 000BHLJMP NETIORG 0030HSTART:MOV SP,#60HMOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HSETB EASETB ET0SETB TR0MOV R6,#20MOV DPTR,#TABLOOP2:MOV R0,#30HMOV R2,#6HMOV R3,#0FEHLOOP1:MOV P2,R3MOV A,@R0MOVC A,@A+DPTRMOV P0,AACALL DELAYINC R0MOV A,R3RL AMOV R3,ADJNZ R2,LOOP1SJMP LOOP2 NETI:MOV TH0,#3CHMOV TL0,#0B0HDJNZ R6,EXTI1MOV R6,#20INC 30HD0:MOV A,30HCJNE A,#10,EXTI1MOV 30H,#0MOV A,31HINC AMOV 31H,ACJNE A,#6,EXTI1 D2:MOV 31H,#0MOV A,32HINC AMOV 32H,ACJNE A,#10,EXTI1D3:MOV 32H,#0MOV A,33HINC AMOV 33H,ACJNE A,#6,EXTI1MOV 33H,#0MOV A,34HINC AMOV 34H,AEXTI1:RETIDELAY:MOV R7,#0DE1:DJNZ R7,DE1RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H END四、实训总结这次单片机的实训有三任务:第一个是一分钟定时器,由P1口的一个二极管的闪烁作标示。

六位数字钟设计郑航数电课程设计报告

六位数字钟设计郑航数电课程设计报告

课程设计报告20 17 – 20 18 学年第 2 学期16 级电子信息工程专业班级课程名称数电课程设计设计题目六位数字钟设计学号姓名指导教师2018 年 5 月28 日目录一、设计目的 (1)(一)数电课设的目的与意义 (1)1.目的 (1)2.意义 (1)(二)六位数字钟设计 (1)1.设计目的 (1)2.要实现的电路具体功能 (2)二、电路详细设计 (2)(一)电路模块化的系统结构图及解释说明 (2)(二)各模块详细设计过程 (3)(三)关键芯片和用法的详细介绍 (6)1.CD4511 (6)2.CD4518 (7)(四)最终合成的完整原理图 (8)三、仿真及设计 (9)(一)仿真软件和仿真步骤的简要介绍 (9)1.仿真软件 (9)2.仿真步骤 (9)(二)仿真结果 (9)1.仿真结果展示 (9)2.仿真结果分析 (10)3.问题及解决对策 (10)四、电路调试及分析 (10)(一)基础知识及注意事项 (10)1.面包板常识知识介绍 (10)2.调试电路的一般步骤和注意事项 (11)(二)用面包板调试两位十进制计数器 (12)1.过程及结果 (12)2.问题分析及解决方案 (12)五、实物制作及分析 (13)(一)实物套件对应功能原理图及元器件清单 (13)(二)实物组装和焊接注意事项、详细操作步骤 (14)1.实物组装 (14)2.焊接注意事项 (14)3.焊接详细操作步骤 (15)(三)实物实现效果 (15)1.实现效果 (15)2.存在问题分析及解决方案 (16)一、设计目的(一)数电课设的目的与意义1.目的①加深对数字电子技术基础理论知识的理解和应用。

②学习和掌握Proteus仿真软件的使用。

③学习使用信号源、直流电源、万用表等常用实验设备。

④学习使用面包板进行电路调试。

⑤掌握用PCB板进行实物组装和焊机的相关知识和技能。

2.意义①使我们能够综合运用所学理论知识、拓宽知识面,系统地进行电子电路的工程实践训练。

六位显示数字中系统设计

六位显示数字中系统设计

课程设计说明书题目:六位显示数字中系统设计成绩:时间:2013 年 5 月30 日至2013 年 6 月 1 日摘要数字钟是现代计时器,也可用作时间控制的时钟源。

数字钟具有走时准,显示直观,款式新颖,附加功能多等优点深受大家喜欢。

设计一个可以走时的数字钟。

由于数字集成电路的发展和广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大方便,而且大大扩展了钟表原来的功能。

如自动报时,定时广播等,所有这些都是以钟表数字化为基础的。

因此研究数字钟及扩大其应用,有着非常现实的积极意义。

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

数字钟从原理上讲是一种典型的数字电路,其中包含了组合逻辑电路。

因此,我们这次设计与制作数字钟,就是为了了解数字钟的原理,从而学会制作数字钟。

而且通过数字钟的制作进一步了解各种在制作中用到的中小规模的集成电路的作用及其使用方法。

且由于数字钟包括组合逻辑电路,通过它进一步学习与掌握组合逻辑电路的原理和使用方法,学会运用仿真软件proteus等。

用CC4518双四位BCD同步加计数设计60进制,24进制计数器以实现60秒,60分,24小时归零的计数电路。

CD4518为双位计数器,所以每个计数器分为十位和个位两部分,当秒计数到60是向分计数器进位同时秒计数器清零,分计数器向时计数器进位工作原理同分计数器,当时计数器计数到24时归零。

利用CD4511七段译码驱动及共阴极数码管使电路得以显示。

关键词:CD4518 CD4511 数字钟proteusAbstractDigital clock is the timer control, can also be used as a time clock source. Digital clock has left, intuitive display, novel style, additional features many advantages by everyone likes. The design of a digital clock can go. Due to the development of digital integrated circuits and widely used, making digital clock accuracy far more than the old clock, digital clocks to the production and life of the people has brought great convenience, but also greatly expanded the clock and watch the original function. Such as automatic timing, timing broadcast, all of these are based on digital watches. Therefore the research of digital clock and expands its application, has a positive meaning very realistic.Digital clock is a digital circuit implementation, points, a timing device of seconds, and the mechanical clock has more accuracy and intuitive, and no mechanical devices, has a longer service life, so it has been widely used. Digital clock from the principle of speaking is a typical digital circuit, which includes the combinational logic circuit. Therefore, we design and manufacture of digital clock, is to understand the principle of the digital clock, in order to learn to produce a digital clock. And through the production of digital clock integrated circuit further understanding the role of small and medium-sized variety used in the production of and use method thereof. And because the digital clock comprises a combinational logic circuit, through which further study and master the principle of combinational logic circuit and method of use, learn to use simulation software proteus. Using the CC4518 dual four bit BCD synchronization and counting design 60 hexadecimal, 24 hexadecimal counter for 60 seconds, 60 minutes, 24 hour zero circuit. CD4518 is double counters, and each counter is divided into ten and a bit part two, when seconds count to 60 is to carr the seconds counter reset counter, counter points to carry the work principle of the counter with counter, when the counter counts to 24 zero. Using the CD4511 seven segment decoder driver and common cathode led the circuit to display.Keywords: CD4518 CD4511 digital clock proteus目录第一章绪论 (1)1.1 数字电子技术课程设计概要 (1)1.2 设计任务与要求 (2)第三章设计简介及设计方案论述 (9)3.1 基本设计思路 (9)3.2 设计方案论述 (10)第四章详细设计 (11)4.1 秒脉冲的产生 (11)4.2 时钟显示电路设计 (11)第五章软件仿真及硬件调试 (13)5.1硬件调试(1) (13)5.2硬件调试(2) (15)结语 (16)致谢 (16)参考文献 (17)附录: (17)第一章绪论1.1数字电子技术课程设计概要1.1.1 数字电子课程设计的目的与意义数字电子技术是一门实践性很强的课程,加强工程训练,特别是技能的培养,对于培养工程人员的素质和能力具有十分重要的作用。

程序简洁的单片机6位数字钟

程序简洁的单片机6位数字钟

程序简洁的单片机6位数字钟51单片机作的电子钟程序在很多地方已经有了介绍,对于单片机教程者而言这个程序基本上是一道门槛,掌握了电子钟程序,基本上可以说51单片机就掌握了80%。

常见的电子钟程序由显示部分,计算部分,时钟调整部分构成,这样程序就有了一定的长度和难度。

这里我们为了便于大家理解和掌握单片机,我们把时钟调整部分去除,从而够成了这个简单的电子钟程序。

时钟的基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。

10秒位到5后,即59秒,分钟加1,10秒位回0。

依次类推,时钟最大的显示值为23小时59分59秒。

这里只要确定了1秒的定时时间,其他位均以此为基准往上累加。

开始程序定义了秒,十秒,分,十分,小时,十小时,共6位的寄存器,分别存在30h,31h,32h,33h,34h,35h单元,便于程序以后调用和理解。

电路原理图:为了节省硬件资源,电路部分采用6位共阳极动态扫描数码管,数码管的段位并联接在51单片机的p0口,控制位分别由6个2N5401的PNP三极管作驱动接在单片机的p2.1,p2.2,p2.3,p2.4,p2.5,p2.6口。

从标号star开始把这些位全部清除为0,从而保证了开始时显示时间为0时0分0秒。

然后是程序的计算部分:inc a_bit(秒位),这里用到了一个inc指令,意思是加1,程序运行到这里自动加1。

然后把加1后的数据送acc:mov a,a_bit (秒位),这时出现了一个问题,如果不断往上加数字不会加爆?所以有了下面的一句话cjne a,#10,stlop; 如果秒位到10那么转到10秒处理程序。

cjne是比较的意思,比较如果a等于10 就转移到10秒处理程序,实际上也就限定了在这里a的值最大只能为9,同时mov a_bit,#00h,这时a_bit(秒位)被强行清空为0,又开始下一轮的计数。

秒位处理完了到下面10秒的处理程序:inc b_bit,把10秒位b_bit加1,由于程序开始对各位的寄存器已经清0,这时10秒位就变成1 ,然后同样送到累加器ACC:mov a,b_bit 现在开始新一轮的10秒位计数cjne a,#6,stlop ;如果10秒到了6那么到分位处理程序。

基于51单片机六位数字时钟

基于51单片机六位数字时钟
加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满,可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值[4]。
Key words:
AT89S51microcontroller, digitaltubedynamic scanning, 6 adjustable digital clock.
1
自单片机出现至今,单片机技术已走过了几十年的发展路程。纵观几十年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,拉动广泛的应用领域,表现出比微处理器更具个性的发展趋势。各大单片机开发商在增加产品功能的同时效力于形成产品的系列化、全面化,以满足各种控制领域的要求,这也是单片机发展的趋势之一。日本TOSHBA公司开发了从4位到64位的多系列单片机,日立公司也有从4.位到32位的单片机,目前还没有哪个厂家生产的单片机比东芝公司的种类多。
单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域[1,2]。
(6)结束语,主要总结自己完成的工作、本设计的不足和需要改进的地方等。

6位LED显示单片机控制电子钟.doc

6位LED显示单片机控制电子钟.doc

6位LED显示单片机控制电子钟/计数器这是我们设计的单片机电子钟/计时器学习板,它采用6位LED数码管显示时、分、秒,以24小时计时方式。

可以通过按键实现时分调整、秒表/时钟功能转换、省电(关闭显示)等功能。

我们能提供的完整的汇编语言源程序清单及电路原理设计图有助于学习者进行分析和进行实验验证6位LED显示单片机控制电子钟/计数器成品板成品每套84元51单片机做的电子钟在很多地方都有介绍,对于单片机学习者来说这个程序基本上是一道门槛,掌握了电子钟程序,基本上可以说51单片机就掌握了80%。

常见的电子钟程序由显示部分、计算部分、时钟调整部分构成,本产品硬件上完全支持倒计时器,客户只要自己修改程序就能实现倒计时功能。

为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。

由于静态显示法需要数据锁存器等硬件,接口复杂一些。

考虑时钟显示只有六位,且系统没有其它复杂的处理任务,所以决定采用动态扫描法实现LED的显示。

单片机采用易购的AT89S51系列,这样单片机可具有足够的空余硬件资源实现其它的扩充功能,硬件系统的总体构成如下图所示:该板采用AT89S51单片机,最小化应用设计,采用共阳七段LED显示器,P0口输出段码数据,P2.0~P2.5做列扫描输出,P1.0,P1.1,P1.2,接三个按键开关,用以调时及功能设置。

为了提高共阳数码管的驱动电压,用9012做电源驱动输出。

采用12M晶振,有利于提高秒计时的精度。

本设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。

其主程序执行流程图见下左图:数码管显示的数据存放在内存单元70H~75H中。

其中70H~71H存放秒数据,72H~73H存放分数据,74H~75H存放时数据,每一地址单元内均为十进制BCD码。

由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。

显示时,先取出70H~~75H某一地址中的数据,然后查得对应的显示用段码,并从P0口输出,P2口将对应的数码管选中供电,就能显示该地址单元的数据值。

数字电子实训数字钟的设计(6位)

数字电子实训数字钟的设计(6位)
1.2数字钟设计的功能要求
(一)基本功能:
(1)时的计时要求为“24翻1”,分和秒的计时要求为60进制
(2)准确计时,以数字形式显示时,分,秒的时间
(3)校正时间
(二)扩展功能:
(1)仿广播电台整点报时功能;
(2)自动报整点时数;
二、数字钟的原理框图
根据设计要求,可建立数字钟系统组成框图,如图(1)所示,数字钟电路系统由主体电路和扩展电路两大部分组成,其中,主体电路完成数字钟的基本计数功能,扩展电路完成数字钟的定时、整点报时扩展功能。
2)校时功能测试:在显示时钟时间时,按动时钟调时、时钟调分按钮开关时,时、分均可以调节,且不按动时,计数电路能正常工作,校时功能符合设计要求。
3)整点报时功能测试:电路基数时,当时钟到达59分50秒时,电路发出整点报时信号,频率为1Hz,持续10秒钟后,报时停止。整点报时功能符合设计要求。
4.2常见问题解决办法
下面将分别介绍60进制分秒计数器和24进制小时计数器。
1)60进制计数器,电路图如图(4)所示
图(4)60进制计数器
电路由两片74LS90和一个与门构成,分别为60进制计数器的十位和个位,十位为六进制,个位为十进制,两者级联构成60进制计数器。当计数器达到59时,在下一个秒脉冲作用下实现反馈清零,电路重新开始下一轮计数。下面对74LS90集成电路加以说明。
图(12)74LS30管脚图
图(13)74LS08管脚图
图(14)74LS04管脚图
3.路功能测试以及常见问题解决本法
4.1电路功能测试
按照设计要求,逐项测试电路功能
1)数字钟计数功能测试:接通电源,在秒脉冲的作用下,电路开始计数,且时、分、秒分别为24、60、60进制。计数功能符合设计要求。

简单数字钟得设计

简单数字钟得设计
简单数字钟的设计
09 机设(X)班 XX XXXXXXXXXX
1. 设计目的
通过数字钟的设计,熟悉集成电路的引脚安排,掌握芯片的逻辑功能及使用 方法,了解数字钟的组成及工作原理。并将前面所学的单片机内部定时器资源、 I\O 端口、键盘和显示接口等知识融会贯通,锻炼独立设计和调试应用系统的能 力,深入领会单片机应用系统的硬件设计、模块化程序设计及硬件调试方法等, 并掌握单片机应用系统的开发过程。
if(s1==0) { delay(10); if(s1==0) {count++; while(!s1); {TR0=0; } } if(count==2) { } if(count==3) { TR0=1; count=0; } }
if(count!=0) {if(s2==0) {delay(10); if(s2==0) {while(!s2); if(count==1) {m++; if(m==60) m=0; }
{
h=0;
}
}
}
void main()
{
unsigned
char
led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
TMOD=0x01; TH0=0x3c; TL0=0xb0; TR0=1; EA=1; ET0=1; P0=0x00; P1=0xff; P2=0xff; P3=0xff; while(1)
3
电阻
300Ω
4
电源
+5V
2
接地
Groun程序运行测试
程序编译、链接完成后,将二进制文档 1.hex 下载到单片机的程序存储器中。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息与电气工程学院课程设计说明书(2011/2012学年第2学期)课程名称:单片机课程设计题目:6位数字钟设计专业班级:电气0901学生姓名:陈浪学号:090060116指导教师:岑毅南、苗敬利、王静爽等设计周数:两周设计成绩:2012 年6月20日目录一、课程设计目的 (2)二、课程设计正文 (2)1.任务要求说明 (2)1.1、主要任务 (2)1.2、技术要求 (2)1.3、设计思路 (2)1.4、所需器件 (3)1.5、硬件设计 (3)1.5.1.STC90C52AD说明 (3)1.5.2.数码管说明 (4)2.单元模块设计 (5)2.1时间显示模块 (5)2.2 按键调时模块 (6)2.3 显示驱动模块 (7)3.原理简介 (7)3.1电路原理图 (7)3.2、原理介绍 (8)4.参数计算 (8)5.系统软件设计 (8)5.1开发软件Keil C51 uVision3简介 (8)5.2单片机程序烧写软件 (9)5.3参考程序 (9)三、课程设计总结 (15)四、参考文献 (16)附录一、系统原理图附录二、PCB图一、课程设计目的1.进一步熟悉和掌握单片机的结构及工作原理。

2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。

3.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。

4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

5.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。

二、课程设计正文1任务及要求说明1.1主要任务采用AT89S51作为控制单元,实现数字钟的设计。

1)设计键盘输入电路2)设计显示电路3)合理分配地址,编写系统程序4)利用Protel设计硬件电路原理图并进行软硬件联机调试1.2 技术要求技术要求1、用P1口控制4只段码管,用2位数码管进行分针时间显示,用2位数码管进行秒针时间显示。

2、可以调整时间,且调整位闪烁提示。

3、设置调节切换键、确认键、加1键和减1键。

1.3设计思路1、时间的显示:单片机P0.0—P0.3控制位选,可分别选通四只共阴数码管。

P1.0—P1.6控制段码管,将数据送给74LS245驱动数码管显示时间。

2、时间的调整:设置4个按钮,分别由P2.0—P2.3控制,其编号分别是1到4。

1为调节切换键,2为加1键,3为减1键,4为确认开始键。

1.4 设计所需器材电阻: 1K (8个) 10K(9个) 2.2k(1个) 300(8个)200K(1个)按键开关:5个瓷石电容:30pF (2个)电解电容:10μF(1个)晶振:6MHZ(1个)三极管:NPN(4个)共阴极数码管:4个底座:DIP40(1个)DIP16(1个)万能电路板:1个芯片:STC90C52(1片)Header2(1个)1.5 硬件设计1.5.1.STC90C52AD说明AT89C51的引说明和功能说明如下:XTAL1 :接外部晶振的一个引脚。

在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。

它采用外部振荡器时,些引脚应接地。

XTAL2 :接外部晶振的一个引脚。

在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。

当采用外部振荡器时,则此引脚接外部振荡信号的输入。

RST :复位信号输入引脚,高电平有效,当要对芯片复位时,只要将此引脚电平提升到高电平,并持续两个机器周期以上的时间,AT89C51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。

P0口(P0.0~P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。

外部不扩展而单片应用时,则作一般双向I/O口用。

P0口每一个引脚可以推动8个LSTTL负载。

P2口(P2.0~P2.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。

外部不扩展而单片应用时,则作一般双向I/O 口用。

每一个引脚可以推动4个LSTL负载。

P1口(P1.0~P1.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),其输出可以推动4个LSTTL负载。

仅供用户作为输入输出用的端口。

P3口(P3.0~P3.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能1.5.3数码管。

LED 显示器由8段发光二极管组成,排列成8字形状,称为8段LED 显示器,器件内部接线图如图所示:为了显示数字或符号,要为LED 显示器提供代码,即字形代码。

七段发光二极管,再加上一个小数点(dp )位,共计8段,因此提供的字形代码的长度正好是一个字节。

简易计算器用到的数字0~9的共阴极字形代码如下表:共阴数码管段码表2.单元模块设计2.1、时间显示模块时间显示模块显示字符 0 1 2 3 4 5 6 7 8 9 暗段码3FH06H5BH4F66H6DH7DH07H7F6FH 00H2.2 按键调时模块按键调时模块2.3 显示驱动模块显示驱动模块3 .原理简介3.1电路原理图电路原理图3.2、原理介绍(1)初始时,4个数码管显示全为0,并且秒显示数码管最后一位每秒钟加1.此时,单片机内部定时器0计时,每100ms溢出一次,10次中断秒显加一。

单片机P1口不断向245送数据驱动数码管显示。

(2)按下S1时,系统进入调节切换模式,定时器0关闭,计时停止。

按S1一下调分,按S1两下调秒。

S2、S3分别为加数和减数。

S4为确认开始键,按下后系统计时开始。

(3)进入调整时间模式时,数码管闪烁显示提示。

4.参数计算1、定时器初值计算定时器0设为16位定时器。

外部为6兆的晶体振荡器,故而可知一个机器周期是2微秒。

分析:已知fosc = 6MHz 则:(机器周期)1Tm=12Tc=12/6MHz=2 uS100mS÷2 S = 5000016位定时器最大数值为:65536 (=0FFFFH+1)故选择方式1工作可以满足要求。

计算初值:65536-50000=15536=3CB0H定时器0高八位和第八位分别装入初值TH0=03CH; TL0=0B0H。

每100ms定时器溢出一次,中断十次刚好1s,秒显示加1.5.系统软件设计5.1开发软件Keil C51 uVision3简介Keil uVISION2 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS-51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持、PLM、汇编和C语言的程序设计,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。

Keil C51集成开发环境主要由菜单栏、工具栏、源文件编辑窗口、工程窗口和输出窗口五部分组成。

工具栏为一组快捷工具图标,主要包括基本文件工具栏、建造工具栏和调试工具栏,基本文件工具栏包括新建、打开、拷贝、粘贴等基本操作。

建造工具栏主要包括文件编译、目标文件编译连接、所有目标文件编译连接、目标选项和一个目标选择窗口。

调试工具栏位于最后,主要包括一些仿真调试源程序的基本操作,如单步、复位、全速运行等。

在工具栏下面,默认有三个窗口。

左边的工程窗口包含一个工程的目标(target)、组(group)和项目文件。

右边为源文件编辑窗口,编辑窗口实质上就是一个文件编辑器,我们可在这里对源文件进行编辑、修改、粘贴等。

下边的为输出窗口,源文件编译之后的结果显示在输出窗口中,会出现通过或错误(包括错误类型及行号)的提示。

如果通过则会生成“HEX”格式的目标文件,用于仿真或烧录芯片。

基本环境如图2-1所示:MCS-51单片机软件Keil C51开发过程为:①建立一个工程项目,选择芯片,确定选项。

②建立汇编源文件或C源文件。

③用项目管理器生成各种应用文件。

④检查并修改源文件中的错误。

⑤编译连接通过后进行软件模拟仿真或硬件在线仿真。

5.2单片机程序调试软件STC90C52AD 系列单片机大部分具有在系统可编程特性,单片机在用户系统上即可在线调试用户程序,而无需将单片机从已经生产好的产品上拆下,在用通用编程器进行调试程序。

大部分STC90C50AD 系列单片机在销售给用户之前已经在单片机系统内部固化了ISP 系统引导程序配合PC 端得控制程序即可将用户的程序代码下载进单片机内部,故无需编程器烧写程序。

参考程序:ORG 0000H AJMP MAIN ORG 000BHAJMP TINT ORG 0030HMAIN:MOV R6,#00H ;确认键 SETB F0 ;闪烁标志位Keil C51软件的运行界面MOV R4, #00H ;闪烁时钟位MOV 50H,#00HMOV 51H,#00HMOV 52H,#00HMOV 53H,#00HMOV R5,#00H ;调整键0正常显示、1调分、2调秒MAIN2:LCALL XIANS ;调用显示子程序LCALL KEY ;调用按键检测子程序JZ MAIN2KEY:MOV P2,#0FFH ;将P2口设置成输入状态MOV A,P2CPL AANL A,#0FH ;P1口低4位连接4个按键,只判断该4位JZ EXIT_KEY ;无键按下则返回LCALL DELAY ;延时去抖动MOV A,P2 ;重新判断CPL AANL A,#0FHJZ EXIT_KEY ;键盘去抖动JB P2.0,FUNC1 ;切换JB P2.1,FUNC2 ;加JB P2.2,FUNC3 ;减JB P2.3,FUNC4 ;确认EXIT_KEY:RETFUNC4:CJNE R6,#01H ,MAIN1LJMP QUERENRETFUNC1:CJNE R6,#01H ,DONE7INC R5DONE7:RETFUNC2:CJNE R5,#01H ,XUANZE1LJMP FENJIARETXUANZE1:CJNE R5,#02H,MIAOJIARETFUNC3:CJNE R5,#01H ,XUANZE2LJMP FENJIANRETXUANZE2:CJNE R5,#02H,MIAOJIANRETMIAOJIA:MOV A,42H;秒加调整子程序ADD A,#01HDA AMOV 42H ,ACJNE A,#60H,DONE1MOV 42H,#00HDONE1:RETFENJIA:MOV A,41H;分加子程序ADD A,#01HDA AMOV 41H ,ACJNE A,#60H,DONE2MOV 41H,#00HDONE2:RETFENJIAN:MOV A ,#99H;分减子程序ADD A,41HDA AMOV 41H ,ACJNE A,#99H,DONE3MOV 41H ,#59HDONE3:RETMIAOJIAN:MOV A ,#99H;秒减子程序ADD A,42HDA AMOV 42H ,ACJNE A,#99H,DONE4MOV 42H ,#59HDONE4:RETQUEREN:CJNE R6,#00H,QUEREN1;确认子程序INC R6LJMP DONE5QUEREN1:MOV R6,#00HDONE5:RETQIEHUAN:CJNE R5,#02H,QIEHUAN1;切换子程序MOV R5,#00HMOV R4,#00HLJMP DONE6QIEHUAN1:INC R5DONE6:RETDELAY:MOV R7,#150DJNZ R7,$RETMAIN1:MOV TMOD,#01H ;选T0方式1,MOV TH0, #3CH ;赋初值3CB0H=15536(只能定100mS)MOV TL0,#0B0HMOV 30H,#0AH ;软件计数单元30H 初值=10CLR AMOV 41H,A ;"分"单元清零MOV 42H,A ;"秒"单元清零SETB EASETB ET0 ;开T0中断SETB TR0 ;启动T0MOV R6,#01H ;置位确认标志位RETTINT:MOV TH0, #3CHMOV TL0,#0B0H;再赋定时100mS的初值3CB0HINC R4MOV A,R4CJNE A,#05H,LOOP ;用于调时闪烁CPL F0 ;取反调时闪烁标志位MOV R4,#00HLOOP:CJNE R6,#01H,RTN;确认键控制计时起停DJNZ 30H,RTN ;若中断不到10次就返回MOV 30H,#0AH ;为下一个1秒定时做准备MOV A,#01H ;"秒"单元加一ADD A,42HDA A ;"秒"单元十进制调整MOV 42H,A ;"秒"单元BCD码存"秒"单元CJNE A,#60H,RTN ;是否到60S,未到则返回MOV 42H,#00H ;记满60S,"秒"单元清零MOV A,#01H ;"分"单元加一ADD A,41HDA A ;"分"单元十进制调整MOV 41H,A ;"分"单元BCD码存"分"单元CJNE A,#60H,RTN ;是否到60分,未到则返回MOV 41H,#00H ;记满60分,"分"单元清零RTN:RETI ;中断返回XIANS:MOV A, 42HANL A,#0FHMOV 51H,A ;转换出秒个位,存入51HMOV A,42HANL A,#0F0HSW AP AMOV 50H,A ;转换出秒十位,存入50HCJNE R5,#02H,XIANS1JB F0 ,XIANS1MOV 50H,#0AHMOV 51H,#0AHXIANS1:MOV A, 41HANL A,#0FHMOV 53H,A ;转换出分个位,存入53HMOV A,41HANL A,#0F0HSW AP AMOV 52H,A ;转换出分十位,存入52HCJNE R5,#01H,DXIANSJB F0,DXIANSMOV 52H,#0AHMOV 53H,#0AHDXIANS:MOV DPTR,#0200H ;数码管译码表首址, MOV A,#50HMOVC A, @A+DPTR ;查表MOV P1, A ;字段码送到P1口SETB P0.0LCALL DELAYCLR P0.0MOV A,#51HMOVC A, @A+DPTR ;查表MOV P1, A ;字段码送到P1口SETB P0.1LCALL DELAYCLR P0.1MOV A,#52HMOVC A, @A+DPTR ;查表MOV P1, A ;字段码送到P1口SETB P0.2LCALL DELAYCLR P0.2MOV A,#53HMOVC A, @A+DPTR ;查表MOV P1,A ;字段码送到P1口SETB P0.3LCALL DELAYCLR P0.3RETORG 0200HDB 3FH,06H,5BH,4FH,66H;显示段码表DB 6DH,7DH,07H,7FH,6FH 00HEND6.软硬件调试系统调试:根据系统设计方案,本系统的调试共分为两大部分:硬件调试,软件调试。

相关文档
最新文档