|
51單片機(jī)用74ls164串轉(zhuǎn)并芯片的數(shù)碼管顯示應(yīng)用,下面是proteus仿真原理圖:
單片機(jī)源程序:
- /********************************************************************
- 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};//顯存,有幾個數(shù)碼管可以定義幾個
- void display(void) //數(shù)碼管顯示函數(shù)
- {
- unsigned char count;//數(shù)碼管個數(shù)
-
- for (count=6;count>0;count--)
- {
- SBUF=discode[leddis[count-1]];
- while(TI==0);
- TI=0;
- }
- }
- void main()
- {
- SCON=0x00; //設(shè)定UART的工作方式為MODEO
- leddis[0]=1; //顯示內(nèi)容的初始化
- leddis[1]=2;
- leddis[2]=3;
- leddis[3]=4;
- leddis[4]=5;
- leddis[5]=6;
- display(); // 顯示函數(shù)
- while(1)
- {
- if(p11==0) //鍵P11被按下,顯示2008
- {
- leddis[0]=1; //顯示內(nèi)容的初始化
- 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; //顯示內(nèi)容的初始化
- leddis[1]=8;
- leddis[2]=7;
- leddis[3]=6;
- leddis[4]=5;
- leddis[5]=4;
- display();
- p12=1;
- }
- }
- }
復(fù)制代碼
仿真工程文件及所有完整程序等資料下載地址(壓縮包一共有45個單片機(jī)仿真,全部下載后找到第025個項(xiàng)目即可):
http://www.zg4o1577.cn/bbs/dpj-56298-1.html
|
|