电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

74hc164驱动数码管

74hc164驱动数码管_第1页
1/6
74hc164驱动数码管_第2页
2/6
74hc164驱动数码管_第3页
3/6
只要用到一片164 就够了,作动态扫描,下面程序是两个数码管动态扫描,164并行输出口再接一片功率驱动芯片,如TD62083。 程序如下: /**************************************/ /* 74LS164 数码管动态显示*/ /**************************************/ //-------------------------------------库函数声明,管脚定义------------ #include #define uchar unsigned char sbit simuseri_CLK=P1^1; //用P1^1 模拟串口时钟 sbit simuseri_DATA=P1^0; //用P1^0 模拟串口数据 sbit a0=ACC^0; unsigned char code dis_code[11]={0x28,0x7E,0xa2,0x62, //查表显示 0, 1、、9 0x74,0x61,0x21,0x7A,0x20,0x60, 0x01}; uchar numer,temp; uchar ge,shi; //---------------------------------------------------------------------------- // 函数名称:out_simuseri // 输入参数:data_buf // 输出参数:无 // 功能说明:8 位同步移位寄存器,将 data_buf 的数据逐位输出到simuseri_DATA //---------------------------------------------------------------------------- void out_simuseri(uchar data_buf) { uchar i; i=8; ACC=data_buf; do { simuseri_CLK=0; simuseri_DATA=a0; simuseri_CLK=1; ACC=ACC>>1; } while(--i!=0); } /************************************/ void delay(uchar ms) //延时程序 { uchar i; while(ms--) { for (i=0;i<125;i++); }} /***********************************/ void main() { uchar m; while(1) { for(temp=0;temp<99;temp++) { ge=temp/10; shi=temp%10; for(m=0;m<20;m++) //显示频率200ms 加1 次 { P2_0=0; //位段码 numer=dis_code[ge]; out_simuseri(numer); //个位移位显示 delay(5); P2_0=1; P2_1=0; numer=dis_code[shi]; //十位移位 out_simuseri(numer); delay(5); P2_1=1; } m=0; } } } /****************************************/ #i nclude #define uint unsigned int #define uchar unsigned char sbit DAT=P1^1; //模拟串口数据发送端 sbit CLK=P1^2;//模拟时钟控制端 uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};//0-9,-,全灭 (共阳字段表) void sendbyte(uchar byte) { uchar num,c; ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

74hc164驱动数码管

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部