MOV TL0,#0B0H ;50MS
MOV IE,#82H
SETB TR0
MOV TCOUNT,#4
CLR F0
MOV 20H,#0
MOV R0,#30H
MOV R1,#30
QING: MOV @R0,#00H
INC R0
DJNZ R1,QING ;把30H到4DH这30个单元清0
MOV P0,#06H
MOV P3,#0F8H
3.3.2主程序调用
XUN: JB P1.0,ONE
LCALL YS10MS
JB P1.0,ONE ;判断一层的停止按键是否按下
CLR P2.0 ;若按下则把对应的红色发光二极管点亮
ONE: JB P1.1,TWO 本文档由文档同学网(www.lunwentongxue.com)整理,更多文档,请点毕业文档范文查看
LCALL YS10MS
JB P1.1,TWO ;判断二层的停止按键是否按下
CLR P2.1 ;若按下则把对应的红色发光二极管点亮
TWO: JB P1.2,THR
LCALL YS10MS
JB P1.2,THR
CLR P2.2
THR: JB P1.3,FOU
LCALL YS10MS
JB P1.3,FOU
CLR P2.3
FOU: JB P1.4,FIV
LCALL YS10MS
JB P1.4,FIV
CLR P2.4
FIV: JB P1.5,SIX
LCALL YS10MS
JB P1.5,SIX
CLR P2.5
SIX: JB P1.6,SEV
LCALL YS10MS
JB P1.6,SEV
CLR P2.6
SEV: JB P1.7,XUN
LCALL YS10MS
JB P1.7,XUN
CLR P2.7
LJMP XUN
3.3.3中断程序调用
INT0X: MOV TH0,#3CH
MOV TL0,#0B0H
INC TCOUNT
MOV A,TCOUNT
CJNE A,#5,ZHUAN2 ;50MS*5=250MS
MOV TCOUNT,#00H
JB F0,ZHUAN
LJMP ZHUAN1
ZHUAN: LJMP XIAJIANG
ZHUAN1: MOV P3,#0F8H ;上升的箭头
MOV A,CENG
CJNE A,#00H,SS2
MOV P0,#06H ;显示
JB P2.0,SS1_1
INC 30H
MOV A,30H
CJNE A,#1,SSX1_1
CLR P3.4 ;一层门开的声音开
SSX1_1: CJNE A,#2,SSX1_2
SETB P3.4 ;一层门开的声音关
SSX1_2: CJNE A,#16,SSX1_3
CLR P3.4 ;一层门关的声音开
SSX1_3: CJNE A,#17,ZHUAN2 ;16*250MS=4S(总共次,但实际在这里停止的时间只有次MS)
MOV 30H,#0
SETB P3.4 ;一层门关的声音关
SETB P2.0 ;熄灭对应的红色发光二极管
SS1_1: INC 31H
MOV A,31H
CJNE A,#9,ZHUAN2 ;8*250MS=2S(总共次,但实际上升一层只用次MS)
MOV 31H,#0
INC CENG
SS2: MOV A,CENG
CJNE A,#01H,SS3
MOV P0,#5BH ;显示
JB P2.1,SS2_1
INC 32H
MOV A,32H
CJNE A,#1,SSX2_1
CLR P3.4 ;二层门开的声音开
SSX2_1: CJNE A,#2,SSX2_2
SETB P3.4 ;二层门开的声音关
SSX2_2: CJNE A,#16,SSX2_3
CLR P3.4 ;二层门关的声音开
SSX2_3: CJNE A,#17,ZHUAN2 ;16*250MS=4S(总共次,但实际在这里停止的时间只有次MS)
MOV 32H,#0
SETB P3.4 ;二层门关的声音关
SETB P2.1 ;熄灭对应的红色发光二极管
SS2_1: INC 33H
MOV A,33H
CJNE A,#9,ZHUAN2 ;8*250MS=2S(总共次,但实际上升一层只用次MS?
MOV 33H,#0
LJMP ZHUAN3
第四章 系统调试
4.1 硬件调试
硬件调试是利用开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。
静态调试
静态调试是在用户系统未工作时的一种硬件检测。
第一步:目测。检查外部的各种元件或者是电路是否有断点。
第二步:万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。
第三步:加电检测。给板加电,检测所有的插座或是器件的电源端是否符合要求的值 。
第四步:联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。
动态调试
动态调试是在用户系统工作的情况下,发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块。当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,再对各块电路功能及各电路间可能存在的相互联系进行调试,由分到合的调试就可完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。
4.2 软件调试
软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
(1) 实验平台 软件调试在KEIL编译器下进行,运行在Windows XP操作系统下。源程序编译及仿真调试应分段或以子程序为单位一个一个进行,最后可结合硬件实时调试。
(2) 实验步骤
1) 按照系统硬件连线图连好。
2) 把编写好的程序进行汇编并输入单片机AT89S51仿真器和对其进行初始化。
3) 先按下开启键,观察LED能否正常显示,再观察发光二极管形成的上升下降信号和LED显示的数字增大减小是否一致,当这些都符合指标后,再按下任意按键,看其是否能达到预想目的。接着试验复位开关,检验能否完成清零的功能,并作出相应调整。
参考文献
参考文献:
[1] AT89C51-AT89S51性能简介
[2] 杨欣.电路设计与仿真.北京:清华大学出版社,2006
[3] ATMEL AT89S51.Atmel Corporation 2001
[4] 楼然苗.51系列单片机设计实例.北京:航空航天大学出版社,2004
[5] 王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2005
[6] ATMEL技术资料,ATMEL官方网站
[7] 张友德.单片微型机原理应用与实验.上海:复旦大学出版社,1996
[8] 万长建.用单片机实现高层电梯运行自动控制.实验技术与管理.2007,5
[9] Intel. Microcontroller Handbook.1988
[10] 张娅莉.单片机在电梯自动控制中的应用.工业控制计算机.2003,2
[11] AT89C51 DATA SHEEP Philips Semiconductors 1999.dec
[12] Yang. Y., Yi. J., Woo, Y.Y., and Kim. B.: ‘Optimum design for linearityand efficiency of microwave Doherty amplifier using a new loadmatching technique’, Microw. J., 2001, 44, (12), pp. 20–36
[13] Vizimuller, P.: ‘RF design guide-systems, circuits, and equations’ (ArtechHouse, Boston, MA, 1995)[6]R. Dye, “Visual Object-Orientated Programming,” Dr. Dobbs MacintoshJournal, Sept. 1st ( 1991).