当前位置:文档之家› 单片机原理及应用实验指导书

单片机原理及应用实验指导书

单片机原理及应用实验指导书湖南人文科技学院二00一年三月实验一I /O口输出实验—LED流水灯实验一、实验目的1、掌握单片机最小系统的构成;2、掌握I/O口的使用及驱动能力的概念;3、熟悉移位指令和软件延时程序。

二、实验设备与器件1、计算机1台2、PROTEUS单片机教学实验箱FB-EDU-P51A三、实验原理如下图所示,用单片机控制LED的亮与灭,在实验图中将MCU的P1口与LED的阴极相连,当P1口给低电平时,LED发亮,当P1口给高电平时,四、实验内容1、利用51单片机及8个发光二级管等器件,构成一个流水灯单片机系统。

2、用Keil C51软件创建程序3、对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真;4、实验板验证(1)用ISP下载hex程序到CPU(2)按连接表连接电路(3)检查验证结果五、实验报告在预习报告的基础上写出详细实验过程;画出实验原理图,写出单片机控制程序,写出调试步骤与仿真方法,观察实验现象,得出实验结果,并分析实验结果的正确性。

六、预习要求1、单片机最小系统的构成2、单片机I/O口的使用以及软件延时程序的编写。

七、实验参考程序ORG 00HSTART: MOV R2,#8MOV A,#0FEHLOOP: MOV P1,ALCALL DELAYRL A ;循环左移DJNZ R2,LOOP ;判断移动是否超过8 位,未超过继续循环LJMP STARTDELAY: MOV R5,#20 ;延时程序,延时0.2sD1: MOV R6,#20D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND实验二定时器实验一、实验要求用51单片机的P1.0口接1个发光二级管,编写程序,控制发光二级管闪烁,时间间隔1S,要求A T89C51内部定时器计时。

二、实验目的掌握单片机定时计数器定时方式的使用及编程方法。

三、实验电路及连线1、Proteus实验电路2、硬件验证实验(CPU板+006板)硬件连接表四、实验说明1.主要知识点概述:关于内部计数器的编程,主要是定时常数的位置和有关控制寄存器的设置。

内部计数器在单片机中主要有定时器和计数器两个功能。

本例使用的是定时器,定时1S。

CPU运行定时中断方式,实现每1S输出状态发生一次反转,即发光二级管1S亮一次。

定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。

TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是计数。

TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止。

内部计数器用于定时器时,是对机器周期计数。

每个机器周期的长度是12个振荡周期。

本例中单片机晶振12MHZ,选用工作方式2,既8位自动重装方式定时器,定时器100us中断一次,所以定时常数的设置可按以下方法计算:机器周期=12/12MHZ=1us(256-定时常数)*1us=100us定时常数=156。

然后对100us中断次数计数10000次,就是1S。

2.实验效果说明:发光二级管按设定的定时时间闪烁。

五、实验参考程序:TICK EQU 10000 ;10000×100us=1sT100us EQU 256-100 ;100us时间常数(12M)C100us EQU 30H ;100us计数单元LEDBUF EQU 40HLED BIT P1.0ORG 00HLJMP START ;跳至主程序ORG 000BH ;定时中断入口地址T0INT: PUSH PSW ;状态保护MOV A,C100us+1JNZ GOONDEC C100us ;秒计数值减1GOON: DEC C100us+1MOV A,C100usORL A,C100us+1JNZ EXIT ;100us计数器不为0,返回MOV C100us,#HIGH(TICK) ;100us计数器为0,重置计数器MOV C100us+1,#LOW(TICK)CPL LEDBUF ;取反LEDEXIT: POP PSWRETISTART: MOV TMOD,#02H ;方式2,定时器MOV TH0,#T100us ;置定时器初值MOV TL0,#T100usMOV IE,#10000010B ;EA=1,IT0=1SETB TR0 ;开始定时CLR LEDBUFCLR LEDMOV C100us,#HIGH(TICK) ;设置10000次计数值MOV C100us+1,#LOW(TICK)LOOP: MOV C,LEDBUFMOV LED,CLJMP LOOPEND实验三多个中断同时存在实验一、实验目的1、了解MCS-51中断系统2、了解中断嵌套及中断优先级的概念和编程方法。

二、实验设备与器件1、计算机1台2、PROTEUS单片机教学实验箱FB-EDU-P51A三、实验原理如下图所示,在实验图中将MCU的P1口与LED的阴极相连,外部中断未发生时,系统通过定时器定时的方法,使LED做流水灯操作,当有中断产生,LED闪烁5次,完毕返回。

三、实验内容1、利用P3.2接一个外部中断输入,同时使用到单片机定时器中断,通过P1口连接8个发光二级管显示中断的作用。

2、用Keil C51软件程序3、对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真;4、实验板验证(1)用ISP下载hex程序到CPU(2)按连接表连接电路(3)检查验证结果五、实验报告在预习报告的基础上写出详细实验过程;画出实验原理图,给出设计程序分析实验现象,得出实验结果。

六、预习要求1、MCS-51中断系统与定时器的编程。

2、中断优先级:51系统有高、低两个中断优先级。

各中断的优先级通过中断优先寄存器(IP)进行设定。

在进行中断响应时,高优先级可以打断低优先级的中断服务,形成中断嵌套。

七、实验参考程序ORG 0000HLJMP STARTORG 0003H ;外部中断入口LJMP EXTORG 000BH ;定时中断入口LJMP TIMSTART: MOV SP,#70H ;建立堆栈区MOV TMOD,#00000001B ;定时器0,工作方式1MOV TH0,#HIGH(65536-10000) ;MOV TL0,#LOW(65536-10000) ;装计数器初值SETB TR0 ;TR0置1,定时开始MOV IE,#10000011B ;开总中断,定时器0中断允许MOV IP,#00000001B ;设定外部中断0优先级高MOV R3,#100 ;定时溢出次数MOV R1,#0FEH ;LJMP $;***********************************************;TIM: PUSH ACCPUSH PSW ;现场保护MOV TH0,#HIGH(65536-10000)MOV TL0,#LOW(65536-10000) ;重赋计数值DJNZ R3,LOOPMOV R3,#100MOV A,R1MOV P1,ARL AMOV R1,A ;移位LOOP: POP PSWPOP ACC ;恢复现场RETI;***********************************************;;外部中断服务程序,闪烁5EXT: PUSH ACCPUSH PSWMOV A,#00MOV R2,#10LOOP3: MOV P1,ACALL DELAYCPL ADJNZ R2,LOOP3POP PSWPOP ACCRETI;***********************************************;;延时程序DELAY: MOV R5,#20D1: MOV R6,#20 D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND实验四8051与PC之间串行通信实验一、实验目的1、掌握8051单片机串行口软件编程和硬件使用方法;2、了解Proteus虚拟终端的使用;3、了解PC超级终端(串口调试助手)和RS232的使用。

二、实验设备与器件1、计算机1台2、PROTEUS单片机教学实验箱FB-EDU-P51A三、实验原理如下图所示,将单片机与的串行口通过串口线与PC机的COM口相连,,另外将单片机的P3.5与任一按键连接,当键盘按下的时候,开始发送字符,在PC的调试终端出现在程序所设定的字符。

四、实验内容1、51单片机的串行口经MAX232(实际使用MAX202,二者功能一样)电平转换后,与PC串口相连,实现51和PC的通信。

2、用Keil C51软件创建程序3、对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真;4、实验板验证(1)用ISP下载hex程序到CPU(2)按连接表连接电路(3)检查验证结果五、实验报告在预习报告的基础上写出详细实验过程;画出实验原理图,写出单片机控制程序,得出实验结果,修改程序,观察实验结果。

六、预习要求1、MAX232工作原理和Proteus虚拟终端使用。

在简单的应用中,最常用的是MAX232电路。

它只需要有3条线即可完成通信,分别是第二脚RXD , 第3脚TXD ,第5脚GND。

串行通信与单片机之间的接口:由于串行通信的电平逻辑定义是+15V(高电平1)-15V(低电平0) 而单片机中分别用5V ,0V 来表示1,0 它们之间必须通过电平转换才可以完成通信。

2、单片机的串行口的发送与接收。

七、实验参考程序ORG 0000HMOV SCON,#50HMOV TMOD,#20HMOV PCON,#00HMOV TH1,#0FdH ;预置初值,设波特率为9600KMOV TL1, #0FdHSETB TR1WRIT: JB P3.5,$ACALL DELAY10JB P3.5,WRITJNB P3.5,$MOV A, #01H ;将16进制的字符01发送到串口去MOV SBUF,AAJMP WRITDELAY10: MOV R1,#20 ;10毫秒延时子程序D2: MOV R2,#248DJNZ R2,$DJNZ R1,D2RETEND实验五矩阵键盘扫描实验一、实验目的1、理解矩阵键盘扫描的原理;2、掌握矩阵键盘与51单片机接口的编程方法。

二、实验设备与器件1、计算机1台2、PROTEUS单片机教学实验箱FB-EDU-P51A三、实验原理如下图所示,用单片机的P1口控制矩阵键盘,P1.0~P1.3控制键盘的行,P1.4~P1.7控制键盘的列,当键按下的时候,在数码管上显示相应的键值。

四、实验内容1、利用4X4 16位键盘和一个7段LED构成简单的输入显示系统,实现键盘输入和LED数码管显示实验。

相关主题