ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:263.91KB ,
资源ID:4411892      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4411892.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机论文.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机论文.docx

1、单片机论文常州工学院单片机课程设计-闪烁LED小灯的设计 专 业:电子科学与技术班 级: 08电子一 学 号: 08020430 姓 名: 王溢 指导老师: 庄志红 目录一、引言 3二、基本概念以及相关知识 31、硬件知识 32、软件知识 43、电路图及布局图 61、电路连接 62、设备清单 64、软件总体设计 61、主程序 62、初始化程序 73、显示程序 7总结 8参考资料 8 附录 9 一、电路原理图 9 二、电路布线图 9 三、元件清单 10四、程序清单 11一、引言 单片机在智能仪器仪表,机电一体化产品和自动控制系统中应用愈来愈广,本设计的闪烁小灯控制器,可使小灯轮流点亮、逐点点亮、

2、间隔闪亮。如果控制交流彩灯,可在P1端口加接继电器或可控硅接口电路。本设计可应用在广告彩灯控制器、舞台灯光控制器等领域。二、基本概念以及相关知识1、 硬件知识: 1.1、89C52外部引脚及功能8051引脚可分为四类: 1、电源引脚 Vcc +5V Vss地 2、时钟(XTAL1、 XTAL2) 3、I/O线(P0 P1 P2 P3共32线) 4、控制总线 (1)输入:RST 、EA (2)输出:PSEN (3)输入/输出:ALE各引脚功能说明Vcc:电源电压GND:地P1口:p1口是一组8位双向I/O口,P1.2-P1.7提供内部上拉电阻,p1.0和P1.1内部无上拉电阻,主要是考虑它们分别

3、是内部精密比较器的同相输入端(AIN0)和反相输入端(AIN1),如果需要应在外部接上拉电阻.P1口输出缓冲器可吸收20mA电流并可直接驱动LED.当P1口引脚写入”1”时可作输入端,当引脚P1.2-P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而输出电流(In).P1口还在Flash闪速编程及程序校验时接收代码数据.P3口:P3口的P3.0-P3.5和P3.7是带有内部上拉电阻的6个双向I/O口.当P3口写入”1”时,它们被内部上拉电阻拉高并作为输入端口.作输入端时,被外部拉低的P3口将用上拉电阻输出电流(In).PST:复位输入.RST引脚一旦变成两个机器周期以上高电平,所有的I/

4、O口都将复位到”1”(高电平)状态,当振荡器正在工作时,持续两个机器周期以上的高电平便可完成复位,每个机器周期为12个振荡时钟周期.XTAL1:振荡器反相放大器的及内部时钟发生器的输入端.XTAL2:振荡器反相放大器的输出端.1.2、单片机的总线结构:单片机的引线除了电源、复位、时钟输入法、用户I/O口外,其余引线都是为实现系统扩展设置的,这些引线构成了单片机外部的3总线形式,地址总线,数据总线,控制总线等。2、 软件知识:中断:指计算机在正常执行程序的过程中,由于种种原因,使CPU暂时停止当前程序的执行,而转去处理临时发生的事件,处理完毕后,再返回去继续执行暂停的程序。使用中断技术,使得外部

5、设备与CPU不再是串行工作,而是分时并行操作,从而大大提高了计算机的效率。其处理过程有关中断、保存断点、给出中断入口地址转入被响应的中断处理程序、保护现场、执行中断服务程序、恢复现场、开中断、中断返回。其中断源有外部中断0、定时器0中断、外部中断1、定时器1中断和串行接收或发送中断,其分别对应的中断入口地址0003H、000BH、0013H、001BH、0023H。中断服务程序主要功能是进行计时操作。程序开始先判断计数溢出是否满了8次,不满8次表明还没达到最小计时单位秒,中断返回;如满8次则表明已达到最小计时单位秒,程序继续向下执行,进行计时操作。键盘的消抖:通常的按键所用开关为机械弹性开关,

6、当机械触点断开、闭合时,电压信号小型如图2-3。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5ms10ms。按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒按键的抖动,可用硬件或软件两种方法。a. 硬件消抖:在键数较少时可用硬件方法消除键抖动。当按键未按下时,输出为1;当键按下时,输出为0。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖 动跳开B),中要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动

7、的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态 电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。b. 软件消抖:如果按键较多, 常用软件方法去抖, 即检测出键闭合后执行一个延时程序, 产生5ms10ms的延时, 让前沿抖动消失后再一次检测键的状态, 如果仍保持闭合状态电平, 则确认为真正有键按下。当检测到按键释放后,也要给5ms10ms的延时,待后沿抖动消失后才能转入该键的处理程序。以下是本次设计的软件消抖子程序块:;延时子程序,执行一次时间为513us; DL512: MOV R2,#0FFHLOOP1: DJNZ R2,LOOP1RET;10ms

8、延时子程序(调用20次0.5ms延时子程序)DL10MS: MOV R3,#14HLOOP2: LCALL DL512 DJNZ R3,LOOP2 RET;延时子程序,改变R4寄存器初值可改变闪烁的快慢(时间为25ms*15);DL05S: MOV R4,#0FHLOOP3: LCALL DL25MS DJNZ R4,LOOP3 RET;25ms延时子程序,调用扫键延时,可快速读出功能按键值;DL25MS: MOV R5,#0FFHLOOP4: LCALL KEYWORK DJNZ R5,LOOP4 RETEND ;程序结束三、 电路图以及布线图1、 电路连接(1)、闪烁LED小灯设计的电路图

9、如附录(一)所示.(2)、根据原理图我们可以进行布线,布线遵守一个面上的线方向要一致的原则进行,得到本设计布线图(PCB图)如附录(二)所示.2、 设备清单从布线图中我们可以看到该设计需要如附录(三)所示的硬件设备.四、 软件总体设计1、 主程序通过扫描P3.0P3.2口,判断是否有按键按下,然后在20H内存单元的低3位的对应位置1标志,确定应执行的闪烁功能。当20H.0为1时,发光管轮流点亮;当20H.1为1时,发光管逐点点亮;当20H.2为1时,发光管间隔闪亮。在主程序对20H的低3位进行位值判定后,转入相应的闪烁控制程序。上电初始化时,对20H的最低位置1,系统进入轮流点亮方式。主程序在

10、刚上电时系统进行初始化, 然后读一次键开关状态,由键标志(00H、01H、02H)决定显示的方式。主程序流程图4.1所示.主程序流程图4.12、 初始化程序通过扫描P1.0P1.2口,判断是否有按键按下,然后再20H内存单元的低3位的对应位置1标志,确定应执行的闪烁功能。当20H.0为1时,发光管轮流点亮;当20H.1为1时,发光管逐点点亮;当20H.2为1时,发光管间隔点亮。在主程序对20H的低3位进行位值判定后,转入相应的闪烁控制程序。上电初始化时,对20H的最低置1,系统进入轮流点亮方式.3、 显示程序显示程序由显示主程序和显示子程序组成。显示主程序负责每次显示地址首址(在B寄存器中)、

11、第个字的显示时间(由30H中的数据决定)和下一个显示地址的间隔(31H中的数据决定)的处理。在显示子程序中,1ms延时程序是用调用键扫描子程序的方法实现的。主程序如附录(四)所示.五、总结在这次课程设计的过程中,我真正接触到了硬件,经历从对硬件方面知识的欠缺到熟悉的过程,通过这次实验,第一次觉得原来硬件并不像我想象中的那样难,相反地,它是一门很有意思的课程,那么多不同的小小的芯片组合在一起竟然可以实现你想象不到的效果,真的是很神奇!以前只是觉得软件里的程序很神奇,因为就是那些密密麻麻的代码组合在一起也可以实现很特别的功能,现在看来硬件也蛮有意思的,总的说来,计算机真的是一门很神奇的课程,不管在

12、哪些方面,都起着举足轻重的作用,想想现在的各行各业,哪个不用到计算机,对于学习计算机专业的我来说,这应该是个警示,在剩下的大学生活里,我应该好好珍惜,好好学习计算机方面的知识,这样以后在工作中也不至于落下笑话,至少要让别人觉得自己确实是学计算机专业出去的。六、参考资料1刘和平 PIC16F87X单片机使用软件与接口技术 C语言及其应用.北京航空航天大学 出版社,20022李朝青 PC机及单片机数据通信技术. 北京航空航天大学出版,2000刘立民 MCS-51系列单片机应用系统设计.北京航空航天大学出版社,1999.5.074王有绪 PIC系列单片机接口技术及应用系统设计.北京航空航天大学出版社

13、,2001.4.5 5潘新民 微型计算机控制技术.人民邮电出版社 ,2001.6.086刘文涛 protel2004完全学习手册. 电子工业出版社7刘瑞新 单片机原理及应用教程. 机械工业出版社附录一、 电路原理图二、 电路布线图三、 元件清单元件名称规格数量备注AT89C52单片机一块附底座晶振12MHZ一块按钮开关四个四脚或两脚极性电容20uf、10uf各一支瓷片电容30pf两支电阻270、4.7k各八支发光二极管LED八个封装元件电阻10k一支四、程序清单;*;小灯控制程序;*;*;中断入口程序;*;ORG 0000H ;程序执行开始地址LJMP START ;跳至START执行ORG

14、0003H ;外中断0中断入口地址RET1 ;中断返回(不开中断)ORG 000BH ;定时器T0中断入口地址RET1 ;中断返回(不开中断)ORG 0013H ;外中断1中断入口地址RET1 ;中断返回(不开中断)ORG 001BH ;定时器T1中断入口地址RET1 ;中断返回(不开中断)ORG 0023H ;串行口中断入口地址RET1 ;中断返回(中断);*;初始化程序;* *;CLEAR:MOV 20H,#00H ;20H单元内存清0(闪烁标志清0) SETB 00H ;20H.0位置1(上电时自动执行闪烁功能1) RET ;子程序返回;*;主程序;*;START:ACALL CLRAR

15、 ;调用初始化子程序MAIN:LCALL KEYWORK ;调用键扫描子程序JB 00H,FUN0 ;20H.0位为1时执行FUN0JB 01H,FUN1 ;20H.1位为1时执行FUN1JB 02H,FUN2 ;20H.2位为1时执行FUN2JB 03H,MAIN ;备用AJMP MAIN ;返回主程序MAIN;*;功能程序;*;第1种闪烁功能程序FUN0:MOV A,#0FFH ;累加器赋初值FUN00: MOV P1,A ;累加器值送至P1口 LCALL DL05S ;延时 JNB ACC.7,MAIN ;累加器最高位为0时转MAIN RL A ;累加器A中数据循环左移1位 AJMP F

16、UN00 ;转FUN00循环;第2种闪烁功能程序FUN1:MOV A,#0FEH ;累加器赋初值FUN11:MOV P1,A ;累加器值送至P1口LCALL DL05S ;延时LZ MAIN ;A为0转MAINRL A ;累加器A中数据循环左移1位ANL A,P1 ;A 同P1口值相与AJMP FUN11 ;转FUN11循环;第3种闪烁功能程序FUN2:MOV A,#0AAH ;累加器赋初值MOV P1,A ;累加器值送至P1口LCALL DL05S ;延时CPL A ;A中各位取反MOV P1,A ;累加器值送至P1口LCALL DL05S ;延时AJMP MAIN ;转MAIN;*;扫键程

17、序;*;KEYWORK:MOV P3,#0FFH ;置P3口为输入状态JNB P3.0,KEY0 ;读P3.0口,若为0转KEY0JNB P3.1,KEY1 ;读P3.1口,若为1转KEY1JNB P3.2,KEY2 ;读P3.2口,若为2转KEY2JNB P3.3,KEY3 ;读P3.3口,若为3转KEY3RET ;子程序返回;闪烁功能0键处理程序KEY0:LCALL DL10MS ;延时10ms消抖JB P3.0,OUT0 ;P3.0为1,子程序返回(干扰)SETB 00H ;20H.0 位置1(执行闪烁功能1标志)CLR 01H ; 20H.1位清0CLR 02H ;20H.2清0CLR

18、 03H ;20H.3清0OUT0:RET ;子程序返回;闪烁功能1键处理程序KEY1:LCALL DL10MSJB P3.1,OUT1SETB 01H ;20H.1位置1(执行闪烁功能2标志)CLR 00HCLR 02HCLR 03HOUT1:RET;闪烁功能2键处理程序KEY2:LCALL DL10MSJB P3.2,OUT2SETB 02H ;20H .2 位置1(执行闪烁功能3标志)CLR 01HCLR 00HCLR 03HOUT2:RET;闪烁功能(备用)键处理程序KEY3:LCALL DL10MSJB P3.3,OUT3SETB 03H ;20H .3位置1(执行备用闪烁功能标志)

19、CLR 01HCLR 02HCLR 00HOUT3:RET;*;延时程序;*;延时子程序,执行一次时间为513usDL512:MOV R2,#0FFHLOOP1:DJNZ R2,LOOP1RET;10ms延时子程序(调用20次0.5ms延时子程序)DL10MS:MOV R3,#14HLOOP2:LCALL DL512DJNZ R3,LOOP2RET;延时子程序,改变R4寄存器初值可改变闪烁的快慢(时间为25ms*15)DL05S:MOV R4,#0FHLOOP3:LCALL DL25MSDJNZ R4,LOOP3RET;25ms延时子程序,调用扫键子程序延时,可快速读出功能按键值DL25MS: MOV R5,#0FFHLOOP4:LCALL KEYWORKDJNZ R5,LOOP4RETEND ;程序结束

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2