一、概述
STC89C5x单片机实验开发板采用了STC宏晶科技公司的新型ISP(在线
可编程) STC89C5x系列单片机作为CPU,和目前流行的单片计算机MCS-51系列内核完全兼容,克服了目前的单片机实验仪不能在线编程(即需要专门的编程器)、只能在实验室使用、携带不方便的缺点,是学习、开发单片机的理想工具。
图1 STC89C5x单片机实验开发系统图
STC89C5x单片机实验开发板上设计了目前单片机教学中流行的LED循环灯、 模数转换(A/D)、数模转换(D/A)、RS232接口、数码管、单脉冲发生器等电路、且价格低廉、适合各类学校的实验室使用。该实验板设计小巧携带方便,配以+5V电源可以交由学生在实验室以外的场合很方便地学习使用,可作为学生在课程设计、毕业设计、电子大赛、机器人大赛中使用。
由于STC89C5x实验开发板集成了单片机使用系统的许多功能,也可直
接作为目标板使用。
二、STC89C5x单片机实验开发板结构说明
STC89C5x单片机实验开发板结构如下:
图2 STC89C5x单片机实验开发板整体结构
1. 2.
由上图可见,STC89C5x单片机实验开发板由以下几部分构成:
CPU系统:包括复位、时钟、在线编程电路及I/O引线插孔; 显示模块:采用串行显示,由六片74HC164和六个七段
共阴数码管组成;
3. 4.
串行接口:采用MAX232构成;
模数转换模块:采用ADC0809及外围器件,能够实现
八路八位的模拟量数据采集;
5. 数模转换模块:采用串行D/A转换TLC5616,能实现10
位的数模转换;
6. LED显示模块:由8个LED灯构成,其中3个红灯、两个黄灯、
3个绿灯;方便进行各种编程实验;
7. 8.
单脉冲发生电路:产生单个正或负脉冲;
用户外接元件区:方便用户外加少量外接元件进行实验。
三、软件操作说明
1.打开STC-ISP在线编程软件,在MCU Type栏目下选中单片机,例本实验板所用为STC89C52RC;
2.根据您的计算机端口设置情况选中COM端口(计算机COM口设置查询可以右键点击桌面我的电脑—管理—设备管理器—端口),波特率一般保持默认,如果遇到下载问题,可以适当下调一些,
3.先确认硬件连接正确,按如图点击“打开文件”并在对话框内找到您要下载的hex文件;
4.按下图选中两个条件项,这样可以使您在每次编译keil时HEX代码能自
动加载到STC-ISP,点击“Download/下载”;
5.给单片机上电即可把可执型文件HEX写入到单片机内,如图是正在写入程序截图:
6.程序写入完毕,目标板开始运行程序结果。
四、实验举例
利用STC89C5x实验开发板上的资源用户可以设计很多实验,下面举几个简单的例子。
实验一:输入输出口实验——LED循环灯
一 实验目的: 1.熟悉STC89C5x实验开发板的使用
2.掌握输入输出口的使用方法
二 实验原理及步骤
利用STC89C5x实验开发板上89C52的I/O口,可以方便的实现循环灯实验。下面以STC89C5x实验开发板上P2口为例,说明实验过程: 1.硬件连线:
用导线将STC89C52的P2口即STC89C5x实验开发板上的J7和八个
LED灯的J11一一对应相连,即: P2.0——————L8 P2.1——————L7 ┉┉┉┉┉┉┉
P2.7——————L1(注意:P2.7不要接到了ALE上)
图4 LED发光管循环显示原理图
原理:当P2.0=0时,L8亮;
当P2.0=0时,L8暗。其他类推。
2.软件编程 ;输入输出口实验.ASM
ORG
0000H
AJMP START ORG
0030H
; ;输出 ;调延时子程序 ; ;
START: MOV A,#0FEH XH: ;
MOV P2,A
ACALL D_TIME RR A
SJMP XH
延时子程序
MOV R7,#00H
D_TIME:
D_TIME1: MOV R6,#00H
DJNZ R6,$ DJNZ R7,D_TIME1 RET END
使用KEIL软件(或其他同样功能的软件)将上述代码在计算机上输入、汇编、修改、产生代码,形成输入输出口实验.HEX文件,将该文件写入89C52的内部程序存贮器中,运行该程序。观察实验结果。 3.思考题:
① 如果循环显示速度太快,如何修改程序,使循环速度变慢? ② 修改程序,使相邻两个LED灯同时亮且循环。 ③ 修改程序,改变循环方向。 ④ 自编一个循环花样程序。 ⑤ 设计交通灯控制程序。 作业:LED灯循环实验
实验内容:1、8位循环灯左移3次右移3次
实验二:显示器实验
一 实验目的: 1.熟悉STC89C5x实验开发板的使用
2.掌握串行数码管显示器的设计方法
二 实验原理及步骤
STC89C5x实验开发板上的数码管显示器采用串行显示,由六个数
码管和六片74LS164移位寄存器构成,原理图如下:
图5 串行数码管显示器原理图
;*********************************************** ;文件名:数码管串行显示.asm
;功能说明:显示模块试验程序,采用串行显示方式,P1.6为时钟线,P1.7为数据线,连续显示0-F
;***********************************************
ORG 0000H
AJMP START ORG 0030H START: MOV R7,#60H
MOV R0,#20H CLR A
;
;内部RAM首地址 ;A=0
LOOP: MOV @R0,A
INC R0 DJNZ R7,LOOP
;连续显示0-F
MOV R4,#18
;显示缓冲区首地址
LP1: MOV R1,#7AH
MOV R3,#6
LP2: MOV @R1,30H ;
INC R1 DJNZ R3,LP2 ACALL ACALL
DISP DELAY
INC 30H
DJNZ R4,LP1 ACALL DELAY ACALL DELAY AJMP START ;显示子程序
DISP: MOV DPTR,#TAB MOV A,7AH
MOVC A,@A+DPTR ACALL SO MOV A,7BH MOVC A,@A+DPTR ACALL SO MOV A,7CH MOVC A,@A+DPTR ACALL SO MOV A,7DH MOVC A,@A+DPTR ACALL SO MOV A,7EH MOVC A,@A+DPTR ACALL SO MOV A,7FH MOVC A,@A+DPTR ACALL SO
;取对应的段吗
;
;输出显示
RET SO: MOV R7,#8 SO1: CLR P1.6 RRC A MOV P1.7,C
SETB P1.6 DJNZ R7,SO1 RET
TAB: DB 3FH, 06H, 5bH, 4fH DB 66H, 6dH, 7dH, 07H DB 7fH, 6fH, 77H, 7cH DB 39H, 5eH, 79H, 71H DB 0FFH,00H DELAY: MOV R5,#09H DEL1: MOV R6,#0FFH DEL2: MOV R7,#0FFH
DJNZ R7,$ DJNZ R6,DEL2 DJNZ R5,DEL1
RET
;0FFH,表示全亮,00H表示全灭
;段码表,0-9,A-F,16个数
END
实验三:MCS-51中断和定时/计数器实验
一 实验目的: 1.熟悉STC89C5x实验开发板的使用
2.掌握51单片机中断的使用方法
3.掌握51单片机定时/计数器的使用
二 实验原理及步骤
图6 STC89C5x实验开发板单脉冲发生器电路原理图
将实验板上J16左边的引脚和J5的P3.4相连,输入下列程序,连续按下K3,观察显示器的变化。
ORG 0000H NOP
AJMP START ORG 0030H START: MOV 7AH,#00H MOV 7BH,#00H MOV 7CH,#00H MOV 7DH,#00H MOV 7EH,#00H MOV 7FH,#00H ACALL DISP MOV TMOD,#05H MOV TH0,#00H MOV TL0,#00H SETB TR0 REP: MOV R3,TL0 MOV R2,TH0 ACALL IBTD2
MOV A,R6 ANL A,#0FH ;取个位 MOV 7AH,A MOV A,R6
SWAP A ;取十位 ANL A,#0FH MOV 7BH,A MOV A,R5 ; ANL A,#0FH ;取百位 MOV 7CH,A
;置显示缓冲区初值
;显示全0
;T0计数方式,模式1 ;置T0初值
;启动T0 ;读取TL0 ;读取TH0
;16位二进制数转化成压缩BCD吗
MOV A,R5
SWAP A ;取千位 ANL A,#0FH ; MOV 7DH,A MOV A,R4 ; ANL A,#0FH ;取万位 MOV 7EH,A MOV A,R4
SWAP A ; ANL A,#0FH ;
MOV 7FH,A
ACALL DISP ; ACALL DELAY AJMP REP
;-------------------------------;16位二进制数放在R2(高位)R3(低位)中
;转化成压缩BCD吗放入R4R5R6
;占用资源:A R2 R3 R4 R5 R6 R7 C ;------------------------------- IBTD2: CLR A MOV R4,A MOV R5,A MOV R6,A MOV R7,#16 LOOP: CLR C MOV A,R3 RLC A MOV R3,A
MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,LOOP RET END
实验四:模数转换器ADC0809实验
一 实验目的: 1.熟悉STC89C5x实验开发板的使用
2.掌握模数转换器ADC0809的软硬件设计
二 实验原理及步骤
下图是模数转换器ADC0809和89C5x接口原理图,其中读写信号已经连接好。 ADC0809的通道选择由J8、J10、J13来决定。
图7 模数转换器ADC0809和89c52接口原理图
ADCS将J8、J10、J13跳线短接至GND,选择IN0,J14的CLK连接至J7的ALE,
连接至P2.7,EOC连接至P3.3,J15的Vr连接至J15的IN0,A/D转换子程序如下:
;********************************
;A/D转换子程序,ADC0809地址为7FFFH, 查询方式 ;******************************** ADP:
MOV SETB
DPTR,#7FFFH P3.3
A
;启动ADC0809 ; ; ;
MOVX @DPTR, JB
P3.3, $
MOVX A, @DPTR RET
编写程序,将A/D转换结果在显示模块上显示出来,旋转R36,观察显示变化。
实验五:数模转换器TLC5615实验
一 实验目的: 1.熟悉STC89C5x实验开发板的使用
2.掌握数模转换器TLC5615的软硬件设计
二 实验原理及步骤
图8 D/A转换器接口原理图
上网查找TLC5615的资料,编写D/A转换子程序。
实验六:MCS-51串行口实验
一 实验目的: 1.熟悉STC89C5x实验开发板的使用
2.掌握MCS-51串行口的设计方法
二 实验原理及步骤
图9 RS232转换接口原理图
1.编写自发自收程序; 2.编写双机通信程序;
3.编写PC机和单片机的通信程序。 4.
因篇幅问题不能全部显示,请点此查看更多更全内容