基于单片机的秒表课程设计.doc_第1页
基于单片机的秒表课程设计.doc_第2页
基于单片机的秒表课程设计.doc_第3页
基于单片机的秒表课程设计.doc_第4页
基于单片机的秒表课程设计.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

目 录第一章 单片机的应用领域11.1在智能仪器仪表上的应用11.2在工业控制中的应用11.3在家用电器中的应用11.4在计算机网络和通信领域中的应用21.5单片机在医用设备领域中的应用21.6在各种大型电器中的模块化应用21.7单片机在汽车设备领域中的应用2第二章 系统设计任务和要求以及方案硬件设计42.1设计任务42.2设计要求42.3系统总体方案42.4硬件电路设计52.5硬件主电路图设计7第三章 软件设计83.1软件设计概述83.2主程序流程图83.3程序中各函数设计93.4 C语言主程序设计11第四章 课程设计体会15参考文献16第一章 单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.1在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(示波器,各种分析仪)。 1.2在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管 芯片理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 1.3在家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子称量设备,五花八门,无所不在。 1.4在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 1.5单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 1.6在各种大型电器中的模块化应用 某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。 在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。 1.7单片机在汽车设备领域中的应用 单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。 以89c51为例讲解单片机的引脚及相关功能; 单片机引脚图 40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。 电源: VCC - 芯片电源,接+5V; VSS - 接地端; 注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 I/O线 80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线) 5. P3口第二功能 P30 RXD 串行输入口 P31 TXD 串行输出口 P32 INT0 外部中断0(低电平有效) P33 INT1 外部中断1(低电平有效) P34 T0 定时计数器0 P35 T1 定时计数器1 P36 WR 外部数据存储器写选通(低电平有效)P37 RD 外部数据存储器读选通(低电平有效)第二章 系统设计任务和要求以及方案硬件设计2.1设计任务设计一个单片机控制的秒表系统。利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行加计时,数码管能够正确地显示时间。2.2设计要求1. 开机时数码管显示 00。2. 两位LED显示,显示时间为0099秒。3. 每一秒钟,计数器自动加 1。 4. 按键控制计数,分别控制开始计数、停止计数和归零,功能分配如下所示:按键K1:控制秒表的启动,停止按键K2:控制数码管显示清零2.3系统总体方案本系统采用C51系列单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用C语言编写程序,包括显示程序,加1计数程序,延时程序,按键消抖程序等,并在WAVE中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 单片机 外围 电路 电源 电路 显示电路 键盘电路 图1 系统电路原理2.4硬件电路设计本系统中,硬件电路主要有电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等(1)单片机简介本系统设计采用C51系列单片机。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容(由于在微机原理中学过C-51的具体知识,这里不再详细说明)。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效的微控制器。(2)电源电路电源电路是系统最基本的部分,任何电路都离不开电源部分,由于三端集成稳压器件所组成的稳压电源线路简单,性能稳定,工作可靠,调整方便,已逐渐取代分立元件,在生产中被广泛采用,由于是小系统,我们采用7809电源提供+5V稳压电压。(3)晶体振荡电路MCS-51单片机内部的振荡电路是一个高增益反相放大器,引线 XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。这里,我们选用51单片机12MHZ的内部振荡方式,电路如下:电容器C1,C2起稳定振荡频率,快速起振的作用,C1和C2可在20-100PF之间取,这里取30P,接线时要使晶体振荡器X1尽可能接近单片机。 图2 晶体振荡电路(4)复位电路采用上电+按键复位电路,上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使用使RST持续一段时间的高电平,从而实现上电加开关复位的操作。这不仅能使单片机复位,而且还能使单片机的外围芯片也同时复位。当程序出现错误时,可以随时使电路复位。电路图如下:图3 复位电路(5)显示电路显示电路既可以选用液晶显示器,也可以选用数码管显示。我们采用的是数码管显示电路。用2个共阳极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各管的亮暗组合成字符。在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。在设计中,我们采用LED动态显示,用P0口驱动显示。由于P0口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。电路图如下所示:图4 显示电路(6)键盘电路在按键电路中,我们可以在I/O口上直接接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有键按下等。键盘扫描电路节省I/O口,但编程有些复杂,在这里,由于我们所用的按键较少,且系统是一个小系统,有足够的I/O口可以使用,为了使程序简化,我们采用按键电路,用部分P1口做开关,P1.1为开始停止,P1.0为清零,用外中断INT1开始,另外用软件法消除抖动。电路图如下所示:图5 键盘电路2.5硬件主电路图设计用pretues画出其硬件主电路图如下:第三章 软件设计3.1软件设计概述在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,如:加计数延时,计数和显示等,在具体需要时调用相应的模块即可。功能描述:用2位LED数码显示秒表,显示时间为0099秒,每秒自动加1;一个开始暂停键,一个清零键。3.2主程序流程图这里采用顺序结构,通过对按键的扫描,判断要实现什么功能。如下所示:开始初始化P1.1=0?开始计数P1.1=0?停止计数P1.0=0?清零继续计数计数为99?YYNYNY3.3程序中各函数设计(1)初始化函数设计void init() TMOD=0x10; /定时器1工作方式1 TH1=0xd8; TL1=0xf0; /延时初始化设置/ TR1=1; EA=1; /开总开关 ET1=1; /开定时器(2)显示函数设计void writeled(uchar num,uchar addr) /关显示 P2=0xff; /送数据 P0=dulatabnum; /开显示 P2=welatabaddr; delay(4); void display(uchar sec) uchar sech,secl;sech=sec/10; secl=sec%10; writeled(sech,0); writeled(secl,1);(3)按键函数设计void keyscan() if(start=0) delay(2); if(start=0) TR1=TR1; while(start=0) display(sec); if(stop=0&TR1=0) delay(2); if(stop=0) sec=0; while(stop=0) display(sec); (4)延时函数设计void delay(uchar time) /延时 uchar i,j; for(i=0;itime;i+) for(j=0;j110;j+); 3.4 C语言主程序设计主程序如下:#include #define uchar unsigned charsbit start=P11;sbit stop=P10;uchar code dulatab=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x40; /数字编码0-9uchar code welatab=0xfe,0xfd;/位控制字uchar msec,sec;void delay(uchar time) /延时 uchar i,j; for(i=0;itime;i+) for(j=0;j110;j+); void writeled(uchar num,uchar addr) /关显示 P2=0xff; /送数据 P0=dulatabnum; /开显示 P2=welatabaddr; delay(4); void display(uchar sec) uchar sech,secl;sech=sec/10; secl=sec%10;writeled(sech,0);writeled(secl,1);void init() TMOD=0x10; TH1=0xd8; TL1=0xf0;/ TR1=1; EA=1; ET1=1;void keyscan() if(start=0) delay(2); /延时防抖 if(start=0) TR1=TR1; while(start=0) display(sec); if(stop=0&TR1=0) delay(2); /延时防抖 if(stop=0) sec=0; while(stop=0) display(sec); void main() init(); while(1) display(sec); keyscan(); void timer1() interrupt 3 TH1=0xd8; TL1=0xf0; msec+; if(msec=100) msec=0; sec+; if(sec=100) sec

温馨提示

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

评论

0/150

提交评论