HEFEI UNIVERSITY单片机实验报告系别电子信息与电气工程系专业班级学号姓名指导老师完成时间实验一构建单片机最小系统和实验环境熟悉一、预习要求1.构建单片机最小系统,熟悉51单片机的结构及编程方法2.按照程序流程图编写出程序二、实验目的1.熟悉星单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的使用方法。
2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。
三、实验内容单片机最小系统实验:1、熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。
2、作出单片机最小系统的组成原理图,分析其各构成单元的工作原理。
存储单元数据传输实验1、熟悉MCS51汇编指令。
2、进行存储单元数据传输实验,编写程序。
3、运行程序,验证译码的正确性。
四、实验原理1、作出单片机最小系统的组成原理图2.最小系统版的组成:时钟电路,复位电路,电源电路。
3.软件编译环境的熟悉实验中我们使用keilC环境编译程序。
其窗口界面如下:4.测试程序;将从外部RAM3000H单元开始连续存放的;50个单字节数据传送到内部RAM30H单元的50个单元中。
ORG 0000HMOV R0,#32H ;计数初值50MOV A,#78H ;(A)=78H送外部3000H--3050HMOV DPTR,#3000H ;外部数据存储器首地址3000H送DPTRLOOP0: MOVX @DPTR,A ;送78H到外部数据存储区3000H INC DPTR ;外部数据存储区地址增一DJNZ R0,LOOP0 ;循环次数减一不为零转LOOP0SETB P1.2CLR P1.3CLR P1.4 ;74HC138输入为100,使CS2=0选中62256 MOV R0,#32H ;循环次数50送R0MOV R1,#30H ;内部数据存储区首址30H送R1MOV DPTR,#3000H ;外部数据存储区首址3000H送DPTRLOOP: MOVX A,@DPTR ;读外部数据存储区3000H内容送AMOV @R1,A ;累加器A的内容送内部数据存储区30HINC DPTR ;外部数据存储区地址增一INC DPTR ;内部数据存储区地址增一INC R1DJNZ R0,LOOPSJMP $END五、实验仪器、设备1、单片机最小系统2、Keil C51集成环境软件六、实验注意事项1.注意在星研集成环境下如何进行程序调试2.注意保护实验箱七、实验方法及步骤1、调试单片机最小系统板。
2、安装Keil C51集成环境软件。
八、思考题1、在单片机最小系统的构建中,应注意哪些因素。
答:1、时钟设计遵循硬件手册的设计规范,一般MCU手册都有,遵循走线最短原则。
2、复位电路要加上上电复位。
4、IO引线要方便外部使用等。
九、实验总结本次实验是单片机实训的基础,从构建单片机的最小系统,到亲手焊接最小系统板。
这这个过程中我们知道了构成一个单片机最小系统的需要时钟电路,复位电路,电源电路还有就是AT89S52芯片。
了解了这些最基础也是最重要的知识,对最基本的单片机加以熟悉,了解其内部构造及各个寄存器的使用方法可以对其他芯片进行类比,其原理都相似,为我们以后的实验打下了夯实的基础。
实验二跑马灯实验及74HC138译码器一、预习要求1.熟悉51单片机的结构及编程方法2.按照程序流程图编写出程序二、实验目的1.熟悉集成环境软件或熟悉Keil C51集成环境软件的使用方法。
2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。
三、实验内容跑马灯实验:1、熟悉集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。
2、照接线图编写程序:使用P1口控制G6区的8个指示灯,循环点亮,瞬间只有一个灯亮。
3、观察实验结果,验证程序是否正确。
74HC138译码器实验:1、设计74HC138接口电路,编写程序:使用单片机的P1.0、P1.1、P1.2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。
2、运行程序,验证译码的正确性。
四、实验原理1、作出单片机最小系统的组成原理图2、分析单片机最小系统的工作原理3、进行存储单元数据传输实验,观察实验结果,验证程序是否正确。
五、实验仪器、设备1、单片机最小系统。
2、Keil C51集成环境软件六、实验注意事项1.注意在集成环境下如何进行程序调试2.注意保护实验箱七、实验方法及步骤1、单片机P1.0口控制的跑马灯实验(1)程序流程图:(2)软件仿真图:(3) 实验程序:ORG 0000HAJMP START1ORG 0030HSTART1:CLR P3.4SETB P3.3MOV A,#7FH ;顺时依次点亮MOV P1,AMOV R0,#15LOOP:RL AMOV P1,AACALL DELAY2DEC R0CJNE R0,#7,LOOPLOO: ;逆时依次点亮RR AMOV P1,AACALL DELAY2DEC R0CJNE R0,#0,LOOMOV R0,#16LOOP1: ;顺时间隔点亮RL ARL AMOV P1,AACALL DELAY2DEC R0CJNE R0,#8,LOOP1LOO1: ;逆时间隔点亮RR ARR AMOV P1,AACALL DELAY2DEC R0CJNE R0,#0,LOO1AJMP START1RETDELAY2: ;0.2s延时MOV R7,#04HDL1:MOV R6,#74HDL2:MOV R5,#0D6HDJNZ R5,$DJNZ R6,DL2DJNZ R7,DL1NOPRETEND2.利用74LS138译码器的流水灯实验(1)程序流程图:开始初始化顺时依次点亮逆时依次点亮(2) 74LS138控制流水灯软件仿真图如下:(3) 74LS138控制流水灯实验程序:ORG 0000HAJMP START1ORG 0030HSTART2:SETB P3.4CLR P3.3MOV P1,#0MOV R2,#14ACALL DELAY2NEXT: ;顺时依次点亮INC P1ACALL DELAY2DEC R2CJNE R2,#7,NEXT;DJNZ R2,NEXTNEXT1: ;逆时依次点亮DEC P1ACALL DELAY2DEC R2CJNE R2,#0,NEXT1;DJNZ R2,NEXT1AJMP START2RETDELAY2: ;0.2s延时MOV R7,#04HDL1:MOV R6,#74HDL2:MOV R5,#0D6HDJNZ R5,$DJNZ R6,DL2DJNZ R7,DL1NOPRETEND八、实验总结:本次实验利用两种控制方式实现了流水灯功能。
单片机P1.0口主要是利用基本的数据传输指令实现了流水灯功能,利用的是简单的循环结构;74LS138控制流水灯实验主要是利用138的片选,根据输入不同的A、B、C选中不同的输出端口,进而驱动LED显示。
进行本次实验需要知道基本的数据传输指令以及74LS138的真值表,此次实验还是比较简单的。
九、思考题1、在单片机系统中,74HC138通常用来产生片选信号,请考虑一下,应如何处理。
答:取三根底地址线,接到138译码器的输入端,则可译码产生8个使能控制信号,从而实现片选。
实验三 8255控制交通灯实验一、预习要求1.熟悉51单片机的结构及编程方法 2.按照要求画出流程图及程序二、实验目的1、 了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2、 熟悉8255内部结构和与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
3、尝试自行编写程序,填写实验报告。
三、实验内容1、设计8255接口电路,编写程序:使用8255的PA0..2、PA5..7控制LED 指示灯,实现交通灯功能。
2、连接线路验证8255的功能,熟悉它的使用方法。
四、实验原理 参考电路原理图D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD 5WR 36A09A18RESET 35CS68255U36D0D1D2D3D4D5D6D7WRRD RSTA0A1PC5PC6PC7PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678VCCDS42A0A1CSCS1(0F000H)510R111510R112510R113510R114510R115510R116510R117510R118五、实验仪器、设备实验室电脑,集成软件六、实验注意事项1.注意在集成环境下程序调试的方法2.注意保护实验箱七、实验内容及步骤实验流程图如下:1.主程序流程图2.软件仿真图如下:3.实验总结:本实验主要实现了基本交通灯工作情况,主要用到并行接口芯片8255A,单片机控制8255A工作,由8255A的PA口驱动LED闪烁, 8255PA口的低三位是南北路口。
高三位是东西路口,模拟交通灯工作。
一开始初始化时是使交通灯均为红灯,然后再正常运行,本次试验主要是熟悉8055A的PA口操作方式,加了上拉电阻保证在实际操作时电压足够。
4.实验程序如下:ORG 0000HAJMP STARTORG 0030HSTART:MOV SP,#60HMOV DPTR,#0FFFFHMOV A,#82H ;A口方式0,输出。
B口方式0,输入。
C口,输出。
MOVX @DPTR,AMOV DPTR,#0FCFFHMOV A,#0EBH ;东西南北全是红灯。
MOVX @DPTR ,AACALL DELAY3LOOP:MOV DPTR,#0FCFFHMOV A,#0EEH ;东西绿,南北红。
MOVX @DPTR ,AACALL DELAY1MOV R0,#5L:MOV DPTR,#0FCFFHMOV A,#0EDH ;东西黄,南北红。
MOVX @DPTR,AACALL DELAYMOV DPTR,#0FCFFHMOV A,#0EFHMOVX @DPTR,AACALL DELAYDEC R0CJNE R0,#0,LMOV DPTR,#0FCFFHMOV A,#0F3H ;东西红,南北绿。
MOVX @DPTR,AACALL DELAY1MOV R0,#5LL:MOV DPTR,#0FCFFHMOV A,#0DBH ;东西红,南北黄。