1、单片机课程设计报告跑马灯 武 汉 纺 织 大 学 单片机课程设计报告 设计课题:跑马灯指导教师:刘丰 姓名:颜珊 曹坤 班级:应电092 一、设计任务 利用单片机制作让LED灯依次闪烁时间间隔为0.5S二次后时间加快为0.2S并循环闪烁的跑马灯.二、设计要求(1)采用单片机STC89C52来控制,下载器由芯片MAX232来对程序的下载。(2)LED灯的闪烁间隔时间为0.5S-0.25S-1S,每循环两圈更改闪烁速度。(3)供电采用USB方口的方式。三、方案设计与论证 跑马灯电路的组成方框图为:四,主要元件介绍(1)单片机STC89C52引脚介绍stc89c52的内核和AT51系列单片机一样,故
2、引脚也相同:18:I/OP1口(P1.0P1.7);9:复位脚(RST/Vpd);1017:I/OP3口(P3.0=RXD,P3.1=TXD,P3.2=-INT0,P3.3=-INT1,P3.4=T0,P3.5=T1,P3.6=-WR,P3.7=-RD)主要是此引脚;18、19:晶振(18=XTAL2,19=XTAL1);20:地(Vss);2128:I/OP2口(P2.0P2.7); 29:-PSEN;30:ALE/-PROG;31:-EA/Vpp3239:I/OP0口(P0.7P0.0);40:+5V电源。注:引脚功能前加“-”,说明其是低电平有效。如P3.2=-INT0。(2)MAX23
3、2介绍 MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。 内部结构基本可分三个部分: 第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道 8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入
4、转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚GND、16脚VCC(+5v)。五、设计原理及电路图1、本电路,是利用单片机的中断定时来实现LED灯的闪烁。控制器STC89C52与我们所学的ATML的单片机AT89C52的内部结构和资源是一样的,内部有8位的CPU处理器包含(运算部件和控制部件),片内有256B的数据存储器和8KB的程序存储器,3个定时器/计数器;六个中断源(两个外部中断源INTO和INT1,两个定时/计数器T0和T1,一个串行
5、口中断)。四个输出口P0口、P1口、P2口、P3口,LED的八个灯的控制口由P0口来控制,而采用P3口第二功能且可以在线下载程序,硬件复位端9脚在高电平是单片机复位。由于本次设计未用到其他内部资源所以就不过多的去分析。(下附STC89C52单片机引脚图)3、Max232产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。 该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成A-232-F电平
6、TIA/EI。内部结构基本可分三个部分: 第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。 8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232
7、数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚GND、16脚VCC(+5v)。六、程序分析: 此设计主要是采用控制系统的定时中断来完成的,应为设计要求8LED灯循环点亮,而且第一圈的速度是0.5S走两圈后速度改成0.25S,继续两圈然后又改成1S走两圈后就回到开始状态。依据这种思路就由定时器T0工作在方式1中并定时10ms。然后由寄存器R2对10ms计数50次则P1口数据左移移位,再用一个寄存器对P1口的移位进行计数16次就是两圈,后面只要改变R2的值,就可以达到不同的速度了。具体程序如下:# include /包含特殊功能寄存器
8、库unsigned char i,x,k,n,y,m,r,date;void main( )TMOD=0x01;TH0=0xD8;TL0=0xF0;EA=1;ET0=1;i=0;date=0xfe;x=0x64;k=0x0;n=0;y=0;m=0x11;r=0x23;P1=date;TR0=1;while(1);void time0_int(void) interrupt 1 /中断服务程序P1=date;TH0=0xD8;TL0=0xF0;i+;if (i=x)if(date=0xff)date=date1;P1=date;i=0;elsedate=(date1)+1;P1=date;i=0
9、;+k;if(k=m)x=0x32;m=0x13;k=0;+n;if(n=r)x=0x96;n=0;r=0x12;m=0x14;k=0;+y;if(y=2)x=0x64;m=0x11;n=0;k=0;r=0x23;七、程序流程图元件序号主要参数元件个数实验板带串口和USB1单片机STC89C521MAX2321DB9孔-串口1R1-R82008R93001R101K1R112001 LED红色9开关1四脚(无锁)1开关26脚(带锁)1C122uf1C2、C330pf2C4、C5、C6、C70.1uf4C810uf140P、16P底座各1串口线、USB方口各1八、硬件制作与调试组装时,因为不是P
10、CB板焊接而是用导线布局,在焊接之前布局是关键,布局好看而且并不影响电路焊接是最为关键的,在布局之前还要确定的是六脚的电源开关和四脚按钮的引脚防止焊接后电源短路或断路。因为是用导线焊接的在焊接的时候导线与原件的焊接是采用两孔相连的方法,所以焊接时防止虚焊或漏焊。先焊接电阻和底座然后焊接其他原件,先每个原件焊接一个引脚以便查看布局和后面的导线布线。焊接的时候一定要对着电路原理图仔细看好,防止焊错或漏焊,最后就是焊接电源。焊接好后就是调试了,焊接完后应该用万用表电阻档测一下电源两端的电阻若不为零而为一个很小的值则表明电路没短路,否则电路有短路应该排除后再通电,接通电源后先看指示灯LED是否亮的,这
11、时就先看单片机是否在工作具体就是用示波器观察控制器的控制线ALE端输出波形,若有正旋波输出则表示为单片机正常工作否则没运行就要检查电路是否连接正常。焊接并通电成功后就要开始进行在线下载了,首先要安装好STC下载软件并连接好串口线,完成后就可以开始下载了。如果下载不通先检查软件和串口线,若前面都可通过那就要看线路的焊接也就要检测硬件的问题。九、设计总结在设计此电路时首先遇到的是程序的问题,由于是刚学习单片机,先确定的是硬件通过查资料,绘制了电路原理图,然后就是软件而在编程的时候很困难而且对单片机了解不是很多通过查书和请教老师,慢慢的摸索相互合作最终还是把程序编译出来,然后就是电路的焊接而焊接是最重要的,而且也相对困难因为是用通用板线路都是用导线相互连接的布局就困难了,也加大了线路的焊接质量,如果那儿没有焊好就对后面的调试很有影响。最后就是调试了,因为电路有软件和硬件使得在调试时排除错误很麻烦不低于前期的设计和编程。总之需要理能加实践才能完成。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1