资源简介
我下载之后自己有整理的,下载之后就能使用
代码片段和文件信息
#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
相关资源
- 步进电机角度控制Proteus仿真
- 基于c51的音乐播发编程proteus仿真
- 基于51电子钟proteus仿真
- 基于Proteus仿真的步进电机+直流电机程
- 基于AT89C51单片机的篮球比赛记分牌设
- 基于汇编程序AT89C51八路抢答器
- Proteus仿真+DAC0832+源程序
- 多路数据采集系统的proteus仿真
- 单片机外扩ROM外扩27C64的Proteus仿真
- proteus仿真max7219的使用方法
- 16×16点阵(滚动显示)PROTEUS仿真资料
- 几个步进电机proteus资源整合 注意is
- 基于STC89C51单片机的数字抢答器——毕
- Proteus仿真AD0808
- 红外线遥控Proteus仿真电路+发射+接收
- 基于8086的小型直流电机闭环调速系统
- Proteus仿真Arduino控制OLED1306
- 数字电压表的设计 完整版
- mc34063的5v电源升12vproteus仿真
- 帆板控制系统proteus仿真图
- keil+proteus仿真单片机交通灯
- 51单片机和proteus仿真红外遥控
- 基于单片机的电子琴proteus仿真,可演
- 基于单片机的智能交通灯PROTEUS仿真图
- 基于proteus仿真的LCD12864的驱动程序
- LCD1602时钟程序.zip
- HCNR201模拟量隔离proteus仿真电路图.z
- 数字电子钟Proteus仿真原理图
- 基于AT89C51单片机的温度自动监控系统
- 数码管显示实验proteus仿真
评论
共有 条评论