51单片机用74ls164串转并芯片的数码管显示应用,下面是proteus仿真原理图:
单片机源程序:
- /********************************************************************
- 51黑电子论坛
- *********************************************************************/
- #include <reg52.h>
- #include <stdio.h>
- sbit p11=P1^1;
- sbit p12=P1^2;
- unsigned char data discode[11]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09};//共阴串行
- unsigned char leddis[6]={1,2,3,4,5,6};//显存,有几个数码管可以定义几个
- void display(void) //数码管显示函数
- {
- unsigned char count;//数码管个数
-
- for (count=6;count>0;count--)
- {
- SBUF=discode[leddis[count-1]];
- while(TI==0);
- TI=0;
- }
- }
- void main()
- {
- SCON=0x00; //设定UART的工作方式为MODEO
- leddis[0]=1; //显示内容的初始化
- leddis[1]=2;
- leddis[2]=3;
- leddis[3]=4;
- leddis[4]=5;
- leddis[5]=6;
- display(); // 显示函数
- while(1)
- {
- if(p11==0) //键P11被按下,显示2008
- {
- leddis[0]=1; //显示内容的初始化
- leddis[1]=2;
- leddis[2]=3;
- leddis[3]=4;
- leddis[4]=5;
- leddis[5]=6;
- display();
- p11=1;
- }
- if(p12==0) //键P12被按下,显示0808
- {
- leddis[0]=9; //显示内容的初始化
- leddis[1]=8;
- leddis[2]=7;
- leddis[3]=6;
- leddis[4]=5;
- leddis[5]=4;
- display();
- p12=1;
- }
- }
- }
复制代码
仿真工程文件及所有完整程序等资料下载地址(压缩包一共有45个单片机仿真,全部下载后找到第025个项目即可):
http://www.51hei.com/bbs/dpj-56298-1.html
|