版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计学号:021专业班级:机电四班)、单片机原理及应用简介随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是将CPU和外围芯片,如程序存储器、数据存储器、并行、串行I/O口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机(Single-ChipMicrocomputer)。而近年来推出的一些髙档单片机还包括有许多特殊功能单元,如A/D、D/A转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业控制系统、数据采集系统、自动测试系统
2、、万年历电子表等。二、系统硬件设计(8052是标准的40引脚双列直插式集成电路芯片,引脚分布请参照单片机引脚图图1:Fl.0LP1.1Epi.2rP1.3rFl.4EFl.0LP1.1Epi.2rP1.3rFl.4EP1.5LP1.GEP1.7EEESETEKKD/F3.0LTHD/P3.1E(I1TT1/F5.3ET0/F3.4LTl/F吕一5Ep3.&rTO/F3.7EXTAZ2EXTAL1Lvssr0987&54321ogsTG5432143333333333222222222nnmnnnnnnannnnnmnnnmvacpa.o/adopa.1/adipa.2/AD2PCI.3/AD3
3、PCI-4/AD4PG.5/AD5PCI-B/AD&Fp.7/ADTEA/VPPale/prjocPSEWF2.7/AD15F2.6/AD14P2.5/AD13P2.4/AD12P.3/AD11F2.2/AD10P2.1/AD9P2.O/ADS图18052引脚P0口8位双向口线(在引脚的3932号端子)。*P1口8位双向口线(在引脚的18号端子)。P2口8位双向口线(在引脚的2128号端子)。P2口8位双向口线(在引脚的1017号端子)。8052芯片管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定
4、义为高阻输入。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”时,其管脚被内部上拉电阻拉高,且作为输入。并因
5、此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。】P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,
6、如表1所示:口管脚备选功能RXD串行输入口TXD串行输出口/INT0外部中断0/INT1外部中断1T0记时器0外部输入T1记时器1外部输入/WR外部数据存储器写选通/RD外部数据存储器读选通表1特殊功能口P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。#ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。一般情况下,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是
7、:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
8、在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。三、系统总体方案我选用的是单片机(8052)来实现电子万年历的功能。共具备两个功能:(1)显示年月日及分秒信息#(2)具有可调整日期和时间功能。该电子万年历能够成功实现时钟运行,调整功能,且精确度经调试一天的误差在2S内。1微处理器在设计过程中我使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期同时显示小时,分钟和秒的要求,该定时闹钟设有九个按键,使之具备了校时、定时功能。利用单片机定时器及计数器产生定时
9、效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。在PROTEUS软件环境下的8052芯片如图4所示:::TAL1FDHADnPD.VAD-IFDSADaXTALZ::3VT-lF1S阳同丽F17Fl.TrftDU1E-SUEZZ5iz.33735S34-333ZZ1zzZ3zs2G27113111Z13U悄图4PROTEUS软件环境下的8052芯片2显示电路就时钟而言,通常可采用液晶显示或数码管显示。由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电
10、路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求较高,占用资源多。另外,89C2051本身无专门的液晶驱动接口,因此,本设计采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合。初始化时,由软件编写的指令就集中在显示功能的设置上。LGM12641BS1R的指令可带一个、两个参数,或无参数。若指令中含有参数,则每条指令执行时均须先送入参数,再送入指令代码。由于状态位作用不一样,因此执行不同指令必须检测不同状态位。液晶显示模块LGM12641BS1R如图5所示:UGU12541BG1RIiiiiii图5显示电路LGM12641B
11、S1R3按键电路由于我设计的是电子万年历,需要实现多种功能的显示,并要能够切换显示和调节年月曰,因此,在设计过程中按键的设计就显得尤为重要。在设计过程中我一共采用了4个按键,尽量在小的空间里实现最多的功能。其中MODE键是年月日与时间显示切换键,按下一次就能够更换一次显示位。在调整显示环境下UP和DONW键是显示调整位的的加1减1键,FUNCTION键实现清零,并提高万年历显示的精确性。按键电路如图6所示:|上丄-udarrav.匕.r*j._=*_pown_array=k:leaf,arrayfunctionarrayQfl1.F图6按键电路四、硬件电路的总体框图设计该设计的硬件电路的总体框
12、图如图7所示:图7总体框图五、硬件电路原理图设计该万年历是以单片机8052为核心来完成的。在硬件电路中采用P0口作为6位液晶显示电路的驱动接口,这是由于P0口输出驱动电路工作处于开漏状态,它的驱动能力强,故只需外接上拉电阻便可以把LED数码管点亮。因为共阴的LED数码管它的驱动电流是分开的,在单片机进行动态扫描的时候不会影响彼此的电流,故该电路中的8位LED数码管均用共阳阴极的数码管。8位LED数码管的位选线分别由相应的P2.0P2.5控制,而将其相应的段选线并联在一起,由一个8位的I/O口控制,即P0口。P3口与八个校时按键相连,以成功实现万年历校时的功能。电路原理图如图8所示::-船皿GM
13、D.fDSSM:TE治LCD1-bGiiisiiisihF-心。DCI口32a匕工匸口口口叱一口CjNlJI门1.l呱LCD1-bGiiisiiisihF-心。DCI口32a匕工匸口口口叱一口CjNlJI门1.l呱I柚1皿弗肚mePD1ADJ?D.IADl皿弭站4J6顾RST?a.ijfiorP2HW5P2.1MP22R1DEfflPLP.1IALEP21R.12盟咖P25A1LP2JW5piimPJ酮乱F1.112E(?3.unnP12P33INTT卩们RJFNFIPU盟帅F15P3ST1P1J6rasuiRP1IF盅丽3J更21M812325L$3621盘(E13E啊DI寸亦.11测一in
14、J3dDwn_arraycleararray-fundion_array|C1;12iiiiiiiiiiiiAST9CLKUZiX2J1|pli12u15C&111SCK.mSDAAnp;丁滋硬件电路六、主程序流程图设计图9主程序流程图基本显示模块设计的重点是由显示代码取得相应的段码、显示段码数据的串行发送,程序流程如图111所示。其中时个位的段码必须加上小数点,即带小数点显示时个位,目的是以小数点符代替时间分割符“-”。软件秒脉冲发生器其实质是利用了定时器0的定时溢出中断,将它设定为100ms溢出中断,则10次中断的时间正好为Is。将时间参数设计为100ms的原因有两个:1)根据系统时钟主频
15、为6M的特点,16位定时器最大定时时间为65536X2M(M为机器周期,这里是2uS),即131ms,取整数100便于计次数;2)如取的太短,如10ms,则定时器频繁中断,干扰系统正常运行效果。有了秒脉冲发生器,10次中断为1s,秒指示灯闪亮1次,秒变量单元加1,60后分变量单元加1,如果为60分则时变量单元加1。任何一个变量的变化,则显示刷新一次(更新)。上述思想的实现均集成在定时器0的中断子程序中。该设计显示模块流程图如图10所示:将16进制时分数据转化为BCD显示|代码*关显示以免显示抖动通过串口将时十位段码送入对应的LSrri月卩将时个位段码送入对应的LS164|图10基本显示模块的程
16、序流程图七、仿真过程1、仿真:打开WAVE6000,输入所编写的源程序并对程序进行编译,在软件的帮助下检查其中的错误并进行反复修改,知道编译正确后运行,确保没有错误以后对正确的源程序进行保存,保存时给其命名,以便将来载入程序时容易找到。2、打开PROTEUS软件,并出画单片机电子万年历具体运行电路图。3、检查所画电路运行图,确保没有错误以后,在PROTEUS下对原理图进行加载WAVE6000下的源程序。4、加载完成后,单击电路图框下的开始按钮,进行仿真,观察LED数码管现实情况,此时LED数码管开始显示数字。调节开关进行时间的调节。当秒的显示间隔快与或慢与实际间隔时,调节石英晶体震荡器的频率参
17、数,从而使秒的间隔达到标准。然后检查电路其它问题,并对其的各参数进行调整,使之正确。八、仿真结果通过在WAVE6000下对源程序的编译,改正了其中的很多错误,然后运行,保证源程序的正确性。然后按原理图选择正确合理的电器元件,画出正确的电路图,加载源程序运行,顺利实现了单片机数字电子钟的“小时”、“分钟”、“秒”的显示。该电子万年历的显示效果及电子万年历时间和日期的调节效果分别如图12和图13所示:DQ2上-coe事7EKTLODI-!GUl25iiaSlRII08年月SOE狈时皿介14秒农历QE-书-苗星期一J4.云|匕r-spypririL口=!巳1y匸b*IllimDmmmcomw_aZi
18、jill|eaDCiCi口EiCiOUJIEij号5巴匚|二I二I:-I.:-p卜卜厂?-HLCDI-E李时徇20:08-06-30:19:5Z31PQDMDDFQWiDIPD2WD2XTA12FI13HD?PHQHDSrnmnRETPQ7J04D7山饷迥PEIIP3jjOI11F2.4WEBfP25ft13F2J&K14P2.TA1SpiarzramwoP1.1/T2KPZVDiDPl2P3Z1H1O-PUraprrP14J7.W1PI5P3JW1P1朗R4DPPIJP3/.RD13:IL.36H13DIHl和M-FEa-.|.g.230谨-UUuparray;own_array-clear
19、arrayunction.array图1213U15l:.CBI亠17电子万年历的运行效果;U1LQ_31777LU=耳I耳i4p-xtnliFOEDDFD.1AD1FDJADZXTNL2FDD3FHgD*山鈕MFQjGiADEFKTFQ.TAD?和JWP22AWREN吒丽IIQLEEAPi加P2.1AI5P1OTEPSnUKHP111T2E:F1VTKDP12F33ilffTlP13F3.31HTTP15P3ST1D1RfSlKJjlp-pirU12i3TKS7UCC1閒SCLkLD2D&1X2Tpr=-:-2$19CK;DDAA1RPP2;2CEEC.JTJ3ft2J.p工碑*:wparr
20、ayb|dewnarrayarray-functiomarray2CE2CTBrr=-图勞A电子万年历时间和日期的调节效果九、课程设计体会IJCC1iiCD2KISCLKKI通过这一周的课程设计,我学到了不少的知识。把以前没有学好的模拟电路的知识进行了补充和加强。这使我受益很大。加深了我对于单片机和数字电路的认识,相信在以后的学习和工作中碰到这些基础的元器件我会更加得心应手。通过查阅大量的资料,我获得了以前在课堂上学不到的东西,我想这对于以后的毕业设计,或者工作也好,都是很有帮助的。我很认真地对待这个过程中的每一个细节,希望自己能做得更好。希望今后还有这样的机会,能够让我学到更多的知识。在此次
21、的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。在连接六进制,十进制,六十进制的进位及十二进制的接法中,要求熟悉逻辑电路及其芯片各引脚的功能,那么在电路出错时便能准确地找出错误所在并及时纠正了。在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,例如仿真的连接示意图中,往往没有接高电平的16脚或14脚以及接低电平的7脚或8脚,因此在实际的电路连接中往往容易遗漏。在设计电路的连接图中出错的主要原因都是接线和芯片的接触不良以及接线的错误所引起的。对该设计的建议:此次的电子万年历设计重在于仿真和接线,虽然能把电路图接出来,并能正常
22、显示,但对于电路本身的原理并不是十分熟悉总的来说,通过这次的设计实验更进一步地增强了实验的动手能力。学无止境,我们现在所做的一切都还只是一个开始。附1源程序代码#include#include#include#include#include#include#include/HIZr-)/#defineucharunsignedchar#defineuintunsignedintnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
23、nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsbitbell=P20;/定义蜂鸣器端口sbitin=P27;/定义红外检测端口/*名称:Timer0_Service()inturrupt1*功能:中断服务程序整点报时3声嘟嘟的声音*入口参数:*出口参数:/voidTimer0_Service()interrupt1staticucharcount=0;staticucharflag=0;/记录鸣叫的次数count=0;TR0=0;/关闭Timer。TH0=0 x3c;TL0=0XB0;/延时50msTR0=1;/启动TimerOcount+;if(count
24、=20)/鸣叫1秒bell=bell;count=0;flag+;if(flag=6)flag=0;TRO=0;/关闭TimerO/*名称:Timer2_Servie()interrupt5*功能:中断服务程序整点报时一分钟*入口参数:*出口参数:/nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn/voidTimer3_Service()interrupt5staticucharcount;TF2=0;/软件清除中断标志count+;if(in=1)count=0;/计算清0TR2=0;/关闭Timer2bell=1;/关闭蜂鸣器if(count=120)/一分钟后关闭报警count=0;/计算清0TR2=0;/关闭Timer2bell=1;/关闭蜂鸣器)/nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn*函数名称:main()*功能:*入口参数:*出口参数:/voidmain(void)ucharclock_time7=0 x00,0 x00,0 x02,0 x30,0 x06,0 x08;/定义时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西省南昌市2026届高三年级四月第二次模拟历史试卷(含答案)
- 2026苏教版应用广角素养提升活动一
- 2026道德与法治六年级知识窗 人生价值知识
- 2026道德与法治五年级加油站 社会适应优化
- 2026道德与法治三年级拓展空间 水土保持了解
- 2026 学优生拓展指导
- 宠物咬伤后伤口换药技巧
- 咳嗽咳痰护理评估案例分享
- 护理服务礼仪:迎接与沟通技巧
- 口腔护理与医学研究
- 工业企业精益智造成熟度评价规范
- 工业燃气管道安装工程施工方案
- 海南省5年(2021-2025)高考物理真题分类汇编:专题09 热学与光学(原卷版)
- 云财务知识培训课件
- 2025年电力工程师高级职称评审要点与面试题库及答案
- 2025年空军军队文职技能岗考试文化活动复习题及答案
- 电力市场交易管理办法
- 【《人脸识别技术中个人信息保护的法律规制探析》10000字】
- 政府绩效管理(第二版)课件 方振邦 第1-4章 政府绩效管理概述-政府绩效监控
- 2026年高考数学一轮复习策略《指向深度学习的高中数学教学策略》讲座
- 生物质颗粒采购合同范本
评论
0/150
提交评论