课程设计说明书
(2009 /2010学年第 二 学期)
课程名称 : 单片机 题 目 : 简易多彩广告灯控制设计 专业班级 :
学生姓名 : 学 号:
指导教师 : 王立国 韩昱 苗敬利 设计周数 : 2周 设计成绩 :
7月 8 日
1、课程设计目的*************************************************
2、课程设计具体要求******************************************** 3、硬件设计
(1)AT89C52简介********************************************* (2)方案设计************************************************* (3)单元电路设计********************************************* (4)元件列表************************************************* (5)原理图*************************************************** (6)系统调试************************************************* 4、软件设计
(1) 系统分析************************************************* (2) 系统设计************************************************* (3) 系统实施及程序******************************************* 5、课程设计总结************************************************** 6、参考文献******************************************************
1、课程设计目的
1) 进一步熟悉和掌握单片机的结构及工作原理。
2)掌握单片机的接口技术及相关外围芯片的外特性,控制方法。 3) 通过课程设计,掌握以单片机核心的电路设计的基本方法和技术 4) 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5) 通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。 2、课程设计具体要求
本次课程设计要求设计制作一个以单片机为核心的多色彩广告灯闪烁控制系统:1 确定总体设计方案;
2 设计键盘输入电路; 3 设计显示电路; 4 设计彩灯控制电路; 5 编写控制程序 3、硬件设计 3.1 AT89C52简介
AT89C52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的AT89C51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 1.主要特性: •与AT89C51 兼容 •4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 •全静态工作:0Hz-24Hz •三级程序存储器锁定 •128*8位内部RAM •32可编程I/O线 •两个16位定时器/计数器 •5个中断源 •可编程串行通道 •低功耗的闲置和掉电模式 •片内振荡器和时钟电路
2.管脚说明:
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口也可作为AT89C52的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在S
FR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加5V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。
3.振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
。
3.2 CD4511显示译码管
CD4511是一个用于驱动共阴极 LED (数码管)显示器的 BCD 码—七段码译码器,特点:具有BCD转换、消隐和锁存控制、七段译码及驱动功能的CMOS电路能提供较大的拉
电流。可直接驱动LED显示器。
CD4511 是一片 CMOS BCD—锁存/7 段译码/驱动器,引脚排列如图 1 所示。其中a b c d 为 BCD 码输入,a为最低位。LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,各笔段都被点亮,以检查显示器是否有故障。BI为消隐功能端,低电平时使所有笔段均消隐,正常显示时, B1端应加高电平。另外 CD4511有拒绝伪码的特点,当输入数据越过十进制数9(1001)时,显示字形也自行消隐。LE是锁存控制端,高电平时锁存,低电平时传输数据。a~g是 7 段输出,可驱动共阴LED数码管。另外,CD4511显示数“6”时,a段消隐;显示数“9”时,d段消隐,所以显示6、9这两个数时,字形不太美观 图3是 CD4511和CD4518配合而成一位计数显示电路,若要多位计数,只需将计数器级联,每级输出接一只 CD4511 和 LED 数码管即可。所谓共阴 LED 数码管是指 7 段 LED 的阴极是连在一起的,在应用中应接地。限流电阻要根据电源电压来选取,电源电压5V时可使用300Ω的限流电阻。
图1 CD4511引脚图
图2 CD4511各引脚接线图
其功能介绍如下:
BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于
熄灭(消隐)状态,不显示数字。
LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 DCBA 状态如何,
七段均发亮,显示“8”。它主要用来检测数码管是否损坏。
EL:锁定控制端,当LE=0时,允许译码输出。 LE=1时译码器是锁定保持状态,译码器
输出被保持在LE=0时的数值。
A1、A2、A3、A4、为8421BCD码输入端。 a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效。CD4511具有锁存、译码、消隐功能,通常以反相器作输出级,通常用以驱动LED。
各引脚的名称:其中7、1、2、6分别表示A、B、C、D;5、4、3分别表示LE、BI、LT;13、12、11、10、9、15、14分别表示 a、b、c、d、e、f、g。左边的引脚表示输入,右边表示输出,还有两个引脚8、16分别表示的是VDD、VSS。
(2).锁存功能:译码器的锁存电路由传输门和反相器组成,传输门的导通或截止由控制端LE的电平状态。
(3)译码 :CD4511译码用两级或非门担任,为了简化线路,先用二输入端与非门对输入数据B、C进行组合,得出四项,然后将输入的数据A、D一起用或非门译码。 (4)消隐
BI为消隐功能端,该端施加某一电平后,迫使B端输出为低电平,字形消隐。 3.3、数码管
数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及 dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点)。
图9 共阴极内部接线图
此设计采用的是共阴极数码管,共阴极的LED显示管的发光二极管的阳极连在一块,通常此公共阴极接地,当某个发光二极管的阳极为高电平的时候,发光二极管点亮,相应的段被显示出来,为了使LED显示器不同的符号和数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可以使LED相应的段发光,从而显示不同的字型,因而该代码称之为段码。
3.4方案设计
(1)根据课程设计要求设计相应电路图 (2)确定相应器件型号及类型
(3)根据电路图排列器件顺序,焊制电路板 (4)检查电路板及元器件是否正常导通 (5)根据实验要求编辑相应程序
(6)仿真检测电路板及程序是否正常工作 (7)接通电源调试单片机 3.5单元电路设计 (1)发光二极管设计 (2)按键电路设计 (3)数码管显示设计
3.6元件列表 序号 1 2 名称 单片机 电阻 型号 AT89C52 5K 200 500 数量 1 4 1 7 1K 10K 3 4 5 6 7 8 9 电容 开关 数码管 发光二极管 三极管 晶振 CD4511 NPN 12M 10uf 30pf 10 1 1 2 3 2 8 2 1 1 3.7原理图
3.8系统调试 (1)硬件调试 (2)软件调试
(a)仿真机上测试程序 (b)单片机上调试程序
4软件设计 4.1系统分析 (1)按键分析
(2)数码管显示分析 (3)发光二极管控制分析 4.2系统设计 (1)按键设计
(2)数码管显示设计 (3)发光二极管控制设计 4.3系统实施及程序
ORG 0H AJMP MAIN MAIN:
MOV R4,#0 MOV R5,#0 MOV R6,#0
START: SETB P2.0 SETB P2.1
MOV P1,#0FFH
ACALL DISPLAY JNB P2.1,JIA JNB P2.0,CAI
AJMP START
CAI:CJNE A,#01H,NEXT D2: MOV A,R4
MOV R3 , #0FEH MOV A,R3 RL A
MOV P1,A JNB P2.1,JIA ACALL DEY1S JNB P2.1,JIA ACALL D2
NEXT:CJNE A,#02,NEXT1 D3: MOV R3,#0FEH MOV A,R3 RR A
MOV P1,A JNB P2.1 ,JIA ACALL DEY1S JNB P2.1 ,JIA ACALL D3
NEXT1:CJNE A,#03,NEXT2 D4:MOV R3,#0FEH MOV A,#0FEH OP1:MOV P1,R3 ANL A,R3 MOV R3,A RL A
JNB P2.1 ,JIA ACALL DEY1S JNB P2.1, JIA JNB ACC.0 ,D4 AJMP OP1
NEXT2:CJNE A,#10,NEXT3 MOV R3,#55H MOV A,R3 DP10:MOV P1,A JNB P2.1 ,JIA ACALL DEY1S JNB P2.1 ,JIA CPL A
AJMP DP10 NEXT3:AJMP START
JIA: MOV P1,#0FFH INC R4 MOV A,R4 DA A
MOV R4,A ANL A,#0FH MOV R6,A MOV A,R4 ANL A,#0F0H SWAP A MOV R5,A
CJNE R4,#11H,DP RET
DP:AJMP MAIN DEY1S:
MOV R6,#47H DL0:MOV R5,#02H DJNZ R5,$ DJNZ R6,DL0 RET
DISPLAY: CLR P2.2 CLR P2.3
MOV DPTR,#TAB MOV A,R5
MOVC A,@A+DPTR MOV P0,A SETB P2.2
ACALL DEY10MS CLR P2.2 MOV A,R6
MOVC A,@A+DPTR
MOV P0,A SETB P2.3
ACALL DEY10MS CLR P2.3 RET
DEY10MS: MOV 33H,#100 LOOP1: MOV 34H,#50 LOOP: DJNZ 34H,LOOP DJNZ 33H,LOOP1 RET
TAB: DB 00H,01H,02H DB 03H,04H,05H DB 05H,06H,07H DB 08H,09H
5 课程设计总结
创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。
这个设计过程中,我们根据课程设计要求,使单片机完成实验要求,使之成为一个更加适用,功能更加完备的属于自己的一个系统。通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。
设计结果能够符合题意,成功完成了此次实习要求,我们不只在乎这一结果,更加在乎的,是这个过程。这个过程中,我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。
6 参考文献
高等教育出版社 张毅刚 主编 《单片机原理及应用》 课程设计 评 语 课程设计 成 绩 指导教师 (签字) 年 月 日
因篇幅问题不能全部显示,请点此查看更多更全内容