《单片机应用技术》实训任务书40.docx
《《单片机应用技术》实训任务书40.docx》由会员分享,可在线阅读,更多相关《《单片机应用技术》实训任务书40.docx(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、下面以如何把asm格式文件导入KEIL中以及如何编译为例。一、建立一个工程项目如图1-6所示,单击主菜单中“projeci”选项,在弹出的下拉菜单中选择“New Project选 项。此时,弹出如图1-7所示的对话框,在文件名中输入一个项目名,流水灯”,选择保存路 径,单击“保存”按钮。图16新建个工程项目图L7保存工程项目|批注机电1:图1-7的对话框需筌更换下.因为本软件 是英文软件,何来中文或图,请修改成“CgieNew Project*,对话框.批注机电1:图1-7的对话框需筌更换下.因为本软件 是英文软件,何来中文或图,请修改成“CgieNew Project*,对话框.二、选择芯片
2、在弹出的Selecl Device for Targel Targel 为11标targel选择设备)对话框中用单击 Aimel前面的+号,展开单片机型号清单,选择单片机芯片型号“89C52,如图1-8所示。单 击“确定”按钮,系统将返回主界面。vcc铲LEDSTC89C52RCVCC 40 T8Cl 6 oTIr2200OuFT2P10 VCCT2EXPI IPO 0 ,I)oC2 染lulOluFMAX冷VCC GND T10UTRIIN RlOirrTilNT1OUT T2IN R2IN R2OUTVCC C6 I10P! 2 Pl 3 PI 4 Pl 5 Pl 6 Pl 7 RCTPO
3、 1 .ADI PO2.AD2 PO 3 RD3 PO 4 AD4 PO5.AD5 P0 6 AD6 PO336 lul31 CSJCIOtaw【八WRP3 6 RHP3 7 XTAU XTAL1 *SS1920I打RXDP3 0 E4J TXI) P3 RLE PROG1 -n一 储 PSEN D5TTP3 3 PAA-p-I TO PS 4 TI PS 5P2 6 Al I P2 5 AI3 VI I 12 P2 3 All P2 2 AIOP2 VA9P20 AS302826I Ou!图2-14点亮LED灯的电路图图2-14只比单片机最小系统的电路图多了一个电阻和一个LED发光二极管,它
4、们被连 接在了 P.O引脚。电路中多的这个电阻称为限流电阻,串联于电路中,起到分压的作用。在电路中加限流 电阻的目的是减小负载端电流,在发光二极管一端添加一个限流电阻可以减小流过发光二极 管的电流,防止损坏LED灯。电路中的LED灯是半导体二极管的一种,可以把电能转化成光能。发光二极管与普通 二极管一样,由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,从 P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的 电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能 境状态不同。当电子和空穴发合时释放出的能抗多少不同,释放出的能及
5、越多,则发出的光 的波氏越短。常用的是发红光、绿光或黄光的二极管。发光二极管的两根引线中较长的一根为正极,应接电源正极。有的发光二极管的两根引 线一样长,但管壳上有一凸起的小舌,靠近小舌的引线为正极。发光二极管与小白炽灯泡和 乐灯相比,其特点是:工作电压很低(有的仅一点几伏):工作电流很小(有的仅零点几亳 安即可发光):抗冲击和抗震性能好,可靠性而,寿命长:通过调制通过的电流强弱可以方 便地调制发光的强弱。由于有这些特点,发光一.极管在一些光电控制设备中用作光源,在许 多电子设备中用作佶号显示器。把它的管心做成条状,用7条条状的发光管组成7段式半导 体数码管,每个数码管可显示09十个数字。当硬
6、件电路设计完毕后,设计工作还没有完成,因为单片机产品需要硬件和软件共同支 持才能正常工作,这里提到的软件主要是指用户编写的源程序。这也是区别于传统的电子产 品的地方。本系统要实现的主要功能是点亮一个LED灯.,根据外围电路的设计,只需要通过指令 控制单片机的第一个引脚输出低电平,就可以使第一个LED灯发光。采用C语言编程序如下。#includc 包含头文件sbi( lcdl=PHO;定义变量ledl为P1.0.也就是单片机的第一个引脚。void main()主程序开始,C语言唯一的一个主程序。ledl=O,让单片机的第一个引脚输出低电平,点亮LED灯。)把上面这个程序通过“任务一”介绍的方法建
7、立一个项目,注意因为此程序为C语言程 序,所以在“任务一”中“建立源程序文件”时需要在填写文件名称时加上“.C” 建立完 整的项H并编译通过之后,再通过“任务一”介绍的“ISP软件”把程序下载到单片机中。 就会发现电路中的LED灯点亮了。三、闪烁的小灯硬件电路与图2-13完全相同,要完成小灯的闪烁效果,我们只需要修凶程序,具体程 序如下。#includc/121 含头文件sbitlcdl=P|AO:定义变量Icdl为P1.0,也就是单片机的第一个引脚,void main()主程序开始,C语言唯一的一个主程序。(int i;whiled)led1=0;让第片机的第一个引脚输出低电平,点亮LED灯
8、fbr(i=O; i5000; i+);lcdl = l;让单片机的第一个引脚输出高电平,熄灭LED灯。fbr(i=O; i5000: i+);I)上述程序中只是加了在小灯的亮与灭之间加了两个for循环语句,来实现一定的延时。 加延时程杼的原因在于,人的眼暗要想看清灯有闪烁也就是亮灭的变化需要定的反应时 间。正如日常生活中的日光灯,实际它在以传秒50次的频率闪烁,但我们的眼睛分辨不出 来。那要到什么程序人眼才能分辨清楚呢,这个时间大概在10ms.知道了这个原因就不难 理解为什么要让for语句循环5 000次了,它就是为了让人眼能够看清灯在闪烁。而不加延 时实际只灯也在闪烁只不过人眼看不出来。一
9、、实现按键控制小灯有了按键结构及其工作原理的理论知识,下面来具体实现按键控制小灯,其实现过程如 下。1 .硬件电路按照图3-5所示搭建电路。军 j d yr 1STC89C52RCT2/P1.0VCCT2EXP1 1 P0.0/AD0 Pl 2P0 1 ADIPl.3P0.2/AD2Pl.4P0 3/AD3Pl.5P0.4/AD4Pl 6P0 5/AD5Pl.7P0.6/AD6RSTP0 .AD2RXDP3.0直TXD P3.1ALE PROG INTO P3.2 PSEN IKH P3.3 P2.7/A15 TO P3 4 P2 6 A14 T1 P3 5 P2 5 Al3 WRP3.6 P
10、2 4/A12 RDP3 P2 3 AllXTAL2 P2.2/A1OXTAL1 P2.1/A9VSSP2.0/A840220c,疝 S 39338437536635一348339321031HI 0 f U301229R6 13285 1k 1407152616251241823V(:C 192021图3-5 一个LED控制电路图3-5中省略了一些辅助电路包括电源电路、晶振电路、程序下载电路和豆位电路等。 要想实现完整的功能这些电路是必不可少的,但为了理解方便这里略去了。在PI.0接了一 个发光二极管和一个限流电阻,在P3.0接了一个带上拉电阻的按犍。2 .程序设计单片机的编程或者说大多数嵌
11、入式系统的编程主要有两种方式:一种是中断的方式;另 种是查询的方式。对于图3-5所示的电路,因为没有连接到中断相关的引脚或与其建立联 系,所以应该先应用查询的方式来编写相应的程序,P3.0端口最初的状态为高电平,当有 按键按下时为低电平,所以应该在程序中直询这个端口的状态是为低电平来确定有按键按下 了。下面利用图3-5来实现这样一个现象,监视按说SI (接在P3.0端口上),用发光二极 管DI (接在单片机PI.0端口上)显示按键状态,若按下按键SI,则发光二极管D1亮:若 未按下按键SL则发光二极管DI熄灭。按键S1状态的检测过程为单片机对按键状态的检测相对丁单片机来说,是从单片机的 P30
12、端口输入信号,而输入的信号只有高电平和低电平两种,当按键未按下时,输入高电 平:当按键按下时,输入低电平。输出控制:如图35所示,当PLO端口输出高电平,即PI.O=1时,根据发光二极管的 单向导电性可知,这时发光二极管D1熄灭:当P1.0端口输出低电平,即P1.0=0时,发光 二极管D1亮。基于此可形成按键控制小灯的程序框图,如图3-6所示。图3-6按键控制小灯的程序框图由图3-6可以形成如下C语言程序。#include sbi(SI=P3A0:sbilDI=PIN):此句话引出下面的编程,但是此句话叙述的太过口语化,清规范下吧。void main(void) (while( 1) (if(
13、SI=O)DIR; 灯亮 else Dl = l;灯灭 )二、实现多路按键状态指示1 .硬件电路如图3-7所示,单片机的接四个发光二极管DD4, PL4P1.7接四个按键 SI-S4,编程将按键的状态反映到发光二极管.匕(按键按下,对应的灯亮,按键未按下. 对应的灯灭)。T2P1.0 VCCT2EX P1 1 PO O ADOPl.2Pl.3P14 Pl.5Pl.6Pl.7 iurr RXDP3.0PO 1 ADI P0 2 AD2 P03AD3 PO J ADJ PO.5 AD5 P0.6 AD6 P0.7/AD7_EATXDP3 1ALEPROG0PI2 Dm P3.3 T0P3.4 T1
14、 P3.5 WRP3.6 RDP3.7 XTAL1 XT AL I VSSPSEN P2 A15 P26/A14 P2.5/A13 P2 4/A12 P2.3/A11 P2 2 A10P2 1,A9 P2 0 AS5.1k图3-7四个LED控制电路2 .程序设计按键状态检测:对按键状态检测,相对单片机来说是输入关系,可轮流检测每个按键 状态,根据每个开关的状态让相应的发光二极管指示;也可以一次性检测四路开关状态,然 后让其指示。输出控制:根据按键的状态,由发光二极管DID4来指示,可逐个显示,也可采用一 次指示。基于此可形成多路按键状态显示的程序框图,如图3-8所示。图3-8多路按键状态显示的
15、程序框图 由图3-8可以形成如下C语言程序。#include unsigned char teinp:void inain(void)while(l)(tcmp=Pl4;tcmp=temp | OxfD;Pl=tcmp;)根据每个按键的状态让相应的发光二极管指示,其思路较为简单,这里仅列出相应的C 语言程序。#include void main(void)(while(l)(if(Pl_4= =0)(Pl_0=0;)else(Pl_0=1;if(PI_5= =0)(Pl_I=0; else ()if(PI_6= =0)Pl_2=0; else (Pl _2=1;if(PI_7= =0)Pl_3
16、=0;elsePl_3=l;)1)三、实现按键控制流水灯1 .硬件电路这里仍然可以用图3-7所示电路,只不过按键我们在这只用到rsi,在单片机的PI端 口仍然连接有四个发光二极管。要实现的现象是上电的时候,D1接在P1.0管脚上的发光二 极管在闪烁,当每一次按下按键S1的时候,D2接在PL1管脚上的发光二极管在闪烁,出 按卜按键S1的时候,D3接在P1.2管脚上的发光二极管在闪烁,再按卜按键S1的时候, D4接在P1.3管脚上的发光二极管在闪烁,再按卜按他SI的时候,又轮到D1在闪烁了, 如此轮流下去,从而实现由按键控制的流水灯。2 .程序设计在我们生活中,我们很容易通过不同的人名来区分不同的
17、人:那是因为每个人有不同的 名子,我们就很快认出。同样,对于要通过一个按说来识别每种不同的功能,我们给每个不 同的功能模块用不同的1D号标识,这样,每按下一次按键,ID的值是不相同的,所以单片 机就很容易识别不同功能的身份了 .DI到D4发光二极管在每个时刻的闪烁的时间是受按键S1来控制,我们给DI到D4 闪烁的时段定义出不同的1D号,当D1在闪烁时,【D=0:当D2在闪烁时,ID=1;当D3 在闪烁时,ID=2;当D4在闪烁时,ID=3;很显然,只要每次按下按键S1时,分别给出 不同的1D号我们就能够实现预期的目标。由此思路形成图3-9所示,按键控制流水灯的程序框图。图3-9按说控制流水灯的
18、程序框图 由图3-9可以形成如下C语言程序。include unsigned char ID;void delay I Oms( void)/10 亳秒延时函数(unsigned char i,j:for(i=20;i0;i-)for(j=248;j0;j-);void dclay02s(void)/2 秒延时函数(unsigned char i:for(i=20;i0;i-)(delay 10ms();void inain(void)(while(l)(if(PI_4=0)delay 10ms();if(Pl_4=0)(ID+;if(ID= =4) (ID=0;)while(Pl_4=0);
19、)switch(iD) case0:Pl_O=-Pl_O;delay02s():break; case I:P1 _ 1 =P I _ I ;delay02s();break; case 2:PI_2=Pl_2;delay02s();break; case 3:PI_3=P l_3;delay02s();break;一、硬件电路IN* VS GAND VOVTLM486NI 22WF简易音响的总体思路就是用单片机的I/O端口产生与音符对应的频率信号,以这种思路 可以得出简易音响的电路图,如图4-6所示,这里需要大家注意图中省去了单片机的周边电 路,并且晶振电路中用的是2MHz晶振。T2P10T
20、2EXPI I POO ADOPI 2R I APIPI 3POX AD:PI 4PO 3 ADIPI 5PO J AIMPl 6PO5 AI5PI 7P06 AD6RSTHADRXD P3 0TXDP5 ALE 四卫2 rTTnTT Pl 5 P2* AI5 TOP3J P26AI4 Ti P5S P2 5AB Wr P3 6 P2 4 Al: npv p: j ai XTAL2 P22AIO XT.AL1 P2 I A9 VSSP2 Q A8图46简易音响电路连接图图4.6中涉及到一款芯片LM386。它是一种音频集成功放,具有自身功耗低,电压熠 益可调整,电源电压范围大,外接元件少和总谐波
21、失真小等优点,广泛应用于录音机和收音 机中。LM386内部与通用型集成运放相类似,它是一个三级放大电路。笫一级为差分放大 电路,使用镜像电流源作为差分放大电路有源负我,可使单瑞输出电路的增益近似等于双端 输出电容的增益。第二级为共射放大电路,以增大放大倍数。第三级构成准互补输出级。LM386的外形和引脚的排列如图4-7所示。引脚2为反相输入端,引脚3为同相输入 端,引脚5为输出端,引脚6和引脚4分别接电源和地,引脚I和引脚8为电压增益设定端。 使用时在引脚7和地之间接旁路电容,通常取10nF增益旁路设定电容+“cc MtHm内向国)LM386LU LzJ LzJ LJ 地拉反相同相地 设定愉入
22、播入图47 LM386的外形和出脚的排列LM386的电源电压为412 V或518V(LM386N4):静态消耗电流为4mA;电压增益 为20200 dB,在引脚I和引脚8开路时,带宽为300 kHz,输入阻抗为50 k,音频功率0.5Wt.尽管LM386的应用作常简单,但稍不注意,特别是器件上电、断电瞬间,甚至工作稳 定后,一些操作(如插拔音频插头、旋音量调节钮)都会带来的瞬态冲击,在输出喇叭上产 生噪声。所以在应用时应注意如下问题。(1)通过接在引脚I、引脚8间的电容(引脚I接电容正极)来改变增益,断开时烟 益为20dB。因此,用不到大的增益,就不要接电容。(2)设计PCB时,所有外围元件应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机应用技术 单片机 应用技术 任务书 40
限制150内