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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机课设.docx

1、单片机课设一、 设计要求1以MCS-51系列单片机为核心器件,组成一个电子时钟系统。2系统显示由4位数字型数码管组成,分别显示时间值的小时和分。3能够随时对当前时间进行调整。4能够随时输入定时(闹钟)时间。5定时(闹钟)时间到,发出闹钟提醒信号。6闹钟提醒信号的声音为连续形式,最长不超过1min。二、 设计思路根据设计要求,初步思路如下:1计时单元由单片机内部的定时器/计数器1来实现。2时间显示采用8段LED数码管,动态扫面方式。动态扫描的定时时间,由单片机内部的定时器/计数器0来实现。3LED数码管的断码输入,由并行端口P1低四位产生。4 LED数码管的位码输入,由并行端口P1高四位产生。5

2、时间调整与定时时间的输入,通过接入键盘电路实现。系统共设计四个按键,分别定义为:SET键(时间调整设置键):其功能是当该键按下时,进入时间调整输入功能;ALM键(定时时间设置键):其功能是当该键按下时,进入定时(闹钟)时间输入功能;+1调整键:其功能是当该键按下时,被调整位加一;RET键:其功能是当该键按下时,指向下一个要调整的位。6按键的接入方式:SET:通过P3口INT0引脚接入,中断工作方式;ALM:通过P3口INT1引脚接入,中断工作方式;+1:通过P3口P3.0引脚接入,查询工作方式;RET:通过P3口P3.1引脚接入,查询工作方式;7报警声响用蜂鸣器产生,蜂鸣器接入P3口的P3.7

3、引脚。三、 硬件电路的设计方案及框图四、 根据设计要求与设计思路,确定该系统的设计方案,图1为该系统设计方案的硬件电路设计框图。硬件电路由8部分组成,即按键输入电路、单片机、时钟电路、复位电路,LED显示器断码驱动电路、LED显示器位码驱动电路、4位显示器电路和蜂鸣器电路。图1 硬件电路设计框图硬件电路的设计原理图与各部分电路功能介绍一、 单片机的选择AT89C2051是ATMEL公司生产的带2K字节可编程闪速存储器的8位CMOS单片计算机,工作电压范围为2.76V,全静态工作频率为024Mhz。AT89C2051芯片采用DIP-20封装形式,引脚配置如图2所示,与8051进行对比后可发现,A

4、T89C2051减少了两个对外端口(即P0、P2口),因而芯片尺寸有所减少。AT89C2051芯片的20个引脚的功能为:VCC、GND:电源电压、接地引脚。RST:复位信号输入引脚。当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1”电平。XTAL1、XTAL2:反向振荡放大器内部时钟工作电路的输入、并能直接驱动LED显示器。P3.0P3.5与P3.7:为7个带内部上拉的双向I/O引脚。P3口的输出缓冲器能接收20MA电流;P3口写入“1”后,内部上拉,可用作输入。P3口同时也可为闪速存储器编程和编程校验接收控制信号。P3口也可用作特殊功能口,P3.0P3.5引脚功能与8051相

5、同,P3.7作为普通I/O引脚。AT89C2051内部结构与MCS-51系列基本相同,P1口是8位双向I/O口。不同的是引脚P1.2P1.7提供内部上拉电阻,当作为输入并被外部下拉为低电平时,他们将输出电流(Il)。P1.0和P1.1需要外接上拉电阻,可用作片内精确模拟比较器正向输入(AIN0)和反向输入(AIN1);P3口引脚P3.0P3.5与P3.7为7个带内部上拉的双向I/O引脚。P3.6在内部与片内比较器输出相连,不能作为通用I/O引脚访问。图2 AT89C2051引脚配置图时钟与复位电路设计与器件选择1时钟电路的设计单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XYA

6、L2的两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,如图3a所示。电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路的参数。电路中,电容器C1和C2对振荡频率有微调作用,通常的取值范围为3010PF;石英晶体选择6MHz或12MHz都可以。其结果只是机器周期时间不同,影响计数器的计数初值。2.复位电路的设计单片机的RST引脚为主机提供一个外部复位信号输入端口。复位信号是高电平有效,高电平有效的持续时间应为2个机器周期以上。复位以后,单片机内各部件恢复到初始状态,单片机从ROM的0000H开始执行程序、单片机的复位方式有上电复位和手动复位两种,图3b是51系列单片机常用的

7、上电复位和手动复位组合电路,只要VCC上升时间不超过1ms,它们都能很好的工作。阻容器件的参考值如图中所示,即R1=200,R2=1k,C3=22F。RET按键可以选择专门的复位按键,也可以选择轻触开关。图3时钟与复位电路a)时钟电路b)复位电路二、 LED显示电路设计与器件选择1LED显示器的选择在本设计中,选择4位一体的时钟型LED显示器,如图4所示。用“:”前的2位显示“小时”的十位和个位,用“:”后的2位显示“分”的十位和个位。4-LED显示器引脚如图4所示,是一个共阴极接法的4位时钟型LED显示器。其中a、b、c、d、e、f、g为4位LED各段的公共引出端。D1、D2、D3、D4分别

8、是每一位的共阴极输出端,dp是小数点引出端。4位一体时钟型LED显示器的内部结构如图5所示。它是由4个单独的LED和以一个“:”LED组成。每个LED的段输出引脚在内部并联后,引出到器件的外部。图 4 7-LED显示器引脚a)4位LED引脚排列图 b)4位LED原理图对于这种结构复杂的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式。图 5 4-LED显示器内部结构原理图2.LED的段驱动芯片的选择LED的段驱动电路有很多种,在本例中,可以选择BCD-7段锁存/译码/驱动器作为段驱动电路。图6 给出了74LS48的引脚图和结构原

9、理图。引脚图中大写字母A、B、C、D为BCD码的输入端,小写字母a、b、c、d、e、f、g为字型码输出端,LT为灯测试输入端,RBI为消隐输入,RBO为消隐输出,图6 74LS48芯片电路结构原理及引脚表1给出了74LS8BCD-7段锁存/译码/驱动器作为段驱动器的输入与输出信号的对应关系,详细内容可查阅数字电路芯片手册。在使用时,将该芯片的输入端引脚A、B、C、D与单片机的P1口或者P3口连接,该芯片的输出端7个引脚,与LED显示器7的断码引脚相连接,74LS48的作用是接收来自单片机的BCD码型的输入信号,经过锁存、译码和放大后,输出7段字型码到LED显示器,完成对BCD码到7段字型码的锁

10、存、译码、和驱动的功能。表 1 74LS48 BCD-7段译码输入/输出端信号对照表3. LED的位驱动芯片的选择图7中的IN0IN7引脚是输入端,OUT0OUT7引脚是输出端。第9脚接有续流二极管。输出与9脚配合,可驱动感性负载,如打印头等。图 7 ULN2803芯片的引脚图和电路原理图a)引脚图 b)电路原理图在本例中选用ULN2003作为位驱动电路,将该芯片的输入端引脚IN0、IN1、IN2、IN3与单片机的P1口或者P3口连接,该芯片的输出端引脚OUT0、OUT1、OUT2、OUT3与LED显示器的4个位码引脚D1D4相连接。ULN2003的作用是接收来自单片机的位码输入信号,经过反相

11、放大后输出,送到LED显示器的位码引脚,完成对位码信号的反向和驱动的功能。4.LED驱动电路与单片机的连接可以采用单片机的P1口作为与LED的输出接口,即P1口的低四位作为LED的段码输出信号,P1口的高四位作为LED位码的输出控制信号。硬件电路如图8所示。R1是上拉电阻,作用是保证LED可靠导通与截止,可以选择8脚排电阻(7100)。图 8 4-LED显示器接口电路原理该电路的工作原理是:当P1口的低四位输出段码信号的BCD码后,通过74LS48芯片的锁存、译码和驱动作用,在其输出端输出具有一定驱动能力的七段字型码,由于4-LED的断码输入引脚是并联在一起的,所以每一位LED的断码输入引脚都

12、能获得这个断码信号。若要控制在每一时刻只有一位LED被点亮,必须靠位码信号控制。P1口的高4位输出位码信号,经ULN2003反向后接到LED的位码控制端,因此P1口位码信号在每一时刻只有一位是“1”,其他位全为“0”,然后按照时间顺序改变输出“1”的位置,控制在每一时刻只有一位LED被点亮,达到动态显示目的,若要显示“0123”时,P1口的控制信号及4-LED的显示状态如表2所示。表2 4-LED动态扫描显示状态例如:要完成“0123”的显示,必须对P1口进行编程:4-LED:MOV P1,#80H;将D位选通码“1000B”与“0”的BCD码0000B送P1口LCALL DYI;调用延时1m

13、s子程序MOV P1,#41H;将D2位选通码“0100B”与“1”的BCD码“0001B”送P1口LCALL DYI;调用延时1ms子程序MOV P1,#22H;将D3位选通码“0010B”与“2”的BCD码“0010B”送P1口LCALL DYI;调用延时1ms子程序MOV P1,#13H;将D4位选通码“0001B”与“3”的BCD码“0011B”送P1口LCALL DYI;调用延时1ms子程序上述程序每隔10ms执行一次,就可以实现动态显示的目的。三、 按键电路设计与器件选择四、 在本案例中只需要4个按键,因此选择独立式键盘。如图9所示,电路由按键和4个电阻组成,按键分别命名为SET、

14、ALM、+1和RET键,按键可以采用轻触开关,电阻可以采用5脚排电阻(4100k)。2.键盘与单片机的接口电路设计如图9所示,将键盘直接与单片机的P3口连接。用P3.2、P3.3引脚通过两个按键SET、ALM接入两个外部中断信号的请求信号INT0、INT1;P3.0、P3.1引脚作为I/O口使用,通过两个按键+1和RET接入两个输入信号。4个按键功能的设计思想如下:SET键功能:设置当前时间。当SET键被按下时,在单片机的INT0引脚产生一个低电平触发中断请求信号,CPU响应中断请求时,就转移到INT0中断服务程序的入口地址,执行INT0的中断服务程序。ALM键功能:设置定时(闹钟)时间。当A

15、LM键被按下时,在单片机的INT1引脚产生一个低电平触发中断请求信号,CPU响应中断请求时,就转移到INT1中断服务程序的入口地址,执行INT1的中断服务程序。+1调整键的功能:分别对时间值的小时十位、小时个位、分的十位、分的个位进行+1调整。RET确认键的功能:确认,即对+1调整位进行确认,该键按下时,说明被调整位的值已经确定,转去调整下一位。五、 蜂鸣器电路的设计电路设计如图10所示,蜂鸣器(HA)作为三极管VT1的集电极负载,当VT1导通时,蜂鸣器发出鸣叫声,VT1截止时,蜂鸣器不发声。R4是限流电阻。蜂鸣器电路与单片机的接口:VT1的基极接到单片机P3口的P.7引脚,P3.7引脚作为输

16、出口使用。当P3.7=0时,VT1导通时,使蜂鸣器的两个引脚获得将近5V的直流电压,蜂鸣器中有电流流过,而产生蜂鸣音。当P3.7=1时,VT1截止,蜂鸣器的两引脚间的直流电压接近于0V,蜂鸣器不发音。通过前面的设计过程,可设计出电子时钟的硬件电路原理图如图11所示。由于74LS48是BOD码7段译码器,对小数点没有驱动作用,因此,必须给4-LED显示器中的“:”符号一个驱动电路。图11 电子时钟硬件电路原理图dp(“:”)的驱动电路VT2、R4、R5器件组成,R4、R5分别为发射极、基极的限流电阻。当VT2的基极为低电平时,VT2导通,dp段被点亮。即“:”与LED数码管的第二位一起被点亮;当

17、VT2的基极为高电平时,VT2截止,dp段熄灭。第三节 电子时钟软件的设计方案一、电子时钟系统软件设计方案及框图划分模块时应遵循下述原则:1) 每个模块应具有独立的功能。2) 模块之间的控制参数应尽量简单,数据参数应尽量少。3) 模块长度适中。4) 根据模块划分的原则,将该程序划分成7个模块,如图12所示。图 12 电子时钟软件设计框图二、内存空间的分配内存空间的分配如表3所示。表 3 内存地址空间的分配 第四节 电子时钟应用程序设计一、主程序的设计主程序的内容一般包括:主程序的起始地址,中断服务程序的起始地址,有关内存单元及相关部件的初始化和一些子程序调用等。主程序设计框图如图13所示。1.

18、 程序的起始地址MCS-51系列单片机复位后,(PC)=0000H,而0003H002BH分别为各中断源的入口地址。所以编程时应在0000H处写一跳转指令。2. 主程序的初始化内容3. 所谓初始化,是对将要用到的MCS-51系列单片机内部部件或扩展芯片进行初始工作状态设定。MCS-51系列单片机复位后,特殊功能寄存器IE、IP的内容均为00H,所以应对IE、IP进行初始化编程,以开放CPU中断,允许某些中断源或设置中断优先级等。3代码转换程序人们日常习惯使用十进制数,而计算机的键盘输入、输出以及显示常采用二进制编码的十进制或ASCII码。因此,在程序设计中经常要进行代码转换。4. 主程序设计框

19、图主程序设计框图如图13所示。5. 主程序清单ORG 0000HLJMP MAIN ;转入主程序ORG 0003H ;外部中断0中断服务程序入口地址LJMP INTA ;转外部中断0中断服务程序ORG 000BH ;T0定时中断服务程序入口地址LJMP T0SEV ;转T0定时中断服务程序ORG 0013H ;外部中断1中断服务程序入口地址LJMP INTB ;转外部中断1中断服务程序ORG 001BH ;T1定时中断服务程序入口地址LJMP T1SEV ;转T1定时中断服务程序ORG 0030H ;设置主程序起始地址=0030HMAIN:MOV SP,#60H ;设置堆栈指针MOV A,#0

20、0HMOV 30H,AMOV 31H,AMOV 32H,AMOV 33H,#0CHMOV 34H,AMOV 35H,AMOV 44H,#80HMOV 45H,#40HMOV 46H,#20HMOV 47H,#10HCLR RS0CLR RS1 ;选择0组工作寄存器MOV R2,#0MOV R3,#0 ;设置时间初值=12:00MOV R4,#0MOV R5,#12MOV TMOD,#11H ;设置T1、T0的工作方式:定时器,工作方式1MOV TH1,#3CHMOV TL1,#0B0H ;T1计数初值=3CB0MOV TH0,#0ECHMOV TL0,#78H ;T0计数初值=EC78MOV

21、IP,#08H ;设置中断优先级MOV TCON,#50H ;启动定时器T1、T0MOV IE,#8FH ;开中断LOP:MOV B,#10 ;将二进制数转换为十进制数MOV A,33H ;并送到显示缓冲区40H43HDIV ABMOV 40H,AMOV 41H,BMOV B,#10MOV A,32HDIV ABMOV 42H,AAA: MOV 43H,BSETB RS1CLR RS0A1: MOV R2,35H ;判断是否有定时时间CJNE R2,#0,NTMOV R2,34HCJNE R2,#0,NTSJMP BBNT: MOV A,35HCJNE A,33H,BBMOV A,34HCJN

22、E A,32H,BBCLR P3.7SJMP LOPBB:SETB P3.7SJMP LOP二、LED动态显示程序模块的设计在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率。1.定时器T0的计数初值设置时钟频率为6Mhz,1个机器周期时间为2us。T0定时器产生10ms的定时,可以计算出计数值和计数初值:计数值=定时时间/机器周期时间=10ms/2us=5000计数初值=65537-5000=15536=EC78H初值寄存器的初值为:TH0=0ECH;TL0=78H工作方式寄存器TMOD=0001B=1H,T0定时器,工作方式1,定时。2.T0定时器

23、中断服务程序流程T0定时器中断服务程序流程如图14所示。图13 主程序框图 图14 LED动态扫描程序框图程序清单如下:T0_SEV:PUSH A ;LED定时扫描程序PUSH PSW ;保护现场SETB RS1 ;R31、RS0=11HSETB RS0 ;选择3组工作寄存器CLR TR0 ;停止T0定时器MOV R2,#04H ;设置显示器位数MOV R0,#40H ;设置段码首地址MOV R1,#44H ;设置位码首地址GO_ON:MOV A,R2 ;送显示数位到ACJNE A,31H,NO_FLASH ;判断是否闪烁位DJNZ 30H,FLASH;是闪烁位,转移到FLASHNO_FLAS

24、H:MOV A,R1 ;送位码地址到A累加器ADD A,R0 ;将段码和位码组成8位二进制数MOV P1,A ;输出段码、位码数据到P1口LCALL DELAY1 ;调延时子程序,延时1msFLASH:INC R0 ;断码地址+1INC R1 ;位码地址+1DJNZ R2,GO_NO ;判断4位都显示完否?没完继续显示下一位MOV TH0,#0ECHMOV TL0,#78H ;重置T0计数初值POP A ;恢复现场SETB ET0 允许T0中断SETB TR0 ;启动T0开始定时SETB EA ;开中断RETI ;中断返回DELAY1:MOV R3,#02HAGAIN:MOV R4,#0F8H

25、DELAY:DJNZ R4,DELAYDJNZ R3,AGAINRET三、时钟计时程序模块的设计电子时钟系统的主要任务是:采用单片机为核心器件产生24h时间,并用LED显示器将它显示出来。1. 程序设计框图程序设计框图如图15所示。2. 计时程序清单T1SEV:MOV TH1,#3CH ;重置T1计数初值MOV TL1,#0B0HCLR EA ;关中断PUSH A ;保护现场PUSH BPUSH PSWCLR RS1CLR RS0 ;选择0区工作寄存器INC R2 ;中断次数+1CJNE R2,#0AH,EN ;判断中断10次否?否,转EN标号地址MOV R0,#0 ;T1中断10次的累计时间

26、为1s,技术寄存器R2清零INC R3 ;秒计时单元R3+1CJNE R3,#3CH,EN;判R3=60秒?否,转EN标号地址MOV R3,#0 ;60秒时间到,R3=0ING R4 ;分计时单元R4+1MOV 32H,R4 ;分值送32H单元CJNE R4,#3CH,EN ;判R4=60min?否,转EN标号地址MOV R4,#0 ;60min时间到。R4=0MOV 32H,R4 ;分值送32H单元INC R5 ;小时单元R5+1MOV 33H,R5 ;小时值送33H单元CJNE R5,#18H,EN ;判R5=24H?否,转EN标号地址MOV R5,#0 ;24h到。R5=0MOV 33H

27、,R5 ;小时值送33H单元EN:POP PSWPOPBPOPASETB EA ;开中断RETI ;中断返回图15 时间计时程序框图五、 键盘接收子程序的设计键盘接收子程序是由INTA和INTB两个子程序组成,两个子程序的功能是实现对当前时间的调整和输入定时(闹钟)时间。1. 程序框图程序框图如图16所示。2. 设置当前时间程序清单INTA:SETB P3.0 ;输入键之前,先将P3.0、P3.1置1 SETB P3.1 CLR TR1 ;T1停止定时 CLR ET1 ;T1禁止中断 CLR EX0 ;/INT0禁止中断CLR EX1 ;/INT1禁止中断SETB EA ;开中断SETB ET

28、0 ;允许T0中断SETB PT0PUSH A ;保护现场PUSH BPUSH PSWMOV 31H,#04H ;(31H)=04H(LED的位数)MOV 29H,#00H ;(29H)=00HLP0:JB P3.0,NEXT0 ;判断P3.0键(+1键)按下否,无键按下转NEXT0LCALL DELAY1 ;有键按下,延迟1msJB P3.0,LP0 ;判断是否松开?否,转LP0LP1:JNB P3.0,LP1 ;等待键松开INC 29H ;键松开后,(29H)+1MOV 30H,#1HSJMP LO1 ;转LO1标号地址NEXT0:JB P3.1,L1 ;判断P3.1是否按下?否,转L1L

29、CALL DELAY1 ;有键按下延迟1ms;JB P3.1,NEXT0 ;是否松开?否,转NEXT0LD1:JNB P3.1,LD1 ;是否松开?否,转LD1MOV 29H,#0MOV 30H,#1DJNZ 31H,LO1SJMP LLLO1:MOV A,31HCJNE A,#04H,LO2 ;是时针的十位吗?不,转LO2MOV A,29HCJNE A,#03H,LA1 ;十位大于3吗?不,转LA1MOV 29H,#00H ;是的,清0LA1:MOV 40H,29H ;(29H)(40H)SJMP L1 ;转L1LO2:MOV A,31HCJNE A,#03H,LO3 ;是时针的个位吗?不,

30、转LO3MOV A,40HCJNE A,#2,A1MOV A,29HCJNE A,#4,LA2MOV 29H,#0SJMP LA2A1:MOV A,29HCJNE A,#0AH,LA2 ;是,大于9?不,LA2MOV 29H,#00H ;(29H)清零LA2:MOV 41H,29H ;(29H)(41H)SJMP L1 ;转到L1LO3:MOV A,31HCJNE A,#02H,LO4 ;是分针的十位吗?不,转LO4MOV A,29HCJNE A,06H,LA3 ;大于6?不,转LA3MOV 29H,#00H ;(29H)清零LA3:MOV 42H,29H ;(29H)(42H)SJMP L1 ;转L1LO4:MOV A,29HCJNE A,#0AH,LA4 ;分针个位大于9?不,转LA4MOV 29H,#00H ;(29H)清零LA4:MOV 43H,29H ;(29H)(43H)L1:MOV A,31HCJNE A,#00H,LP0 ;(31H)=0返回,否则转LP0LL:MOV A,49H ;将输入的当前时间值BCD码转换为二进制数。MOV B,#10HMUL ABADD A,41HMOV 33H,AMOV A,42HMOV B,#10MUL ABADD A,43HMOV 32H,APUSH PSWCLR RS0CLR

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1