模拟串口的实现单片机IO口

发布者:幸福自在最新更新时间:2016-05-31 来源: eefocus关键字:模拟串口  单片机  IO口 手机看文章 扫描二维码
随时随地手机看文章
用EBOX向我们的电力线调试模块发数据,但是要有一个控制接口,但是EBOX没有提供,所有只好用MCU来做伺服器。

一般的单片机都只有一个串口,所以必须模拟一个出来。

 

/*

  sbit TXD1  = P1^4;                  //define p14 as the analog transmit port

  sbit RXD1  = P1^2;                  //define p12 as the analog recieve port

*/

#include "REG52.H"

#define uint unsigned int

#define uchar unsigned char

#include

 void WaitTF0(void);

 

 void TIMEINI(void)               //counter initial

  {

    TMOD=0x02;

    TH0=0xA0;                           、//9600 BPS

       TL0=TH0;

       TR0=1;

       TF0=0;

   }

 

 

   void WByte(uchar input)           //  send function

   {

         uchar i=8;

              TR0=1;

              TXD1=0;                                          //begin bit

              WaitTF0();

                                                 //send the Byte

           while(i--)

            {

                     TXD1=input&0x01;                    //send Byte from low bit to high bit

 

                      WaitTF0();                               

                      input=input>>1;                     //right shift

          }

               TXD1=1;                                         //stop bit

              WaitTF0();

              TR0=0;                                           //stop the counter

   }

   

       uchar RByte()            //the recieve function

   {

         uchar Output=0;

          uchar i=8;

                                      

               while(RXD1);                          

                    i=i;

                     i=i;

                     i=i;

                     i=i;

                     i=i;

                     i=i;

                     i=i;

                     TR0=1;                                 //计数器开始工作

                  WaitTF0();

                                                       

           while(i--)                                                           // 接收8位数据位

            {

                      Output>>=1;

                      if(RXD1)Output=Output|0x80;   //recieve from the high bit to low bit

             WaitTF0();

          }

      

              TR0=0;

               return  Output;

   }

 

  void WaitTF0(void)                         //check the counter

  {

             while(!TF0);

             TF0=0;

  }

关键字:模拟串口  单片机  IO口 引用地址:模拟串口的实现单片机IO口

上一篇:单片机 IO口配置模式介绍
下一篇:一种具有CAN总线通信的称重设备设计

推荐阅读最新更新时间:2024-03-16 14:55

32位单片机知识讲解:Microchip PIC32系列(二)
  PIC32 (通用) 入门套件开发板方框图   PIC32 (通用) 入门套件电路图(1): PIC32MX CPU   PIC32 (通用) 入门套件电路图(2): PIC18LF4550 DEBUG CPU   PIC32 (通用) 入门套件电路图(3):应用板连接器   PIC32 (通用) 入门套件电路图(4):开关和LED PIC32MX 器件中断   PIC32MX 器件产生中断请求以响应来自外设模块的中断事件。中断模块处于CPU 逻辑之外,并   且在将中断事件预发送到CPU 之前为其设置优先级顺序。   PIC32MX 中断模块具有以下特性:   • 最多96 个中断源
[模拟电子]
32位<font color='red'>单片机</font>知识讲解:Microchip PIC32系列(二)
采用16-bit MCU实现超低功耗运动检测
  谐振 LC 传感器技术用于运动检测已有数年,包括流量计量以及其它低速转动检测系统等。几乎在所有情况下,推动上述传感器设计发展的共同主线都是低功耗解决方案的需求,它通常为电池供电设备的低功耗解决方案。通过模拟测量组件与独立于主 CPU 工作的状态机处理接口相结合,本文以德州仪器 (TI) 的 MSP430FW42x 系列16位MCU为例,给出超低功耗运动检测系统解决方案的清晰说明。 script src="http://www.hqew.com/ad/include/advert.asp?location=INFO02001" /script   图 1 显示了简易旋转运动检测系统的实施。除了微控制器与显示器之外,还显示
[单片机]
采用16-bit <font color='red'>MCU</font>实现超低功耗运动检测
MCU应用系统调试方法
一、硬件调试方法: 单片机应用系统的硬件调试和软件调试是分不开的.许多硬件故障只有通过软、硬件联调才能发现,但一般是先排除系统中比较明显的硬件故障后才和软件一起联调。 1.常见的硬件故障 (1)逻辑错误 样机硬件的逻辑错误是由于设计错误和加工过程中的工艺错误而造成的,包括错线、开路、短路、相位错误、时序错误等,其中最常见的是短路故障。 (2)元器件错误 元器件错误的原因有器件损坏或性能不符合要求,电解电容、二极管的极性接反或集成块装反等。 (3)可靠性差 应用系统可靠性差的原因很多,如金属化孔、接插件接触不良、内部和外部的干扰、电压纹波系数过大、器件负载过重等均会造成系统的可靠性差。另外,走线和布置的不合理也会造成系
[单片机]
单片机设计的十层进阶
第一层 : 我来了 处在这一层的典型是可以用C语言写简单的逻辑控制,如闪烁LED,简单数码管显示,简单外围模块驱动实验。一般对单片机感兴趣,经常动手实践的人,半年左右,可以练到此地步(针对没有接触过单片机的人而言)。此层最典型的示例就是,扫描按键时候,检测按下------延时20ms --再次检测按下----返回键值或等待释放。如果你是这样做的,或者正在这样做,毫无悬念,应该处于这个级别。对于95%的电类专业学生来说,毕业时候,远远低于这个级别,剩下的5%则依次分布在各层上。这也是为什么学单片机的人成千上万,而会用的人寥寥无几的原因。 第二层 真的打呀 步入这一层的典型标志就是开始思考自己所写的程序是否能够有一点实用价值。譬如应
[单片机]
PIC18单片机的RS-485/CAN智能转换器的设计
RS-485是一个电气接口规范,它定义了一个基于单对平衡线的多点、双向(半双工)通信链路,只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议,在当时看来是一种相对经济具有相当高噪声抑制相对高的传输速率传输距离远和宽共模范围的通信平台,因此基于RS-485总线的通讯方法得到了广泛的应用。 由于RS-485总线本身存在的许多局限性,随着科技的发展RS-485的总线效率低,系统的实时性差、通讯的可靠性低、后期维护成本高、网络工程调试复杂、传输距离不理想、单总线可挂接的节点少、应用不灵活等缺点慢慢的暴露出来。虽历经多次改进但均是治标不治本。 CAN-bus是一种多主方式的串行通讯总线。
[单片机]
PIC18<font color='red'>单片机</font>的RS-485/CAN智能转换器的设计
基于51单片机、EDA技术的波形发生器的设计
  该波形发生器以单片机(MCS8031)为中心控制单元,由键盘输入模块、数码管显示模块、D/A波形发生模块、幅值调整模块组成。采用DDFS技术,先将要求的波形数据存储于EEPROM中,这样可以保证掉电以后波形数据不丢失。   为了达到所要求的高速度,采用FPGA(ALTEAR 公司的 EPF10K10LC84-4, 晶振频率可达 40MHz)来实现波形的发生,通过DDFS技术(直接数字频率合成技术)、VHDL语言和单片机汇编语言编程技术的完美结合实现了对正弦波、方波和三角波三种波形的频率、幅值的设置和发生。   随着深亚微米半导体技术的进步,可编程逻辑器件及EDA技术的应用已经相当普及。基于可编程逻辑器件的高频性质和单片机
[单片机]
基于51<font color='red'>单片机</font>、EDA技术的波形发生器的设计
程控多功能三相功率源的设计
   前言   程控三相交流功率源的应用十分广泛,它被大量应用于冶金、通信、化工、电力及军工等诸多行业。用于交流调压、调功、调光及电机软启动等工业自动化控制领域,还可以用于计量以及产品的性能试验等方面。用于计量和产品试验等领域的功率源对于其输出波形要求较高,要求功率源输出完整的正弦波信号,对于正弦波的失真度有一定的限制。目前此类交流功率源的实际输出功率都很小,它们一般只强调单项指标,即电流或电压输出。而用于电能表计量时,其功率源输出的不是真实的功率,而是利用产生“虚功率”的方法来实现电能的计量。在某些产品的性能试验或计量过程中需要产生实际的交流功率,且要求其任意相的电流、电压、相位都能够独立调节。目前的交流功率源都无法满足要求,
[应用]
基于51单片机实现智能照明控制系统的设计
  对一些照明时间较长、照明设备较多的场所(如学校教室、商场等),其照明系统的使用浪费现象屡见不鲜。由于缺乏科学管理和管理人员的责任心不强,有时在借助外界环境能正常工作和夜晚室内空无一人时,整个房间内也是灯火通明。这样下来,无形中所浪费的电能是非常惊人的。据测算,这种现象的耗电占其单位所有耗电的40%左右。因此,有必要在保证照明质量的前提下,实施照明节能措施。这不仅可以节约能源,而且会产生明显的经济效益。   1系统结构和工作原理   系统结构图如图1所示。本系统主要由光照检测电路、热释电红外线传感器及处理电路、单片机系统及控制电路组成。工作时,光照检测电路和热释电红外线传感器采集光照强弱、室人是否有人等信息送到单片机,单片机
[单片机]
基于51<font color='red'>单片机</font>实现智能照明控制系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved