久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

單片機(jī)IO口模擬rs232串口通訊C51程序

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年06月02日   【字體:

此程序已經(jīng)應(yīng)用在本人的一個(gè)項(xiàng)目中非常穩(wěn)定,編寫(xiě)過(guò)程中參考了51hei網(wǎng)站里面的 http://m.zg4o1577.cn/mcu/1541.html  這篇文章.部分子程序節(jié)選于此.
#include "reg52.h"
#include "intrins.h" 
#include "math.h"    
#include "stdio.h"
sbit BT_SND =P1^5;
sbit BT_REC =P1^6;
sbit LED =P1^7;
bit  LED_flage=1;
//單片機(jī)IO 口模擬232串口通訊程序
//使用兩種方式的C程序 占用定時(shí)器0
#define MODE_QUICK
#define F_TM F0
#define TIMER0_ENABLE  TL0=TH0; TR0=1;
#define TIMER0_DISABLE TR0=0;
sbit ACC0=   ACC^0;
sbit ACC1=   ACC^1;
sbit ACC2=   ACC^2;
sbit ACC3=   ACC^3;
sbit ACC4=   ACC^4;
sbit ACC5=   ACC^5;
sbit ACC6=   ACC^6;
sbit ACC7=   ACC^7;

void IntTimer0() interrupt 1
{
  F_TM=1;
}
//發(fā)送一個(gè)字符
void PSendChar(unsigned char inch)
{
 #ifdef MODE_QUICK
    ACC=inch;
    F_TM=0;
    BT_SND=0; //start bit
    TIMER0_ENABLE; //啟動(dòng)
    while(!F_TM);
    BT_SND=ACC0; //先送出低位
    F_TM=0;
    while(!F_TM);
    BT_SND=ACC1;
    F_TM=0;
    while(!F_TM);
    BT_SND=ACC2;
    F_TM=0;
    while(!F_TM);
    BT_SND=ACC3;
    F_TM=0;
    while(!F_TM);
    BT_SND=ACC4;
    F_TM=0;
    while(!F_TM);
    BT_SND=ACC5;
    F_TM=0;
    while(!F_TM);
    BT_SND=ACC6;
    F_TM=0;
    while(!F_TM);
    BT_SND=ACC7;
    F_TM=0;
    while(!F_TM);
    BT_SND=1;
    F_TM=0;
    while(!F_TM);
    TIMER0_DISABLE; //停止timer
    #else
    unsigned char ii;
     ii=0;
     F_TM=0;
     BT_SND=0; //start bit
     TIMER0_ENABLE; //啟動(dòng)
     while(!F_TM);
     while(ii<8)
 {
   if(inch&1)
  {
   BT_SND=1;
  }
  else
  {
   BT_SND=0;
  }
   F_TM=0;
 while(!F_TM);
   ii++;
  inch>>=1;
    }
  BT_SND=1;
  F_TM=0;
  while(!F_TM);
    #endif
    TIMER0_DISABLE; //停止timer
 }
//接收一個(gè)字符
unsigned char PGetChar()
{
 #ifdef MODE_QUICK
 TIMER0_ENABLE;
 F_TM=0;
 while(!F_TM); //等過(guò)起始位
 ACC0=BT_REC;
 TL0=TH0;
 F_TM=0;
 while(!F_TM);
 ACC1=BT_REC;
 F_TM=0;
 while(!F_TM);
 ACC2=BT_REC;
 F_TM=0;
 while(!F_TM);
 ACC3=BT_REC;
 F_TM=0;
 while(!F_TM);
 ACC4=BT_REC;
 F_TM=0;
 while(!F_TM);
 ACC5=BT_REC; 
 F_TM=0;
 while(!F_TM);
 ACC6=BT_REC; 
 F_TM=0;
 while(!F_TM);
 ACC7=BT_REC;
 F_TM=0;
 while(!F_TM)
    {
  if(BT_REC)
  {
    break;
  }
    }
 TIMER0_DISABLE; //停止timer
 return ACC;
 #else
 unsigned char rch,ii;
 TIMER0_ENABLE;
 F_TM=0;
 ii=0;
 rch=0;
 while(!F_TM); //等過(guò)起始位
 while(ii<8)
    {
     rch>>=1;
  if(BT_REC)
  {
  rch|=0x80;
  }     
  ii++;
  F_TM=0;
  while(!F_TM); 
    }
 F_TM=0;
  while(!F_TM)
    {
  if(BT_REC)
  {
     break;
  }
    }
 TIMER0_DISABLE; //停止timer
 return rch;
 #endif
}
//檢查是不是有起始位
bit StartBitOn()
{
  return (BT_REC==0);
}
//定時(shí)器1初始化
void Time1_Init(void)
{
   TMOD=0x22; //定時(shí)器1為工作模式2(8位自動(dòng)重裝),0為模式2(8位自動(dòng)重裝)
   PCON=00;
   TR0=0; //在發(fā)送或接收才開(kāi)始使用
   TF0=0;
   TH0=(256-96); //9600bps 就是 1000000/9600=104.167微秒 執(zhí)行的timer//104.167*11.0592/12= 96
   TL0=TH0;
   ET0=1;
   EA=1;
}
//發(fā)送字符串
void Send_Char(char *byte)
{
   int i=0;
   for(i=0;*(byte+i)!='\0';i++)
   {
      PSendChar(*(byte+i));
   }
}
//void delay(int x)
//{
// int a,b;
// for(a=x;a>0;a--)
//  for(b=10;b>0;b--);
//}
//void main()
//{
//   unsigned char gch;
//   Time1_Init();
//   LED=0;
//  // Send_Char("S00.0C00.0%E00.0C00.0%L00000lx");
//   while(1)
//  {  
//     
//   PSendChar('1');
//   delay(1000);
////      if(StartBitOn())
////   {
////     gch=PGetChar();
////     if(gch=='1')
////  {
////    LED=LED_flage; 
////    delay(1000);
////    LED_flage=~LED_flage;
////  }
////  
////   } 
//   
//  }   
//
//} 

 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 美女久久久久久久久 | 一区二区久久 | 国产精品美女久久久久久免费 | 日韩av免费在线观看 | 欧美日韩在线一区二区 | 在线观看精品视频网站 | 夜夜精品浪潮av一区二区三区 | 色视频网站在线观看 | 自拍偷拍中文字幕 | 九九在线视频 | 欧美色性 | 国产在线一区二区三区 | 91精品国产综合久久久久蜜臀 | 一区二区三区四区国产 | 久久久高清 | 精品欧美乱码久久久久久1区2区 | 在线免费看91 | 欧美一区免费在线观看 | 天天综合网天天综合色 | 91视频进入| 日本高清视频网站 | 黄色大片毛片 | 91在线看视频 | 精品一二区 | 欧美a在线看 | 日韩三级一区 | 青青草久久| 成人午夜免费在线视频 | 国产精品国产三级国产aⅴ中文 | 国产在线视频一区二区董小宛性色 | 日韩精品一区二区三区中文在线 | 精品一区二区三区在线观看国产 | 色欧美综合 | 欧美日韩国产一区二区三区 | 久久久久久久久久久蜜桃 | 国产片一区二区三区 | 久久国产精品一区二区三区 | 国产成人精品午夜 | 日韩在线观看中文字幕 | 麻豆视频在线看 | av片免费 |