样板论文 - ok

吉林省经济管理干部学院

#define uint unsigned int sbit P2_6=P2^6

void init_serialcomm(void) {

SCON=0x50; TMOD=0x20; PCON=0x80; TH1=250; TL1=250; TR1=1; }

Void send_addr( unsigned char *buf) { /* 发送从机地址 */ TI = 0; TB8 = 1; // 发送地址帧 SBUF = addr; while(!TI); TI = 0;

If(tmp=ox00) {

Send data(buf); // 如果是广播地址,直接发送数据 } /* 接收从机应答 */ RI = 0; while(!RI); tmp = SBUF; RI = 0; }

void send_data(unsigned char *buf) { unsigned char len; // 保存数据长度 unsigned char ecc; // 保存校验字节 len = strlen(buf); // 计算要发送数据的长度 ecc = len; // 开始进行校验字节计算 /* 发送数据长度 */ TI = 0; TB8 = 0; // 发送数据帧 SBUF = len; // 发送长度 while(!TI); TI = 0;

49

吉林省经济管理干部学院

/* 发送数据 */ for(i=0; i

Main() {

Init_serialcomm(); while(1) {

if (scan_key()) {

Delayms(10); If(scan_key()) {

Key_v=key_s; // 保存键值 }

} }

(2) 从机部分

#include

#include #include “reg51.h”

#define uchar unsigned char #define uint unsigned int sbit P3_7=P3^7

sbit P1_3 = P1 ^ 3; sbit P3_0 = P3 ^ 0; sbit P3_1 = P3 ^ 1;

uint8 scale_0; // 用于保存占空比中输出0的时间份额,总共10份

50

联系客服:779662525#qq.com(#替换为@)