您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > CD4094驱动程序
CD4094与hc164有相同的功能.在不希望输出端抖动的情况下,用cd4094更适合,因为它有个输出使能端.//此子程序在holtekmcu中验证过.//----------------------------------------------//;把一个字节发送到cd4094,串行,然后打开使能。//;要发送的字节在i中,无出口参数.//;如果只是发送一个字节,则在此子程序尾关死使能.//;如果4094级联多个,则必须连续调用4094后关死使能.//;-------------------------------------------------------------voidTransByteForCD4094(unsignedchari){unsignedchartem_data,count;count=8;tem_data=i;do{OE_4094=0;//enble4094;if(tem_data&0x80)DATA_4094=1;elseDATA_4094=0;CLK_4094=1;_delay(500);CLK_4094=0;tem_data=tem_data1;count--;}while(count!=0);//OE_4094=1;//disenble4094}//*****************************************************************#includep18f248.h#includedelays.hvoidTransByteForCd4904(unsignedchardata);//****************************************#defineCLK_4094PORTAbits.RA3#defineDATA_4094PORTAbits.RA4#defineOE_4094PORTAbits.RA2/*******************************************函数名:TransByteForCd4094**输入:data要发送到CD4094的数据**输出:无**功能描述:把一个字节发送到cd4094,串行,然后打开使能。必须把要用到的3个口线全部设置成输出状态。原始程序用在pic18f4550中**全局变量:无**调用模块:无**作者:leejun@qingdaonews.com**日期:2007/02/10**版本1.0******************************************/voidTransByteForCd4904(unsignedchardata){unsignedcharcount,i;count=8;OE_4094=0;do{i=data&(0x80);if(i==0)DATA_4094=0;elseDATA_4094=1;data=data1;CLK_4094=1;//时钟,再上升沿移出;Nop();Delay10TCYx(100);CLK_4094=0;Delay10TCYx(100);count--;}while(count!=0);}/**********************//////////OE_4094=1;***********************/
本文标题:CD4094驱动程序
链接地址:https://www.777doc.com/doc-7275883 .html