您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机课程设计——郭田
东北石油大学课程设计2011年3月18日课程单片机原理及应用课程设计题目单片机实现数字钟院系电子科学学院专业班级电子07-3班学生姓名郭田学生学号070901240329指导教师1东北石油大学课程设计任务书课程单片机原理及应用课程设计题目单片机实现数字钟(LED显示小时:分:秒)专业班级电子07-3姓名郭田学号070901240329设计目的:训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。设计要求:1.应用MCS-51单片机设计单片机实现数字钟(LED显示小时:分:秒)电路;2.选用6位LED数码显示,实时显示时、分、秒,采用按键式实现时钟对表和快慢调整;3.硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程;4.软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;5.原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB板图、提供元器件清单。参考资料:[1]清华大学出版社田丰单片机原理及应用[2]哈尔滨工业大学张毅刚新编单片机应用设计[3]中国电力出版社窦振中基于单片机的嵌入式系统工程设计[4]复旦大学张友德单片微型机原理应用与实验完成期限2011.3.14—2011.3.18指导教师李玉爽专业负责人2011年3月18日2目录第一章.概述.......................................3第二章.数字钟设计原理.............................3第三章硬件电路设计................................43.1单片机功能说明..............................43.2硬件电路的设计...............................5第四章程序设计....................................64.1流程图.......................................64.2.程序代码....................................74.3程序功能介绍................................10第五章总结.......................................10参考文献.........................................113第一章.概述20世纪末,电子技术获得了飞速的发展,在其推动下,具有功能强、体积小、可靠性高、价格低廉的单片机在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。现在生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号,对于那些对时间把握非常严格和准确的人或事来说,时间的不准确性带来不小的麻烦,所以说以数码管显示的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简明而且读数快,时间准确显示到秒。数字钟是采用数字电路对时分秒数字显示的计时装置。数字钟的精度,稳定性远远超过老式机械钟。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受到广大消费者的喜爱。第二章.数字钟设计原理数字钟实际是对标准频率计数的电路,由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时标准的时间信号必须做到准确稳定。通常使用石英晶体振荡电路构成数字钟。数字钟电子钟由以下几部分组成:按键开关部分,振荡电路部分,89c51单片机控制器,4位数码管显示部分,7407数码管驱动部分。按键开关振荡电路89C51单片机控制器4位数码管显示7407列驱动4第三章硬件电路设计3.1单片机功能说明单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。1.CPU系统CPU系统包括有CPU、时钟系统、复位、总线(BUS,即信号的公共通道)控制逻辑。①CPU单片机中的CPU与微型计算机中的CPU有所不同,它的特点是,面向控制、面向嵌入系统、面向单芯片化。②时钟系统时钟系统用于产生单片机工作所需的时钟信号。它必须满足CPU及单片机内各单元电路对时钟的要求。时钟振荡器的工作频率一般在1.2~12MHz。(3)复位电路复位电路应满足上电复位、信号控制复位的要求。(4)总线控制逻辑总线控制逻辑应满足CPU对内部总线和外部总线的控制要求。2.程序存储器程序存储器是一种只读存储器ROM(ReadOnlyMemory),用它来固化单片机的应用程序和一些表格常数。3.数据存储器RAMRAM是一种可读写的存储器,也叫随机存储器。单片机内部的RAM除了作为工作寄存器、位标志和堆栈区以外的单元都可以作为数据缓冲器使用,存放输入的数据或运算的结果。由于单片机主要是面向测控系统,所以单片机内部的数据存储器容量较小,通常不多于256字节,而且都使用静态随机存储器SRAM(StaticRandomAccessMemory)。54.各种I/O端口I/O端口是计算机的输入、输出接口(T是输入,O是输出之意)。单片机中的I/O端口都是芯片的辅入/输出引脚。这些I/O端口,可分为以下几种类型:(1)总线输入/输出端口(2)用户I/O端口。由用户用于外部电路的输入/输出控制。(3)单片机内部功能的输入/输出端口。例如,定时器/计数器的计数辅入、外部中断源辅入等。为减少单片机引脚数量,一般I/O口都有复式功能。例如不使用外部总线时,总线端口可出让给用户做辅入/辅出端口用。从I/O口的结构上还可以分为并行I/O口,即多位数据一起输出或输入,这种形式传送数据速度快但使用的引脚多。另—种I/O口称为串行I/O口,即传送数据是顺序输出或输入,这种形式可大大减少I/O口的引脚数,但传送数据较慢。5.基本功能单元基本功能单元是为满足单片机测控功能而设置的一些电路,是用来完善和扩大计算机功能的一些基本电路,如定时器/计数器,中断系统等。定时器/计数器在实际应用中作用非常大,如精确的定时,或者对外部事件进行计数等。3.2硬件电路的设计硬件电路图如下图所示6该电路采用AT89C51单片机最小化应用,采用共阴7段LED数码管显示器,P2.4~P2.7口作为列扫描输出,P0口输出段码数据,P1.2,P1.1口接2个按钮开关,用于调时及功能误差,采用12Mhz晶振,可提高秒计时的精确度。采用动态扫描法实现LED数码管显示。共阴7段LED显示器显示原理:引脚数字显示.P0.7hP0.6gP0.5fP0.4eP0.3dP0.2cP0.1bP0.0a数码显示0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH10μf电容作用:上电复位;7407作用:同相缓冲器,驱动数码管;12M晶振和两个电容组成晶体振荡器。第四章程序设计4.1流程图主程序流程图,定时器T0中断服务程序流程图如图所示。74.2.程序代码#includereg52.h#includeintrins.h#defineuintunsignedint#defineucharunsignedcharsbitkey=P3^7;sbitkey1=P3^2;sbitkey2=P3^3;返回8sbitkey3=P3^4;sbitkey4=P3^5;sbitkey5=P3^0;sbitkey6=P3^1;ucharge,shi,bai,qian,fen,shifen,hour,shihour;uinttt,aa,hh;ucharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};voiddelay(uint);voidinit();voidmain(){init();while(1){key=0;P1=0xab;P0=0x7f;delay(5);if(tt=6000){tt=0;aa++;}/*满60秒,分位加一*/if(aa=60){aa=0;hh++;}/*满60分,小时位加一*/if(hh==24)hh=0;/*小时位满24回零*/if(hh==24&aa==60&tt==60){hh=0;aa=0;tt=0;}/*时间溢出时回零*/shihour=hh/10;hour=hh%10;shifen=aa/10;fen=aa%10;qian=tt/1000%6;bai=tt%1000/100;shi=tt%100/10;ge=tt%10;9P1=0x7f;P0=table[shihour];/*小时十位的显示*/delay(5);P1=0xbf;P0=table[hour];/*小时的个位显示*/delay(5);P1=0xdf;P0=table[shifen];/*分钟十位的显示*/delay(5);P1=0xef;P0=table[fen];/*分钟个位的显示*/delay(5);P1=0xf7;P0=table[qian];/*秒钟十位的显示*/delay(5);P1=0xfb;P0=table[bai];/*秒钟个位的显示*/delay(5);P1=0xfd;P0=table[shi];/*0.1秒的显示,用于秒表功能*/delay(5);P1=0xfe;P0=table[ge];/*0.01秒的显示,用于秒表功能*/delay(5);if(key1==0){delay(500);hh++;}/*功能键一,按下小时加一*/if(key2==0){delay(500);aa++;}/*功能键二,按下分钟加一*/if(key3==0){delay(500);aa--;}/*功能键三,按下分钟减一*/if(key5==0)TR0=0;/*功能键五,按下时间暂停*/if(key6==0)TR0=1;/*功能键六,按下时间继续*/}}voidexter0()interrupt1/*中断程序*/{TH0=(65536-10000)/256;TL0=(65536-10000)%256;tt++;if(key4==0)10{tt=0;aa=0;hh=0;}/*功能键四,按下时间归零*/}voiddelay(uintz)/*延迟子函数用于数码管显示数字*/{uintx,y;for(x=z;x0;x--)for(y=50;y0;y--);}voidinit()/*计数函数,每0.01秒记一次*/{TMOD=0x01;TH0=(65536-10000)/256;TL0=(65536-10000)%256;EA=1;ET0=1;TR0=1;}4.3程序功能介绍此程序的功能有两个,在完成电子钟功能的基础上,还附加了秒表功能。程序中共设了6个功能键。1、2、3为时钟功能键,用于调整时间,键1为小时位加1功能,键二为分钟位加1功能,考虑到调分钟位时有时不小心多加了1,若想改正回来的话会很麻烦,需要再调60下,所以特意增加功能键3,其功能是分钟位减1。4、5、6为秒表功能键,其中键4为时间归零键,键5为时间止键,键6为时间继续键。秒表的精确度为0.01秒。第五章总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程11设计后我发现自己在一点一
本文标题:单片机课程设计——郭田
链接地址:https://www.777doc.com/doc-6353101 .html