《CD4094驱动程序.doc》由会员分享,可在线阅读,更多相关《CD4094驱动程序.doc(3页珍藏版)》请在金锄头文库上搜索。
1、CD4094与hc164有相同的功能.在不希望输出端抖动的情况下,用cd4094更适合,因为它有个输出使能端./此子程序在holtek mcu中验证过./-/;把一个字节发送到cd4094,串行,然后打开使能。/;要发送的字节在i中,无出口参数./;如果只是发送一个字节,则在此子程序尾关死使能./;如果4094 级联多个,则必须连续调用4094后关死使能./;-void TransByteForCD4094(unsigned char i)unsigned char tem_data,count;count = 8;tem_data = i;doOE_4094 = 0;/ enble 4094
2、;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; / disenble 4094/*#include #include void TransByteForCd4904(unsigned char data);/*#define CLK_4094 PORTAbits.RA3 #define DATA_4094 PORTAbits.RA4#define
3、 OE_4094 PORTAbits.RA2/* 函数名: TransByteForCd4094* 输入:data 要发送到CD4094的数据* 输出: 无* 功能描述:把一个字节发送到cd4094,串行,然后打开使能。必须把要用到的3个口线全部设置成输出状态。 原始程序用在pic18f4550中* 全局变量:无* 调用模块:无* 作者: * 日期:2007/02/10* 版本 1.0*/void TransByteForCd4904(unsigned char data)unsigned char count,i;count = 8;OE_4094 = 0;doi = data &(0x80);if (i=0)DATA_4094 = 0;elseDATA_4094 = 1;data = data 1;CLK_4094 = 1; /时钟,再上升沿移出;Nop();Delay10TCYx(100);CLK_4094 = 0;Delay10TCYx(100);count-;while(count != 0);/*/OE_4094 = 1;*/