




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机实验板工程训练指导书物理与电子工程系2005年10月实验一 LED闪烁灯设计4实验二模拟开关控制指示灯设计7实验三 多路开关状态指示设计10实验四广告灯左、右移设计14实验五查询法设计广告灯18实验六报警产生器设计21实验七I/O并行口直接驱动数码管设计25实验八单键识别设计29实验九一键多功能按键识别设计33实验十00-99计数器设计38实验十一六十秒计时器设计42实验十二可预苣可逆4位计数器设计46实验十三动态数码显示设计51实验十四4X4矩阵式键盘识别设计55实验十五定时计数器T0作定时应用设计(一)64实验十六定时计数器T0作能时应用设计(二)71实验十七9.9秒跑马表设计76实
2、验十八“嘀、嘀、”报警声设计82实验十九“叮咚”门铃设计87实验二十智能电子钟设计92实验二十一“新年好”音乐设计102实验二十二电子琴设计108实验二十三模拟计算器数字输入及显示设计119实验二十四数字电压表设计126实验二十五DS18B20数字温度计设计131附录A实验板中模拟/数字转换器ADC0804的参数及使用说明139附录B实验板中DS18B20智能温度控制器的参数及使用141单片机实验板详细说明该单片机实验板设计巧妙,经过了严格的检査,可放心使用。由于考虑到众多的实验要在此单片机实验板上完成,然而每个实验用到的单片机的I/O 口不尽相同,所以设讣时采用拨动拨码开关和替换跳线帽的位宜
3、来完成每个实验内容。在完成各个实验内容时,首先要看淸楚实验电路原理图,然后按照实验内容给出的单片 机实验板上的硬件连线、拨动拨码开关或替换跳线帽的位宜来完成系统设计。检查无渓后下 载程序。由于每个程序都经过了单片机实验板的验证,i正明程序没有问题。所以要是调不出 来,肯左是硬件没有连好,再次检査直到完成实验。每做完一个实验后,把拨动拨码开关和 跳线帽恢复到初始状态。一、拨码开关和跳线帽的初始化状态介绍如下:单片机实验板上有8联拨动拨码开关4个(JP1、JP2、JP3、JP4) , 2联拨动拨码开关 1个(JP5),跳线帽13个。在初始化状态下,拨动拨码开关都处于紧靠数字的位置,此 位置下的拨动
4、拨码开关为不用状态。8排针接插件J3上的8个跳线帽要全部连接在标号为 P0位置上。单排针接插件J4上的跳线帽要连接在0E和GXD的位置上。单排针接插件J5上 的跳线帽连接在0E和GND的位這上。单排针接插件J6上的跳线帽要连接在0E和VCC的位 置。单排针接插件J7上的跳线帽要连接在CS和GND的位巻。双排针接插件J8上的跳线帽 应该和J8上排插针相连。4个8联拨动拨码开关(JP1、JP2、JP3、JP4)应该全部所至下 方。二、实验中具体使用介绍如下:(1)当用到发光二极管时,要把8联拨动拨码开关JP4拨到ON状态。(2)当用到喇叭输岀时,把2联拨动拨码开关JP5的1号拨动开关拨上去;当用D
5、S18B20 做测温时,把2联拨动拨码开关JP5的2号拨动开关拨上去。(3)当用到矩阵键盘输入时,把8联拨动拨码开关JP3的拨动开关全部拨上去。(4)当用到拨动开关SW1-SW4时,耙8联拨动拨码开关JP2对应的拨动开关拨上去。(5)当用到按键开关S18-S21时,耙8联拨动拨码开关JP2对应的拨动开关拨上去。(6)当用8个动态数码管显示时,首先应该把单排针接插件J4的0E与VCC用跳线帽 相连。同时8联拨动拨码开关JP1对应的拨动开关拨上去。8联拨动拨码开关JP1的S1-S8 分别对应三极管Q2-Q9.(7)当用8个动态数码管输入ah数码时,如果用到POD,不用移动跳线帽:如果 用到P1 口
6、,把8个跳线帽移到下而的标有P1的位巻。(8)当用P0 口做数码管静态显示时,把单排针接插件J5的0E与VCC用跳线帽相连。(9)当用P2 口做数码管静态显示时,把单排针接插件J6的0E与GND用跳线帽相连。总之,在用单片机编写简单程序时,汇编语言编写起来比较简单,但复杂的程序还是用 C51编写起来比较简单。所以C51编程是必学的。这里基本上所有的实验程序都采用汇编和 C51两种编程方法。有的实验还给出了两套设计方案,便于比较学月。实验一LED闪烁灯设计一、头验目的1、初步了解单片机I/O 口的简单控制。2、掌握单片机外羽常用电路的固怎接法。二、设计原理利用单片机控制一个发光二极管,使此发光二
7、极管间隔02秒亮、火一次。三、参考电路U5PRESETP30 P31P32P33P34P35P36 P37XTALlXTAL2 VSSU1AT89C51VCCPOOP01P02P03P04P05P06P07 EAALE PSENPZ7P26P25 P羽P23P22P2120VCCR1539咒1456789箔7 jcc22272625242322Ti图1. 1 LED闪烁灯外部电路原理图四、电路硬件说明如图1. 1所示:在单片机的P1. 0端口上通过8联拨动拨码开关JP4的相应拨码开关连 接一个发光二极管DI。五、程序设讣内容(1) 延时程序的设计方法:单片机指令的执行时间是很短的,它的数量级为
8、微秒级。在本程序设计中,要求LED 闪烁灯的闪烁时间间隔为0.2秒。相对于微秒来说,相差太大,所以在执行某一指令时,需 要插入延时程序,来达到的要求。然而这样的延时程序是如何设讣呢?下而具体介绍其原理:如图1.1所示,单片机所用的石英晶体为12MHz0因此,1个机器周期为1微秒。延时10ms子程序机器周期微秒MOV R6, #201个1D1: MOV R7, #2481个1+1X20DJNZ R7, S2个2X248+2X20X248DJNZ R6,D12个2X20因此,上而的延时程序时间为10. 478mso由以上可知,当R6 = 10、R7=248时,延时时间为5ms: R6=20、R7=
9、248时,延时时 间为10mso通常所用延时时间以此为基本的计时单位。比如本实验要求为0.2秒=200ms, 所以用10msXR5=200ms,得到R5 = 20o延时子程序如下:DELAY:MOV R5, #201D1:MOV R6, #201+20D2:MOV R7, #2481+20+20(1+20)DJNZ R7, S2 X 248+20 X2X 248+20 (2 X 248+20 X2X 248)DJNZ R6, D22X20+2X20X20DJNZ R5,D12X20RET2上而的延时程序为0. 220081so(2)单片机的P1.0端口的输出控制方法:如图1.1所示,根据发光二
10、极管的单向导电性,当单片机的P1.0端口输出高电平,即 P1.0=l时,发光二极管D1熄火:当单片机的P1.0端口输岀低电平,即P1.0=0时,发光 二极管D1亮。可以使用SETB P1.0指令使单片机的P1.0端口输出高电平,使用CLR P1. 0 指令使单片机的P1. 0端口输岀低电平。六、程序流程图(如图1.2所示)图1.2 LED闪烁灯设计流程图七.汇编源程序ORG0000HLJMPSTARTORG0003HRETIORG000BHRETIORG0013HRETIORG001BHRETIORG0023HRETIORG01 OOHSTART:CLRP1.0LCALLDELAY200MSS
11、ETBP1.0LCALLDELAY200MSLJMPSTARTDELAY200MS:MOVR5, #20D1:MOVR6, #20D2:MOVR7, #248DJNZR7,$DJNZR6,D2DJNZR5,D1RETEND;系统复位;转入主程序;外部中断0;中断返回;定时器0溢出中断;外部中断1;定时器1溢出中断;外部中断2MIIPI.O 口接的二极管亮 ;延时0.2秒;和戸1.0 口接的二极管火;延时02秒;循环;延时子程序八、C语言源程序include sbit Li=pro; void delay02s(void)延时子程序/unsigned char i,j,k; for(i=20;i
12、0;i) for(j=20;j0;j) for (k=248;k0;k);void main(void) while(1) LI二0;delay02s 0;LI二1;/主程序/进入循环/指示灯亮/延时0. 2秒/指示灯火/delay02s(); /延时 0. 2 秒九、注意事项(1)用Keil软件时,注意中文说明及注释。(2)用汇编语言编写程序时不区分大小写,但用C语言编写程序时注意区分大小写。(3)汇编语言和C语言泄义口的方式不同,如汇编语言为P1.0, P2.0, P3.0,而C语 言为 Pl_0 ,P2_0 , P3_0。实验二模拟开关控制指示灯设计一、实验目的1、掌握单片机外羽常用电路
13、的固定接法。2、掌握单片机利用模拟开关控制指示灯的简单设计。二、设计原理如图2.1所示,用发光二极管监视模拟开关的状态。如果模拟开关合上,发光二极管点 亮:如果模拟开关打开,发光二极管熄灭。三、参考电路图2. 1模拟开关控制指示灯原理图四、电路硬件说明如图2.1所示,模拟开关SW1通过8联拨动拨码开关连接在单片机的P3.0端口上,用 发光二极管D1 (通过8联拨动拨码开关接在单片机的P1.0端口上)显示模拟开关SW1的状 态。当模拟开关SW1断开时,单片机的P3.0端口为髙电平;当模拟开关闭合时,单片机的P3.0 端口为低电平。五、程序设计内容(1)开关状态的检测过程对于单片机来说,开关状态的
14、检测是从单片机的P3.0端口输入信号,然而输入的信号 只有高、低电平两种。当拨动开关SW1拨上去(输入高电平)时,拨动开关SW1断开;当拨 动开关SW1拨下来(输入低电平)时,拨动开关SW1闭合。单片机可以采用JB BIT或者 JNB BIT指令来完成对拨动开关状态的检测。(2)输出控制如图2.1所示,当单片机的P1.0端口输出为高电平,即P1.0= 1时,根据发光二极管 的单向导电性可知,这时发光二极管D1熄火:当单片机的P1.0端口输岀为低电平,即P1.0 =0时,发光二极管D1亮。可以使用SETB P1.0指令使单片机的P1.0端口输出高电平, 使用CLR P1. 0指令使单片机P1.
15、0端口输出低电平。六、程序流程图(如图2. 2所示)图2. 2模拟开关控制指示灯程序流程图七、汇编源程序0RG0000H;程序复位入口地址LJMPSTART;跳到主程序0RG0003H;外部中断0入口地址RETI;中断返回0RGOOOBH;立时器中断0入口地址RETI;中断返回0RG0013H;外部中断1入口地址RETI;中断返回0RG001BH;立时器中断1入口地址RETI;中断返回ORG0023H;串行口中断入口地址RETI;中断返回ORG002BH;定时器中断2入口地址RETI;中断返回ORG01 OOHSTART:JBP3. 0, NEX;P3. 0 为 1,则跳 NEXCLRP1.0
16、;P1.0 亮SJMPSTARTNEX:SETBP1.0;P1.0 灭SJMPSTARTEND八、C语言源程序SincludemainOif(P3_0=l) Pl_0二0;/Pl_0 亮/else Pl_0二 1;/Pl_0 灭/九、注意事项如果程序下载到实验板上后,要把8联拨动拨码开关JP2和JP4的相应开关合上去。实验三多路开关状态指示设计一、实验目的利用多路模拟开关进行指示灯控制。二、设计原理如图3. 1所示,单片机的Pl. 0-P1. 3端口通过8联拨动拨码开关连接四个发光二极管 D1-D L单片机的P3.0-P3.3端口通过8联拨动拨码开关连接四个拨动开关SWlSW4o编 程时将拨动
17、开关的状态反映到发光二极管上(开关闭合,对应的灯亮,开关断开,对应的灯 灭)。三、参考电路VCCVCCRL5C3JP4PLO PHP12P1312 3 4 5 6 7111111 PPPPPPPP1011303132333435363711型 PPPPPPPP丈KyULAK9C51P33ALEVCC PQOPO1FQ2PO3PO4PO5PO6PO7EA7654 3 210 22222222 p p p p F p P图31多路开关状态指示电路原理图四、电路硬件说明如图3.1所示,拨动开关SW1、SW2、SW3、SW4通过8联拨动拨码开关JP2接连单片机 的P3.0、P3.1、P32、P3.3端
18、口。单片机的P1.0、Pl. E Pl2、P1. 3 口通过8联拨动拨码 开关JP4分别连接四个指示灯Dl、D2、D3、D4o五、程序设计内容(1)开关状态检测拨动开关状态的检测,对于单片机来说,是一种输入关系,轮流检测每个开关的状态, 根据每个开关的状态让相应的发光二极管指示显示。在编写程序时,可以使用JB P3.X或 JNB P3.X指令来完成指示控制。(2)单片机的输出控制根据拨动开关SW1、SW2. SW3、SW4的状态,经由发光二极管D1-D4来指示显示。在编 写程序时,可以用SETB P1.X和CLR P1.X指令来完成。六、程序流程图(如图32所示)图3. 2多路开关状态指示流程
19、图七、汇编源程序ORG0000H;程序复位入口地址LJMPSTART;跳到主程序ORG0003H;外部中断0入口地址RET I;中断返回ORGOOOBH;立时器中断0入口地址RET I;中断返回ORG0013H;外部中断1入口地址RETI;中断返回ORGOO1BH;左时器中断1入口地址RETI;中断返回ORG0023H;串行口中断入口地址RETI;中断返回ORG01 OOHSTART:LCALLKAIGUAN;调用检测开关状态子程序LJMPSTART;跳回继续检测KAIGUAN:JBP3. O,N1;判断P3.0是否按下CLRP1.0;p3.0按下则亮pl. 0SJMPMl;跳到mlN1:SE
20、TBP1.0;p3.0没有按下则火pl.OMl:JBP3. 1,N2;判断P3.1是否按下CLRPl. 1;p3. 1按下则亮pl. 1SJMPM2;跳到m2N2:SETBPl. 1;p3. 1没有按下则火pl. 1M2:JBP3. 2, N3;判断P3.2是否按下CLRPl. 2;p3.2按下则亮pl. 2SJMPM3;跳到m3N3:SETBPl. 2;p3.2没有按下则灭pl. 2M3:JBP3. 3, N4;判断P3.3是否按下CLRPl. 3;p3.3按下则亮pl. 3SJMPM4;跳到m4N4:SETBPl. 3;p3.3没有按下则灭pl. 3Ml:LJMPKAIGUAN;跳回检测开
21、关状态子程序进行循环RET;子程序返回END;结朿八、C语言源程序#includemainOif(P3_0=0)P1_O=O;else P1_O二1;if(P3_l=O)P1_1=O;else Pl_l二1;if(P3_2=0)Pl_2=0;elsePl_2=l;if(P3_3=O)P1_3=O;elsePl_3二1;九、注意事项(1) 程序下载到实验板上后,要把8联拨动拨码开关JP2和JP4的相应按键合上去。(2) 与8联拨动拨码开关JP4相连的指示灯是髙电平亮,低电平火。实验四广告灯左、右移设计一、实验目的1. 初步了解广告灯的移动设计。2. 掌握循环移动的原理。二、设计原理如图4. 1所
22、示,八个发光二极管D1-D8通过8联拨动拨码开关JP4分别连接在单片机 的P1.0-P1.7端口上,做单一灯的左移右移。如果单片机的P1端口输岀为“0”时,发光 二极管亮,依次为 Pl. 0-P1. 1-P1. 2-P1. 3Pl. 7-P1. 6P1. 0 亮,重复循环。三、参考电路151514B12 1T10应41 HI2 Hl3 Fl;F13T Fid 6 P ? PMfvivccC3C4O T1Ml_J莎飞M3 1 M45M5 6M 7M7 3RST 91011卫Is1617卫卫U11021314151617应如3132立24話玄刃HTA12VCCOS020304058s%250 $1
23、2221勿 pprrrrTTVCC40 丁303?3433323 30 2?购至242322 ITRL510K图41广告灯左、右移设讣电路原理图四、电路硬件说明把“单片机系统”区域中的单片机的Pl. 0-P1. 7端口通过8联拨动拨码开关JP4连接 到“八路发光二极管指示模块”区域中的D1-D8端口上,要求:P1.0对应着DI, Pl. 1对 应着D2, ,P1.7对应着D8。五、程序设计内容运用输岀端口指令HOV Pl, A或MOV Pl, #DATA,给累加器值或常数值.然后执行 上述的指令,即可达到输出控制的动作。每次送出的数据是不同的,具体的数据如下表4. 2所示表4.28个LED循环
24、显示真值表Pl. 7Pl. 6Pl. 5Pl. 1Pl. 3Pl. 2Pl. 1P1.0说明D8D7D6D5DID3D2DI11111110D亮11111101D2亮11111011D3亮11110111D4亮11101111D5亮11011111D6亮10111111D7亮01111111D8亮六、程序流程图(如图43所示)图4.3广告灯左右移程序流程图七、汇编源程序START:LOOP:LOOP1:ORG0000H;系统复位LJMPSTART;转入主程序ORG0003H;外部中断0RETI;中断返回ORGOOOBH;定时器0溢出中断RETIORG0013H;外部中断1RETIORGOO1B
25、H;泄时器1溢出中断RETIORG0023H;外部中断2RETIORG01 OOHMOVR2, #7MOVA, #OFEHSETBC;给CY置1MOVPl, ALCALLDELAYRLCA;带进位左移DJNZR2,LOOP;R2减1不为0转到LOOPMOVR2,#8MOVPl, ALCALLDELAY延时子程序/向左移i位/向右移8-i位/a 或 b/RRCA;带进位右移DJNZR2,LOOP1;R2减1不为0转到L00P1LJMPSTARTDELAY:MOVR5, #20;延时0.2秒子程序D1:MOVR6, #20D2:MOVR7, #248DJNZR7,$DJNZR6.D2DJNZR5.
26、D1RETEND八、C语言源程序itinclude unsigned char i;unsigned char temp; unsigned char a, b;void delay(void):、 unsigned char m, n, s; for (m=20;m0;m) for(n=20;n0;n-) for (s=248;s0;s-);void main(void)wh订e temp=0xfe;Pl=temp;delay 0; for(i=l;i8;i 卄) a=tempi;b=temp(8-i); Pl=a b;delay0; for(i=l;i8;i+) a=tempi;b=tem
27、p(8-i); Pl=a b;delay0;九、注意事项(1)程序下载到实验板上后,要把8联拨动拨码开关JP4的相应按键合上去。(2)用C语言编写程序,利用左移和右移指令时,移入单元的数为0。(3)在硬件电路中,发光二极管和电源之间必须加上合适的电阻。实验五查询法设计广告灯一、实验目的1 熟悉广告灯的移动设计。2.掌握查询法在单片机编程中的使用。二、设计原理利用取表的方法,使单片机的P1端口做单一灯的变化:左移2次,右移2次,闪烁2 次(间隔的时间为0.2秒)。三、参考电路VCC_T h36_37北3)弘32RL5 1IIK32337CC302822.1C21互IT优30102侧V I J J
28、 TPC4SSALE一沁272025xdZJolsoTrpppprTmilloH120)4B16)7空2031323324为如刃】 mM2411351146115fHi开始鮒必跚纯束码4O1H)图5.1査询设计广告灯电路原理图四、电路硬件说明在“单片机系统”区域中,把单片机 的P1.0-P1.7端口通过8联拨动拨码开关 JP4连接到“八路发光二极管指示模块” 区域中的D1-D8端口上。要求:P1.0对 应Db Pl. 1对应D2,P1. 7对应D8o五、程序设汁内容在利用表格进行程序设计时,要用以 下的指令来完成:(1) 利用 MOV DPTR, WDATA16 指 令使数据指针寄存器指到数据
29、表格的首地 址。(2) 利用 MOVC A,A+DPTR 指令, 根据累加器A的值再加上DPTR的值,就可 以使程序计数器PC指针指到表格内所需 要取岀的数据。因此,只要把控制码组建图5.2査询法设计广告灯流程图 成一个表格,利用MOVC A, A+DPTR做取控制码的操作,就可方便地处理一些复杂的控制动作。六、程序流程图(如图52所示)七、汇编源程序START:LOOP:LOOP1:DELAY1:DELAY:DI:TABLE:ORGOOOOH;系统复位LJMPSTART;转入主程序ORG0003H;外部中断0RETI;中断返回ORGOOOBH;定时器0溢出中断RETIORG0013H;外部中
30、断1RETIORGOO1BH;立时器1溢出中断RETIORG0023H;外部中断2RETIORG01 OOHMOVDPTR, #TABLE;把表格首地址给DPTRCLRA祖赋0MOVCA, A+DPTR;査表得值送给A中CJNEA, #01H, L00P1;比较A等于#01,程序结朿;否则跳转SJMPSTARTMOVPl,A;把人送入P1 口LCALLDELAY1;调用延时INCDPTR;DPTR 加 1SJMPLOOPMOVR3, #20;延时0. 2S子程序MOVR4, #20MOVR5, #248DJNZR5, $DJNZR4, DIDJNZR3, DELAYRETDB OFEH,OFD
31、H, OFBH, 0F7H;数据表格DB OEFH, ODFH, OBFH, O7FHDB OFEH,OFDH, OFBH, 0F7HDB OEFH, ODFH, OBFH, O7FHDB 07FH, OBFH, ODFH, OEFHDB 0F7H, OFBH, OFDH, OFEHDB 07FH, OBFH, ODFH, OEFHDB 0F7H, OFBH, OFDH, OFEHDB OOH, OFFH, OOH, OFFHDB O1HEND八、C语言源程序include unsignedchar code table = 0xfe, Oxfd, Oxfb, 0xf7, Oxef, Oxdf
32、, Oxbf, 0x7f,unsigned char i;void delay(void) unsigned char m, n, s; for(m=20;m0;m-) for (n=20;n0;n) for (s=248;s0;s-);void main(void) while(1) 辻(tablei!=0x01) Pl=tablei;i+; delay ();Oxfe, Oxfd, Oxfb, 0xf7, Oxef, Oxdf, Oxbf, 0x7f, 0x7f, Oxbf, Oxdf, Oxef, 0xf7, Oxfb, Oxfd, Oxfe, 0x7f, Oxbf, Oxdf, Oxe
33、f, 0xf7, Oxfb, Oxfd, Oxfe, 0x00, Oxff, 0x00, Oxff, 0x01; 数据数组/定义全局变量/延时子程序/循环/判断是否查完表格/else九、注意事项(1)利用C语言编写程序时,一泄要注意合局变量和局部变屋的泄义。(2)利用汇编语言编写程序时.注意16位数据指针DPTR的用法。实验六报警产生器设计一、实验目的掌握利用单片机产生音频信号的方法。二、设计原理利用单片机产生lKHz的信号,并且让此信号响100ms;再利用单片机产生500Hz的信 号,并且让此信号响200mso同时让这两个信号交替产生。通过单片机的P1. 0端口输出lKHz 和500Hz的音
34、频信号驱动扬声器,作为报警信号。单片机的P3.0端口通过8联拨动拨码开 关连接一拨动开关(如SW1)进行控制。拨动开关闭合时报警器报警,断开时报警器停止报 警。三、参考电路图6. 1报警产生器原理图12A08910413Sb?UI心i灿urnoFIO留5=4 一:;3rix Pl 3 Fl 4 H5 H6 PI? RESH HO HI PH FH MJ B5 P.U M?X7/1I XW VSSh)0 roi N2(H5四、电路硬件说把单片机的Pl. 0端口连接到“音频放大模块”区域中的SPK 17端口上:P3.0端口连 接到“八路拨动开关”区域中的K1端口上,并在“音频放大模块”区域中的SP
35、K OUT端口 上接上一个8欧的或者是16欧的喇叭。五、程序设计内容500Hz信号周期为2ms,信号电平为每1ms取反1次,lKHz的信号周期为1ms,信号电 平每500us取反1次,以此来产生报警信号。六、程序流程图(如图6. 2所示)图6. 2报警产生器流程图七.汇编源程序FLAGORGLJMPORGRETIORGBIT OOH0000HSTART0003HOOOBHRETIORG0013HRETIORGOO1BHRETIORG0023HRETIORG002BHRETI;主程序;ORG0100HSTART:LCALLBAOJING1LCALLBAOJING2LJMPSTART; ;500h
36、z 报警信号程序;;BAOJING1:MOVR2,#200DV:CPLP1.0LCALLDELAY500LCALLDELAY500DJNZR2, DVRET; ;lkhz 报警信号程序;BA0JING2:MOVR2, #200DV1:CPLP1.0LCALLDELAY500DJNZR2, DV1RET; ;500us 延时程序;;DELAY500:MOVR7, #249LOOP:DJNZR7, LOOPRET;结束标志;END八、C语言源程序#include #include /延时子程序/unsigned char count; void dely500(void) :、 unsigned
37、char i ;for(i=250;i0;i) -nop-0 ;void main(void)/程序循环/if(P3_0=0)判断P3.0是否按下/for(count=200;count0;count)P1_O=P1_O;dely500();for (count=200;count0;count) Pl_0二、P1_O;dely500();dely500();九、注意事项(1)程序下载后,一迄要把8联拨动拨码开关JP5的第一个开关拨上去。(2)程序下载后,要把8联拨动拨码开关JP3拨下,8联拨动拨码开关JP2拨上去。实验七I/O并行口直接驱动LED显示设计一、实验目的1. 了解静态数码管的显示
38、方法。2. 掌握共阴极数码管和共阳极数码管的接法以及区别。二、设计原理如图7. 1所示,利用单片机P0端口的PO. 0-P0. 7连接到一个共阴数码管DS1的a_h 的笔段上,数码管的公共端接地。在数码管上循环显示09数字,显示时间间隔为0.2秒。三、参考电路I OKSXIPIOVCCp-l 1MbPI 2PDIPI 3P02DidPISPD4PICPOS如rStad G 1P30r H MlALE如fZEFT*P2?dP2SP24Tr?iLIP22 P2 I22咖商B9SSIVCCILLLLLLLLPtld 2 fid甘 2X3 fuj S fiid d 愛?RjIFT RiTT 2sd*s
39、d?2 InpalnaEIlnpLO图7.1 I/O并行口直接驱动LED显示电路原理图c?is四、电路硬件说明在“单片机系统”区域中,把单片机的PO. 0-P0. 7端口连接到静态数码管DS1上的a h端口上:要求:P0.0与a相连,PO. 1与b相连,P0.2与c相连,P0.7与h相连。五、程序设计内容(1) LED数码显示原理:LED数码管内部由七个条形发光二极管和一个小圆点发光二极管组成,根据发光二极管 的连接形式,可分为共阴极型和共阳极型。LED数码管的a-g七个发光二极管加正向电压导通发亮,加反向电压截止熄火。不同亮 暗的二极管组合形成不同的字形,这种组合称之为字形码。见表7. 2为
40、共阴极数码管的字形 码表。(2)由于数码管显示数字09的字形码没有规律,只能采用査表的方式来完成所需要 的要求。这样按着数字09的顺序,把每个数字的笔段代码按顺序排好并建立的表格如下 所示:TABLE DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH表7.2共阴极的字形码表图7. 3 I/O并行口直接驱动LED显示流程图“0”3FH“8”7FH“ V06H“9”6FH“2”5BH“A”77H“3”4FH“b”7CH“4”66H“c”39H“5”6DH“d”EH“6”7DH“E”79H“7”07H“F ”71H六、程序流程图(如图73所示)0
41、000HSTART0003HOOOBH七、汇编源程序ORG LJMP ORGRETIORGRETIORG0013HRETIORG001BHRETIORG0023HRETIORG002BHRETI;主程序ORG0100HSTART:LCALLXIANSHILJMP曰二 m rt* -STARTSik/blSrr,XIANSHI:MOVRl, #00HNEXT:MOVA, R1MOVDPTR, STABLEMOVCA, A+DPTRMOVP0,ALCALLDELAYINCRl? ? ? ? ? DPTR!CJNERETRl,#10, NEXT;200ms 延时程序;;DELAY:MOVR5, #2
42、0DI:MOVR6, #20D2:MOVR7, #248DJNZR7,$DJNZR6,D2DJNZR5,D1RET;数码译码表;TABLE:DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH;结束标志;END八、C语言源程序#includeunsigned char code table = 0x3f, 0x06, 0x5b, 0x4f, 0x66,0x6d, 0x7d, 0x07, 0x7f, 0x6f;void delay200ms (void)/延时 0. 2 秒的程序/ unsigned char i, j, k;for(i=20;i
43、0;i)for(j=20;j0;j)for(k=248;k0;k); voidmain(void) unsigned char a; while (1)for(a=0;a10;a+)PO二table a ;/取表中的数给 PO 口/de lay200ms 0 ;/每0. 2秒显示一个数码/九、注意事项1当数码管显示数码时,一左要分淸共阴极和共阳极。2.下载程序后一怎要把单排针接插件J5的跳线帽加到OE/VCC端。实验八单键识别设计一、实验目的1. 了解按键识別方法。2. 掌握按键的消抖方法。3. 了解加法计数的原理。二、设计原理“八路发光每按下一次按键开关S18,计数值加1,然后通过和单片机的
44、P1端口相连的 二极管指示模块”区域中的D1-D8显示出相应的二进制计数值。三、参考电路flrti 1 2 3 , J C 7 llplplIlmllmBlJP2HD 1 Hl 2 3F13 Fl* jP1J C Fl l 7 F门8 加911 1匚1匸 11匸R7 17noWCFll侧PllPHP13M2Pl*F03P15PHPl【POJF17艸EZEIF07P30ERKIkLEP32POTHK3K7PHRU05P23砂F24F5724XIWL1P22K!AL2W17眺F20ULJkX89lWC iOL 3937H35 H- 7?31-图8.1单键识别电路原理图四、电路硬件说明(1)在“单片
45、机系统”区域中,把单片机的P3. 7端口通过8联拨动拨码开关JP2连接 到“独立式键盘”区域中的S18端口上。(2)在“单片机系统”区域中,把单片机的P1.0-P1.7端口通过8联拨动拨码开关 JP4连接到“八路发光二极管指示模块”区域中的“D1-D7”端口上:要求,P1. 0连接发光 二极管DI, Pl. 1连接发光二极管D2, P1.2连接发光二极管D3, P1. 3连接发光二极管D4, P1.4连接发光二极管D5, P1.5连接发光二极管D6, P1. 6连接发光二极管D7, P1. 7连接发 光二极管D8。五、程序设计内容(1)作为一个按键,完整的过程是从没有按下到按下再到释放。也就是
46、说,当按下一 个按键时,某个命令只执行一次,然而在按键按下的过程中,不允许有干扰进来。因为,在 按下的过程中,一旦有干扰过来,可能造成误触发过程,这不是所想要的。因此在按键按下 的时候,就要把手动造成的干扰信号以及按键的机械接触等干扰信号滤除掉。一般情况下, 可以采用电容来滤除掉这些干扰信号,但实际上,这会增加硬件成本及硬件电路的体积,因 此采用软件滤波的方法去除这些干扰信号。一般情况下,一个按键按下的时候,总是在按下 的时刻存在着一宦的干扰信号,按下之后就基本上进入了稳宦的状态。具体的一个按键从按 下到释放的全过程的信号图如下图8. 2所示:干扰信号大 约4ms到5 ms 之间图8. 2干扰信号示意图从图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 涤纶纤维在防霉地毯材料中的应用考核试卷
- 塑料鞋制造过程废料处理与回收利用考核试卷
- 生物制药过程中的质量控制实验室建设与管理考核试卷
- 电视广播信号加密与解密技术考核试卷
- 玻璃屋顶搭建考核试卷
- 电视芯片原理与系统集成考核试卷
- 皮革护理技能竞赛策划与实施考核试卷
- 阳泉职业技术学院《单片机技术与应用》2023-2024学年第二学期期末试卷
- 四川托普信息技术职业学院《建设用地管理》2023-2024学年第二学期期末试卷
- 徐州市九里区2024-2025学年四下数学期末复习检测试题含解析
- 环境辐射监测试题及答案
- 光纤通信系统与网络(第5版)课件 胡庆 第1-4章 光纤通信概论-光纤通信系统及设计
- 舞台剧代理运营协议合同
- 西南政法大学自主招生个人陈述的风格与语气
- 广东省茂名市2025届高三下学期二模试题 历史 含解析
- 2025年北京市海淀区高三一模生物试卷(含答案)
- 幼儿教育政策法规
- 农作物高产栽培技术的试题及答案
- 2025-2030飞机检测产业规划专项研究报告
- 宁夏回族自治区银川市一中2025届高三下学期模拟训练数学试题
- 湘豫名校联考2024-2025学年高三春季学期第二次模拟考试物理试题及答案
评论
0/150
提交评论