版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
苏州市职业大学课程设计任务书课程名称:单片机原理与应用课程设计起讫时间:2011年6月27日----7月3日院系:电子信息工程系班级:指导教师:系主任:苏州市职业大学课程设计说明书名称单片机原理与应用课程设计2011年6月27日至2011年7月3日共1周院系电子信息工程系班姓级名学号系主任张红兵教研室主任陆春妹指导教师刘淑芬目录第一章绪论1.1WAVE的简单介绍1.2Protues简介1.3单片机的特点1.4电脑时钟简介1.4.1电脑时钟的基本特点1.4.2电脑时钟的原理第二章系统设计方案2.1工作原理图2.2元器件清单2.3系统工作原理第三章主要元器件介绍3.1AT89C513.1.1AT89C51封装图3.1.2AT89C51主要引脚及功能介绍3.2数码管3.3键盘电路设计第四章控制系统的设计4.1程序介绍4.1.1主程序4.1.2数码管显示模块4.1.3定时器/计数器T0中断服务程序4.1.4按键处理模块4.2程序代码4.3程序仿真4.3.1伟福软件仿真4.3.2Proteus7仿真第五章实验心得参考文献第一章绪论单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。起初模型1.SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。MicroControllerUnit2.MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。嵌入式系统单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。1.1WAVE的简单介绍编辑、编译、下载、调试全部集中在一个环境下。多种仿真器,多类CPU仿真全部集成在一个环境下。可仿真51系列,196系列,PIC系列,飞利蒲公司的552、LPC764、DALLAS320,华邦438等51增强型CPU。为了跟上形势,现在很多工程师需要面对和掌握不同和项目管理器、编辑器、编译器。他们由不同的厂家开发,相互不兼容,使用不同的界面。学习使用都很吃力。伟福WINDOWS调试软件为您提供了一个全集成环境,统一的界面,包含一个项目管理器,一个功能强大的编辑器,汇编Make、Build和调试工具并提供一个与第三方编译器的接口。1.2Protues简介ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本章介绍ProteusISIS软件的工作环境和一些基本操作。1.3单片机的特点1.单片机的存储器ROM和RAM时严格区分的。ROM称为程序存储器,只存放程序,固定常数,及数据表格。RAM则为数据存储器,用作工作区及存放用户数据。2.采用面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。3.单片机的I/O口通常时多功能的。由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。4.单片机的外部扩展能力很强。在内部的各种功能部件不能满足应用的需求时,均可在外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便。1.4电脑时钟简介本作品采用Atmel公司的AT89C51单片机,以汇编语言为程序设计的基础,设计一个用八位数码管显示时、分、秒的时钟。现代的电脑时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时清零。从而达到计时的功能。1.4.1电脑时钟的基本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。1.4.2电脑时钟的原理该电脑时钟由89C51,BUTTON,八位七段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中共设计了四个控制键,拥有多种不同的功能,按钮1为复位键,可以实现整个系统的复位,按钮2为时间调节选择按钮,可以选择调节时或分,按钮3、4完成的则是对时间的调节。第二章系统设计方案2.1工作原理图2.2元器件清单元件名称元件个数功能注释89C51或82C51都能完成任务AT89C511单片机芯片八位七段数码管电阻330Ω电阻10K电容33uF振荡器184214时间显示保护电路保护电路振荡电路振荡电路控制7SEG-MPX8-CA-BLUEMINRES330RMINRES10K石英晶体振荡器复位1个,调节时间3个按钮2.3系统工作原理通过对多种单片机性能的分析,最终认为89C51是最理想的电脑时钟开发芯片。89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。1.单片机发送的信号通过程序控制最终在数码管上显示出来。2.单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。3.为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数码管上显示的时间。4.设计的电路主要由三模块构成:单片机控制电路,显示电路、及校正电路。5.本设计采用汇编语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。设计采用的是时、分、秒显示,单片机对数据进行处理同时在数码管上显示第三章主要元器件介绍3.1AT89C513.1.1AT89C51封装图图3.1AT89C51单片机3.1.2AT89C51主要引脚及功能介绍VCC:电源。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。3.2数码管数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为7段,即7个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的7段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用7位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。本次实验应用的是八位七段数码管。图3.2八位七段数码管3.3键盘电路设计本系统设置了4个按钮,其功能如下:如果没有按键按下,则时钟正常走时。当按下按钮1时,系统会进入复位状态;当按下按钮2时,进入调时/调分选择状态,时钟停止走动;此时按下按钮3和按钮4可以进行加一和减一操作;继续按下按钮2键可以分别进行分和小时的调整;最后按下按钮2键启动计时。图3.3控制键第四章控制系统的设计4.1程序介绍4.1.1主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有按键按下时,则转入相应的功能程序。4.1.2数码管显示模块本实验有8个数码管,从右到左为秒、横线、分、横线、时。在本系统中数码管显示采用软件译码动态显示。在存储器中首先建立一张显示信息的字段码表,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在字段表中查出所显示的信息的段码,从P0端口输出,同时在P2端口进行数码管显示。4.1.3定时器/计数器T0中断服务程序T0用于计时,选中方式一,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加一。秒单元加到60则对分单元加一,同时秒单元清0;分单元加到60则对时单元加一,同时分单元清0;时单元加到24则对时单元清0。4.1.4按键处理模块按键设置为:如果没有按键按下,则时钟正常走时。当按下按钮1时,系统会进入复位状态;当按下按钮2时,进入调时/调分选择状态,时钟停止走动;此时按下按钮3和按钮4可以进行加一和减一操作;继续按按钮2键可以分别进行分和小时的调整;最后按按钮2键启动计时。4.2程序代码具体程序清单如下:ORG0000HLJMPSTARTORG000BHLJMPINIT0START:MOVR0,#70HMOVR7,#0CHINIT:MOV@R0,#00HINCR0;主程序开始DJNZR7,INITMOV72H,#10MOV75H,#10;对连字符进行装值MOVTMOD,#01H;选择定时器/计数器T0的方式1MOVTL0,#0B0HMOVTH0,#03CHSETBEA;对低位赋初值;高位赋初值SETBET0SETBTR0START1:LCALLSCANLCALLKEYSCANSJMPSTART1DL1MS:MOVR6,#14HDL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1;延时1子程序RETDL20MS:ACALLSCANACALLSCANACALLSCAN;延时20ms子程序RET;数码管显示程序开始SCAN:MOVA,78HMOVB,#0AHDIVAB;时间秒的十位送给A,时间秒的个位送BMOV71H,AMOV70H,BMOVA,79HMOVB,#0AHDIVAB;时间秒要显示的十位;时间秒要显示的个位;时间分的十位送给A,时间分的个位送B;时间分要显示的十位送地址MOV74H,AMOV73H,BMOVA,7AHMOVB,#0AHDIVAB;时间分要显示的个位送地址;时间时的十位送给A,时间时的个位送B;时间时显示的十位送地址MOV77H,AMOV76H,BMOVR1,#70H;时间时要显示的个位送地址MOVR5,#0FEHMOVR3,#09HSCAN1:MOVA,R5MOVP1,A;数码管的显示程序MOVA,@R1MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,A;对字段表取值显示MOVA,R5LCALLDL1MSINCR1MOVA,R5RLAMOVR5,ADJNZR3,SCAN1MOVP1,#0FFHMOVP0,#0FFHRET;"0~9"和"-"的字段表TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;定时/计数器T0中断程序INIT0:PUSHACCPUSHPSWCLRET0CLRTR0MOVTL0,#0B0HMOVTH0,#03CHSETBTR0INC7BHMOVA,7BHCJNEA,#14H,OUTT0;50ms是否到20次,没有到就继续执行50ms的延时MOV7BH,#00INC78HMOVA,78HCJNEA,#3CH,OUTT0;一秒的延时是否计到60次,没有就继续执行MOV78H,#00INC79HMOVA,79HCJNEA,#3CH,OUTT0MOV79H,#00INC7AHMOVA,7AHCJNEA,#18H,OUTT0;60分钟的延时是否计到24次,没有就继续执行程序MOV7AH,#00OUTT0:SETBET0POPPSW;启动定时器T0POPACCRETI;按键处理程序KEYSCAN:CLREAJNBP2.0,KEYSCAN0;P2.0有按键按下则跳转到子程序JNBP2.1,KEYSCAN1;P2.1有按键按下则跳转到子程序JNBP2.2,KEYSCAN2;P2.2有按键按下则跳转到子程序KEYOUT:SETBEARETKEYSCAN0:LCALLDL20MSJBP2.0,KEYOUT;20ms的延时消抖WAIT0:JNBP2.0,WAIT0;判断按键是否松手,松手就往下执行程序INC7CHMOVA,7CHCLRET0CLRTR0CJNEA,#03H,KEYOUT;按下第一次和第二次对时、分选定MOV7CH,#00SETBET0;按下第三次时就启动计时SETBTR0SJMPKEYOUTKEYSCAN1:LCALLDL20MSJBP2.1,KEYOUT;按键加一的程序WAIT1:JNBP2.1,WAIT1MOVA,7CHCJNEA,#02H,KSCAN11;如果功能键按下则对时加一调整INC79HCJNEA,#3CH,KEYOUTMOV79H,#00;如果加到60则清零SJMPKEYOUTKSCAN11:INC7AHMOVA,7AH;如果功能键是按下第二次则对分进行加一调整CJNEA,#18H,KEYOUTMOV7AH,#00SJMPKEYOUTKEYSCAN2:LCALLDL20MSJBP2.2,KEYOUT;延时消抖程序WAIT2:JNBP2.2,WAIT2MOVA,7CH;判断是否放开按键CJNEA,#02H,KSCAN21;如果功能键是按下第一次对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地毯纱架工安全强化竞赛考核试卷含答案
- 客车司机变革管理竞赛考核试卷含答案
- 客车司机岗前生产标准化考核试卷含答案
- 制浆废液回收工岗前技能实操考核试卷含答案
- 木地板表面造型处理工变革管理强化考核试卷含答案
- 电工岗前风险评估考核试卷含答案
- 乙氧基化装置操作工岗前进阶考核试卷含答案
- 淡水捕捞工规程强化考核试卷含答案
- 广东省深圳市2025-2026学年高一上学期10月期中多校联考生物试卷(含答案)
- 拉萨民宿行业分析报告
- 辅酶q10培训课件
- 2025年湖南省教育系统后备干部考试参考试题(含答案)
- CJ/T 316-2009城镇供水服务
- 2025黄山市黄山区仙源镇社区工作者考试真题
- T-CNAS 17-2020 成年女性压力性尿失禁护理干预
- 石材外墙合同范例
- GB/T 44748.1-2024筛分试验第1部分:使用金属丝编织网和金属穿孔板试验筛的方法
- 新中国赞歌 课件 2024-2025学年浙人美版(2024)初中美术七年级上册
- 安全防护与急救处理智慧树知到课后章节答案2023年下临沂大学
- 应用PDCA提高入院宣教的知晓率
- 深静脉血栓(DVT)课件
评论
0/150
提交评论