职业技术学院毕业论文
图3-6
打开项目选项窗口,转到Output选项页图3-7所示,图中1是选择编译输出的路径,2是设置编译输出生成的文件名,3则是决定是否要创建HEX文件,选中它就可以输出HEX文件到指定的路径中。
图3-7
选好后再将它重新编译一次,很快在编译信息窗口中就显示HEX文件创建
20
职业技术学院毕业论文
到指定的路径中了,如图3-8这样我们就可用自己的编程器所附带的软件去读取并烧到芯片了,再用实验板看结果。
图3-8
21
职业技术学院毕业论文
第四章 程序设计及仿真
4.1 设计要求
要求利用单片机中断功能控制数码管显示,状态:当无外中断时,主程序运行状态为七段数码管的A到G段依次点亮,不断循环,有外中断输入时,显示为0到9,然后返回主程序原断点,继续执行,数码管继续段点亮。
4.2 利用proyeus仿真软件画出电路图
首先添加元器件:元件拾取共有两种办法,一种是按类别查找和拾取元件,另一种是直接查找和拾取元件。然后在原理图编辑区单击鼠标左键即完成元件的释放。最后电路连线:用鼠标左键单击编辑区元件的一个端点拖动到要连接的另外一个元件的端点,先松开左键后再单击鼠标左键,即完成一根连线,以此类推最终结果如图 4-2所示。
图4-2
22
职业技术学院毕业论文
4.3 流程图绘制以及说明
主程序主要分为四部分,包括复位电路部分、独立按键的判别部分、单片机控制主程序部分和译码显示部分,模块流程图如图4-1所示:
结束 返回重新检测按键 将单片机处理的数据进行显示 单片机主控制电路 计数加1,向单片机申请显示该数值。 向单片机申请显示0 Y 是否按键? N 开始 图4-1 主程序流程图
4.4 用keil设计程序及仿真结果
一、程序如下:
ORG
0000H ;从0000H单元开始
23
职业技术学院毕业论文
LJMP START START:
MOV MOV
SP,#5FH
;跳转到真正的程序起点
;堆栈初始化
20H,#00H ;20H作为计数器
LOOP:
CALL DISP
;调用显示程序
;调用延时程序 ;计数器加1
;将计数器中的值送到A中
CALL DELAY INC MOV
20H A,20H
CJNE A, #0AH,L1 ;A中的值到了10吗?未到转L1 MOV
20H,#00H
;转LOOP继续循环 ;A中的值到了10让其回0
L1:
LJMP LOOP
DISP: ;显示子程序
;由硬件电路要求
;取出计数器中的值送A
CLR
MOV MOV
P2.7 A,20H
DPTR,#50H ;将字形码表的首地址送到DPTR中
MOVC A,@A+DPTR ;根据A中的值查表 MOV RET
P0,A
;查出相应字形码送到P0口
;返回
DELAY:
;延时子程序
;R7=10
MOV R7,#10
D1: MOV D2: MOV D3: DJNZ
DJNZ DJNZ RET
R6,#250 ;R6=250 R5,#250 ;R5=250 R5,D3 R6,D2 R7,D1
;R5中的值不等于0转本身循环 ;R6中的值不等于0转D2 ;R7中的值不等于0转D1
;返回
;从50H单元开始存放字形码表
ORG 50H
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END ; 结束伪指令
24