LED的显示次数
沈阳理工大学应用技术学院
单片机原理及应用实训
题 目 LED的显示次数
院 系 沈阳理工大学应用技术学院 专 业 机械设计制造及其自动化 学生姓名 张岩
学 号 22
指导教师 朱亚环
完成日期 2011年01月12日
1
目录
1.前言„„„„„„„„„„„„„„„„„„„„„„„„ 2 2.摘要„„„„„„„„„„„„„„„„„„„„„„„„ 3 3.系统设计„„„„„„„„„„„„„„„„„„„„„„ 4 4.硬件设计„„„„„„„„„„„„„„„„„„„„„„ 5 5.语句指令„„„„„„„„„„„„„„„„„„„„„„ 8 6.总结„„„„„„„„„„„„„„„„„„„„„„„„ 10
2
前言
随着超大规模高速集成电路的发展,现代电子技术的设计与应用进入片上系统SOC阶段,从而使单片机的设计与应用技术发生了深刻的变化。SOC的设计要从整个系统的功能及性能出发,把微处理器、芯片结构、数字?模拟等外围器件全部放置在一块芯片中,完成整个系统的功能,真正实现“系统单片机”。故SOC为单片机的应用提供了更为广阔的应用前景及更强的生命力。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,利用 AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。
当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。微型计算机技术的发展形成两大技术分支:一是以微处理器MPU为核心组成的通用微机系统;另一分支是发展面向对象的用于实时测控领域的微控制器MCU,亦称单片微计算机(单片机)。
3
摘要
目前有人根据单片机的结构和微电子设计特点将单片机称为嵌入式微处理器或嵌入式微控制器。而我们仍叫做―单片机。本周的设计是把单片机的应用到实际中去,是让我们更好的掌握理论和实际的相结合理念,这次我设计的课程是LED的显示次数,相对应的找出单片机上的硬件系统,和具体的软件编程,最后把设计的思想,写出说明
。随着大规模的集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时?计数器和多种I?O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机,沿用至今。准确反映单片机本质的叫法应是微控制器。目前国外大多数厂家、学者已改用Microcontroller,其缩写为MCU以与MPU相对应。国内仍没用单片机一词,但其含义应是Microcontroller,而非Microcomputer,这是因为单片机无论从功能还是从形态来说都是作为控制领域应用计算机的要求而诞生的。
4
系统设计
LED的显示次数:
1.实训目的
通过实训掌握并行I/O口的使用和指令定时的程序编写,掌握数码显示电路和键盘的驱动编程方法。掌握用查询或外部中断方式实现控制的方法。了解单片机的具体应用。
2. 具体要求
用两位的LED显示器动态扫描显示按键按动的次数。 2.实验
1.用8P数据线将CPU的JD1C口和JD2C口分别接到动态显示模块的JD1A5和JD2A5上,再用导线将CPU的INT0接到查询式键盘KEY0端。这样就实现了上图所示的电气连接。
2.用串行数据通信线和USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加LED显示次数.ASM源程序,进行编译,直到编译无误。
4.进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。
5.打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。
5
硬件设计
+5V+5V
U2
31LED2LED174LS245
4071218720aaA0A0P1.0VCC623176GDIRbbA1A1P1.1EA/VP434164ccA2A2GNDVCCP1.2245152ddA3A3P1.3156141eeA4A4P1.4967139ffA5A5P1.510781210ggA6A6P1.6589115DPDPA7A7P1.7U1191KK102089C51
U3AU3B
GND74LS0674LS06
KINT010KK33P0.0128
310K32P0.2
VCC
10K
P3.2GND
348
3
GNDGND
硬件原理图
6
实际接线图
7
开始
设置INT0为开中断
调用主显示程序
Y
是否按下按键
N
更改显示程序
Y
是否大于99
N
设计
图
8
语句指令
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP I0
ORG 0030H
MAIN: MOV SP, #65H
MOV R1, #00H
SETB PX0
CLR IT0
SETB EA
SETB EX0
HERE:LCALL DISP
LJMP HERE
I0 :
PUSH PSW
JB P3.2, DEL1
LCALL DELAY10
JB P3.2, DEL1
BB: JNB P3.2, BB
INC R1
CJNE R1, #100, DEL1
MOV R1, #00H
DEL1:POP PSW
RETI
DISP:MOV A, R1
MOV B, #10
DIV AB
MOV 30H, A
MOV 31H, B
9
MOV DPTR, #DBDISP
MOV A, 31H
MOVC A, @A+DPTR
MOV P2, #01H
MOV P1, A
LCALL DELAY2
MOV P1, #00H
MOV A, 30H
MOVC A, @A+DPTR
MOV P2, #02H
MOV P1, A
LCALL DELAY2
MOV P1, #00H
RET
DBDISP: DB 3FH,06H,5BH,4FH
DB 66H,6DH,7DH,07H
DB 7FH,6FH
DELAY2: MOV R6,#10
D1: MOV R7,# 100
DJNZ R7,$
DJNZ R6,D1
RET
DELAY10:MOV R5,#50
D3: MOV R4,#100
DJNZ R4,$
DJNZ R5,D3
RET
END
10
总结
踉踉跄跄地忙碌了一周,我的单片机实训课题也终将告一段落。设计实物也基本达到预期的效果,但由于能力和时间的关系,总是觉得有很多不尽人意的地方,譬如功能不全、外观粗糙„„数不胜数。但我可以自豪的说,这里面的每一段代码,都有我的劳动。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
这次做实训的经历也会使我终身受益,也终于认识到对于先前所学的知识,因为没有及时巩固提高,所以才造成了不必要的设计麻烦。这点应该在以后的学习、工作中引起自身足够的重视。课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。
最后,我要感谢我的老师们,是您严厉批评唤醒了我,是您的敬业精神感动了我,是您的教诲启发了我,是您的期望鼓励了我,我感谢老师您今天又为我增添了一幅坚硬的翅膀(今天我为你们而骄傲,明天你们为我而自豪 。
老师评语:
指导教师师签字:
年 月 日
11