NB : MOV R1,#0 NA: DJNZ R1,NA DJNZ R3,NB DJNZ R4,DA1 RET
LEDAB: DB 06H,5BH,4FH,66H,6DH,7DH,07H,7fh,6fh,77h,7ch,39h,5eh,79h,71h END
①分析该程序的功能及实验现象
②上机实验,观察的现象是否和估计一致 2、双机通信实验
本实验需要甲、乙两个实验平台,用串行通信电缆线将两个实验平台的9针D型座连接起来(连线见下图):
串行通信电缆
12RXD3TXD45乙实验板1RXD2TXD36789678945甲实验板
双机通信实验连线图
两个实验平台分别执行上面的自发自收通信程序。将看到甲机发送的数据显示在乙机的发光二极管上,乙机发送的数据显示在甲机的发光二极管上。
分析:当两个实验平台中的一个复位时,两个实验板显示不一样,是什么原因。
自编程序并调试通过:
(1)采用通信方式1,波特率为600,甲机交替发送55H、AAH, 乙机接收,并将接收到的数据显示在数码管上。分别编出发送和接收程序,在各自的实验平台分别执行。 (2)采用通信方式1,波特率为1200,甲机交替发送“HELOO” 乙机接收,并将接收到的字符显示在数码管上。分别编出发送和接收程序,在各自的实验平台分别执行。
3、单片机和个人电脑(PC机)的双机通信实验(选做)
用串行通信电缆线将实验平台的9针D型座和PC机的COM1和COM2连接起来(连线见下图):
23
串行通信电缆1RXD2TXD36789678912RXD3TXD45PC机COM1或COM245甲实验板 在PC机上用C 语言或8086的汇编语言编PC机的发送和接收程序,编译后用· EXE存盘,编写单片机的发送和接收程序并烧写进单片机,两边的程序分别运行,即可。 程序示例参照教材《单片微型计算机与接口技术》(李群芳 黄建编著 电子工业出版社出版)8.6 节。
自编程序并调试通过:
PC机键盘上按下的0-9键发送到单片机,并显示在实验板的数码管上,实验板的拨数开关K1-K7的 置数发送到PC机并显示在屏幕上。编写两边的程序并分别运行通过。
4.6 实验6 串行EEPROM实验(选做)
一、实验目的
1、掌握单片机扩展串行EEPROM方法。
2、掌握单片机对I2C串行接口的编程
二、实验连线和程序 1、实验电路及连线
实验电路如下图,用两个短接块将J1的两线连起来(见下图粗黒线)
89C51/5289S51/527串行EEPROM5.1KΩ×2+5V774LS573P2A0A1A24VSSVCCSCL6SDA5WP7J1P1.0P1.5624C041P1.6P1.7~
J1的两个跳线被接通后即可将串行EEPROM 24C04的控制线与单片机的P1.6、P1.7相连接,控制串行EEPROM的读和写。
编程实现将字符写入EEPROM,然后从相应单元读出显示在数码管上。程序参照
24
教材《单片微型计算机与接口技术》(李群芳 黄建编著 电子工业出版社出版)9.4节。
4.7 实验7 串行D/A实验(选做)
TLC5615是一个串行10位DAC芯片,只需要通过3 根串行总线就可以完成10位数据的串行传送,易于和工业标推的微处理器或微控制器(单片机)接口,适用于电池供电的测试仪表、移动电话,也适用于数字失调与增益调整以及工业控制场合。其引脚和时序如下图.
+5V5615的引脚
实验连线见右图,用短接块将J8 连接起来,
用短接块将J5 连到INT 那边,使P3.4和脉冲源断开, 5615的CS 受控于P3.4。
2KΩTLC56158+5V6VDDREFIN OUTDIN2SCLK317接示波器453KΩ
P3.3三、实验程序
下面程序是一个产生方波的程序,对照时序看懂程序,P3.5P3.4运行程序在7引脚的引针上用示波器观察波形。
J8DIN BIT P3.3 ;定义I/O口 SCLK BIT P3.5 CS5615 BIT P3.4 ORG 0
START: SETB CS5615
CLR SCLK ;准备操作TLC5615 CLR CS5615 ;选中TLC5615 MOV R7, #08H
MOV A, #0H ;装入高8位数据
LPH0: LCALL DELAY ;延时 RLC A ;最高位移向5615 MOV DIN, C SETB SCLK ;产生上升沿,移入一位数据 LCALL DELAY CLR SCLK DJNZ R7, LPH0
25
DOUTAGNDCS实验连线
MOV R7, #08H
MOV A, #0 ;装入低8位数据
LPL0: LCALL DELAY ;延时 RLC A ;最高位移向5615 MOV DIN, C SETB SCLK ;产生上升沿,移入一位数据 LCALL DELAY CLR SCLK DJNZ R7, LPL0
SETB CS5615 ;结束移位操作,将转换数据中间10位送入DA寄存器进行, DA转换
ACALL DAY ;延时
CLR SCLK ;准备操作TLC5615 CLR CS5615 ;选中TLC5615 MOV R7, #08H
MOV A, #0FFH ;装入高8位数据
LPHF: LCALL DELAY ;延时 RLC A ;最高位移向5615 MOV DIN, C SETB SCLK ;产生上升沿,移入一位数据 LCALL DELAY CLR SCLK DJNZ R7, LPHF
MOV R7, #08H
MOV A, #0FFH;装入低8位数据
LPLF: LCALL DELAY ;延时 RLC A ;最高位移向5615 MOV DIN, C SETB SCLK ;产生上升沿,移入一位数据 LCALL DELAY CLR SCLK DJNZ R7, LPLF
SETB CS5615 ;结束移位操作,将转换数据中间10位送入DA寄存器进行, AJMP START
自编程使5615 产生锯齿波、矩形波、三角波、正弦波。
实验8 串行A/D实验(选做)
一、实验目的
掌握单片机和串行D/A接口方法及编程方法。
二、实验连线和程序
26
DA转换
实验板上的AD转换器采用了串行8位A/D转换器TLC549
TLC548,TLC549是美国德州仪器公司生产的8位串行A/D换器芯片,可与通用微处理器、控制器通过I/O CLOCK、CS、DATA OUT三线进行串行接口。具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17us,TLC548允许的最高转换速率为45500次/s,TLC549为40000次/s。
实验连线
实验连线见右图,用短接块将J4连接起来,TLC549d的CS和P2.7相连,用短接块将J2、J3 连到AD 那边,P1.4和TLC549的时钟端相连、P1.5和TLC549的数据线相连,P1.4和P1.5断开了和数码管4、5的连接。用短接块将J7连接起来,TLC549的模拟输入电压来自于+5V的分压值,如短接块不将J7连接,外界模拟信号可从M点输入。 为方便参照时序编程,TLC549时序重画如下:
1234567812345678~~~~CLKCSD7 D6 D5 D4 D3 D2 D1 D0上次转换的数据~~实验程序:完成图中采集的直流电压的A/D转换编程,并将转换的数字量在第一个和第二个
数码管上显示。程序如下:
P2.0P2.1P2.2P2.3P2.4P2.5P2.6+5VD0D1D2D3D4D5D6GQ0Q1Q2Q3Q4Q5Q6OE74LS57311111P1.0P1.1P1.2P1.3P1.4P1.5ADLEDJ3ADLEDJ2I/O CLKDATA OUTVCCREF+INREF-GNDJ6+5VP2.7J4CSTLC549串行8位A/D1~~模拟输入采样转换模拟输入采样74LS04~~D7 D6 D5 D4 D3 D2 D1 D0本次转换的数据~~
gag
27