1、由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用。关键词:单片机,程序,跑马灯,数码管,测试一、引言本课程设计的目的以本学期对单片机的学习和认识,并通过本次课程设计加以应用,从而达到一个对所学知识的巩固、更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,再对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。在根据该电路设计出软件的功能模块、从而完成程序流程图,在根据流
2、程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件、硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。二、八路LED跑马灯实验2.1设计内容:八路发光二极管轮流点亮的实验,也就是通常所说的跑马灯实验,首先让我们来完成必须的硬件部分,我们需要焊接上8个发光二极管和8个限流电阻,可以参考下面的原理图和实物图像进行操作,需要注意的是LED是有极性的,引脚长的为正极,引脚短的为负极,负极和电阻一侧连接,如果接错那么相应的那一路可能在实验中不会点亮了。2.2电路图:.
3、2.3上机程序:org 0000hajmp startorg 0030hstart:mov a,#7fh clr c mov r2,#08h loop: rrc a mov p0,a call delay djnz r2,loop mov r2,#07h loop1: rlc a djnz r2,loop1 jmp start delay: d1: mov r4,#20d2: mov r5,#248djnz r5,$djnz r4,d2retend八路发光二极管轮流点亮汇编语言的一大优势就是能够精确控制程序的执行时间,这在编写一些对时序要求严格的外围器件驱动时由为重要!三、二位数码管循环显示0
4、099的实验3.1设计内容:8段数码管显示.两位数码管显示00-99依次循环(动态扫描方式).p1做LED显示数据输出口.p3.2;p3.3分别控制数码管个位数和十位数显示.用单片机进行数码显示应具有显示器件;应用最广泛的是8段数码管。8段数码管从内部接线上分共阳和共阴两种。在电路设计时应根据情况决定采用共阳或共阴,其基本原则是:若单片机IO口直接驱动数码管个段,最好采用共阳数 码管,因为51单片机IO口输出高电平时输出的电流很小,数码管不会太亮;若数码管是通过驱动芯片与单片机相连的,就要看驱动芯片对数码管极性的要求。3.2电路图:3.3上机程序:a_bit equ 20hb_bit equ
5、21htemp equ 22hmov temp,#0ss:acall displayinc tempmov a,tempcjne a,#100,nextnext:ljmp ssdisplay:mov b,#10div abmov b_bit,amov a_bit,bmov dptr,#numtabmov r0,#4dpl1:mov r1,#250dplop:mov a,a_bitMOVC +DPTR clr p2.6 ACALL dlmssetb p2.6mov a,b_bit clr p2.7 setb p2.7djnz r1,dplopdjnz r0,dpl1dlms:mov r7,#80
6、djnz r7,$numtab:DB 30H,0FCH,0A2H,0A4H,6CH,25H,21H,0BCH,20H,24H3.4调试结果及结论:8段数码管显示.两位数码管显示00-99依次循环(动态扫描方式)。因为要显示两位不同的数字,所以必须用动态扫描的方法来实现,就是先个位显示1毫秒,再十位显示1毫秒,不断循环,这样只要扫描时间小于150秒,就会因为人眼的视觉残留效应,看到两位不同的数字稳定显示。四、单片机演奏音实验4.1设计内容:利用单片机演奏音乐大概是单片机爱好者感兴趣的问题之一。这里我们用网站提供的实验板来做这个实验,并且了解单片机演奏音乐的基本原理,和相关的源程序。我们知道,声音
7、的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的高电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调乐曲中,每一音符对应着确定的频率,我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。此外,结束符和体止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。为了产生手弹的节奏感,在某些音符(例如两个相同音符
8、)音插入一个时间单位的频率略有不同的音符。4.2电路图:4.3上机程序:ORG 0000HLJMP STARTORG 000BHINC 20H ;中断服务,中断计数器加1MOV TH0,#0D8HMOV TL0,#0EFH ;12M晶振,形成10毫秒中断RETISTART:MOV SP,#50HMOV TL0,#0EFHMOV TMOD,#01HMOV IE,#82HMUSIC0:NOPMOV DPTR,#DAT ;表头地址送DPTRMOV 20H,#00H ;中断计数器清0MUSIC1:CLR A ;A清零MOVC +DPTR ;查表取代码JZ END0 ;是00H,则结束CJNE A,#0
9、FFH,MUSIC5 ;如果是休止符,往下执行LJMP MUSIC3MUSIC5:MOV R6,A ;R6=18H音符的频率INC DPTR DPTR加一MOV A,#0取节拍代码送R7MOV R7,A ;R7=30H音符发音的时间SETB TR0 ;启动计数 MUSIC2:CPL P2.5 ;P2.5是音乐输出引脚MOV A,R6MOV R3,A ;R3=R6=18HLCALL DELMOV A,R7CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否?;不等,则继续循环等于,则取下一代码INC DPTRLJMP MUSIC1MUSIC3:NOP ;休止100毫秒CLR TR0
10、 MOV R2,#0DH ;R2=13MUSIC4:MOV R3,#0FFH ;R3=255DJNZ R2,MUSIC4END0:MOV R2,#0FFH ;歌曲结束,延时1秒后继续MUSIC6:MOV R3,#00HDJNZ R2,MUSIC6LJMP MUSIC0DEL:DEL3:MOV R4,#02HDEL4:DJNZ R4,DEL4DJNZ R3,DEL3RETDAT:DB 82H,01H,81H,94H,84H DB 0B4H,0A4H,04H DB 0C4H,0B4H,04H DB 82H,01H,81H,0F4H,0D4H DB 0B4H,0A4H,94H DB 0E2H,01H
11、,0E1H,0D4H,0B4H 4.4调试结果及结论:本程序演奏的是“生日快乐”, 网友也可以自行找出一首歌,将乐曲翻译成码表输入机器,而程序不变。本实验方法简便,即使不懂音乐的人,将一首陌生的曲子翻译成代码也是易事,和着机器的演奏学唱一首歌曲,其趣味无穷。五、心得体会:通过本次课程设计我们获益良多。既巩固了单片机的一些相关基本知识,又熟悉了PROTRL的相关操作。对一个整体的电子设计项目,有了一定的认识,初步学会了一定的设计方法,明白了如何用这种方法去实现一个系统的设计。在电子技术应用领域中,单片机的应用愈来愈多地应用到各行各业。如:工业控制、仪器仪表、电讯技术、办公自动化和计算机外部设备、
12、汽车与节能、商用产品、家用电器等。目前,单片机正朝着大容量片上存储器、多功能io接口、宽范围工作电源和低功耗方向发展。要开发单片机的应用,不但要掌握单片机硬件和软件方面的知识,而且还要深入了解各应用系统的专业知识,只有将这两方面的知识融会贯通和有机结合,才能设计出优良的应用系统。一个好的工程设计师不仅要掌握单片机的工作原理,而且还要不断了解各公司最新芯片的结构和应用,在实际应用中找到最好的性能价格比。所以以后还要注意培养接受新知识的自学能力,掌握芯片发展动态。同时也让我们找到了自己在某些知识上的欠缺,并通过这次机会得到弥补,取得进步!六、参考文献:1张毅坤,陈善久,裘雪红. 单片微型计算机原理及应用.西安电子科技大学出版社.2008年5月2 华成英,童诗白. 模拟电子技术基础.高等教育出版社,2007年8月3 赵辉,刘印华 . PROTEL 99电子线路CAD.北京邮电大学出版社.2008年1月
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1