久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2644|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

我想讓單片機(jī)數(shù)碼管顯示12位電話號(hào)碼有沒有什么比較簡(jiǎn)單的方法。郭天祥的tx1c板子。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:632567 發(fā)表于 2019-11-8 21:28 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wela=P2^7;
sbit dula=P2^6;
void delay(uint);
uchar num;
/*uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
1111 1110=0xfe 1
1111 1101=0xfd 2
1111 1011=0xfb 3
1111 0111=0xf7 4
1110 1111=0xef 5
1101 1111=0xdf 6
1011 1111=0xbf 7*/
                                                                    

void main()
{          
  dula=0;
  wela=0;      
  num=0xfe;
  while(1)
  {
          dula=1;
        P0=0x06;
        dula=0;
        wela=1;
        P0=num;
        wela=0;                       
        delay(65000);//第一個(gè)數(shù)碼管顯1

        dula=1;
        P0=0x3f;         
        dula=0;
        wela=1;
        P0=0xfd;
        wela=0;               
        delay(65000);//第二個(gè)顯0

        dula=1;
        P0=0x6d;
        dula=0;
        wela=1;
        P0=0xfb;
        wela=0;
        delay(65000);// 第三個(gè)顯5

        dula=1;
        P0=0x07;
        dula=0;
        wela=1;
        P0=0xf7;
        wela=0;
        delay(65000); //第四個(gè)顯7

        dula=1;
        P0=0x5b;
        dula=0;
        wela=1;
        P0=0xef;
        wela=0;
        delay(65000);//第五個(gè)顯2

        dula=1;
        P0=0x06;
        dula=0;
        wela=1;
        P0=0xdf;
        wela=0;
        delay(65000);
                      //第六個(gè)顯1

        wela=1;
        dula=1;
        P0=0xff;
        wela=0;
        dula=0;//清零
       
        num=0xbf;
        if(num==0xbf)
        num=0xfe;
}
大概是這樣打出前六個(gè)在寫出后六個(gè)數(shù)字沒有規(guī)律 請(qǐng)各位老哥想想辦法

TX-1C型單片機(jī)開發(fā)板原理圖.pdf

1015.98 KB, 下載次數(shù): 14

原理圖

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:123289 發(fā)表于 2019-11-9 08:49 | 只看該作者
1、先建立12個(gè)寄存器,用于存電話號(hào)碼。
2、每個(gè)數(shù)碼管,能根據(jù)各自的寄存器(12個(gè)之一),顯示數(shù)字。
3、將電話號(hào)碼存入12個(gè)寄存器中。
回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2019-11-9 10:54 | 只看該作者
手機(jī)只有11位號(hào)碼,加一個(gè)空位,6位移動(dòng)循環(huán)顯示。
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit wela=P2^7;
  5. sbit dula=P2^6;

  6. uchar code welai[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
  7. uchar dis_buf[]={0x00,0x06,0x4f,0x3f,0x6d,0x06,0x6d,0x4f,0x7d,0x6f,0x4f,0x7d};//空,1,3,0,5,1,5,3,6,9,3,6

  8. void delay(uint z)
  9. {
  10.         uint i,j;
  11.         for(i=z;i>0;i--)
  12.                 for(j=125;j>0;j--);
  13. }

  14. void timing()
  15. {
  16.         static uint k=0;
  17.         uchar i,j;
  18.         k++;
  19.         if(k==500)
  20.         {
  21.                 k=0;
  22.                 j=dis_buf[0];
  23.                 for(i=0;i<11;i++)  
  24.                         dis_buf[i]=dis_buf[i+1];
  25.                 dis_buf[11]=j;
  26.         }
  27. }
  28. /********************************
  29.                 數(shù)碼管顯示程序
  30. ********************************/
  31. void display()
  32. {
  33.         static uchar i=0;                                //分時(shí)顯示變量
  34.         P0=0x00;           dula=1; dula=0;        //消隱
  35.         P0=welai[i];   wela=1; wela=0;        //送位碼
  36.         P0=dis_buf[i]; dula=1; dula=0;        //送段碼
  37.         i++;
  38.         i%=6;
  39. }                                                                    

  40. void main()
  41. {         

  42.         while(1)
  43.         {
  44.                 timing();
  45.                 display();
  46.                 delay(2);
  47.         }
  48. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

地板
ID:632567 發(fā)表于 2019-11-11 15:16 | 只看該作者
wulin 發(fā)表于 2019-11-9 10:54
手機(jī)只有11位號(hào)碼,加一個(gè)空位,6位移動(dòng)循環(huán)顯示。

有點(diǎn)沒看明白這個(gè)程序的運(yùn)行順序,他是先進(jìn)入主函數(shù)然后運(yùn)行timing里的函數(shù)然后在運(yùn)行diplay中的再延時(shí)并循環(huán)嗎?
回復(fù)

使用道具 舉報(bào)

5#
ID:213173 發(fā)表于 2019-11-12 09:31 | 只看該作者
單片機(jī)在想peach 發(fā)表于 2019-11-11 15:16
有點(diǎn)沒看明白這個(gè)程序的運(yùn)行順序,他是先進(jìn)入主函數(shù)然后運(yùn)行timing里的函數(shù)然后在運(yùn)行diplay中的再延時(shí)并 ...

timing();每隔約1秒,顯存數(shù)組中12個(gè)成員循環(huán)移動(dòng)一位。
diplay();每隔約2毫秒,數(shù)碼管顯示一位,12毫秒完成一輪動(dòng)態(tài)顯示。只顯示顯存數(shù)組中前6位。
delay(2);使主循環(huán) while(1)周期控制在約2毫秒范圍。
回復(fù)

使用道具 舉報(bào)

6#
ID:690948 發(fā)表于 2020-2-7 21:27 來自手機(jī) | 只看該作者
wulin 發(fā)表于 2019-11-9 10:54
手機(jī)只有11位號(hào)碼,加一個(gè)空位,6位移動(dòng)循環(huán)顯示。

師傅,我研究了好久,還是沒研究出來,能講講程序中的static 嗎?沒明白的地方就是display里的static
回復(fù)

使用道具 舉報(bào)

7#
ID:213173 發(fā)表于 2020-2-8 05:39 | 只看該作者
34歲老學(xué)生 發(fā)表于 2020-2-7 21:27
師傅,我研究了好久,還是沒研究出來,能講講程序中的static 嗎?沒明白的地方就是display里的static

static 關(guān)鍵字含義是指定為靜態(tài)變量,分配在靜態(tài)變量區(qū)。與局部臨時(shí)變量的區(qū)別是使用后保存,不會(huì)銷毀。用在display()中的目的是計(jì)數(shù),使主程序調(diào)用一次display()就按序點(diǎn)亮一位數(shù)碼管。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一级黄色播放 | 色婷婷综合久久久久中文一区二区 | 欧美一区二区三区在线观看 | 欧美videosex性极品hd | 亚洲自拍偷拍欧美 | 国产一级电影在线观看 | 九九热在线视频 | 久久久久久久久99 | 伊人久久综合影院 | 国产亚洲一区二区三区 | 欧美日韩亚洲一区 | 一区二区不卡高清 | 亚洲第一av | 成人精品视频99在线观看免费 | 久久99久久 | 黄色一级免费看 | 精品亚洲一区二区三区四区五区 | 美女黄视频网站 | 国产日韩视频 | 综合久久一区 | 精品视频一区二区 | 亚洲二区在线 | 在线观看免费毛片 | 亚洲天堂一区 | 欧美一区二区三区高清视频 | 精品国产欧美一区二区三区成人 | 欧美精品91爱爱 | 亚洲精品自在在线观看 | 久久最新精品视频 | 精品国产一区二区国模嫣然 | 国产成人一区在线 | 日韩精品成人一区二区三区视频 | 国产精品久久久久久久久污网站 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 国产精品亚洲综合 | 日日夜夜狠狠操 | 久久久一二三 | 欧美一区2区三区4区公司 | 日本 欧美 国产 | 一区二区三区四区不卡 | 国产99精品 |