设计一段单片机p0 p1 p2 p3程序 使p0口和p2口的十六个LED灯闪烁五种不同花样 急求!

扫二维码下载作业帮
2亿+学生的选择
下载作业帮安装包
扫二维码下载作业帮
2亿+学生的选择
单片机课程设计.麻烦给出程序,P1口接开关,P2口接LED灯.应用单片机AT89S52控制试验箱上led灯,按一下规律变化:1 从左流水到右流水,持续3秒;2 从两边向中间流水,再从中间向两边流水,持续2秒;3 L1 L3 L5 L7闪亮,再L0 L2 L4 L6闪亮,持续4秒,闪亮周期为一秒;4 全灭1秒钟,再从1开始;4 当有开关扳下时,保持当前状态2秒,再接着进行.
喜洋洋0738
扫二维码下载作业帮
2亿+学生的选择
#include#define uchar unsigned charuchar lsled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uchar lsled1[7]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e};void t0isr() interrupt 1{TH0=()/256;TL0=()%256;num++;flag=1;}main(){TMOD=0x01;TH0=()/256;TL0=()%256;ET0=1;EA=1;while(1) { num=0; i=0; flag=0; while(num
其他类似问题
扫描下载二维码基于AT89C51单片机的LED彩灯控制器设计
基于AT89C51单片机的LED彩灯控制器设计
发布: | 作者:-- | 来源: -- | 查看:846次 | 用户关注:
  随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。LED彩灯由于其丰 富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用 彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等
  随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。LED彩灯由于其丰 富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用 彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态 参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。
  本文提出了一种基于AT89C51单片机的彩灯控制方案,实现对LED彩灯的控制。本方案以AT89C51单片机作为主控核心,与键盘、显示、驱动等模块组成核心主控制模块。在主控模块上设有8个按键和5位七段码LED显示器,根据用户需要可以编写若干种亮灯模式,利用其内部定时器T0实现一个基本单位时间为5 ms的定时中断,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或
灭。该新型LED彩灯及其控制器是上海某公司委托开发产品,产品实际应用效果较好,亮灯模式多,用户可以根据不同场合和时间来调节亮灯频率和亮灯时间。与普通LED彩灯相比,具有体积小、价格低、低能耗等优点。?
  2系统功能
  新型LED彩灯分为2部分,即彩灯控制器(主控模块)和管内LED板模块(受控模块)。彩灯控制器可直接与220 V交流市电相连接,经过开关电源变换,输出直流工作电压,一方面为管内LED模块提供12 V工作电源,另一方面为主控模块单片机系统(彩灯控制器)提供5 V工作电源。整个系统工作由软件程序控制运行,根据需要,用户可以在LED彩灯工作时通过主控模块上的按键来设定亮灯时间和灯光闪动频率。
  上电后系统经过初始化,查询是否有功能切换键按下:有,则进入用户设定模式状态;无,则进入默认缺省工作状态。在用户设定模式状态下,用户可以根据个人爱好及不同场合的需要来指定调用哪些模式,并且可以改变每种模式的时间Ti、频率Fi参数,如果用户想进入缺省状态模式,只需按一下功能切换键即可跳入缺省模式,程序会自动顺序调用亮灯模式;在缺省工作状态下,LED彩灯控制器按照程序设定好的若干亮灯花样模式程序Model_i顺序调用往下走,从第Model_1模式开始工作,自Model_1到Model_2&&到Mod el_n为一个亮灯周期,然后再回到Model_1循环继续工作,同样如果想进入用户设定模式状态,只需按下功能切换键即可。整个n种亮灯模式时间可以看作一个大周期T,其中的每一种花样工作模式Model_i(i=1,2,&,n)时间为小周期Ti,对于每一个模式编写一个独立工作子程序Model_i,其中设定了LED三色灯(红、绿、蓝)的点亮时刻(RED_on,GREEN_on,BLUE_on)和熄灭时刻(RED_off,GREEN_off,BLU E_off),以及模式工作时间Ti以及该模式LED闪烁频率Fi。5位七段码显示器的前2位(L1,L2)显示当前工作模式的序号Model_i;后3位(L3,L4,L5)七段码 显示三色LED的工作状态,若该颜色灯点亮则对应七段码显示位为&1&,反之熄灭时则显示位为&灭&即不显示,对系统工作状态起到了很好的实时监控作用。
  因此在LED彩灯上电工作后,用户可以方便地通过主控模块上的显示器知道LED彩灯当前工作模式Model_i,工作时间Ti,频率Fi等实时参数。若实际应用需要根据不同场合和时间来改变彩灯闪亮效果,用户可以通过主控模块上的按键来设定LED不同的闪烁频率Fi和亮灯时间Ti,以便符合实际需要。此外如果用户对某一种模式感兴趣需要仔细观看该种亮灯模式,可以通过键盘选定任意第Model_i模式使系统循环重复工作在该花样模式下。?
  3硬件设计
  新型LED彩灯系统包括2大部分,即LED彩灯控制器(89C51主控模块)和LED彩灯管(管内LED板模块)。前者是主控模块,具有按键、显示等功能,并利用89C51的P口输出控制信号;后者是受控模块,上面焊有三色LED彩灯和信号驱动芯片,模块置于LED的透明灯管内。
  3.1主控模块电路设计
  主控模块电路如图1所示。主控模块主要设计器件有89C51,5个七段码LED显示器,8个按键,2个稳压器(提供12 V,5 V电压),1个信号输出驱动模块芯片(MC4049)等。通过软件设计,使单片机P0口作为三色LED驱动信号输出口及移位时钟CLOCK信号,P3口为按键输入口,P2口、P1口与5位七段码LED相接作为显示器的输出口。
  3.2管内LED板模块设计
  管内LED板模块电路见图2。管内LED板模块设计主要器件有LED彩灯(红、绿、蓝)、移位触发模块芯片CD4076等。根据实际应用彩灯长度需要,可将不同数量的该管内LED模块实现级连,组成一个完整的LED彩灯。考虑到功率损耗,LED板模块之间接口处用信号正向驱动模块芯片MC4049连接。每个LED板模块上均匀分布3种颜色 LED灯,在实际制作PCB时采用红、绿、蓝3色互隔焊接方式,在电路板上把LED发光管按顺序L1(红)、L2(绿)、L3(蓝)、L4(红)、L5(绿)、L6(蓝)&&依次均匀焊在板上成一条直线。为了得到更多的花样模式效果,可以使红绿2种灯从前往后驱动点亮闪烁,蓝灯从后往前驱动点亮闪烁,这样具有很好的动感视觉效果。
  4软件设计
  新型LED彩灯控制器最大特点在于所有亮灯模式均由软件控制完成。系统中软件可以分为主程序和中断服务子程序。上电后在缺省状态以顺序调用Model_i花样亮灯模式流程为主程序,以一个单位时间5 ms的T0定时为中断服务子程序。在这个5 ms的T0定时基础上,可以根据需要来确定各种模式工作时间Ti,以及确定在各种亮灯模式Mo
de l_i内点亮和熄灭各种颜色LED灯的时刻:Red_on,Red_off,Green_on,Green_off,Blue_on,blue_off以及Clock(移位翻转脉冲)等。整个系统软件由主程序( Main)、各个模式子程序(Model_i)、5 ms中断服务子程序(T0 Interrupt)、键盘扫描处理子程序(Key Board)、显示子程序(Display)等程序组成。利用T0定时器作为定时基本单位,根据模式需要计算好各控制信号的发生时刻,根据不同的模式Mo del_i可以设定不同的工作时间Ti和脉冲翻转频率Fi通过P0口输出,使各色L ED灯的驱动时刻与移位触发的翻转时刻步调一致,使LED彩灯按照设计的模式工作。
  除了T0定时中断之外,程序的大部份时间是在处理按键的查询和LED显示的延时。8个按键分别为:4个参数按键(Fi增、减按键,Ti增、减按键),3个模式改变按键(模式上翻UP、模式下翻DOWN、模式保持KEEP),1个功能切换按键。在每次的T0定时中断服务子程序里,需要对各个时间寄存器和模式寄存器进行加1或者清,为主程序查询作准备,同时查询是否已中断6次(30 ms),若30 ms到了,则对参数按键查询一次,是否有时间Ti频率Fi增减键按下并进行相应子程序处理。
  主程序除了调用各种子模式子程序(Model_i),调用LED显示子程序(Display)和延时子程序(Delay)之外,还一直保持查询是否有功能切键按下以及是否有模式改变按键按下,一旦有功能切换键和模式改变键按下,就会进入相应的按键处理。主程序流程如图3所示。亮灯模式子程序Model_i可以编写若干(n种),只要控制好各色灯触发和熄灭时刻就可以组合成各种亮灯效果。Model_i程序流程如图4所示。
  下面以第一种模式工作为例。
  与市面上大多数的LED彩灯相比,该种彩灯具有更好的灯光装饰效果,性价比更高,与普通的全硬件LED彩灯相比具有更好的经济效益。应用主控模块输出的控制信号去控制灯管内的L ED板模块工作,使得产品性能稳定,便以安装容易操作。由于控制程序存储在89C51单片机 的电可擦除Flash闪存EPROM中,如果用户需要更改系统的亮灯模式Model_i,无须改变系统硬件电路,只需修改其中程序即可,是一种很有发展前途的彩灯控制器。
  参考文献
  [1]蔡美琴,张为民,沈新群等.MCS51系列单片机系统及其应用[M].北京:高等教育出版社,1992.
  [2]何立民.单片机应用技术选篇(5)[M].北京:北京航空航天大学出版社,1997.
  [3]杨光友.单片机微型计算机原理及接口技术[M].北京:中国水利水电出版社,2002
本页面信息由华强电子网用户提供,如果涉嫌侵权,请与我们客服联系,我们核实后将及时处理。
应用与方案分类
一些刚刚涉足维修的电子爱好者,往往觉得这些采用开关电源的《单片机课程设计花样流水灯》
<meta name="description" content="
郑州工业应用设计学院
课程设计说明书
题第一文库网目:
花样流水灯设计
院 (系):机电工程学院
专业班级:11级电气工程及其自动化四班
指导教师:杨坤漓 宋东亚
<meta property="og:description" content="【摘要】:
郑州工业应用设计学院
课程设计说明书
题第一文库网目:
花样流水灯设计
院 (系):机电工程学院
专业班级:11级电气工程及其自动化四班
指导教师:杨坤漓 宋东亚
单片机课程设计花样流水灯
郑州工业应用设计学院课程设计说明书题第一文库网目:
花样流水灯设计姓
李行院 (系):机电工程学院专业班级:11级电气工程及其自动化四班学
号:指导教师:杨坤漓 宋东亚成
绩:时间: 2014
年 12 月 23 日至 2014
29日郑州工业应用设计学院课程设计任务书题
花样流水灯设计专业、班级 12级电气工程及其自动化四班学号 姓名
李行主要内容、基本要求、主要参考资料等:主要内容:利用单片机控制16个发光二极管模拟的彩灯按照一定的规律点亮、熄灭、闪烁。基本要求:1.实现发光二极管的多样化显示;2.利用proteus软件完成设计电路和仿真;3.掌握相关芯片和电子元件的使用方法;4.通过此次设计将单片机软硬件结合起来对程序进行编辑、校验,锻炼实践能力和理论联系实际的能力。主要参考资料:[1]李全利,单片机原理及接口技术[M],高等教育出版社[2]王文杰,单片机应用技术[M],冶金工业出版社[3]朱清慧,PROTEUS教程——电子线路设计、制版与仿真[M],清华大学出版社[4]单片机实验指导书,天煌教仪[5]彭伟,单片机C语言程序设计实训100例[M],电子工业出版社完
指导教师签名:课程负责人签名:年
日目录绪论 ................................................................................................................................................................ 11 课程设计的目的和要求............................................................................................................................. 21.1 设计目的 ......................................................................................................................................... 21.2 设计要求 ......................................................................................................................................... 22 总体设计 .................................................................................................................................................... 32.1 硬件总体设计.................................................................................................................................. 32.1.1 设计思想............................................................................................................................... 32.1.2 原件清单............................................................................................................................... 32.1.3 模块分析............................................................................................................................... 32.2软件总体设计................................................................................................................................... 43 硬件设计 .................................................................................................................................................... 53.1 AT89C51单片机的硬件结构 .......................................................................................................... 53.1.1主要特性................................................................................................................................ 53.1.2主要引脚功能 ........................................................................................................................ 63.1.3外部总线结构 ........................................................................................................................ 73.1.4振荡器特性 ............................................................................................................................ 83.1.5芯片擦除................................................................................................................................ 83.2硬件电路设计................................................................................................................................... 83.2.1震荡电路................................................................................................................................ 83.2.2LED电路显示 ...................................................................................................................... 103.2.3复位电路.............................................................................................................................. 104软件设计 ................................................................................................................................................... 124.1主程序设计 .................................................................................................................................... 124.2子程序设计 .................................................................................................................................... 134.3流水灯控制码程序设计 ................................................................................................................. 134.4程序流程图 .................................................................................................................................... 145使用proteus软件调试仿真说明 .............................................................................................................. 155.1 Proteus的介绍................................................................................................................................ 155.2 Proteus的特点................................................................................................................................ 155.3 Proteus的使用方法 ........................................................................................................................ 155.4电路原理图的设计方法 ................................................................................................................. 165.5仿真过程 ........................................................................................................................................ 176测试数据 ................................................................................................................................................... 197附录 ........................................................................................................................................................... 207.1花样流水灯程序............................................................................................................................. 207.2花样流水灯总线路图 ..................................................................................................................... 21结束语 .......................................................................................................................................................... 23参考文献 ...................................................................................................................................................... 24I绪论随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯不断变化闪烁。LED灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。流水灯是一串按一定的规律像流水一样连续闪亮。流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便利。通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。本案例利用价格低廉的AT89C51系列单片机控制基色LED灯泡从而实现丰富的变化。关键词:AT89C51,LED灯,单片机,花样流水灯1 课程设计的目的和要求1.1 设计目的近年来随着科技的发展,单片机的应用正在不断走向深入,同时带动传统控制检测日新月异更新,在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象点的软件结合,加以完善。流水灯,可以更简单、方便的使用。通过本课程设计使学生进一步巩固单片机原理及应用的基本概念、基本理论,分析问题的基本方法,增强系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。培养一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案。1.2 设计要求设计流水灯的基本要求:设计一个流水灯,应用AT89C51试验系统,电路开启后红、绿两种颜色的灯在时钟信号作用下按一定规律转换状态。2 总体设计2.1 硬件总体设计2.1.1 设计思想整个系统工作由软件程序控制运行,根据需要,可以上电后系统经过初始化,入用户设定模式状态。基于AT89C51单片机的彩灯控制方案,实现对LED彩灯的控制。本方案以AT89C51单片机作为主控核心,与驱动等模块组成核心主控制模块。在主控模块上设有晶振电路和16个LED显示二极管,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号。2.1.2 原件清单2.1.3 模块分析(1)核心部件89C51单片机是整个彩灯循环系统的核心是控制彩灯循环闪烁等等一切功能的部件;其中内部有ROM、有RAM、有并行I/O口等,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。(2)复位系统电路中C1、R2,,,,组成复位电路,它的作用是将单片机内部特殊功能寄存器和端口寄存器恢复到初始状态,从内部FLASH存储器的初始状态开始执行(3)震荡系统单片机本身如同一个复杂的同步时序电路,为了保证同步工作,电路应在唯一的时钟信号控制下,严格地按规定时序工作。而时钟电路就用于产生单片机工作所需要的时钟信号。(4)闪烁系统利用单片机的P口控制LED的发光闪烁,再利用编程实现流水灯的电路,用软件来实现对LED的控制,每个LED接一个限流电阻,来控制流入LED发光管的电流。图2-1 硬件系统方框图2.2软件总体设计用查表的方法控制点亮流水灯DB 0FFH,7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7H,0FFHDB 7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7HDB 7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7HDB 0FFH,7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7H,0FFH3 硬件设计3.1 AT89C51单片机的硬件结构由图3-1可以看出,单片机内部主要包含下列几个部件:一个8位CPU;一个时钟电路;4Kbyte程序存储器;128byte数据存储器;两个16位定时/计数器;64Kbyte扩展总线控制电路;四个8-bit并行I/O端口;一个可编程串行接口;五个中断源,其中包括两个优先级嵌套中断。图3-1 AT89C51硬件结构框图3.1.1主要特性AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改编程序或用常规的非易失性存储器编程。因此,AT89C51是一种功能强、灵活性高且价格合理的单片机,可方便的应用于各种控制领域。3.1.2主要引脚功能1.电源引脚Vcc和VssVcc:电源端,接+5V。Vss:接地端。通常在Vcc和Vss引脚之间接0.1μ高频滤波电容。2.时钟电路引脚XTAL1和XTAL2XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。3.地址锁存允许ALE在系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。当单片机上电正常工作后,ALE端就周期性地以时钟频率的1/6的固定频率向外输出正脉冲信号,ALE的负载能力为8个LSTTL器件。4.外部程序存储器读选通信号它在每个机器周期中两次有效。5.程序存储器地址允许输入端当/VPP
为低电平时,CPU只执行片外程序存储器必须接低电平。
为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,
是读外部程序存储器的选通信号,低电平有效。CPU从外部存储器取指令时,将自动转向执行片外程序存储器指令。当指令。对于8031,由于其无片内ROM,故6.复位信号RST该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。此外,该引脚还有掉电保护功能,若在该端接+5V备用电源,在使用中若Vcc掉电,可保护片内RAM中信息不丢失。7.输入/输出口引脚P0、P1、P2和P3P0口(P0.0~P0.7):该端口为漏极开路的8位准双向口,负载能力位8高LSTTL负载,它为8位地址线和8位数据线的复用端口。P1口(P1.0~P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。P2口(P2.0~P2.7):它为一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。在访问外部程序存储器时,它作存储器的高8位地址线。P3口(P3.0~P3.7):P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有特殊功能。3.1.3外部总线结构所谓总线,就是连接单片机与各外部器件的一组公共的信号线。当系统要求扩展时,单片机要与一定数量的外部器件和外围设备连接。如果各部件及每一种外围设备都分别用各自的一组线路与CPU直接连接,那么连线将会错综复杂,甚至难以实现。为了简化硬件电路的设计和系统结构,常用一组线路,并配以适当的接口电路来与各个外部器件和外围设备连接,这组共用的连接线路就是总线。采用总线结构便于扩展外部器件和外围设备,而统一的总线标准则使不同设备间的互连更容易实现。利用片外引脚可以构造MCS-51系列单片机的三总线结构。单片机的引脚除了电源端VCC、接地端VSS、复位端RST、晶振接入端XTAL1和XTAL2、通用I/O口的P1.0~P1.7以外,其余的引脚都是为实现系统扩展而设置的。用这些引脚构造的单片机系统的三总线结构如图3-2所示。图3-2 MCS-51系列单片机片外三总线结构(1)地址总线(Address Bus,AB):MCS-51系列单片机总共有16根地址线A15~ A0,片外存储器可寻址范围达64KB(216=65536字节),由P2口直接提供高8位地址A15~ A8,P0口经地址锁存器提供低8位地址A7~ A0。(2)数据总线(Data Bus,DB):MCS-51系列单片机总共有8根数据线D7~D0,全由P0口提供。由于P0口是分时复用总线,分时输送低8位地址(通过地址锁存器锁存)和高8位数据信息。(3)控制总线(Control Bus,CB):控制总线由P3口的第二功能WR(P3.6)、RD(P3.7)和3根独立的控制线EA、ALE、PSEN组成。3.1.4振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度3.1.5芯片擦除AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.2硬件电路设计3.2.1震荡电路为彩灯循环系统提供稳定频率波在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,引入唯一的外部脉冲信号作为各单片机的振荡脉冲。这时外部的脉冲信号是经单片机89C51的XTAL2引脚注入的;在MCS-51单片机片内有一个高增益的反相放大器,反相放大器的输入端为XTAL1,输出端为XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,可构成稳定的自激振荡器,振荡频率范围通常是1.2~12MHz。晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。图3-4 震荡电路晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。 MCS-51单片机时钟电路示意图如图4所示。二分频状态时钟ALE机器周期图3-5
MCS-51单片机时钟振荡电路示意图振荡电路产生的振荡脉冲并不直接使用,而是经分频后再为系统所用。振荡脉冲在片内通过一个时钟发生电路二分频后才作为系统的时钟信号。片内时钟发生电路实质上是一个二分频的触发器,其输入来自振荡器,输出为二相时钟信号,即状态时钟信号,其频率为fosc/2;状态时钟三分频后为ALE信号,其频率为fosc/6;状态时钟六分频后为机器周期,其频率为fosc/12。在图3-4中,使用晶体振荡器时,C1、C2取值30±10pF;使用陶瓷振荡器时,C1、C2取值40±10pF。C1、C2的取值虽然没有严格的要求,但电容的大小影响振荡电路的稳定性和快速性,通常取值20~30pF。在设计印制电路板时,晶振和电容等应尽可能靠近芯片,以减少分布电容,保证振荡器振荡的稳定性。也可以由外部时钟电路向片内输入脉冲信号作为单片机的振荡脉冲。这时外部脉冲信号是经XTAL1引脚引入的,而XTAL2引脚悬空或接地。对外部信号的占空比没有要求,但高低电平持续的时间不应小于20ns。这种方式常用于多块芯片同时工作,便于同步。其外部脉冲接入方式如图3-6所示。图3-6 MCS-51单片机外部时钟输入接线图所谓时序,是指在指令执行过程中,CPU的控制器所发出的一系列特定的控制信号在时间上的先后关系。CPU发出的控制信号有两类:一类是用于单片机内部的,用户不能直接接触此类信号,不必对它作过多了解;另一类是通过控制总线送到片外的,人们通常以时序图的形式来表示相关信号的波形及出现的先后次序。为了说明信号的时间关系,需要定义时序单位。89C51的时序单位共有四个,从小到大依次是拍节、状态、机器周期和指令周期。如图3-4所示。3.2.2LED电路显示如图所示,P0口控制LED灯D1~D8的显示,P2口控制LED灯D9~D16的显示。限流电阻为470欧姆,经过的电流大概为10mA。3.2.3复位电路当要对晶片重置时,只要按开关就能完成LED和开关的重置。复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。单片机的RST管脚为主机提供了一个外部复位信号输入口。复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。单片机的复位方式可由手动复位完成。RST引脚是复位信号输入端,复位信号为高电平有效,其有效时间应持续24个周期以上才能完成复位操作,若使用6MHZ晶振,则持续4微秒以上才能完成复位操作。CPU在第二个机器周期内执行复位操作,以后每个机器周期重复一次,直至RST端电平变低。在单片机复位期间,ALE和PSEN信号都不产生。复位操作将对部分专用寄存器产生影响,复位后,这些内部寄存器状态如表3-1.表3-1部分专用寄存器复位状态上电瞬间由于电容C上无储能,其端电压近似为零,RST获得高电平,随着电容器C的充电,RST引脚上的高电平将逐渐下降,当RST引脚上的电压小于某一数值后,单片机就脱离复位状态,进入正常工作模式,只要高电平能保持复位所需要的时间(约两个机器周期),单片机就能实现复位。4软件设计4.1主程序设计MAIN:MOV P2,#00H
MOV A,#01H
CLR CY LOOP1:MOV P0,A
ACALL DELAY
RLC ADJNZ R0,LOOP1
MOV A,#80H LOOP2:MOV P2,A
ACALL DELAY
RRC ADJNZ R1,LOOP2
MOV R2,#4 LOOP3:MOV P0,#55H
MOV P2,#0AAH
ACALL DELAY
MOV P0,#0AAH
MOV P2,#55H
ACALL DELAY
DJNZ R2,LOOP3
MOV R3,#3 LOOP4:MOV P0,#7EH
MOV P2,#7EH
ACALL DELAY
MOV P0,#0BDH
MOV P2,#0BDH
ACALL DELAY
MOV P0,#0DBH
MOV P2,#0DBHACALL DELAY
MOV P0,#0E7H
MOV P2,#0E7H
ACALL DELAY
MOV P0,#0DBH
MOV P2,#0DBH
ACALL DELAY
MOV P0,#0BDH
MOV P2,#0BDH
ACALL DELAY
MOV P0,#7EH
MOV P2,#7EH
DJNZ R3,LOOP4
MOV R4,#52
MOV A,#0 LOOP5:MOV A,R5
MOV DPTR,#TAB
MOVC A,@A+DPTR
ACALL DELAY
ACALL DELAY
DJNZ R4,LOOP5
LJMP MAIN4.2子程序设计DELAY:MOV R6,#00H
L1:MOV R7,#00H
L2:DJNZ R7,L2
DJNZ R6,L1
END4.3流水灯控制码程序设计设计一个表,让用查表的方式点亮流水灯,主要代码如下:TAB:DB 0FFH,7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7H,0FFH
DB 7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7H
DB 7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7HDB 0FFH,7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7H,0FFH在仿真中可以看到led灯按照表中的数据点亮。4.4程序流程图图4-1程序流程图5使用proteus软件调试仿真说明5.1 Proteus的介绍Proteus软件由ISIS和ARES两部分构成,其中ISIS是一款便捷的电子系统原理设计和仿真平台软件,ARES是一款高级的PCB布线编辑软件。Proteus是目前最好的模拟单片机外围器件的工具,与其他单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。因此在仿真和调试程序时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,解决了实验和工程应用间脱节的矛盾。5.2 Proteus的特点实现了单片机仿真和SPICE电路仿真的结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真等功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。具有强大的原理图绘制功能。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。5.3 Proteus的使用方法点状的栅格区域为编辑窗口,左上方为预览窗口,左下方为元器件列表区,即对象选择器编辑窗口用于放置元器件,进行连线,绘制原理图。预览窗口可以显示全部原理图。在预览窗口中,有两个框,蓝框表示当前页的边界,绿框表示当前编辑窗口显示的区域。当从对象选择器中选中一个新的对象时,预览窗口可以预览选中的对象。在预览窗口上单击,Proteus ISIS将会以单击位置为中心刷新编辑窗口。5.4电路原理图的设计方法原理图的具体设计步骤如下:(1) 新建设计文档。在进入原理图设计之前,首先要构思好原理图,即必须知道所设计的项目需要哪些电路来完成,用何种模板;然后在Proteus ISIS编辑环境中画出电路原理图 。(2) 设置工作环境。根据实际电路的复杂程度来设置图纸的大小等。在电路图设计的整个过程中,图纸的大小可以不断地调整。设置合适的图纸大小是完成原理图设计的第一步。(3) 放置元器件。首先从添加元器件对话框中选取需要添加的元器件,将其布置到图纸的合适位置,并对元器件的名称、标注进行设定;再根据元器件之间的走线等联系
(4)对原理图进行布线。根据实际电路的需要,利用Proteus ISIS编辑环境所提供的各种工具、命令进行布线,将工作平面上的元器件用导线连接起来,构成一幅完整的电路原理图。(5) 建立网络表。在完成上述步骤之后,即可看到一张完整的电路图,但要完成印对元器件在工作平面上的位置进行调整和修改,使得原理图美观、易懂。制版电路的设计,还需要生成一个网络表文件。网络表是印制版电路与电路原理图之间的纽带。(6) 原理图的电气规则检查。当完成原理图布线后,利用Proteus ISIS编辑环境所提供的电气规则检查命令对设计进行检查,并根据系统提示的错误检查报告修改原理图。(7) 调整。如果原理图已通过电气规则检查,那么原理图的设计就完成了,但是对于一般电路设计而言,尤其是较大的项目,通常需要对电路进行多次修改才能通过电气规则检查。(8) 存盘和输出报表。Proteus ISIS提供了多种报表输出格式,同时可以对设计好的原理图和报表进行存盘和输出打印。5.5仿真过程Proteus Isis仿真时,单片机需要加载程序,加载程序为.HEX文件。本设计利用proteus,在proteus中的source下拉框中选择add/removesource files新建汇编语言程序文件,然后用鼠标点击OK.在source下拉框中新建的汇编语言程序文件里写入汇编语言程序,写完之后在“source”选项中选择“build all”选项进行编译,如有错误则在刚刚新建的汇编语言程序文件里面进行修改,如果正确则会自动生成.HEX文件,然后就可以开始仿真了。6测试数据通过程序可以实现花样流水灯的不同形式变换,如图是流水灯的依次点亮图6-1 花样流水灯依次点亮7附录7.1花样流水灯程序ORG 0000H
MAIN:MOV P2,#00H
MOV A,#01H
CLR CY LOOP1:MOV P0,A
ACALL DELAY
RLC ADJNZ R0,LOOP1
MOV A,#80H LOOP2:MOV P2,A
ACALL DELAY
RRC ADJNZ R1,LOOP2
MOV R2,#4 LOOP3:MOV P0,#55H
MOV P2,#0AAH
ACALL DELAY
MOV P0,#0AAH
MOV P2,#55H
ACALL DELAY
DJNZ R2,LOOP3
MOV R3,#3 LOOP4:MOV P0,#7EH
MOV P2,#7EH
ACALL DELAY
MOV P0,#0BDH
MOV P2,#0BDHACALL DELAY
MOV P0,#0DBH
MOV P2,#0DBH
ACALL DELAY
MOV P0,#0E7H
MOV P2,#0E7H
ACALL DELAY
MOV P0,#0DBH
MOV P2,#0DBH
ACALL DELAY
MOV P0,#0BDH
MOV P2,#0BDH
ACALL DELAY
MOV P0,#7EH
MOV P2,#7EH
DJNZ R3,LOOP4
MOV R4,#52
MOV A,#0 LOOP5:MOV A,R5
MOV DPTR,#TAB
MOVC A,@A+DPTR
ACALL DELAY
ACALL DELAY
DJNZ R4,LOOP5
LJMP MAIN7.2花样流水灯总线路图结束语通过这次课程设计我学到了很多东西,我更加体会到理论知识与动手能力相结合的重要性,而且设计过程中使我懂得在设计程序之前,务必要对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源:懂得设计的关键是要有一个清晰的思路和一个完整的软件流程图。在设计程序时,不能妄想一次就将整个程序设计好,“反复修改,不断改进”是程序设计的必经之路。要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你思路,这样也为资料的保存和交流提供了方便。整个设计的过程中,还是碰到了一些问题 。比如,对于键盘的延时防抖问题不能较好的解决;对于编程的顺序及各模块程序调用掌握得还不够好;对于一些相关的应用软件没能熟练掌握。通过这几天的反复思考,以及参考网上的程序,最终还是完成了设计。设计中我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,在动手的过程中,不仅能增强实践能力,而且在理论上可以有更深的认识参考文献[1]李全利,单片机原理及接口技术[M],高等教育出版社 [2]王文杰,单片机应用技术[M],冶金工业出版社[3]朱清慧,PROTEUS教程——电子线路设计、制版与仿真[M],清华大学出版社 [4]单片机实验指导书,天煌教仪[5]彭伟,单片机C语言程序设计实训100例[M],电子工业出版社本文由()首发,转载请保留网址和出处!
免费下载文档:

我要回帖

更多关于 单片机p0 p1 p2 p3 的文章

 

随机推荐