51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 取经杂谈 > 详细内容
伪本征函数——Keil C51头文件INTRINS
作者:HotPower@126.com  发布时间:2009/10/16  阅读次数:945  字体大小: 【】 【】【
伪本征函数——Keil C51头文件INTRINS.H的应用演示(hotpower)


/*--------------------------------------------------------------------------
               伪本征函数——Keil C51头文件INTRINS.H的应用演示
                                       作者:HotPower@126.com   2004.5.16   第一版
--------------------------------------------------------------------------*/
#include "reg51.h"
#include "intrins.h"

unsigned char readdata(void)
{
unsigned char val;
   for (val = 8; val > 0; val--)
   {
       _clrb_(TXD);
_nop_();
       _movcb_(RXD);
       _rrca_();
       _setb_(TXD);
_nop_();
   }
   _movra_(val);
   return val;
}

void writedata(unsigned char val)
{
   _movar_(val);
   for (val = 8; val > 0; val--)
   {
       _clrb_(TXD);
       _rrca_();
       _movbc_(RXD);
       _setb_(TXD);
_nop_();
   }
}


main()
{
unsigned char i;
/*----------------------------------
   _movb0_();演示
-----------------------------------*/
   i = 0x01;
   _movb0_(TXD,i);

   i = 0x02;
   TXD = i & 0x01;

   i = 0x03;
   if (i & 0x01) TXD = 1;
   else TXD = 0;
/*---------------------------------*/

/*----------------------------------
   _movb7_();演示
-----------------------------------*/
   i = 0x04;
   _movb7_(RXD,i);

   i = 0x05;
   TXD = i & 0x80;

   i = 0x06;
   if (i & 0x80) TXD = 1;
   else TXD = 0;

   i = 0x07;
   if (i >= 0x80) TXD = 1;
   else TXD = 0;
/*---------------------------------*/

/*----------------------------------
   _rlcar_();_movra_()组合演示
-----------------------------------*/
   i = 0x08;
   _setc_();
   _movra_(i);

   i <<= 1;
   i |= 0x01;

   i <<= 1;
   i ++;

   i += i;

   i *= 2;
   i ++;
/*---------------------------------*/

/*----------------------------------
   _rrcar_();_movra_()组合演示
-----------------------------------*/
   i = 0x09;
   _setc_();
   _rrcar_(i);
   _movra_(i);

   i >>= 1;
   i |= 0x80;
/*---------------------------------*/

   i = readdata();
   writedata(i);
   while(1);
}  

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号