移位寄存器74hc595控制8位数码管

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一不用单片机串口电路原理图:C程序:#includereg51.h#defineuintunsignedint#defineucharunsignedcharsbitQS=P2^0;//串行数据输入端sbitshuchu=P2^1;//存储寄存器脉冲输入sbityiwei=P2^2;//移位寄存器脉冲输入sbitQ1=P2^3;//38译码器输入选择sbitQ2=P2^4;sbitQ3=P2^5;ucharshuma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};voiddelay(uintz){uintx,y;for(x=z;x0;x--)for(y=120;y0;y--);}voidwei(ucharz)//数码管位选择{Q1=z&0x01;Q2=(z1)&0x01;Q3=(z2)&0x01;}voiddisplay(){uchari,j,temp;for(i=0;i8;i++){wei(i);temp=shuma[i];for(j=0;j8;j++){QS=temp&0x80;yiwei=0;yiwei=1;temp=temp1;}shuchu=0;shuchu=1;delay(2);for(j=0;j8;j++)//消影{QS=1;yiwei=0;yiwei=1;}}}voidmain(){while(1){display();}}二用单片机串口(P3^0和P3^1)电路原理图:C程序:#includeREG51.H#defineuintunsignedint#defineucharunsignedchar//sbitQS=P3^0;//串行数据输入端sbitshuchu=P3^2;//存储寄存器脉冲输入//sbityiwei=P3^1;//移位寄存器脉冲输入sbitQ1=P3^3;//38译码器输入选择sbitQ2=P3^4;sbitQ3=P3^5;ucharshuma[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};/*由于串口发送是由低向高发送,所以得把数码从高低位调换如‘0’码为0xco11000000换为000000110x03*/voiddelay(uintz){uintx,y;for(x=z;x0;x--)for(y=120;y0;y--);}voidwei(ucharz)//数码管位选择{Q1=z&0x01;Q2=(z1)&0x01;Q3=(z2)&0x01;}voiddisplay(){uchari;for(i=0;i8;i++){wei(i);//选择数码管位SBUF=shuma[i];//向串口缓冲寄存器中存入数据while(!TI);//等待发送完成TI=0;//清楚发送完成标志shuchu=0;//输出shuchu=1;delay(2);SBUF=0xff;//消影while(!TI);TI=0;}}voidmain(){/*单片机上电后默认为串口方式0,所以不需要设置串口模式*///EA=1;//开总中断//ES=1;//开串口中断//IE=0x90;/*SM0=0;//选择串行工作模式0SM1=0;*///TCON=0x00;//TI=0;while(1){display();}}

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功