单片机课程设计说明书.doc_第1页
单片机课程设计说明书.doc_第2页
单片机课程设计说明书.doc_第3页
单片机课程设计说明书.doc_第4页
单片机课程设计说明书.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

单片机课程设计说明书1.1单片机的历史背景和意义 近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本次做的数字钟是以单片机(at89c51)为核心,结合相关的元器件(共阴极led数码显示器、bcd-锁存/7段译码/驱动器cc4511等),再配以相应的软件,达到制作简易数字钟的目的,其硬件部分难点在于元器件的选择、布局及焊接。1。2单片机的发展和现状单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:cpu、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(microcontroller),由芯片内仅有cpu的专用处理器发展而来。最早的设计理念是通过将大量外围设备和cpu集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。单片机是70年代中期发展起来的一种大规模集成电路芯片,是cpu、ram、rom、i/o接口和中断系统集成于同一硅片的器件。单片机用于控制有利于实现系统控制的最小化和单片化,简化一些专用接口电路,如编程计数器、锁相环(pll)、模拟开关、a/d和d/a变换器、电压比较器等组成的专用控制处理功能的单板式微系统。单片机是所有微处理机中性价比最高的一种,随着种类的不断全面,功能不断完善,其应用领域也迅速扩大。单片机在智能仪表、实时控制、机电一体化、办公机械、家用电器等方面都有相当的应用领域。当前,8位单片机主要用于工业控制,如温度、压力、流量、计量和机械加工的测量和控制场合;高效能的16位单片机(如mcs-96、mk-68200)可用在更复杂的计算机网络。可以说,微机测控技术的应用已渗透到国民经济的各个部门,微机测控技术的应用是产品提高档次和推陈出新的有效途径。纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:1低功耗cmos化mcs-51系列的80c51推出时的功耗达120mw,而现在的单片机普遍都在100mw左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了cmos(互补金属氧化物半导体工艺)。cmos虽然功耗较低,但由于其物理特征决定其工作速度不够高,而chmos则具备了高速和低功耗的特点,更适合于在要求低功耗像电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。2微型单片化常规的单片机普遍都是将中央处理器(cpu)、随机存取数据存储(ram)、只读程序存储器(rom)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如a/d转换器、pmw(脉宽调制电路)、wdt(看门狗)、有些单片机将lcd(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。3主流与多品种共存现在虽然单片机的品种繁多,各具特色,但仍以mcs-51为核心的单片机占主流,兼容其结构和指令系统的有philips公司的产品,atmel公司的产品和中国台湾的winbond系列单片机。以8031为核心的单片机占据了半壁江山,在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。2222222课题方案设计 2.1系统总体设计要求 1、显示效果使用16个led;2、设置三个按键,k1-模式键,通过按键调整显示结果,要求有8种模式;k2-加速键,提高走马灯显示效果的速度;k3-减速键,放慢走马灯的显示效果速度;3、8种模式通过一个共阳型数码管显示出来,比如,走马灯的显示效果为模式一时,数码管显示数字“1”。 2.2 系统结构模块论证 333.系统硬件设计 3.1 总体设计 3.1.1 明确任务 根据课题的要求确定系统的工作原理。如电脑时钟的工作原理为:每百分之一秒对计数一次,满100次秒加一,秒满60次分加一;并在数码管上显示时、分秒当前值。如果需要还要提出相应的技术指标。如电脑时钟要求显示的最小单位为秒,还是百分之一秒;温度测量系统要求测量多少路?测量精度是多少;收银机计算金额的范围多大,最小单位是否计分;交通灯控制系统测量车流量的最大频率是多少等。 3.1.2 硬件和软件功能的划分系统的硬件配置和软件设计是紧密地联系在一起的,且硬件和软件具有一定的互换性。多用硬件完成一些功能,可以提高工作速度,但降低了系统的柔性。若用软件替代某些硬件功能,可增加系统的柔性,但降低系统的工作速度。因此,总体设计时,应综合考虑,合理划分硬件和软件的功能。3.2 单片机运行的最小系统 3.1 stc89c52 性能stc89c52是一种带8k字节闪烁可编程可檫除只读存储器(fperom-flash programable and erasable read only memory )的低电压,高性能comos8的微处理器,俗称单片机。该器件采用atmel搞密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。at89c51功能性能:与mcs-51成品指令系统完全兼容;4kb可编程闪速存储器;寿命:1000次写/擦循环;数据保留时间:10年;全静态工作:0-24mhz;三级程序存储器锁定;256*8b内部ram;32个可编程i/o口线;2个16位定时/计数器;5个中断源;可编程串行uart通道;片内震荡器和掉电模式63.2 at89c52各引脚功能at89c52提供以下标准功能:8kb的flash闪速存储器,256b内部ram,32个i/o口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,at89c52可降至0hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存ram中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。at89c52采用pdip封装形式,引脚配置如图5所示7。图6 at89c51的引脚图at89c52芯片的各引脚功能为:p0口:这组引脚共有8条,p0.0为最低位。这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89c52不带外存储器,p0口可以为通用i/o口使用,p0.0-p0.7用于传送cpu的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89c52带片外存储器,p0.0-p0.7在cpu访问片外存储器时先传送片外存储器的低8位地址,然后传送cpu对片外存储器的读/写数据。p0口为开漏输出,在作为通用i/o使用时,需要在外部用电阻上拉。p1口:这8个引脚和p0口的8个引脚类似,p1.7为最高位,p1.0为最低位,当p1口作为通用i/o口使用时,p1.0-p1.7的功能和p0口的第一功能相同,也用于传送用户的输入和输出数据。p2口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用i/o口使用,它的第一功能和p0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像p0口那样传送存储器的读/写数据。p3口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,每个引脚并不完全相同,如下表2所示:表2 p3口各位的第二功能p3口各位第二功能p3.0 rxt(串行口输入)p3.1 txd(串行口输出)p3.2/int0(外部中断0输入)p3.3/int1(外部中断1输入)p3.4t0(定时器/计数器0的外部输入)p3.5t1(定时器/计数器1的外部输入)p3.6/wr(片外数据存储器写允许) p3.7/rd(片外数据存储器读允许)vcc为+5v电源线,vss接地。ale:地址锁存允许线,配合p0口的第二功能使用,在访问外部存储器时,89c52的cpu在p0.0-p0.7引脚线去传送随后而来的片外存储器读/写数据。在不访问片外存储器时,89c52自动在ale线上输出频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为外部时钟源或定时脉冲使用。/ea:片外存储器访问选择线,可以控制89c52使用片内rom或使用片外rom,若/ea=1,则允许使用片内rom, 若/ea=0,则只使用片外rom。/psen:片外rom的选通线,在访问片外rom时,89c52自动在/psen线上产生一个负脉冲,作为片外rom芯片的读选通信号。rst:复位线,可以使89c52处于复位(即初始化)工作状态。通常89c52复位有自动上电复位和人工按键复位两种。xtal1和xtal2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89c52片内osc(震荡器)的定时反馈回路。3.3 复位电路和时钟电路3.3.1 复位电路设计单片机在启动运行时都需要复位,使cpu和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。mcs-51单片机有一个复位引脚rst,采用施密特触发输入。当振荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位1。复位完成后,如果rst端继续保持高电平,mcs-51就一直处于复位状态,只要rst恢复低电平后,单片机才能进入其他工作状态。单片机的复位方式有上电自动复位和手动复位两种,图6是51系列单片机统常用的上电复位和手动复位组合电路,只要vcc上升时间不超过1ms,它们都能很好的工作1。 图1 复位电路3.3.2 时钟电路设计单片机中cpu每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。cpu执行一条指令的各个微操作所对应时间顺序称为单片机的时序。mcs-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,xtal1为该放大器的输入端,xtal2为该放大器输出端,但形成时钟电路还需附加其他电路1。本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和 2个电容即可,如图7所示。图8 时钟电路电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数,电路中,电容器c1和c2对震荡频率有微调作用,通常的取值范围是3010pf,在这个系统中选择了33pf;石英晶振选择范围最高可选24mhz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12mhz,因而时钟信号的震荡频率为12mhz。4.系统软件的设计5软硬件联调及调试结果 5.1软硬件调试中出现的问题及解决措施5.2 实物图 正反面 5.3 调试结果 结束语:什么事情都是万事开头难,本来单片机这个课程就学得不好,现在的课程设计就要重新看书,也等于学习并巩固了课本上的知识。在整个课程设计的过程中,我一共分了如下步骤:原理图的设计和程序的编写;最小系统的设计与焊接;主电路的焊接;对电路进行联调;给电路上电进行调试。我觉得焊接是最难的,首先要确定电路正确的情况下进行排布。我在焊接的时候没仔细看图,把一个排阻给漏掉了,所以就多引出了几根线。电路调试成功时特别有成就感。通过这次课程设计,我觉得学到的知识比学了一个学期的理论课有用的多,使我觉得理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实际相结合起来,从理论中得到结论,从实践中得到过程,从而提高自己的实际动手能力和独立思考的能力最后也要感谢张老师的耐心指导和同学们的帮助。参考文献:【1】肖洪兵. 跟我学用单片机. 北京:北京航空航天大学出版社,2002.8 【2】单片机c语言程序设计实训 100 例基于 8051+proteus仿真【3】赵晓安. mcs-51单片机原理及应用. 天津:天津大学出版社,2001.3 【4】李广第 单片机基础 第1版北京:北京航空航天大学出版社,1999 【5】徐惠民、安德宁 单片微型计算机原理接口与应用 第1版 北京:北京邮电大学出版社,1996 附录:附录一 可以调控的走马灯原理图附录2 可以调控的走马灯pcb图 ptoteuse 仿真图c语言程序清单:#include#define uchar unsigned char#define uint unsigned intuchar modeno;uint speed;uchar tcount=0;uchar idx;uchar mb_count=0;bit dirtect=1;uchar code dsy_code=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uint code stable=0,1,3,5,7,9,15,30,50,100,200,230,280,300,350;void delay(uint x) uchar i;while (x-) for(i=0;i8);void t0_tnt() interrupt 1 if (+tcount speed) return;tcount=0;switch (modeno) case 0: led_demo(0x0001 mb_count);break; case 2: if(dirtect) led_demo(0x000f mb_count); if(mb_count=15) dirtect =!dirtect; break; case 3: if(dirtect) led_demo(0x000f mb_count); if(mb_count=15) dirtect =!dirtect; break; case 4: if(dirtect) led_demo(0x003f mb_count); if(mb_count=15) dirtect =!dirtect; break; case 5: if(dirtect) led_demo(0x0001 mb_count); if(mb_count=15) d

温馨提示

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

评论

0/150

提交评论