微处理器实验指导书(电信学院)2015(4)

2019-06-30 10:42

CLR C

LOOP: MOV A, @R0 ;取数

ACALL SORT ;调用求平方子程序 ADD A, R2 ;累加平方和 MOV R2, A MOV A,R3

ADDC A, #0 ;加进位Cy MOV R3, A

INC R0 ;修改指针 DJNZ R7, LOOP ;未完,继续 SJMP EN

SORT: MOV DPTR, #TAB ;进入子程序查平方表 MOVC A, @A+DPTR RET

TAB: DB 0, 1, 4, 9, 16 DB 25, 36, 49, 64, 81 EN: NOP END

五、注意事项

1、80C51汇编指令中立即数前面要加#号。 2、子程序结束必须使用RET指令。 3、本次实验无需使用实验箱。 六、作业及预习要求

1、总结循环结构程序和子程序的优点及设计要点。

2、对程序3进行修改,使其能求出两位十进制数(最大99)的平方。

14

实验三 并口输入/输出实验

实验名称:并口输入/输出实验 实验类别:验证性 一、实验目的和任务

1、掌握80C51单片机程序的调试与下载方法。

2、掌握80C51单片机并口的工作原理及输入输出控制方法。 二、实验原理简介

80C51单片机包括P0~P3共4个并口,除可作为普通I/O口使用外,P0口还可用作8位数据总线口和低8位地址口,P2可用作高8位地址口,P3.6、P3.7可用作外部RAM或I/O接口的读、写控制引脚,P3.0~P3.5可用作串口、外部中断、计数器的功能引脚。

ZSC-1实验箱包括4个单片机,其中1#单片机(MCU1)和2#单片机(MCU2)的型号都是STC12C5A60S2,只是封装不同。STC12C5A60S2采用80C51内核,片内资源和性能较标准80C51单片机增强了许多。本课程的全部实验只用到MCU1。

图3.3.1为本实验的硬件电路(单片机时钟与复位电路略)。P0口用于控制发光管L101~L108,口线输出0(低电平)时,对应发光管点亮,口线输出1(高电平)时,对应发光管熄灭。P3口的4根口线连接独立按键KX0~KX3,由于P3口内部上拉电阻的作用,按键松开时,对应口线表现为1状态(高电平),按键按下时,对应口线表现为0状态(低电平)。

注意:在做本实验时,须将拨码开关JUMP2置为接通状态。

VccMCU1STC12C5A60S2KX0KX1KX2KX312141517P3.2P3.4P3.5P3.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.73938373635343332L101L102L103L104L105L106L107L108JUMP2470Ω470Ω470Ω470Ω470Ω470Ω470Ω470Ω学时安排:4学时 实验要求:必做

图3.3.1 并口输入输出实验电路

三、实验设备

1、PC机一台(已安装Keil uVision、STC_ISP等软件); 2、ZSC-1单片机实验箱一台。 四、实验内容和步骤

1、设计程序,控制发光管L101~L108以一定的时间间隔轮流点亮。

① 在Keil中编写源程序。参考程序如下(请将下划线部分补充完整):

15

;===============================主程序=============================== MAIN: MOV A, #11111110B ;准备点亮第一只发光管 NEXT: MOV ,A

ACALL DELAY ;软件延时1s左右

A ;准备点亮下一只发光管 SJMP NEXT

;=============================延时子程序============================= DELAY: MOV R2,#200 DELAY2: MOV R3,#200 DELAY3: MOV R4,#100 DJNZ R4,$

DJNZ R3,DELAY3 DJNZ R2,DELAY2 RET

;===============================程序结束============================= END

② 在Keil中创建工程,加入源程序文件,设置选项,进行汇编/编译、连接、转换处理,生成HEX格式的单片机程序文件。

③ 用串行电缆连接实验箱和PC机各自的串行通信口,并运行PC机上的STC_ISP程序,进行单片机程序下载。具体步骤如下:

a.在STC_ISP主界面选择MCU型号为STC12C5A60S2,打开②中生成的HEX格式程序文件,选择正确的串口号,设置最高波特率为38400bps;

b.将实验箱总电源开关拨到左侧位置,接通主电源,将MCU1电源开关拨到下方位置,使1#单片机断电;

c.点击STC_ISP主界面中的下载按钮,待系统提示“请给MCU上电”时再将MCU1电源开关拨到上方位置,使1#单片机通电,开始下载程序,数秒后下载结束,写入单片机Flash存储器中的程序自动开始运行。

④ 验证程序运行效果。若LED显示效果与要求的效果不同,或者想试验其它效果,则须修改源程序,重新进行汇编/编译、连接、转换处理,生成最新HEX文件,再按③中介绍的步骤下载和运行最新程序。

2、设计程序,通过查表操作,控制L101~L108逐个点亮,再逐个熄灭。 参考程序如下(请将下划线部分补充完整):

;===============================主程序=============================== MAIN: MOV DPTR,# ;DPTR指向表首单元 MOV A, #0 ;A从0开始

NEXT: PUSH ACC ;A中的数据入栈保存 A,@A+DPTR ;查表

MOV P0,A ;输出当前字节 ACALL DELAY ;软件延时1s左右 POP ACC ;恢复入栈保存的A值 A ;调整A的值

CJNE A,# ,NEXT ;检查是否已到表尾 SJMP MAIN

;=============================延时子程序============================= DELAY: MOV R2,#200 DELAY2: MOV R3,#200 DELAY3: MOV R4,#100 DJNZ R4,$

DJNZ R3,DELAY3

16

DJNZ R2,DELAY2 RET

;==============================LED控制表============================= LEDTBL: DB 11111110B,11111100B,11111000B,11110000B DB 11100000B,11000000B,10000000B,00000000B DB 00000001B,00000011B,00000111B,00001111B DB 00011111B,00111111B,01111111B,11111111B

;===============================程序结束============================= END

3、设计程序,利用按键KX0~KX3分别控制发光管L101~L104的亮灭,具体要求是:每按一次按键,对应的发光管便翻转一次状态(由灭变亮或由亮变灭)。 参考程序如下(请将下划线部分补充完整):

;============================声明外设对应口线======================== KX0 EQU P3.2 KX1 EQU P3.4 KX2 EQU P3.5 KX3 EQU P3.7 L101 EQU P0.0 L102 EQU P0.1 L103 EQU P0.2 L104 EQU P0.3

;===============================主程序=============================== MAIN:

CHKKX0: JB KX0,CHKKX1 ;KX0未按下,则检测KX1

LCALL DELAY ;软件延时10ms左右(按键消抖) JB KX0,CHKKX1 ;KX0未按下,则检测KX1 L101 ;KX0按下,则求反L101 KX0, ;等待KX0松开

SJMP MAIN ;跳转到主程序开头 (以下请自行编写) CHKKX1: ??

;=============================延时子程序============================= DELAY: MOV R2,#2 DELAY2: MOV R3,#200

17

DELAY3: MOV R4,#100 DJNZ R4,$

DJNZ R3,DELAY3 DJNZ R2,DELAY2 RET

;==============================程序结束============================== END

五、注意事项

1、注意程序的完整性、正确性和逻辑性,对出现的语法和逻辑错误要认真分析原因。

2、必要时可利用Keil进行软件模拟调试。

3、STC12C5A60S2采用了优化的内部时钟电路,程序运行速度可达传统80C51单片机的8-12倍,因此软件延时子程序中循环变量的取值也增加了相应倍数。 六、作业及预习要求

1、认真分析实验程序的结构和功能。

2、对程序2进行改进,添加更多LED显示花样。

3、对程序3进行改进,用按键控制多种LED显示花样的动态切换(选做)。

18


微处理器实验指导书(电信学院)2015(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:毕业设计---银行工资代发代扣系统实现与设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: