资源简介
这是一个在visual studio环境下开发的串口通讯,包括上位机和51下位机的联手,可以再wince上运行,已经调试通过
代码片段和文件信息
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit FMQ=P3^7;
sbit JDQ=P3^6;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit DQ = P3^5;
bit psend_int; //一次数据接收完毕
uchar ConValue;
char end;
char flag;
uint a = 0 b = 0 c = 0tem;
float d = 0;
void Delay(uint num)//延时函数
{
while
( num-- );
}
void com_send( uchar byte)
{
psend_int=0;
SBUF=byte;
while(psend_int==0);
}
void delayXms(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void Init_18B20(void)//初始化ds1820
{
uchar x = 0;
DQ = 1; //DQ复位
Delay(8); //稍做延时
DQ = 0; //单片机将DQ拉低
Delay(80); //精确延时 大于 480us
DQ = 1; //拉高总线
Delay(14);
x = DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
Delay(20);
}
uchar ReadOneChar()//读一个字节
{
uchar i = 0;
uchar dat = 0;
for (i = 8; i > 0; i--)
{
DQ = 0; // 给脉冲信号
dat >>= 1;
DQ = 1; // 给脉冲信号
if(DQ)
dat |= 0x80;
Delay(4);
}
return (dat);
}
void WriteOneChar(unsigned char dat)//向1820写一个字节
{
uchar i = 0;
for (i = 8; i > 0; i--)
{
DQ = 0;
DQ = dat&0x01;
Delay(5);
DQ = 1;
dat>>=1;
}
}
void wenduzhuanhuan(void)
{
Init_18B20();
WriteOneChar(0xCC); // 跳过读序号列号的操作
WriteOneChar(0x44); // 启动温度转换
Init_18B20();
WriteOneChar(0xCC);
WriteOneChar(0xBE); //读取温度寄存器
a = ReadOneChar();
b = ReadOneChar();
c = b;
c <<= 8;
c = c | a;
d = c * 0.0625;
c = d * 10 + 0.5; //放大10倍输出并四舍五入
a = c / 100; //十位
b = c / 10 - a * 10; //个位
tem=a*10+b;
}
void main()
{
SP=0X60;
SCON=0X50;
PCON=0X80;
TMOD=0X20;
TH1=0XFa;
TL1=0XFa;
EA=1;
TR1=1;
ES=1;
end=0;
flag=1;
P0=0;
P1=0;
P2=0;
while(1)
{
loop: switch(ConValue)
{
case 0x01:
P2=0x01;
break;
case 0x02:
P2=0x02;
break;
case 0x03:
P2=0x04;
break;
case 0x04:
P2=0x08;
break;
case 0x05:
P2=0x10;
break;
case 0x06:
P2=0x20;
break;
case 0x07:
P2=0x40;
break;
case 0x08:
P2=0x80;
break;
case 0x09:
P1_4=1; //正转
P1_5=0;
break;
case 0x0a:
P1_4=0; //反转
P1_5=1;
break;
case 0x0b:
while(1)
{
P0=0;
P2=0;
if(end==1)
{
end=0;
goto loop;
}
delayXms(600);
if(flag==1)
{
flag=0;
P0=01;
}
else
{
flag=1;
P0=00;
}
wenduzhuanhuan();
com_send(tem);
}
break;
case 0x0c:
P1_4=0;
P1_5=0;
break;
case 0x0d:
JDQ=0;//////
break;
case 0x0e:
JDQ=1;
break;
case 0x0f:
FMQ=0;
break;
case 0x10:
FMQ=1;
break;
default:
break;
}
}
}
void uart_int(void) interrupt 4
{
if (TI == 1)
{
TI = 0;
psend_int = 1; /* 可以发送 */
}
if (RI
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 53248 2009-09-30 11:57 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\bin\Debug\SerialPort.exe
文件 69120 2009-09-30 11:57 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\bin\Debug\SerialPort.pdb
文件 676 2009-09-30 11:57 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\bin\Debug\SerialPort.xm
文件 54784 2009-12-14 15:44 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\bin\Release\SerialPort.exe
文件 42496 2009-12-14 15:44 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\bin\Release\SerialPort.pdb
文件 676 2009-12-14 15:44 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\bin\Release\SerialPort.xm
文件 656 2009-09-29 14:07 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\ClassDiagram1.cd
文件 19865 2011-10-26 16:19 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\Form1.Designer.vb
文件 6501 2011-10-26 16:19 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\Form1.resx
文件 10191 2011-10-26 16:44 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\Form1.vb
文件 1099 2009-09-28 15:37 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\My Project\AssemblyInfo.vb
文件 2361 2009-09-28 15:37 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\My Project\Resources.Designer.vb
文件 5618 2005-09-23 03:26 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\My Project\Resources.resx
文件 4130 2009-09-30 11:37 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Debug\ResolveAssemblyReference.cache
文件 53248 2009-09-30 11:57 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Debug\SerialPort.exe
文件 180 2009-09-30 11:49 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Debug\SerialPort.Form1.resources
文件 69120 2009-09-30 11:57 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Debug\SerialPort.pdb
文件 180 2009-09-28 16:03 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Debug\SerialPort.Resources.resources
文件 900 2009-09-30 11:49 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Debug\SerialPort.vbproj.GenerateResource.Cache
文件 676 2009-09-30 11:57 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Debug\SerialPort.xm
文件 6144 2009-09-28 15:37 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Debug\TempPE\My Project.Resources.Designer.vb.dll
文件 4130 2009-11-03 09:32 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Release\ResolveAssemblyReference.cache
文件 54784 2009-12-14 15:44 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Release\SerialPort.exe
文件 180 2009-12-14 15:44 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Release\SerialPort.Form1.resources
文件 42496 2009-12-14 15:44 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Release\SerialPort.pdb
文件 180 2009-09-30 14:29 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Release\SerialPort.Resources.resources
文件 842 2009-12-14 15:44 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Release\SerialPort.vbproj.GenerateResource.Cache
文件 676 2009-12-14 15:44 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Release\SerialPort.xm
文件 6144 2009-09-29 13:51 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\Release\TempPE\My Project.Resources.Designer.vb.dll
文件 680 2009-12-14 15:44 串口示例VB\上位机源代码\VB.NET.PRO\SerialPort\SerialPort\obj\SerialPort.vbproj.FileList.txt
............此处省略40个文件信息
- 上一篇:曲线拟合的VB源代码
- 下一篇:34401A GPIBRS232通讯
相关资源
- vb.net2012操作跨窗体控件单线程和多线
- 枸杞叶总黄酮对UVB辐射导致的光损伤
- vb的一款下拉框控件
- 梦幻西游地图解包工具(VB版)
- VB+Oracle9数据库开发
- VB6+VsflexGrid做的程序
- VB使用MSChart控件生成圆形图表.rar
- VB开发之Ribbon工具条的使用代码及方法
- VB与SQL Server连接的三种方式
- vb数据库备份源代码
- VB6.0反编译工具
- VBA 汉字转拼音
- 基于Excel VBA测绘数据处理自定义函数
- VB 编写自动点击鼠标前后台
- 移除VBA项目密码工具
- VBA自动生成代码工具
- vb6_高精度Timer控件
- VBA调用dll
- VBA模板大全
- VBA+SQL数据处理
- VB6开发的 OFFICE RIBBON 插件
- 应用VB或VBA对Coreldraw进行二次开发
- VBA教程.chm
- ACCESS保存图片程序VBA
- VB6会员管理
- Excel.VBA从入门到精通(绝对实用)
- VB游戏五彩连珠源码.rar
- RK_MINIEVB_RV1108_V1.1_用户指南_20180224.p
-
VB使用Microsoft.xm
lHTTP判断程序是否联 - vbRichClient例程包括多线程,sqlite,c
评论
共有 条评论