您好,欢迎访问三七文档
一、系统概述微处理:8051时钟频率:6MHz存储器:0000~2FFFH:监控程序存储区,用户不可用4000H~5FFFH:用户实验程序区,供用户下载实验6000H~7FFFH:用户数据存储区,供用户实验程序用CFE0H:PC串行通讯芯片8250CFE8H:显示、键盘芯片82791.程序起始地址:4000H2.中断程序地址:原地址+4000H3.部分用户可用地址:CS0:地址CFA0H~CFA7HCS1:地址CFA8H~CFAFHCS2:地址CFB0H~CFB7HCS3:地址CFB8H~CFBFHCS4:地址CFC0H~CFC7HCS5:地址CFC8H~CFCFHLCS0~LCS7:地址CFD0H~FFFFH程序格式:CSEGAT0000HLJMPSTARTCSEGAT4100HSTART:…………JMPSTART;循环ENDP1口的应用:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。二、建议(以后想从事嵌入式单片机方向的同学):不做下列实验8279显示接口实验(8279是数码管键盘综合接口芯片,需要查8279的资料)8279键盘显示接口实验LCD显示实验实验一输入输出口实验一、实验目的1.熟悉MCS51的开发环境,掌握Debug调试工具栏的使用;2.掌握并口作输入输出口的使用方法;3.掌握实验仪器的使用。二、实验设备1.计算机、EL-MUT-III型实验箱、8051CPU模块2.8051单机版软件三、实验内容1.以P1口作输出口,设计循环点亮八个发光二极管的程序1;2.单步调试程序一,体会Debug中step、stepin、stepout、run的功能,使发光二极管的亮灭受程序的控制。3.设计P1口低四位为输入口、高四位为输出口,设计程序2,使得4个开关K1~K4分别可以控制4个LED小灯L1~L4。四、实验原理P1口为准双向口,P1的每一位都能独立地定义为输入口或输出口。作为输入位时,需先向其写入“1”,才能使它成为一个输入口。学生自己画和实验内容程序1和程序2对应的电路简图,并进行对应的文字说明。五、实验步骤1.程序1:对P1口和发光二极管进行按位连线,编写程序;2.调试程序1,体会step、run的功能.3.程序2:P1.0~P1.3连开关K1~K4,P1.4~P1.7连LED小灯L1~L4;4.调试程序2,熟练Debug的使用。六、程序流程图学生写七、源程序学生写八、总结学生写:实验过程及结果描述和体会。实验二简单I/O口扩展实验一、实验目的1.学习在单片机系统中扩展简单I/O口的方法;2.学习数据输入、输出程序的编制方法。二、实验设备1.计算机、EL-MUT-III型实验箱、8051CPU模块2.8051单机版软件三、实验内容及步骤1.查阅74LS244、74LS273的电气特性;2.74LS244的IN0~IN7接开关的K1~K8,片选信号CS244接CS1;74LS273的O0~O7接发光二极管的L1~L8,片选信号CS273接CS2。3.设计程序,使发光二极管的L1~L8分别受开关K1~K8的控制;4.单步调试程序,观察实验结果;全速运行程序,观察实验结果。四、实验原理MCS-51外部扩展空间很大,但数据总线口和控制信号线的负载能力是有限的。若需要扩展的芯片较多,则MCS-51总线口的负载过重,故需要74LS244、74LS273进行扩展,以减轻总线口的负担。学生自己画出电路简图,并进行描述。五、程序流程图学生写六、源程序学生写七、总结学生写:实验过程及结果描述和体会。实验三中断实验一、实验目的1.掌握在单片机系统中扩展简单I/O接口的方法2.掌握外部中断技术的基本使用方法3.掌握中断处理程序的编程方法二、实验设备1.计算机、EL-MUT-III型实验箱、8051CPU模块2.8051单机版软件三、实验内容及步骤1.正确连接实验箱和计算机,并使实验箱受计算机的控制2.连接74LS273的输出00~07到发光二极管L1~L8,74LS273的片选CS273接片选信号CS2,单脉冲输出端P-接CPU板上的INT0,以单脉冲为中断申请,触发中断;3.编写程序,主程序控制发光二极管L1~L4循环轮流闪烁,即同一时刻只有一个LED灯亮。中断服务程序控制L5~L8同时亮灭闪烁。四、实验原理注意中断服务程序被执行的方式及中断前后关键寄存器的保护及恢复,思考中断服务程序是否可以和主程序共用同一个延时子程序,如果想共用,应该注意点什么。学生自己画出电路简图,并进行描述。五、程序流程图学生写六、源程序学生写七、总结学生写:实验过程及结果描述和体会。实验四定时器实验一、实验目的1.学习8051内部定时器计数器的使用和编程方法2.进一步掌握中断处理程序的编写方法3.掌握用定时器/计数器准确定时的方法二、实验设备1.计算机、EL-MUT-III型实验箱、8051CPU模块2.8051单机版软件三、实验内容及步骤1.正确连接实验箱和计算机,并使实验箱受计算机的控制2.P1.0~P1.7分别接发光二极管L1~L83.编写程序,发光二极管L1~L4循环轮流闪烁,即同一时刻只有一个LED灯亮,间隔时间为1秒。L5~L8同时亮灭闪烁,间隔时间为4秒。(提示:T0控制L1~L4的定时时间,T1控制L5~L8的定时时间。四、实验原理1、定时常数的确定。定时器/计数器的输入脉冲周期与机器周期一样,为振荡频率的1/12。本实验中时钟频率为6.0MHZ,现要采用中断方法来实现0.1秒延时,要在定时器1中设置一个时间常数,使其每隔0.1秒产生一次中断,CPU响应中断后将R0中计数值减一,令R0=10,即可实现1秒延时。2、初始化程序。包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应位进行正确的设置,并将时间常数送入定时器中。由于只有定时器中断,IP便不必设置。3、设计中断服务程序和主程序。中断服务程序除了要完成计数减一工作外,还要将时间常数重新送入定时器中,为下一次中断做准备。主程序则用来控制发光二极管按要求顺序燃灭。学生自己画出电路简图,并进行描述。五、程序流程图学生写六、源程序学生写七、总结学生写:实验过程及结果描述和体会。实验五双机通讯实验一、实验目的1.掌握串行口的工作方式及编程方法2.掌握单片机通讯程序的编写3.了解串行通讯的硬件环境,数据格式及数据交换的协议二、实验设备1.计算机、EL-MUT-III型实验箱、8051CPU模块2.8051单机版软件三、实验内容及步骤1.将P1.0~P1.7分别接发光二极管L1~L8;甲机的CPU板上的TXD接乙机的RXD,甲机的RXD接乙机的TXD,甲机的GND接乙机的GND2.编写程序:甲机负责循环发送数字0~255,乙机负责接收,并在两个实验箱的LED小灯上显示出来。3.编写程序2:自发自收数字0~255,接收成功后,把接收到的数据在LED小灯上显示出来。四、实验原理1、MCS-51单片机串行通讯的波特率随串行口工作方式选择的不同而不同,它除了与系统的振荡频率f,电源控制寄存器PCON的SMOD位有关外,还与定时器T1的设置有关。编程时应注意两点:一是串口初始化,设置波特率和数据格式,二是确定数据传送方式。数据传送方式有两种:查询方式和中断方式。可先用查询方式,后用中断方式。学生自己画出电路简图,并进行描述。五、程序流程图学生写六、源程序学生写七、总结学生写:实验过程及结果描述和体会。一、实验目的:1、掌握串行口工作方式的程序设计,掌握单片机通讯程序的编制。2、了解实现串行通讯的硬件环境,数据格式、数据交换的协议。二、实验设备:EL-8051-III型单片机实验箱三、实验内容利用8031串行口,实现双机通讯。编写程序让甲机负责发送,乙机负责接收,从甲机的键盘上键入数字键0~F,在两个实验箱上的数码管上显示出来。如果键入的不是数字按键,则显示“Error”错误提示。四、实验原理及电路:本实验通讯模块由两个独立的模块组成:甲机发送模块和乙机接收模块。MCS-51单片机内串行口的SBUF有两个:接收SBUF和发送SBUF,二者在物理结构上是独立的,单片机用它们来接收和发送数据。专用寄存器SCON和PCON控制串行口的工作方式和波特率。定时器1作为波特率发生器。编程时注意两点:一是初始化,设置波特率和数据格式,二是确定数据传送方式。数据传送方式有两种:查询方式和中断方式。例程采用的是查询方式。为确保通讯成功,甲机和乙机必须有一个一致的通讯协议,例程的通讯协议如下:通讯双方均采用2400波特的速率传送,甲机发送数据,乙机接收数据。双机开始通讯时,甲机发送一个呼叫信号“06”,询问乙机是否可以接收数据;乙机收到呼叫信号后,若同意接收数据则发回“00”作为应答,否则发“15”表示暂不能接收数据;甲机只有收到乙机的应答信号“00”后才可把要发送的数据发送给乙机,否则继续向乙机呼叫,直到乙机同意接收。其发送数据格式为:字节数n:甲机将向乙机发送的数据个数数据1~数据n:甲机将向乙机发送的n个数据累加校验和:字节数n,数据1,……,数据n这(n+1)个字节内容的算术累加和。乙机根据接收到的“校验和”判断已接收到的数据是否正确。若接收正确,向甲机回发“0F”信号,否则回发“F0”信号给甲机。甲机只有接到信号“0F”才算完成发送任务,否则继续呼叫,重发数据。实验线路示意图如下:五、实验步骤:甲机8031CPU板上的TXD接乙机的RXD甲机的RXD接乙机的TXD甲机的GND接乙机的GND8279与键盘、显示数码管的连线方法请参见实验十和实验十一。六、程序框图:程序名称T13f.asm,T13j.asm七、参考程序:T13f.ASM:NAMET13F;双机通讯实验(发送程序)CSEGAT0000HLJMPSTARTCSEGAT4100HPORTEQU0CFE8HSTART:MOVDPTR,#PORT+1;8279命令字MOVA,#0D1H;清除MOVX@DPTR,AWAIT:MOVXA,@DPTRJBACC.7,WAIT;等待清除完毕MOVTMOD,#20HMOVTH1,#0F2HMOVTL1,#0F2HSETBTR1MOVSCON,#50HMOV87H,#80HMOV50H,#00HMOV51H,#00HMOV52H,#00HMOV53H,#00HMOV54H,#00HMOV55H,#00HLOOP1:MOVXA,@DPTRANLA,#0FHJZLOOP1;有键按下?MOVA,#0A0H;显示消隐命令MOVX@DPTR,AMOVDPTR,#PORT;读键值MOVXA,@DPTRANLA,#3FHMOVR7,A;状态保存MOV50H,51HMOV51H,52HMOV52H,53HMOV53H,54HMOV54H,55HLOP:MOVA,R7MOVDPTR,#TAB1MOVCA,@A+DPTR;查取数字键的字型码MOV55H,Amov40h,aSUBBA,#80HJZERROR;非数字键则跳转ACALLDISPSJMPTXACKDISP:MOVDPTR,#PORT+1MOVA,#90HMOVX@DPTR,AMOVR6,#06HMOVR1,#50HMOVDPTR,#PORTDL0:MOVA,@R1MOVX@DPTR,AINCR1DJNZR6,DL0RETTXACK:MOVA,#06H;发呼叫信号06MOVSBUF,AWAIT1:JBCTI,RXYES;等待发送完一个字节SJMPWAIT1RXYES:JBCRI,NEXT1;等待乙机回答SJMPRXYESNEXT1:MOVA,SBUF;判断乙机是否同意接收,不同意继续呼叫CJNEA,#00H,TXACKMOVA,40HMOVSBUF,AWAIT2:JBCTI,TXNEWSSJMPWAIT2TXNEWS:JBCRI,IF0DDHSJ
本文标题:学生实验单片机
链接地址:https://www.777doc.com/doc-2489670 .html