版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ProteusMCS-51教学实验指导书目录第一部分验证性实验TOC\o"1-5"\h\z\o"CurrentDocument"实验一I/O口输出实验一LED流水灯实验 6\o"CurrentDocument"、实验要求 6\o"CurrentDocument"、实验目的 6\o"CurrentDocument"、实验电路及连线 6\o"CurrentDocument"、实验说明 7\o"CurrentDocument"、实验流程图 7\o"CurrentDocument"、实验步骤 7\o"CurrentDocument"、实验结果和体会 8八、建议……………………8\o"CurrentDocument"实验二I/O口输入/输出实验一模拟开关灯 9\o"CurrentDocument"一、实验要求 9\o"CurrentDocument"二、实验目的 9\o"CurrentDocument"三、实验电路及连线 9\o"CurrentDocument"四、实验说明 10\o"CurrentDocument"五、实验程序流程图 10\o"CurrentDocument"六、实验步骤 10\o"CurrentDocument"七、实验结果和体会 11\o"CurrentDocument"八、建议 ..11\o"CurrentDocument"实验三82551/0扩展实验 12\o"CurrentDocument"一、实验要求 12\o"CurrentDocument"二、实验目的: 12\o"CurrentDocument"三、实验电路及连线 12\o"CurrentDocument"四、实验说明 13\o"CurrentDocument"五、实验程序流程图 13\o"CurrentDocument"六、实验步骤 13\o"CurrentDocument"七、实验结果和体会: 14八、建议..……………………14\o"CurrentDocument"实验四无译码的七段数码管显示实验 15\o"CurrentDocument"一、实验要求 15\o"CurrentDocument"二、实验目的 15\o"CurrentDocument"三、实验电路及连线 15\o"CurrentDocument"四、实验说明 15\o"CurrentDocument"五、实验程序流程图 16\o"CurrentDocument"六、实验步骤 16\o"CurrentDocument"七、实验结果和体会 17\o"CurrentDocument"八、建议 ..17\o"CurrentDocument"实验五BCD码译码的多位数码管扫描显示实验 18\o"CurrentDocument"一、实验要求 18\o"CurrentDocument"二、实验目的 18\o"CurrentDocument"三、实验电路及连线 18\o"CurrentDocument"四、实验说明 18\o"CurrentDocument"五、实验程序流程图 19\o"CurrentDocument"六、实验步骤 19\o"CurrentDocument"七、实验结果和体会 20\o"CurrentDocument"八、建议 20\o"CurrentDocument"实验六独立式键盘实验 21\o"CurrentDocument"一、实验要求 21\o"CurrentDocument"二、实验目的 21\o"CurrentDocument"三、实验电路及连线 21\o"CurrentDocument"四、实验说明 21\o"CurrentDocument"五、实验程序流程图 22\o"CurrentDocument"六、实验步骤 22\o"CurrentDocument"七、实验结果和体会 23\o"CurrentDocument"八、建议 23\o"CurrentDocument"实验七计数器实验 24\o"CurrentDocument"一、实验要求 24\o"CurrentDocument"二、实验目的 24\o"CurrentDocument"三、实验电路及连线 24\o"CurrentDocument"四、实验说明 24\o"CurrentDocument"五、实验程序流程图 24\o"CurrentDocument"六、实验步骤 25\o"CurrentDocument"七、实验结果和体会 25\o"CurrentDocument"八、建议 25\o"CurrentDocument"实验八定时器实验 26\o"CurrentDocument"一、实验要求 26\o"CurrentDocument"二、实验目的 26\o"CurrentDocument"三、实验电路及连线 26\o"CurrentDocument"四、实验说明 26\o"CurrentDocument"五、实验程序流程图 …..27\o"CurrentDocument"六、实验步骤 27\o"CurrentDocument"七、实验结果和体会 28\o"CurrentDocument"八、建议 28\o"CurrentDocument"实验九单个外部中断实验 30\o"CurrentDocument"一、实验要求 30\o"CurrentDocument"二、实验目的 30\o"CurrentDocument"三、实验电路及连线 30\o"CurrentDocument"四、实验说明 30\o"CurrentDocument"五、实验程序流程图 31\o"CurrentDocument"六、实验步骤 31\o"CurrentDocument"七、实验结果和体会 32\o"CurrentDocument"八、建议 32\o"CurrentDocument"实验十多个中断同时存在实验 33\o"CurrentDocument"一、实验要求 33\o"CurrentDocument"二、实验目的 33\o"CurrentDocument"三、实验电路及连线 33\o"CurrentDocument"五、实验程序流程图 34\o"CurrentDocument"六、实验步骤 34\o"CurrentDocument"七、实验结果和体会: 36\o"CurrentDocument"八、建议 36\o"CurrentDocument"实验十一矩阵键盘扫描实验 37\o"CurrentDocument"、实验要求 37\o"CurrentDocument"、实验目的 37\o"CurrentDocument"、实验电路及连线 37\o"CurrentDocument"、实验说明 37\o"CurrentDocument"、实验流程图 38\o"CurrentDocument"、实验步骤 38\o"CurrentDocument"、实验结果和体会 40\o"CurrentDocument"、建议 40\o"CurrentDocument"实验十二串行端口输出扩充实验 41\o"CurrentDocument"、实验要求 41\o"CurrentDocument"、实验目的 41\o"CurrentDocument"、实验电路及连线 41\o"CurrentDocument"、实验说明 41\o"CurrentDocument"、实验流程图 42\o"CurrentDocument"、实验步骤 42\o"CurrentDocument"、实验结果和体会 44\o"CurrentDocument"、建议 44\o"CurrentDocument"实验十三串行端口输入扩充实验 45\o"CurrentDocument"、实验要求 45\o"CurrentDocument"、实验目的 45\o"CurrentDocument"三、实验电路及连线 45\o"CurrentDocument"、实验说明 46\o"CurrentDocument"、实验流程图 46、实验步骤 46\o"CurrentDocument"、实验结果和体会 47\o"CurrentDocument"、建议 47\o"CurrentDocument"实验十四8051与PC之间串行通信实验 48\o"CurrentDocument"、实验要求 48\o"CurrentDocument"、实验目的 48\o"CurrentDocument"、实验电路及连线 48\o"CurrentDocument"、实验说明 48\o"CurrentDocument"、实验流程图 49、实验步骤 50、实验结果和体会 51\o"CurrentDocument"、建议 51第一部分验证性实验
. .实验一I/O口输出实验一LED流水灯实验一、实验要求利用51单片机及8个发光二级管等器件,构成一个流水灯单片机系统。二、实验目的1、掌握单片机最小系统的构成;2、掌握I/O口的使用及驱动能力的概念;3、熟悉移位指令和软件延时程序。三、实验电路及连线1、Proteus实验电路' II口1DqF 即_' II口1DqF 即_h ±D;293131R2_ 法 1 » u■斗1KTTJU1FC1*E.<■■.11iL1FQ1^D1印势皿XTA17IPJQTrawwF口柠3PU6SD5poomkFQTlfDFrmP2Q^RZ1i?=SFZifflinprarP230411ALE!-aFZtffilZF2J0W13I-jifQfXAUFZTffllSGjLDP3HJRZDP.31/TXD□1ri.1PDZ1N1Dr1上P1qP334NT1□1jra™□I丐ra.3Tir1q口15SMI?P3『而rij21三无%ZT33事11口2、硬件验证实验(51板+006板)CPU板006板P1.0LED1P1.1LED2P1.2LED3P1.3LED4P1.4LED5P1.5LED6P1.6LED7P1.7LED8+5V+5VGNDGND四、实验说明1、主要知识点概述:本实验涉及到三个知识点:单片机最小系统的构成、单片机I/O口的使用以及软件延时程序的编写。1)单片机最小系统由单片机芯片、时钟电路以及复位电路构成。2)I/O□的使用:P1□是准双向口。它作为输出口时与一般的双向口使用方法相同,即当P1□用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据可能是不正确的。3)延时子程序的延时计算问题。对于程序DELAY:MOV R6,#200DEL1:MOVR7,#250DEL2:DJNZR7,DEL2DJNZR6,DEL1RET由指令表可知MOV、DJNZ指令均需用两个机器周期,在采用12MHz晶振时,一个机器周期时间长度为1us,所以该段程序执行时间约为:[(250*2+2)*200+2]*1us=1000402心100ms2、实验效果说明:发光二级管进行流水灯操作,从上到下依次点亮。五、实验流程图六、实验步骤1、Proteus仿真a、在Proteus中打开设计文档流水灯.DSN;b、建立实验程序并编译,加载hex文件,仿真;c、如不能正常工作,打开调试窗口进行调试
参考程序:ORG00HSTART:MOV R2,#8MOVA,#0FEHLOOP:MOVP1,ALCALLDELAYRLA;循环左移DJNZR2,LOOP;判断移动是否超过8位,未超过继续循环LJMPSTARTDELAY:MOV R5,#20;延时程序,延时0.2sD1:MOVR6,#20D2:MOVR7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1RETEND2、实验板验证a、用ISP下载hex程序到CPUb、按连接表连接电路c、检查验证结果3、扩展实验a.改变延时时间为1s改变流水灯流动方向改变流水灯的流动样式设计流程和程序:七、实验结果和体会八、建议
实验二 I/O□输入/输出实验一模拟开关一、实验要求利用51单片机,按钮和发光二级管,构成一个模拟开关灯的单片机系统。二、实验目的1、了解单片机1/0输入输出的使用;2、掌握单片机I/O□位操作的编程;3、掌握分支程序的设计与分析方法。三、实验电路及连线1、Proteus实验电路1711HHDIR1LED-RED+XTAL1叩贻如PD.1ffiD1加加口2KTAL2PD3mD3叩切口,PDJSffiDSFDj&ftDS1711HHDIR1LED-RED+XTAL1叩贻如PD.1ffiD1加加口2KTAL2PD3mD3叩切口,PDJSffiDSFDj&ftDSRSTFD.T^DTP2IWP2.1JMP22^1DPSENP23W11ALEP2.i^12P2J5W\13pzfmuP2.TXft15P1J]P3KRXDP1.1P3.1HXDP1.2P3^1NTl]P1JP33/1NT1P13F3.4/TI]P1J5P3JST1P1j5P3£KAIRP1.TP3T/RDATB9C5138而—君3321222321牙2S1口11-]21311玉而行R22.硬件验证实验(CPU板+006板)硬件连接表CPU板006板P1.0LED1P3.0SW1+5V+5VGNDGND
四、实验说明1.主要知识点概述:1)开关状态的检测过程单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨开开关K1拨上去,即输入高电平,相当开关断开,当拨动开关K1拨下去,即输入低电平,相当开关闭合。单片机可以采用JBBIT,REL或者是JNBBIT,REL指令来完成对开关状态的检测即可。2)输出控制如图中所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即PL0=0时,发光二极管L1亮;我们可以使用SETBP1.0指令使P1.0端口输出高电平,使用CLRP1.0指令使P1.0端口输出低电平。2.实验效果说明:按下按钮,灯亮,松开按钮,灯灭。五、实验程序流程图六、实验步骤1、Proteus仿真a.在Proteus中打开设计文档I/O实验.dsn;b.建立实验程序并编译,加载hex文件,仿真;c.如不能正常工作,打开调试窗口进行调试。参考程序:ORG00H;判断开关状态;开关闭合,灯亮;判断开关状态;开关闭合,灯亮;开关打开,灯灭;返回CLR P1.0SJMP STARTLIG: SETBP1.0SJMP STARTEND2、实验板验证a.用ISP下载hex程序到CPUb.按连接表连接电路c.检查验证结果3、扩展实验a.设计三路开关输入,三路发光二级管输出的电路及程序;b.设计开关触发设计流程和程序:延时1s灯灭程序。七、实验结果和体会八、建议实验三8255I/O扩展实验一、实验要求利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255P口做输出,PB口作输入。二、实验目的:1.了解8255芯片结构及编程方法;2.了解8255输入/输出实验方法。三、实验电路及连线1、Proteus实验电路2、硬件验证实验8255的CS接地址译码CS0,则命令字地址为7003H,PA口地址为7000H,PB口地址为7001H,PC口地址为7002H。PA0~PA7(PA口)接LED0~LED7,PB0~PB7(PB口)接K0~K7(开关量)。硬件连接表AD0AD1AD2硬件连接表AD0AD1AD2RD3A04AD5AD6AD7如Al/VR/RDRESETcsa--34qsxqHq女在辽 0ggssasbk此HLkd£LCL£L CLCLCLtLCLtLtLtLUJ1/1如iNn寸594 £Bgo4gd44d44W遇占、33」 ■ .1rrili32个■■ ■1—LU131304白:Zcrr)dZ9-3.Q•" •LLU428,a• *LILub27.r♦ ♦L_LL?□J1r_・dlr\与gs• *LLUii1g. .K由此:4k?c21::国3E.62士:瑟£日2三5白CPU板006板8255板P2.7CS0P0.0-P0.D0-D7KEY0-KEY7PB0-PB7LED1-LED8PA0-PA7ALELEWR,RDWR,RDRESETRESET四、实验说明可编程通用接口芯片8255A有三个八位的并行I/O口,它有三种工作方式。本实验采用的是方式0:PA、PC口输出,PB口输入。很多I/O实验都可以通过8255来实现。五、实验程序流程图六、实验步骤1、Proteus仿真a.在Proteus中打开设计文档8255.dsn;b.建立实验程序并编译,加载hex文件,仿真;c.如不能正常工作,打开调试窗口进行调试。参考程序:PA->PB: 流水灯:ORG00HORG00HMOVDPTR,#7003HMOVDPTR,#7003HMOVA,#82HMOVXDPTR,A MOVXDPTR,AMOVA,#82HLOOP:MOVDPTR,#7001HMOVA,#11111110BMOVXA,DPTR MOVDPTR,#7000HMOVDPTR,#7000H LOOP:MOVXDPTR,A RLASJMPLOOPMOVXDPTR,AACALLDELAYDELAY:DLP:MOVR1,#00HMOVR2,#50HDELAY: ….DJNZR2,$SJMPLOOPENDMAIN:ACALLDELAYMAIN:ACALLDELAYDJNZR1,DLPRETEND2、实验板验证a.用ISP下载hex程序到CPUb.按连接表连接电路c.检查验证结果3、扩展实验设计按键控制的流水灯,要求不同按键按下时流水灯以不同方式闪动,闪动方案自定。设计流程和程序:七、实验结果和体会:八、建议:实验四 无译码的七段数码管显示实验一、实验要求利用51单片机,一个7段数码管,构成一个单个LED显示系统。二、实验目的1.了解数码管显示原理。2.掌握读表程序的编写。三、实验电路及连线1、Proteus实验电路CRYSTALISC31口甘R1PDmDDPD.W1P0^D2灯RL2P□.阳EHCRYSTALISC31口甘R1PDmDDPD.W1P0^D2灯RL2P□.阳EHpasmosPDJ6WD6RSTPO.TJftDTP2IWP2.UW3P2J2m1QPSENP2JW^11ALEP2.4JW12EftP2J&(A13P2J&WUP2.Ttf\15P1DP3WRXDP1.1P3.1/E<DP12P3到NEP13P33/1NT1P1.4P15P1EP3J&0URP1.TP3.T/RD1D1116打21222324252627.五29里31123R256D22、硬件验证实验(CPU板+004板)硬件连接表(CPU板+004板)CPU板CPU板LED板P0.0LED-AP0.1LED-BP0.2LED-CP0.3LED-DP0.4LED-EP0.5LED-FP0.6LED-GP0.7LED-COM+5V+5VGNDGND注:P0口在CPU板上已经接上拉电阻。四、实验说明1.主要知识点概述:1)LED数码显示原理七段LED显示器部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。LED数码管的8~@七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阳极的字形码见表2“0”0C0H“8”80H“1”0F9H“9”90H“2”0A4H“A”88H“3”0B0H“b”80H“4”99H“C”0B6H“5”92H“d”0B0H“6”82H“E”86HH“7”F8H“F”8EH2)段码表格由于显示的数字0-9的字形码没有规律可循,只能采用查表的方式来完成我们所需的要求了。这样我们按着数字0-9的顺序,把每个数字的笔段代码按顺序排好!建立的表格如下所示:TABLEDB0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h2.实验效果说明:数码管循环显示0~9。五、实验程序流程图六、实验步骤1、Proteus仿真查表获得的数据送P0延:时六、实验步骤1、Proteus仿真查表获得的数据送P0延:时口2秒1a.在Proteus中打开设计文档LED.dsn;b.建立实验程序并编译,加载hex文件,仿真;c.如不能正常工作,打开调试窗口进行调试。参考程序:
ORG00HSTART:MOVDPTR,#TABLE;指针指向表头地址S1:MOVA,#00H;设置地址偏移量MOVCA,A+DPTR;查表取得段码,送A存储CJNEA,#01H,S2;判断段码是否为结束符LJMPSTARTS2:MOVP0,A;段码送LED显示LCALLDELAY;指针加1INCDPTRLJMPS1DELAY:MOVR5,#20;延时子程序D2:MOVR6,#20D1:MOVR7,#248DJNZR7,$DJNZR6,D1DJNZR5,D2RETTABLEDB0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h;段码表DB01H ;结束符END2、实验板验证a.用ISP下载hex程序到CPUb.按连接表连接电路c.检查验证结果3、扩展实验a.将程序改为循环显示一串(如学号);b.设计一个组成“0”的各段流动点亮的程序。设计流程和程序:七、实验结果和体会八、建议
实验五BCD码译码的多位数码管扫描显示实验一、实验要求利用51单片机、BCD译码芯片74LS47和两位LED构成一个数码管扫描显示系统。二、实验目的.掌握BCD译码电路的工作原理。2.掌握多位数码管显示的编程。三、实验电路及连线1、Proteus实验电路AT3C5IRD7urnAT,加值口3L1EH]Miim-PlUiTITl?.LrraAT3C5IRD7urnAT,加值口3L1EH]Miim-PlUiTITl?.Lrra心初]P3£J1^Zrar.n?D-闻myjOHhUMDIFO丽mHIjUADLrajwswm£MXP1ILT2n.iJOBtMi«:lP1JCEXDn.UCEKIP1J5EMP1JaC&3H.1JCEXL2、硬件验证实验(CPU板+004显示板)硬件连接表CPU板004板P0.0BCD-AP0.1BCD-BP0.2BCD-CP0.3BCD-DP3.0SEG1P3.1SEG2+5V+5VGNDGND四、实验说明1.主要知识点概述:二进制编码的十进制数,简称BCD码(BinarycodedDecimal),此例中,74LS47完成BCD编码的功能。
多位LED显示,先往段码端口输出段码,再选通位选,对应的LED显示。2.实验效果说明:两个数码管同时循环显示0~9。五、实验程序流程图六、实验步骤1、Proteus仿真a.在Proteus中打开设计文档BCDLED.dsn;b.建立实验程序并编译,加载hex文件,仿真;c.如不能正常工作,打开调试窗口进行调试。参考程序:ORG00HL:MOVA,#0;设置显示初值MOVR0,#10;设置显示个数START:MOVP0,A;向P0口输出显示段码SETBP3.0SETBP3.1;位选LCALLDELAYINCADJNZR0,STARTJMPLDELAY:MOVR5,#50;延时程序D1:MOVR6,#20D2:MOVR7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1RETEND2、实验板验证a.用ISP下载hex程序到CPUb.按连接表连接电路c.检查验证结果3、扩展实验设计一个99计数器。设计流程和程序:七、实验结果和体会八、建议实验六独立式键盘实验一、实验要求利用51单片机,8个按钮,8路发光二级管构成一个独立式键盘系统。二、实验目的1、掌握多路I/O输入输出的编程。三、实验电路及连线1、Proteus实验电路昌侬CB1>:OlftLIrmisnsrPSITFOLDREHFQWDIPDUSfiWFUfiDOPDbMM-PDLWD?pupjadiF2DH?昌侬CB1>:OlftLIrmisnsrPSITFOLDREHFQWDIPDUSfiWFUfiDOPDbMM-PDLWD?pupjadiF2DH?桩附**2HM0P32KHPldAI]P23AI]稣辐WP2TM5RP1H国FM曲EEHUUraiff?ao阳wra用词TTF3UXTT1r»Ti阿丽'叫而"2、硬件验证实验硬件连接表(CPU板+006板)四、实验说明CPU四、实验说明CPU板006板P1.0~P1.7LED1~LED8P3.0~P3.7SW1~SW8+5V+5VGNDGND1.主要知识点概述:使用分支程序编程方法,对开关状态进行监测,输入电平有变化,跳转到相应的处理程序进行处理,输出处理结果。2.实验效果说明:按下8个按钮,点亮对应的灯。五、实验程序流程图六、实验步骤1、Proteus仿真a.在Proteus中打开设计文档独立式键盘.dsn;b.建立实验程序并编译,加载hex文件,仿真;c.如不能正常工作,打开调试窗口进行调试。参考程序:ORG 0000HLJMP STARTORG 0100HSTART:MOV P3,#0FFHHL:JNB P3.0,HL0JNB P3.1,HL1JNB P3.2,HL2JNB P3.3,HL3JNB P3.4,HL4JNB P3.5,HL5JNB P3.6,HL6JNB P3.7,HL7LJMP HL
HL0:MOVP1,#0FEHLJMPHLHL1:MOVP1,#0FDHLJMPHLHL2:MOVP1,#0FBHLJMPHLHL3:MOVP1,#0F7HLJMPHLHL4:MOVP1,#0EFHLJMPHLHL5:MOVP1,#0DFHLJMPHLHL6:MOVP1,#0BFHLJMPHLHL7:MOVP1,#07FHLJMPHLEND2、实验板验证a.用ISP下载hex程序到CPUb.按连接表连接电路c.检查验证结果3、扩展实验按键后使对应的灯闪烁。设计流程和程序:七、实验结果和体会八、建议
实验七计数器实验一、实验要求8051部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。二、实验目的掌握单片机定时计数器计数方式的使用及编程方法。三、实验电路及连线1、Proteus实验电路2、硬件验证实验硬件连接表士:C2-x^prXI19C3摩面4用0CPU板PODADDPD.W\D1.00.6P口PD.3AD3硬件连接表士:C2-x^prXI19C3摩面4用0CPU板PODADDPD.W\D1.00.6P口PD.3AD3PD.iftDiP0.7PDJ9KD5PDjQADE笆.4pn.i.ftDrP2D^+5VPZI.';^P2lft1DPEENPEU汽1:畸NDP2.W\12EAP2J5WM3P2JWUP2.TJW15PIDmilHK口P11P3.1iT:<[iP12n2lNTUF1.3F3.3INTTP1iP14/TT]P1.5P:151Tl概述:P37.iFD-四、实验说明壬1.主要知识点U1004板
Led-a~ed-gled-comR2领已里土•刃-sa-a噎HWBa-a+5VDGNA006本实验中部计数器起计数器的作用。外部事件脉冲由P3.4引入定时/计数器T0,即T0用来检测外部脉冲数。 OO .实验效果说明:由按键产生计数脉冲,LED分别显示脉冲个数(10个以)。五、实验程序流程图
六、实验步骤1、Proteus仿真a.在Proteus中打开设计文档courter.dsn;b.建立实验程序并编译,加载hex文件,仿真;c.如不能正常工作,打开调试窗口进行调试。参考程序:S1:ORG0MOVTMOD,#00000101B ;置10计数器方式1MOVTH0,#0 ;置10初值MOVTL0,#0MOVR0,#10SETBTR0 ;10运行MOVDPTR,#TABLEMOVA,TL0MOVC A,A+DPTRMOVP0,ALJMP S1TABLE:结束符DB0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;结束符DB0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;END2、实验板验证a.用ISP下载hex程序到CPUb.按连接表连接电路c.检查验证结果3、扩展实验设计流程和程序:七、实验结果和体会八、建议
实验八定时器实验一、实验要求用51单片机的P1.0口接1个发光二级管,编写程序,控制发光二级管闪烁,时间间隔1S,要求AT89C51部定时器计时。二、实验目的掌握单片机定时计数器定时方式的使用及编程方法。三、实验电路及连线1、Proteus实验电路AT^9C51>XTAL1PDIEADDPD.IffiDIPD2MD2XTAL2AT^9C51>XTAL1PDIEADDPD.IffiDIPD2MD2XTAL2PQ3WD3叩岫口,PQj5mD5P0J&WD6RSTPD.TffiDTP2D^P21JW9P22XA1OPSENALEP2.WA12京P2J&W13P2J&W14P2.TXA15P1DP1.1P3.1HXDP12P13”MNT1Pl.iP3.1T]P15P35/T1P1J6P3J6JAIRP1.TP3.T/RD_15__16_17_10_住_13_35X35322、硬件验证实验硬件连接表CPU板006板P1.0LED1+5V+5VGNDGND四、实验说明1.主要知识点概述:关于部计数器的编程,主要是定时常数的位置和有关控制寄存器的设置。部计数器在单片机中主要有定时器和计数器两个功能。本例使用的是定时器,定时1S。CPU运行定时中断方式,实现每1S输出状态发生一次反转,即发光二级管1S亮一次。定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCONoTMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止。部计数器用于定时器时,是对机器周期计数。每个机器周期的长度是12个振荡周期。
本例中单片机晶振12MHz,选用工作方式2,既8位自动重装方式定时器,定时器100us中断一次,所以定时常数的设置可按以下方法计算:机器周期=12/12MHZ=1us(256-定时常数)*1us=100us定时常数=156。然后对100us中断次数计数10000次,就是1S。2.实验效果说明:发光二级管按设定的定时时间闪烁。五、实验程序流程图主程序定时中断服务程序六、实验步骤定时中断服务程序1、Proteus仿真a.在Proteus中打开设计文档timer.dsn;b.建立实验程序并编译,加载hex文件,仿真;c.如不能正常工作,打开调试窗口进行调试。参考程序:TICKEQU10000;10000X100us=1sT100usEQU256-100;100us时间常数(12M)C100usEQU30H;100us计数单元LEDBUFEQU40HLEDBITP1.0ORG00HLJMPSTART;跳至主程序ORG000BH;定时中断入口地址T0INT:PUSHPSW;状态保护MOVA,C100us+1
JNZGOONDECC100us;秒计数值减1GOON:DECC100us+1MOVA,C100usORLA,C100us+1JNZEXIT;100us计数器不为0,返回MOVC100us,#HIGH(TICK);100us计数器为0,重置计数器MOVC100us+1,#LOW(TICK)CPLLEDBUF;取反LEDEXIT:POPPSWRETISTART:MOVTMOD,#02H;方式2,定时器MOVTH0,#T100us;置定时器初值MOVTL0,#T100usMOVIE,#10000010B;EA=1,IT0=1SETBTR0;开始定时CLRLEDBUFCLRLEDMOVC100us,#HIGH(TICK);设置10000次计数值MOVC100us+1,#LOW(TICK)LOOP:MOVC,LEDBUFMOVLED,CLJMPLOOPEND2、实验板验证a.用ISP下载hex程序到CPUb.按连接表连接电路c.检查验证结果3、扩展实验使用其他定时器其他工作方式设计该实验。设计流程和程序:七、实验结果和体会八、建议实验九单个外部中断实验一、实验要求利用P3.2接一个外部中断输入,通过P1口连接8个发光二级管显示中断程序的作用。二、实验目的1.理解中断源、中断标志、中断入口等概念。2.掌握中断程序的分析与设计方法。三、实验电路及连线1、Proteus实验电路pna-ftooP口1旭口1pna-ftooP口1旭口1PD2ftD2PDdJADiP口51Ml15PD&AD6ROTPD?#XD7P2DK8PE.1岛3P22-AOPGENp23ml1Q.Lt眄12EAP2£j(At3P2&AUP2Hql5pinP3K'R::':Hpi.iP3.1.™pii“.aP33/1NT1Pl.iPl.4,'10FIJ5F3ST1PiEP^SIftiR-PLTPli.'RD-J-qF?-F工田31EH21一_2.23「石田3工P11R1DM«nI32、硬件验证实验硬件连接表CPU板006板P1.0~P1.7LED1~LED8P3.2SW1+5V+5VGNDGND四、实验说明1.主要知识点概述:外部中断的响应过程:1)中断采样:根据采样结果设置TCON寄存器中断响应标志位的状态。
2)中断查询:查询TCON标志位的状态,确定是否响应。3)中断响应:保护断点容,装入中断入口地址,执行中断服务程序,返回中断点,继续执行原来程序。2.实验效果说明:中断未发生时,LED做闪烁状态,当有中断产生,LED呈流水灯操作。五、实验程序流程图主程序框图外部子程序框图主程序框图六、实验步骤1、Proteus仿真a.在Proteus中打开设计文档外部中断.dsn;b.建立实验程序并编译,加载hex文件,仿真;c.如不能正常工作,打开调试窗口进行调试。参考程序:;开始,P1口灯闪烁,中断产生,P1口呈流水灯操作。ORG 0000H ;程序由地址0开始执行LJMP STARTORG 0003H ;设置外部中断矢量地址START:MOVSP,START:MOVSP,#60HMOVTCON,#00000000BMOVIP,#00000001BMOVIE,#10000001BRUN:MOVA,#0LOOP:MOVP1,AMOVR5,#20LCALLDELAY;对中断进行初始化CPLALJMPLOOP ;闪烁灯INT: ;中断服务程序PUSHACC
PUSHPSW;保护现场CLRRS1;切换寄存器组SETBRS0CLRCMOVA,#11111111BMOVR4,#16LOOPR:;流水灯程序RRCAMOVP1,AMOVR5,#20CALLDELAYDJNZR4,LOOPRPOPPSW;恢复现场POPACCRETIDELAY:MOVR6,#50;延时程序S1: MOVR7,#100DJNZR7,$DJNZR6,S1DJNZR5,DELAYRETEND2、实验板验证a.用ISP下载hex程序到CPUb.按连接表连接电路c.检查验证结果3、扩展实验改变中断触发方式或更改中断服务程序容重做以上实验,容自定。设计流程和程序:七、实验结果和体会八、建议实验十多个中断同时存在实验一、实验要求利用P3.2接一个外部中断输入,同时使用到单片机定时器中断,通过P1口连接8个发光二级管显示中断的作用。二、实验目的了解中断嵌套和中断优先级的概念和编程方法。三、实验电路及连线1、Proteus实验电路:>:::TALI:>:::TALIPOELftDOPDl.ftD1PD2JOO.D3::<TAL2PER四口,P口监口国POSftDSRSTPar.ftDT国口R2.1JMP22-A0PSENALE口2处归eTP2&A13P2&AHPZT.'AffPIDP3£'E::"HPl.1PJLTRPi£P3i'lNinPI3P3.3/1NT1Pl.iP工埼nPI5P.JJ5.'T1PU5P^J&WR-Pl.TP"而1113忤1T_2LZJas~35~2r工2、硬件验证实验CPU板006板P1.0~P1.7LED1~LED8P3.2SW1+5V+5VGNDGND四、实验说明1.所用知识点概述中断优先级:51系统有高、低两个中断优先级。各中断的优先级通过中断优先寄存器(讦)进行设定。在进行中断响应时,高优先级可以打断低优先级的中断服务,形成中断嵌套。2.实验效果说明
外部中断未发生时,系统通过定时器定时的方法,使LED做流水灯操作,当有中断产生,LED闪烁5次,完毕返回。五、实验程序流程图主程序框图 定时中断子程序 外中断中断子程序1、Proteus仿真a.在Proteus中打开设计文档多个中断.dsn;b.建立实验程序并编译,加载hex文件,仿真;c.如不能正常工作,打开调试窗口进行调试。参考程序:;计时中断与外部中断同时存在实验;利用计时方式,使8只LED灯每隔1s左移一次,当外部中断P3.2出现时8个LED灯闪烁5次,闪烁完后返回主程序运行。ORG0000HLJMPSTARTORG0003H ;外部中断入口LJMPEXTORG000BH ;定时中断入口LJMPTIMSTART:MOVSP,#70H;建立堆栈区MOVTMOD,#00000001B;定时器0,工作方式1MOVTH0,#HIGH(65536-10000);MOVTL0,#LOW(65536-10000);装计数器初值SETBTR0;TR0置1,定时开始MOVIE,#10000011B;开总中断,定时器0中断允许MOVIP,#00000001B;设定外部中断0优先级高MOVR5,#100 ;定时溢出次数MOVR1,#0FEH ;LJMP$;***********************************************;TIM:PUSHACCPUSHPSW ;现场保护MOVTH0,#HIGH(65536-10000)MOVTL0,#LOW(65536-10000) ;重赋计数值DJNZR3,LOOPMOVR3,#100MOVA,R1MOVP1,ARLAMOVR1,A ;移位LOOP:POPPSWPOPACC ;恢复现场RETI;***********************************************;;外部中断服务程序,闪烁5EXT: PUSHACCPUSHPSWMOVA,#00MOVR2,#10LOOP3:MOVP1,ACALLDELAYCPLADJNZR2,LOOP3POPPSWPOPACCRETI;***********************************************;;延时程序DELAY:MOVR5,#20D1: MOV R6,#20D2: MOV R7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1RETEND2、实验板验证a.用ISP下载hex程序到CPUb.按连接表连接电路c.检查验证结果3、扩展实验设计两个外部中断与定时中断同时存在的实验设计流程和程序七、实验结果和体会:八、建议:实验十一矩阵键盘扫描实验一、实验要求利用4X416位键盘和一个7段LED构成简单的输入显示系统,实现键盘输入和LED显示实验。二、实验目的1、理解矩阵键盘扫描的原理;2、掌握矩阵键盘与51单片机接口的编程方法。三、实验电路及连线1、Proteus实验电路U11-uu 1-u <1U11-uu 1-u <1 1-u <| T-4-J=L*L—uu——1Ifi-i=HE-iL—u<i——Tb-o-ffi-]—O<i——匕Ta-i=i-*L—0u——।[g_i=ug-iL—u-u——Ta-o-ffi-1-0o——回L—uu——।Td-czuE-iL-u-u——TeL—<jO——Tf_i1—j! 11工 卜hl 1”1”目2、硬件验证实验CPU板004板007P2.0~P2.7LED-A~LED-GP1.0~P1.3C1~C4P1.4~P1.7R1~R4+5V+5V+5VGNDGNDGND四、实验说明1、主要知识点概述:本实验阐述了键盘扫描原理,过程如下:首先扫描键盘,判断是否有键按下,再确定是哪一个键,计算键值,输出显示。2、实验效果说明:以数码管显示键盘的作用。点击相应按键显示相应的键值。五、实验流程图六、实验步骤1、Proteus仿真a、在Proteus中打开设计文档键盘扫描.DSN;a、b、建立实验程序并编译,加载hex文件,仿真;
c、如不能正常工作,打开调试窗口进行调试参考程序:ORG0000HAJMPORGMAIN0030HMOVDPTR,#TABLELCALLKEYMOVCA,A+DPTRMOVP2,ALJMPMAIN;将表头放入DPTR;调用键盘扫描程序;查表后将键值送入ACC;将庆口值送入P0口;返回反复循环显示LCALLKS;调用检测按键子程序MAIN:KEY:
JNZK1;有键按下继续LCALLDELAY2;无键按调用延时去抖AJMPKEY;返回继续检测按键K1:LCALLDELAY2LCALLDELAY2;有键按下延时去抖动LCALLKS;再调用检测按键程序JNZK2;确认有按下进行下一步AJMPKEY;无键按下返回继续检测K2: MOVR2,#0EFH;将扫描值送入R2暂存MOVR4,#00H;将第一列值送入R4暂存K3: MOVP1,R2;将R2的值送入P1口L6: JBP1.0,L1;P1.0等于1跳转到L1MOVA,#00H;将第一行值送入庆^AJMPLK;跳转到键值处理程序L1: JBP1.1,L2;P1.1等于1跳转到L2MOVA,#04H;将第二行的行值送入庆瓜AJMPLK;跳转到键值理程序进行键值处理L2: JBP1.2,L3;P1.2等于1跳转到L3MOVA,#08H;将第三行的行值送入庆^AJMPLK;跳转到键值处理程序L3: JBP1.3,NEXT;P1.3等于1跳转到NEXT处MOVA,#0cH将第四行的行值送入庆^LK: ADDA,R4;行值与列值相加后的键值送入APUSHACC;将庆中的值送入堆栈暂存K4:LCALLDELAY2;调用延时去抖动程序LCALLKS;调用按键检测程序JNZK4;按键没有松开继续返回检测POPACC;将堆栈的值送入庆^RETNEXT:INCR4;将列值加一MOVA,R2;将R2的值送入庆JNBACC.7,KEY;扫描完至KEY处进行下一扫描RLA;扫描未完将A中的值右移一位进行下一列的扫描MOVR2,A;将庆篁的值送入R2暂存AJMPK3;跳转到K3继续KS: MOVP1,#0FH;将P1口高四位置0低四位值1MOVA,P1;读P1口XRLA,#0FH;将A中的值与A中的值相异或RET;子程序返回DELAY2:;40ms延时去抖动子程序MOVR5,#08HL7: MOVR6,#0FAHL8: DJNZR6,L8DJNZR5,L7RETTABLE:;七段显示器数据定义DB0C0H,0F9H,0A4H,0B0H,99H;01234DB92H,82H,0F8H,80H,90H;56789DB88H,83H,0C6H,0A1H,86H;ABCDEDB8EH;FEND;程序结束2、实验板验证a.用ISP下载hex程序到CPUb.按连接表连接电路c.检查验证结果3、扩展实验设计其他方式键盘扫描程序。设计流程和程序:七、实验结果和体会八、建议
实验十二串行端口输出扩充实验一、实验要求利用移位积存器74LS164、单片机的串口和7个LED完成串行端口扩展,实现跑马灯闪烁。二、实验目的1、理解串行通讯和并行通讯的含义;2、了解7415164的工作原理,理解串转并的原理;3、掌握单片机串口用于并行输出口扩展的原理。三、实验电路及连线1、Proteus实验电路13U1ROM□口13U1ROM□口RD.IJADIKI2MD2FO.kftD+阳的口5阳即口6Her n.uuDrP2£K^PZ.iftSpzzmin灰T K23J(K1lALE 凶.MERZJEftUP2Jmi5P1O 口彳HHXDM.1 PJ.VTXDF1E PJ.glHTT]m pnjiinTHl Pa.ilTUm.s P?j&n-ifug FmatiJB"pi.t pm点「_3_-j-31•J29mR 帝8>CIS-n r331:£国1D21 」zi_3L "Z3飘缶_25.IU1111IS6u13615_J5__n__tt,ATUSTJ31A2、硬件验证实验(CPU板+006板)首先将006板上拨码开关拨向ON。CPU板006板P3.0164_A、164_BP3.1164_CLK+5V+5VGNDGND四、实验说明1、主要知识点概述:本实验用到了两个主要知识点是:74LS164的工作机制、简单的单片机串口输出。2、实验效果说明:使用74LS164的并行输出端接8个LED,利用它串入并出的功能,把LED按预先规定的次序点亮。
五、实验流程图主程序六、实验步骤1、Proteus仿真a、在Proteus中打开设计文档serialout.DSN;b、建立实验程序并编译,加载hex文件,仿真;c、如不能正常工作,打开调试窗口进行调试参考程序:ORG0000HMOVSCON,#00000000B;设定UART方式MODE0START:MOVDPTR,#TABLE;数据指针指到TABLELOOP:CLRA;清除ACCMOVCA,A+DPTR;到TABLE取数据CJNEA,#09,PLAY;到结束码03了么?不是则到A1JMPSTART;是则重新开始PLAY:CPLA;取到的数据反向MOV30H,A;A存入30HMOVSBUF,30H;30H的值存入SB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园安全培训工作制度
- 幼儿园家长委员工作制度
- 幼儿园招生留生工作制度
- 幼儿园服务群众工作制度
- 幼儿园消毒隔离工作制度
- 幼儿园疫情门卫工作制度
- 幼儿园维稳工作制度汇编
- 幼儿园课堂安全工作制度
- 幼儿园防汛备汛工作制度
- 应急救援队救援工作制度
- 2025-2026学年天津市滨海新区塘沽第六中学七年级下学期4月期中数学试题(含答案)
- 公司财务工作制度范本
- 【苏科版】小学二年级心理健康全一册同步教学课件第6课 我能接受批评(课件)
- 电力安全生产标准化达标评级管理办法
- APQC跨行业流程分类框架 (8.0 版)( 中文版-2026年4月)
- 道路运输领域汛期暑期安全工作方案
- 2026介护特定技能考试高频考题题库带答案解析
- 广东省深圳市2026年中考英语模拟试卷四套附答案
- 建筑工地 宿舍管理制度
- 2026年南阳工艺美术职业学院单招职业倾向性测试题库附答案详解(黄金题型)
- 班子主动担当作为意识不够强整改措施
评论
0/150
提交评论