实验一 构建单片机最小系统和实验环境熟悉
一、预习要求
1.构建单片机最小系统,熟悉51单片机的结构及编程方法
2.按照程序流程图编写出程序
二、实验目的
1.熟悉星单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的使用方法。
2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。
三、实验内容
单片机最小系统实验:
1、熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。
2、作出单片机最小系统的组成原理图,分析其各构成单元的工作原理。
存储单元数据传输实验
1、熟悉MCS51汇编指令。
2、进行存储单元数据传输实验,编写程序。
3、运行程序,验证译码的正确性。
四、实验原理
1、作出单片机最小系统的组成原理图
2.软件编译环境的熟悉
实验中我们使用keilC环境编译程序。其窗口界面如下:
3.测试程序
;将从外部RAM3000H单元开始连续存放的
;50个单字节数据传送到内部RAM30H单元的50个单元中。
ORG 0000H
MOV R0,#32H ;计数初值50
MOV A,#78H ;(A)=78H送外部3000H--3050H
MOV DPTR,#3000H ;外部数据存储器首地址3000H送DPTR
LOOP0: MOVX @DPTR,A ;送78H到外部数据存储区3000H
INC DPTR ;外部数据存储区地址增一
DJNZ R0,LOOP0 ;循环次数减一不为零转LOOP0
SETB P1.2
CLR P1.3
CLR P1.4 ;74HC138输入为100,使CS2=0选中62256
MOV R0,#32H ;循环次数50送R0
MOV R1,#30H ;内部数据存储区首址30H送R1
MOV DPTR,#3000H ;外部数据存储区首址3000H送DPTR
LOOP: MOVX A,@DPTR ;读外部数据存储区3000H内容送A
MOV @R1,A ;累加器A的内容送内部数据存储区30H
INC DPTR ;外部数据存储区地址增一
INC DPTR ;内部数据存储区地址增一
INC R1
DJNZ R0,LOOP
SJMP $
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 0000H
AJMP START1
ORG 0030H
START1:
CLR P3.4
SETB P3.3
MOV A,#7FH ;顺时依次点亮
MOV P1,A
MOV R0,#15
LOOP:
RL A
MOV P1,A
ACALL DELAY2
DEC R0
CJNE R0,#7,LOOP
LOO: ;逆时依次点亮
RR A
MOV P1,A
ACALL DELAY2
DEC R0
CJNE R0,#0,LOO
MOV R0,#16
LOOP1: ;顺时间隔点亮
RL A
RL A
MOV P1,A
ACALL DELAY2
DEC R0
CJNE R0,#8,LOOP1
LOO1: ;逆时间隔点亮
RR A
RR A
MOV P1,A
ACALL DELAY2
DEC R0
CJNE R0,#0,LOO1
AJMP START1
RET
DELAY2: ;0.2s延时
MOV R7,#04H
DL1:
MOV R6,#74H
DL2:
MOV R5,#0D6H
DJNZ R5,$
DJNZ R6,DL2
DJNZ R7,DL1
NOP
RET
END
2.利用74LS138译码器的流水灯实验
(1)程序流程图:
(2) 74LS138控制流水灯软件仿真图如下:
(3) 74LS138控制流水灯实验程序:
ORG 0000H
AJMP START1
ORG 0030H
START2:
SETB P3.4
CLR P3.3
MOV P1,#0
MOV R2,#14
ACALL DELAY2
NEXT: ;顺时依次点亮
INC P1
ACALL DELAY2
DEC R2
CJNE R2,#7,NEXT
;DJNZ R2,NEXT
NEXT1: ;逆时依次点亮
DEC P1
ACALL DELAY2
DEC R2
CJNE R2,#0,NEXT1
;DJNZ R2,NEXT1
AJMP START2
RET
DELAY2: ;0.2s延时
MOV R7,#04H
DL1:
MOV R6,#74H
DL2:
MOV R5,#0D6H
DJNZ R5,$
DJNZ R6,DL2
DJNZ R7,DL1
NOP
RET
END
八、实验总结:
本次实验利用两种控制方式实现了流水灯功能。单片机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的功能,熟悉它的使用方法。
四、实验原理
参考电路原理图
五、实验仪器、设备
实验室电脑,集成软件
六、实验注意事项
1.注意在集成环境下程序调试的方法
2.注意保护实验箱
七、实验内容及步骤
实验流程图如下:
1.主程序流程图
2.软件仿真图如下:
3.实验总结:
本实验主要实现了基本交通灯工作情况,主要用到并行接口芯片8255A,单片机控制8255A工作,由8255A的PA口驱动LED闪烁, 8255PA口的低三位是南北路口。高三位是东西路口,模拟交通灯工作。一开始初始化时是使交通灯均为红灯,然后再正常运行,本次试验主要是熟悉8055A的PA口操作方式,加了上拉电阻保证在实际操作时电压足够。
4.实验程序如下:
ORG 0000H
AJMP START
ORG 0030H
START:
MOV SP,#60H
MOV DPTR,#0FFFFH
MOV A,#82H ;A口方式0,输出。B口方式0,输入。C口,输出。
MOVX @DPTR,A
MOV DPTR,#0FCFFH
MOV A,#0EBH ;东西南北全是红灯。
MOVX @DPTR ,A
ACALL DELAY3
LOOP:
MOV DPTR,#0FCFFH
MOV A,#0EEH ;东西绿,南北红。
MOVX @DPTR ,A
ACALL DELAY1
MOV R0,#5
L:
MOV DPTR,#0FCFFH
MOV A,#0EDH ;东西黄,南北红。
MOVX @DPTR,A
ACALL DELAY
MOV DPTR,#0FCFFH
MOV A,#0EFH
MOVX @DPTR,A
ACALL DELAY
DEC R0
CJNE R0,#0,L
MOV DPTR,#0FCFFH
MOV A,#0F3H ;东西红,南北绿。
MOVX @DPTR,A
ACALL DELAY1
MOV R0,#5
LL:
MOV DPTR,#0FCFFH
MOV A,#0DBH ;东西红,南北黄。
MOVX @DPTR,A
ACALL DELAY
MOV DPTR,#0FCFFH
MOV A,#0FBH
MOVX @DPTR,A
ACALL DELAY
DEC R0
CJNE R0,#0,LL
AJMP LOOP
DELAY1: ;10秒延时。
MOV R3,#100
DL1:MOV R4,#200
DL2:MOV R5,#248
DJNZ R5,$
DJNZ R4,DL2
DJNZ R3,DL1
RET
DELAY3: ;2秒延时。
MOV R3,#40
DL3:MOV R4,#100
DL4:MOV R5,#248
DJNZ R5,$
DJNZ R4,DL4
DJNZ R3,DL3
RET
DELAY: ;0.5S
MOV R7,#17H
DL5:
MOV R6,#98H
DL0:
MOV R5,#46H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL5
RET
END
八、思考题
1、如何对8255的PC口进行位操作?
答:写入8255A控制字,即置位复位控制字,即D7为标志位,必须为零,D6,D5,D4为任意值,D3,D2,D1组合为为选择,D0=1为置位,D0=0为复位。所以有
MOV A,#00000011H ;D7=0,PC0口置1。
MOV DPTR,#008CH
MOVX @DPTR,A
实验四 8253方波实验
一、预习要求
1.熟悉51单片机的结构及编程方法
2.按照要求画出流程图及程序
二、实验目的
了解8253的内部结构、工作原理;了解8253与单片机的接口逻辑;熟悉8253的控制寄存器和初始化编程方法,熟悉8253的6种工作模式。
三、实验内容
1、设计接口电路,编写程序:使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。
2、连接线路,验证8253的功能,熟悉它的使用方法。
四、实验原理
参考电路原理图如下:
五、实验仪器、设备
实验室电脑,集成软件及STAR ES598实验仪
六、实验注意事项
1.注意在集成环境下程序调试的方法
2.注意保护实验箱
七、实验方法及步骤
1、设计接口电路并分析工作原理。
2、测试实验结果:红蓝灯交替点亮。
1.实验流程图如下:
(1)主程序流程图
(2)软件仿真图如下:
(3)实验程序如下:
ORG 0000H
AJMP START
ORG 0030H
START:MOV SP,#60H
MOV DPTR,#0FFFFH
MOV A,#35H ;通道0控制字,先写低字节,后高字节,方式2,BCD计数。
MOVX @DPTR,A
MOV DPTR,#0FC00H
MOV A,#00H
MOVX @DPTR ,A
MOV A,#01H
MOVX @DPTR,A
MOV DPTR,#0FFFFH
MOV A,#77H ;通道1控制字,先写低字节,后高字节,方式3,BCD计数。
MOVX @DPTR,A
MOV DPTR,#0FDFFH
MOV A,#00H
MOVX @DPTR,A
MOV A,#04H
MOVX @DPTR,A
S:
SETB P1.4
ACALL DELAY5
CLR P1.4
ACALL DELAY5
AJMP S
DELAY5: ;10US
MOV R6,#01H
DL9:
MOV R5,#02H
DJNZ R5,$
DJNZ R6,DL9
RET
END
八、实验总结:
此次实验主要是利用8253的计数功能实现对一秒的倒计时,期间选用的是通道0与通道1,对一秒的实现采取的是两个通道的级联,这个以前在8086中学习过,通道0加2MHZ时钟信号,通道0工作在方式2,赋计数初值N0=5000,从OUT0端可得到序列负脉冲,其频率为2MHZ/5000=400HZ,再将信号连到CLK1输入端,并使通道1工作在方式3.为了使OUT1通道输出周期为1s,应取时间常数N1=400HZ/1HZ=400.所以此次实验并没有采取中断。
实验五 继电器控制/光偶控制实验
一、预习要求
1.了解继电器的原理及应用
2.认真预习本节实验内容,尝试自行编写程序。
二、实验目的
掌握使用继电器控制外设的基本方法和编程。
三、实验内容
继电器控制:
1、预备知识
自动化控制设备中,存在一个电子与电气电路的互连问题,一方面,电子电路需要控制电气电路的执行元件,如:电动机、电磁铁、电灯等;一方面又要为电子电路提供良好的电隔离,以保护电子电路和人身安全,减少干扰源。继电器就起这个桥梁作用。
2、实验过程:设计接口电路,通过继电器使LED灯亮。
四、实验原理
参考电路原理图如下:
(继电器控制原理图)
七、实验步骤
继电器控制:
1、设计接口电路,分析工作原理。
2、编写并运行程序,利用拨动开关控制LED灯的亮灭。
1.实验流程图如下:
2.实验电路图
3实验程序
ORG 0000H
AJMP START
ORG 0030H
START:MOV SP,#60H
CLR P2.4
KEYSCAN:
JB P2.5,KEYSCAN ;不断扫描键是否按下
START1:
CPL P2.4
AJMP KEYSCAN
DELAY4: ;2秒延时。
MOV R3,#40
DL5:MOV R4,#100
DL6:MOV R5,#248
DJNZ R5,$
DJNZ R4,DL6
DJNZ R3,DL5
RET
END
八、实验心得
本次实验做的是通过单片机继电器的吸合从而达到控制的效果,效果通过LED的明亮来显示,一开始继电器的实验的完成时比较坎坷的,通过按键控制时总是没有反应,检查线路后发现并不是硬件的问题,改写程序后终于实现了操作,但是还有不足之处,就是在通过按键选择实验项目后无法跳出该运行程序,必须通过复位才能实现,这需要我们进一步改进。
附录:实物图片
第二篇:单片机实训报告
旋转电子时钟设计与制作实训报告
学生姓名:吴军新、卢裕达、杜秋燕
学 号:1213234102、1213234134、1213234141
专业班级:应用电子121班
指导教师:徐操喜、香永辉
20##年6月30日
目录
1. 课程设计目的....................................... 3
2. 课程设计题目描述和要求.............................. 3
3.课程设计报告内容.................................... 3
3.1方案论证........................................ 3
3.1.1单片机定时器做电子时钟...................... 3
3.1.2数字电路做电子时钟......................... 3
3.2 旋转电子时钟硬件电路,并简要讲述各部分的原理3.2.1 降压部分 4
3.2.1 电源部分.................................. 4
3.2.2 显示部分.................................. 4
3.2.3 指示部分.................................. 5
3.2.4 按键部分.................................. 5
4. 电路原理图......................................... 6
5. 实训心得........................................... 7
6.分工情况............................................ 7
1.课程设计目的
1)巩固单片机基础知识,串联知识点。
2)学会绘制PCB板,学会手工制板的一般方法。
3)使用Protel等EDA工具进行单片机硬件系统设计的能力。
4)基于Keil IDE开发单片机应用程序的能力。
5)写技术报告和编制技术资料的能力。
6)独立工作能力和创造力。
7)综合运用专业及基础知识,解决实际工程技术问题的能力。
2.课程设计题目描述和要求
旋转电子时钟的设计与制作
实现的功能要求:(1)实现单片机最小系统 ;(2)四只LED数码管显示当前时分;(3) 每隔一秒钟周边的60只LED发光管旋转一格,装饰用的LED每隔一秒旋转一次;(4) 实现整点报时;(5) 实现按键调整;(6) 停(掉)电保护,年计时误差小于30秒;(7) 其他功能。
3.课程设计报告内容
3.1方案论证
3.1.1单片机定时器做电子时钟
优点:考虑到单片机货源充足、价格低廉,可软硬件结合使用,能够方便的实现系统的多功能性,故采用单片机作为本设计的硬件基础。故其优点是外围电路简单,只需要一个单片机最小系统,和一个显示模块。
缺点:定时不是很准确,计时误差较大,并且程序的编写较繁琐。
3.1.2数字电路做电子时钟
优点:具有走时准确、显示直观、无机械传动装置。与传统的机械钟先比,电子钟具有更优异的优点。由于电子钟采用数字集成电路的发展和采用了先进的石英技术,使电子钟具有走时准确、性能稳定、携带方便等优点,电子钟用于定时自动报警、按时自动打铃、时间程序自动控制、定时广播及自动控制等各个领域。
缺点:因为电子钟毕竟是电子产品,电子产品都有辐射,不过电子钟危害极低,对人体够不成任何危害,不象手机的辐射那么大。
应用:目前,在国内,电子钟因数码管数字显示效用直接有效,所以大多运用在城市的主要营业场所,以及车站、码头等公共场所。在对公共场所的电子钟设定的时候,使用者还可根据周边的气候、温度等对LCD屏进行设置。同时,因为数码管的显示耗电量很省,所以能够保持持续的工作效果。夜间在睡觉的时候,床头如果放个带投影功能的电子钟,可以不用起床,直接让时间显示在天花板上,非常直观与有效。现在生产的大部分汽车中,车内前方仪表盘旁边一般也都自带电子钟功能,采取蓝色背景光板成像效果,非常清晰。
3.2 旋转电子时钟硬件电路,并简要讲述各部分的原理3.2.1 降压部分
3.2.1 电源部分
5V电源可使用通用的78XX系列来构成,也可以使用LDO来构成,一般而言,目前LDO为主流,常用的LDO主要为REG1117-XX系列,该部分的电路可参考图1,使用一个REG1117-5构成5V电源。为了更好地了解系统电源的情况,一般会在电源的输出端加入一个LED进行电源的指示。
图1电源电路
3.2.2 显示部分
60灯旋转的原理和数码管显示原理一模一样。只不过把数码管的段分别用单个二极管代替,形成了8个类似数码管的控制结构。如图2所示。
图2 LED电路
3.2.3 指示部分
为了能输出用户的相关信息,目前使用的有LCD和LED方法,本实训中学生可以从两种方法中任选一个,LCD的方法参考电路如图3所示.
图3 5LCD1602的驱动电路
3.2.4 按键部分
本实训使用的是较为简单的阻容复位电路。对于单片机这类微控制器而言,其本质就是运行用户设定的程序,所以必须在基本硬件的基础上加入一个下载线接口,用来下载用户编写的程序,由于STC单片机支持串行口下载,在做硬件的时候大家只需将单片机的P3.0和P3.1接排针形成预留接口,我们用下载线直接下载。用户输入信息使用的是独立按键,本项目中因为要输入调整和加减信息,所以仅使用了独立按键,如图4所示。
图4 独立按键电路图
4.电路原理图
图5 DXP原理
图6 PCB图
图7 仿真图
图7 实物图
5.实训心得
吴军新:我们经过了一周的学习和制作后,终于完成了电子时钟的基本功能。使我们更加地认识到了动手能力和理论知识相结合的重要性。在这次的制作中,我们也深刻地认识到我们的不足和自身理论知识的欠缺,所以从中遇到了很多困难,但是最后还是在老师以及组员的帮助下圆满解决了困难,实现了整个系统的制作与最后的调试,相关指标达到预期的效果,并且很好地完成了本课程要求的任务。
卢裕达:这些日子我们收获了许多东西,从零散的元器件到电子时钟能够实现基本功能的整个过程,在设计过程中虽然遇到了一些的问题,但经过一次又一次的讨论,一遍又一遍的检查我们终于找出了问题所在,也暴露了前期在这方面的知识欠缺和经验不足。通过此次项目的学习提高了我们自主学习的能力、动手操作的能力和团结合作的能力。
杜秋燕:通过这个课程,使我更加扎实的掌握了有关电子线路、单片机方面的知识。使我对自己的专业知识有了更为详尽而深刻的了解,认识到了许多我以前虽然看过但并没有认真的去了解的元器件的使用方法,从而更深的了解到了自己的不足,虽然我的基础知识不够扎实,但是我在此期间积累了许多宝贵的经验,这都是我以后走上工作岗位的巨大的财富。在次我要感谢我们的指导老师徐老师和香老师的耐心以及辛苦的指导。还有谢谢组员的包容和辛勤的劳动。