单片机课程设计——郭田_第1页
单片机课程设计——郭田_第2页
单片机课程设计——郭田_第3页
单片机课程设计——郭田_第4页
单片机课程设计——郭田_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上东 北 石 油 大 学课 程 设 计课 程 单片机原理及应用课程设计 题 目 单片机实现数字钟 院 系 电子科学学院 专业班级 电子073班 学生姓名 郭田 学生学号 9 指导教师 2011年3月 18 日东北石油大学课程设计任务书课程 单片机原理及应用课程设计题目 单片机实现数字钟(LED显示小时:分:秒) 专业班级 电子07-3 姓名 郭 田 学号 9设计目的:训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。设计要求:1. 应用MCS-51单片机设计单片机实现数字钟(LED显示小时:分:秒

2、)电路;2. 选用6位LED数码显示,实时显示时、分、秒,采用按键式实现时钟对表和快慢调整;3. 硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析和计算过程;4. 软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;5. 原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB板图、提供元器件清单。参考资料:1 清华大学出版社 田丰 单片机原理及应用2 哈尔滨工业大学 张毅刚 新编单片机应用设计3 中国电力出版社 窦振中 基于单片机的嵌入式系统工程设计4 复旦大学

3、 张友德 单片微型机原理应用与实验完成期限 2011.3.142011.3.18 指导教师 李玉爽 专业负责人 2011年 3 月 18 日目录11第一章概述 20世纪末,电子技术获得了飞速的发展,在其推动下,具有功能强、体积小、可靠性高、价格低廉的单片机在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。现在生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号,对于那些对时间把握非常严格和准确的人或事来说,时间的不准确性带来不小的麻烦,所以说以数码管显示的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简明而

4、且读数快,时间准确显示到秒。数字钟是采用数字电路对时分秒数字显示的计时装置。数字钟的精度,稳定性远远超过老式机械钟。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受到广大消费者的喜爱。第二章数字钟设计原理89C51单片机控制器数字钟实际是对标准频率计数的电路,由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时标准的时间信号必须做到准确稳定。通常使用石英晶体振荡电路构成数字钟。数字钟电子钟由以下几部分组成:按键开关部分,振荡电路部分,89c51单片机控制器,4位数码管显示部分,7407数码管驱动部分。按键开关4位数码管显示振荡电路7407列驱动第三章

5、 硬件电路设计3.1 单片机功能说明单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。1CPU系统 CPU系统包括有CPU、时钟系统、复位、总线(BUS,即信号的公共通道)控制逻辑。 CPU单片机中的CPU与微型计算机中的CPU有所不同,它的特点是,面向控制、面向嵌入系统、面向单芯片化。 时钟系统时钟系统用于产生单片机工作所需的时钟信号。它必须满足CPU及

6、单片机内各单元电路对时钟的要求。时钟振荡器的工作频率一般在1.212MHz。 (3)复位电路 复位电路应满足上电复位、信号控制复位的要求。 (4)总线控制逻辑 总线控制逻辑应满足CPU对内部总线和外部总线的控制要求。 2程序存储器 程序存储器是一种只读存储器ROM(Read Only Memory),用它来固化单片机的应用程序和一些表格常数。 3数据存储器RAM RAM是一种可读写的存储器,也叫随机存储器。单片机内部的RAM除了作为工作寄存器、位标志和堆栈区以外的单元都可以作为数据缓冲器使用,存放输入的数据或运算的结果。 由于单片机主要是面向测控系统,所以单片机内部的数据存储器容量较小,通常不

7、多于256字节,而且都使用静态随机存储器SRAM(Static Random Access Memory)。 4各种I/O端口 I/O端口是计算机的输入、输出接口(T是输入,O是输出之意)。单片机中的I/O端口都是芯片的辅入/输出引脚。这些I/O端口,可分为以下几种类型: (1)总线输入输出端口 (2)用户IO端口。由用户用于外部电路的输入输出控制。 (3)单片机内部功能的输入输出端口。例如,定时器计数器的计数辅入、外部中断源辅入等。 为减少单片机引脚数量,一般IO口都有复式功能。例如不使用外部总线时,总线端口可出让给用户做辅入辅出端口用。 从IO口的结构上还可以分为并行IO口,即多位数据一起

8、输出或输入,这种形式传送数据速度快但使用的引脚多。另种IO口称为串行I/O口,即传送数据是顺序输出或输入,这种形式可大大减少I/O口的引脚数,但传送数据较慢。 5.基本功能单元 基本功能单元是为满足单片机测控功能而设置的一些电路,是用来完善和扩大计算机功能的一些基本电路,如定时器计数器,中断系统等。定时器/计数器在实际应用中作用非常大,如精确的定时,或者对外部事件进行计数等。3.2硬件电路的设计硬件电路图如下图所示该电路采用AT89C51单片机最小化应用,采用共阴7段LED数码管显示器,P2.4P2.7口作为列扫描输出,P0口输出段码数据,P1.2,P1.1口接2个按钮开关,用于调时及功能误差

9、,采用12Mhz晶振,可提高秒计时的精确度。采用动态扫描法实现LED数码管显示。共阴7段LED显示器显示原理:引脚数字显示.P0.7hP0.6gP0.5fP0.4eP0.3dP0.2cP0.1bP0.0a数码显示0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH10f电容作用:上电复位;7407作用:同相缓冲器,驱动数码管;12M晶振和两个电容组成晶体振荡器。第四章 程序设计4.1 流程图主程序流程图,定时

10、器T0中断服务程序流程图如图所示。返回4.2程序代码#include<reg52.h> #include <intrins.h> #define uint unsigned int #define uchar unsigned char sbit key=P37;sbit key1=P32;sbit key2=P33;sbit key3=P34;sbit key4=P35;sbit key5=P30;sbit key6=P31;uchar ge,shi,bai,qian,fen,shifen,hour,shihour;uint tt,aa,hh;uchar code t

11、able = 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90;void delay(uint);void init();void main()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;

12、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;P1=0x7f;P0=tableshihour;/*小时十位的显示*/delay(5);P1=0xbf;P0=tablehour;/*小时的个位显示*/delay(5);P1=0xdf;P0=tableshifen;/*分钟十位的显示*/delay(5);P1=0xef;P0=tablefen;/*分钟个位的显示*/delay(5);P1=0x

13、f7;P0=tableqian; /*秒钟十位的显示*/delay(5);P1=0xfb;P0=tablebai;/*秒钟个位的显示*/delay(5);P1=0xfd;P0=tableshi;/*0.1秒的显示,用于秒表功能*/delay(5);P1=0xfe;P0=tablege;/*0.01秒的显示,用于秒表功能*/delay(5);if(key1=0)delay(500);hh+;/*功能键一,按下小时加一*/if(key2=0)delay(500);aa+;/*功能键二,按下分钟加一*/ if(key3=0)delay(500);aa-;/*功能键三,按下分钟减一*/if(key5=

14、0)TR0=0; /*功能键五,按下时间暂停*/if(key6=0)TR0=1; /*功能键六,按下时间继续*/void exter0() interrupt 1 /*中断程序*/TH0=(65536-10000)/256;TL0=(65536-10000)%256;tt+;if(key4=0)tt=0;aa=0;hh=0; /*功能键四,按下时间归零*/void delay(uint z) /*延迟子函数 用于数码管显示数字*/ uint x,y;for(x=z;x>0;x-)for(y=50;y>0;y-);void init() /*计数函数,每0.01秒记一次*/TMOD=

15、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秒。第五章 总结课程设计是培养学生综合运用所学知识,发现,

16、提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有

17、哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。回顾起此次单片机课程设计,从理论到实践,在一周的日子里可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说对C语言掌握得不好通过这次课程设计之后,我对单片机的了解更深了。参考文献清华大学出版社 田丰 单片机原理及应用哈尔滨工业大学 张毅刚 新编单片机应用设计中国电力出版社 窦振中 基于单片机的嵌入式系统工程设计复旦大学 张友德 单片微型机原理应用与实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论