标题:
单片机C语言强制类型转换之bit示例程序
[打印本页]
作者:
zmc419
时间:
2019-5-12 19:57
标题:
单片机C语言强制类型转换之bit示例程序
/*C51中的bit强制类型转换示例*/
/*用于74HC595等串转并的数据分离很方便*/
/*bit类型转换时保留的是最高位(加0xff后溢出)*/
/*其它强制类型转换保留低位,扔掉高位*/
#include<STC90C5xAD.H>
#include <intrins.h>
sbit smgSER = P1^0; // 595(14 脚)SER 数据输入引脚
sbit RCK = P1^1; // 595(12 脚)STCP 锁存时钟 1 个上升沿所存一次数据
sbit SCK = P1^2; // 595(11 脚)SHCP 移位时钟 8 个时钟移入一个字节
//void HC595_WrOneByte(unsigned char ucDat);
void HC595_WrOneByte(unsigned char ucDat)
{
unsigned char i = 0;
/* 通过 8 循环将 8 位数据依次移入 74HC595 */
for (i=0; i<8; i++)
{
P0 =ucDat & 0x80; //debug调试用
smgSER = (bit)(ucDat & 0x80); //强制bit转换
/*等价于if(ucDat&0x80) smgSER=1;
else smgSER=0;*/
SCK = 0;
ucDat <<= 1;
SCK = 1;
}
/* 数据并行输出(借助上升沿) */
RCK = 0;
_nop_();
_nop_();
RCK = 1;
}
void main(void)
{
HC595_WrOneByte(0x81);
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1