山东科技大学泰山科技学院2010届毕业论文
可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
4.2 程序流程
在整个程序流程中,经常要控制一部分指令重复执行若干次,以便简短的程序完成大量的处理任务。这种按某种控制规律重复执行的程序称为循环程序。循环程序有先执行后判断何先判断后执行两种基本结构。而我们要选用的是先判断后执行。
因为烟雾传感器的输出电压量为5.6~6.0v之间。根据单极性输入的转换关系D=4096VIN/VFS,计算出它的数字量最小值:D1=4096×5.6/10=2294;最大值D2=4096×6/10=2458.
然后把它们的数字量转化为二进制数。D1、D2转换为二进制数分别是100111110110、100110011010。
由于AD574A输出12位数据,所以当单片机读取转换结果时,应分两次进行:当A0=0时,读取高8位;当A0=1时,读取低4位。AD574A的STS与80C51的P1.0线相连,故采用查询方式读取转换结果。
我们将A/D转换器读取结果存入17H、18H、19H、20H单元中。其中17H存入的是较小数D1的高八位10011111,18H存入的是较小数D1的低四位0110;19H存入的是较大数的高八位10011001,20H存入的是较大值的低四位1010。
将数值存入单元以后,接下来就是比较。当被测的数值经计算机的转换在比较范围内,经程序设定80C51单片机的P2.0就会输出脉冲启动报警电路程序。程序流程图如图4-1所示。
31
山东科技大学泰山科技学院2010届毕业论文
图4-1 流程图
32
山东科技大学泰山科技学院2010届毕业论文
4.3 程序
ORG 0000H
START: MOV DPTR, # 0FFF8H ;送端口地址入DPTR MOVX @DPTR, A ;启动AD574A SET P1.0 LOOP: JB P1.0, LOOP INC DPTR MOVX A, @DPTR MOV 41H, A INC DPTR INC DPTR
MOVX A, @DPTR MOV 40H, A MOV 17H, #10001111B MOV 18H, #0110B MOV 19H, #10011011B MOV 20H, #1010B
MOV AL, MOV AH, 41H ;置P1.0为输入方式 ;检测P1.0口 ;使R/C为1
;读取高8位数据 ;高8位内容存入41H单元 ;使R/C、A0均为1 ;读取低4位
;将低4位内容存入40H单元 ;将比较的数值存入单元中 40H ;将40H的内容存入AL单元中;将41H的内容存入AH单元中;比较最小数值的高八位
33
01: CMP AH, 17H JA LP1 JBE LP2 LP1: JMP 03 LP2: JMP 01
山东科技大学泰山科技学院2010届毕业论文
02: CMP AL,18H ;比较最小值的低四位 JA LP3 JBE LP4 LP3: JMP 01 LP4: JMP 04
03: CMP AH,19H JA LP5 JBE LP6 LP6: JMP 03 LP5: JMP 01
04 : CMP AH ,20H JA LP7 JBE LP8 LP8: JMP 01 LP7: JMP 04
05: SET P2.0 DEL: MOV R7,#200 DEL1: MOV R6,#123 NOP
DEL2: DJNZ R6,DEL2 DJNZ R7,DEL1
RET END
;比较最大值的高八位 ;比较最大值的低四位 ;报警 ;延时50ms
;返回
;结束
34
山东科技大学泰山科技学院2010届毕业论文
5、调试
5.1 调试的步骤
(1) 源文件的建立:使用菜单 “File-New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入汇编语言源程序(4.2小节所示)。保存该文件,加上扩展名(.asm或a51),这里将文件保存为examl1.asm。
(2)建立工程文件:点击“Project-New Project”菜单,出现以个对话框,要求给工程起一个名字,我们输入examl1,不需要扩展名,点击保存按钮,出现第二个对话框。这个对话框要求选择目标CPU(即我们所使用的芯片型号80C51)点击ATMEL前面的“+”号,展开该层,点击其中的80C51,然后点击确定按钮。回到主界面,此时,在工程窗口的文件页中,出现了“Targ et1”,前面有 “+”号,点击“+”展开,可以看到下一层的“Source Group1”,这时的工程还是一个空工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“Souce Group”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单。选中其中的“Add file to Group”Souce Group1”,对话框,要求寻找源文件,注意该对话框下面的“文件类型“默认为C Souce file (*.c),也就是以C为扩展名的文件,而我们的文件是以asm 为扩展名的,所以在列表框中找不到examl1.asm,要将文件类型该掉,点击对话框中”文件类型‘后的下拉列表,找到并选中“Asm Souce File(*.asm,*.a51)”,这样,在列表框中就可以找到examl1.asm文文件了。双examl1.asm文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其他文件,但初学时常会认为操作没有成功而再次双击同一文件,这时会出现对话框,提示你所选的文件以在列表中,
35
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库参考1 烟雾报警器(7)在线全文阅读。
相关推荐: