资源简介
我下载之后自己有整理的,下载之后就能使用

代码片段和文件信息
#include
#include
#define XTAL 11059200 // CPU振荡频率
#define baudrate 9600 // 波特率
#define ILEN 8 // 接收缓冲区大小
unsigned char istart; // 接收缓冲区起始
unsigned char iend; // 接收缓冲区末尾
char idata inbuf[ILEN]; // 接收缓冲区
bit have_data_arrive; //有数据被接收,用于同步显示
unsigned char ipos=0; //当前接收的数据在缓冲区的位置
//显示位控制
sbit L=P1^0; //4常0
sbit R=P1^1; //3
sbit L1=P1^2;//2
sbit R1=P1^3;//1
//定义表格
unsigned char code table[10]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f}; //共阴极段码表
//延时函数
void delay(unsigned char nms)
{
unsigned char xy;
for(x=0;x for(y=0;y<110;y++);
}
//数码显示
void display_2(unsigned char dd)
{
R=L=L1=R1=1;
L=1;
//P0=table[0];
//delay(1);
//L=1;
R=0;
P0=table[(dd/100)%10];
delay(1);
R=1;
L1=0;
P0=table[(dd/10)%10];
delay(1);
L1=1;
R1=0;
P0=table[dd%10];
delay(1);
R1=1;
}
//接收中断例程
static void com_isr (void) interrupt 4 using 1
{
char c;
//数据接收中断
if (RI)
{
c = SBUF; // 读数据
RI = 0; // 清除中断标志
ipos=iend & (ILEN-1);//存放位置
iend++; //调整指针
if (istart + ILEN != iend) //缓冲区未用完
{
inbuf[ipos] = c; // 写入数据到接收缓冲区
have_data_arrive=1; //告诉主程序,接收数据准备好,可以开始显示了
}
}
}
//串口初始化
void com_initialize (void)
{
istart = 0; // 清空缓冲区
iend = 0;
have_data_arrive=0;//没有数据
// 配置T1作为波特率发生器
PCON |= 0x80; // 波特率加倍
TMOD |= 0x20; // T1方式2,自动重装
TH1 = (unsigned char) (256 -(XTAL / (16L * 12L * baudrate)));
TR1 = 1; // 启动T1
SCON = 0x50;//串口方式1,允许接收
ES = 1; // 允许串行中断
}
void main (void)
{
com_initialize (); //初始化串口
EA = 1; //开总中断
while(!have_data_arrive);//等待数据到来
while (1)
{
//显示接收到的数据
display_2(inbuf[ipos ]);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2580 2009-12-30 16:53 89C51双机通信proteus仿真\send\send.c
文件 524 2010-05-09 09:57 89C51双机通信proteus仿真\send\send.plg
文件 40 2010-05-09 09:57 89C51双机通信proteus仿真\send\send.lnp
文件 7107 2010-05-09 09:57 89C51双机通信proteus仿真\send\send.M51
文件 6295 2010-05-09 09:57 89C51双机通信proteus仿真\send\send.LST
文件 5292 2010-05-09 09:57 89C51双机通信proteus仿真\send\send.OBJ
文件 4596 2010-05-09 09:57 89C51双机通信proteus仿真\send\send
文件 600 2010-05-09 09:57 89C51双机通信proteus仿真\send\send.hex
....... 0 2010-05-09 09:56 89C51双机通信proteus仿真\send\send_Uv2.Bak
文件 1985 2010-05-09 09:57 89C51双机通信proteus仿真\send\send.Uv2
文件 956 2010-05-09 09:57 89C51双机通信proteus仿真\send\send.Opt
文件 2209 2009-12-30 17:21 89C51双机通信proteus仿真\receive\rcv.c
文件 373 2010-05-09 10:03 89C51双机通信proteus仿真\receive\receive.plg
文件 5172 2010-05-09 09:57 89C51双机通信proteus仿真\receive\rcv.LST
文件 5567 2010-05-09 09:57 89C51双机通信proteus仿真\receive\rcv.OBJ
文件 42 2010-05-09 09:57 89C51双机通信proteus仿真\receive\receive.lnp
文件 6823 2010-05-09 09:57 89C51双机通信proteus仿真\receive\receive.M51
文件 5078 2010-05-09 09:57 89C51双机通信proteus仿真\receive\receive
文件 1079 2010-05-09 09:57 89C51双机通信proteus仿真\receive\receive.hex
....... 0 2010-05-09 09:57 89C51双机通信proteus仿真\receive\receive_Uv2.Bak
文件 1975 2010-05-09 10:03 89C51双机通信proteus仿真\receive\receive.Uv2
文件 950 2010-05-09 10:03 89C51双机通信proteus仿真\receive\receive.Opt
文件 90310 2009-12-30 17:01 89C51双机通信proteus仿真\Last Loaded vterminal.DBK
文件 90579 2010-05-09 10:03 89C51双机通信proteus仿真\vterminal.DSN
文件 1105 2010-05-09 10:03 89C51双机通信proteus仿真\vterminal.PWI
目录 0 2010-05-09 09:46 89C51双机通信proteus仿真\send
目录 0 2010-05-09 09:55 89C51双机通信proteus仿真\receive
目录 0 2010-05-09 09:41 89C51双机通信proteus仿真
----------- --------- ---------- ----- ----
241237 28
............此处省略1个文件信息
- 上一篇:完整的excel上机试题
- 下一篇:基于FPGA的线性卷积的实时实现.docx
相关资源
- 电路图天天读19:局域网中红外遥控发
- 51单片机通信采样proteus仿真方波转化
- 基于89C51的智能台灯
- 51单片机PWM程序,占空比、周期可调整
- proteus仿真 AT89C51输出各种波形
- 00
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- DS18B20分布式多点测温的Proteus仿真
- 带时间温度显示的室内灯光控制系统
- 基于AT89C51的数据采集系统设计新方法
- 基于89c51的数字钟
- 基于单片机交通灯设计
- IIC proteus仿真实验
- 基于89C51计算机锁定加密键盘设计
- 关于proteus仿真arm7出现错误的问题
- STM32+1602液晶proteus仿真.zip
- AT89C51+ADC0808 PROTEUS仿真
- 单片机驱动4相步进电机proteus仿真
- 微机原理 十字路口交通灯控制 prot
- 中央空调室内智能温控器设计论文、
- 基于AT89C51的十字路口交通灯设计pro
- at89c51单片机外文翻译
- Proteus仿真的单片机控制步进电机及液
- 智能家居照明控制系统设计proteus仿真
- 郭天祥TX-1C版的Proteus仿真 三个版本
- 微机原理 8086 十字路口交通灯控制
- proteus仿真、keil4、DHT11、LCD1602
- 电子万年历的设计51单片机 Proteus仿真
- 实现按键控制设定温度值,控制继电
评论
共有 条评论