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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 18437|回復: 32
打印 上一主題 下一主題
收起左側

單片機16x16點陣廣告牌設計(含仿真+源碼+論文+原理圖)

  [復制鏈接]
跳轉到指定樓層
樓主
ID:319338 發(fā)表于 2018-4-30 15:02 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
分享自己做得16x16點陣廣告牌
目次
1緒論    1
1.1    MCS-51系列單片機簡介    1
1.2    單片機的應用模式和應用領域    2
1.3    主要工作任務    3
2硬件設計    3
2.1    單片機系統(tǒng)的基本模塊    3
2.2    16*16點陣滾動顯示的硬件設計    4
3軟件設計    6
3.1    16*16點陣滾動顯示的軟件設計    6
4軟件仿真結果    8
4.1    16*16點陣滾動顯示仿真結果    8
結  論    9
參考文獻    10
致謝    11
附錄相關源程序    12

所謂16*16點陣,就是行列各位16個長度的點陣,現(xiàn)實中我們可以通過4個8*8點陣進行拼湊來實現(xiàn)一個16*16的點陣。如圖3所示。圖中的16*16點陣由U6,U7,U8,U9四個單點陣組成,所有的行(X0-X7)都通過排阻接到單片機的P0口上,所有的列(Y00-Y07、Y10-Y17、Y20-Y27、Y30-Y37)接到不同的74ls138(U2,U3,U4,U5)上,U2控制U6,U3控制U7,U4控制U8,U5控制U9。74ls138直接由單片機的P2口進行驅動,這樣就形成了一個完整的電路。

其顯示原理與單個點陣的顯示原理類似,但是這里需要先把代碼寫入U6,然后短暫延時后寫入U7,直到U9。時間段控制合理的話,我們就可以看到顯示屏上將顯示穩(wěn)定的字符。這里涉及到一個滾動顯示的問題,所謂滾動顯示,即字符是從屏幕右端慢慢往左邊移動,好像是一個拉幕的效果,那么滾動顯示在程序上如何實現(xiàn)呢?這里我們就要用到單片機的定時中斷,中斷一次,字符往左移動一次,如此循環(huán),即實現(xiàn)了字符的滾動顯示。這與上面單個點陣的靜態(tài)顯示是有區(qū)別的。

關于74hc138的使用,74hc138是3-8線譯碼器,當E1=1,E2,E3=0時,該譯碼器被選中,此時如果數(shù)據(jù)輸入端ABC輸入000-111八個數(shù)據(jù),輸出端Y0-Y7將依次輸出0。所以,我們可以依次選中四個譯碼器,向數(shù)據(jù)輸入端寫入數(shù)據(jù)來直接控制某個點陣的顯示。
以上就是16*16點陣的滾動顯示原理。

2.2.3    16*16點陣滾動顯示的硬件設計
如圖5就是本次設計的全部硬件電路圖:

在設計16*16滾動顯示的軟件部分時,我們必須要明白其中的原理。本次設計中我們需要注意以下幾個問題:第一,怎么樣讓點陣顯示我們需要的字符,即我們如何獲得字符顯示的代碼。第二,如何實現(xiàn)字符的滾動顯示。第三,如何使畫面保持穩(wěn)定。
第一,如何取得代碼。現(xiàn)在針對點陣的取字模軟件很多,我們只需要打開軟件,寫入需要取字模的字,然后注意取字模的順序,是橫向還是縱向就行了。我們這里采用縱向取模,設置字模為C51格式。這樣當寫入的字確定后,我們就可以直接復制字模到程序中來實現(xiàn)相應功能。如“老”的字模就為:{0x02,0x10,0x22,0x10,0x22,0x20,0x22,0x20,0x22,0x40,0x22,0x7C,0xFE,0x92,0x23,0x12,0x23,0x22,0x22,0x22,0x26,0x42,0x2A,0x42,0x72,0x02,0x22,0x0E,0x02,0x00,0x00,0x00,/*"老",2*/}。
第二,如何實現(xiàn)滾動顯示。為了實現(xiàn)字符的滾動顯示,我們加入了定時中斷函數(shù),如下:
  1. void timer1() interrupt 3
  2. {
  3.    alt++;
  4.    if(alt==10)               //到一定的時間加以實現(xiàn)左移
  5.    {
  6.      alt=0;
  7.         if(fangxiang==0)      //如果是正向 正向移動
  8.         {
  9.                net=net+2;
  10.             if(net>sl)  //字移動數(shù)量
  11.             net=0;
  12.         }
  13.         else                       //否則反向移動
  14.         {
  15.             net=net-2;
  16.                if(net<2)
  17.                net=sl;   //字移動數(shù)量
  18.         }
  19.    }
  20. }
復制代碼


電路原理圖如下:


仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)




單片機源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define data1 P0
  6. #define data2 P2
  7. sbit s1=P3^6;
  8. sbit s2=P3^7;
  9. bit fangxiang;
  10. uint alt=0,net=0,sl=128;
  11. bit mode;
  12. uchar code tab[]={
  13. //
  14. 0x20,0x08,0x24,0x10,0x22,0x60,0x21,0x80,0x26,0x41,0x39,0x32,0x02,0x04,0x0C,0x18,
  15. 0xF0,0x60,0x13,0x80,0x10,0x60,0x10,0x18,0x14,0x04,0x18,0x02,0x00,0x01,0x00,0x00,/*"歡",2*/

  16. 0x02,0x00,0x02,0x02,0x42,0x04,0x33,0xF8,0x00,0x04,0x00,0x02,0x3F,0xF2,0x20,0x22,
  17. 0x40,0x42,0x00,0x02,0x3F,0xFE,0x20,0x42,0x20,0x22,0x3F,0xC2,0x00,0x02,0x00,0x00,/*"迎",3*/

  18. 0x00,0x80,0x01,0x00,0x06,0x00,0x1F,0xFF,0xE0,0x00,0x02,0x08,0x04,0x30,0x18,0xC0,
  19. 0xF0,0x02,0x10,0x01,0x13,0xFE,0x10,0x00,0x10,0x80,0x14,0x60,0x18,0x18,0x00,0x00,/*"你",4*/

  20. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",5*/

  21. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",6*/

  22. };

  23. void delay(uint z)           //延時子函數(shù)
  24. {
  25.    uchar x;
  26.    for(;z>0;z--)
  27.    for(x=110;x>0;x--);
  28. }

  29. void xianshi()                        //顯示
  30. {
  31.         uchar aa,i;
  32.         for(i=0;i<16;i++)
  33.         {
  34.                 P1=i; //列掃描
  35.                 data1=tab[net+aa]; //取出上8行數(shù)據(jù)輸出
  36.                 aa++;
  37.                 data2=tab[net+aa]; //取出下8行數(shù)據(jù)輸出
  38.                 aa++;
  39.                 delay(5);        //延時
  40.                 data1=0;  //清屏
  41.                 data2=0;  //清屏
  42.                 P1=0x00;  //消除余輝
  43.                 if(aa>30) aa=0;  //字模地址
  44.         }       
  45.        
  46. }

  47. void main()         //主函數(shù)
  48. {
  49.    ET1=1;         //使能定時器0
  50.    EA=1;         //開啟總中斷
  51.    TR1=1;        //開始計數(shù)
  52.    while(1)         //無限循環(huán)
  53.    {
  54.            xianshi();  //顯示
  55.            if(s1==0)   //檢測按鍵
  56.            {
  57.               delay(30);  //延時消抖
  58.                   TR1=~TR1;          //按下暫停  ,暫按繼續(xù)
  59.                   while(!s1)xianshi();
  60.                   delay(30);
  61.            }
  62.            if(s2==0)        //檢測按鍵
  63.            {
  64.                delay(30);                        //延時消抖
  65.                    fangxiang=~fangxiang;  //方向取反
  66.                    while(!s2)xianshi();
  67.                    delay(30);
  68.            }
  69.          }
  70. }

  71. void timer1() interrupt 3
  72. {

  73.    alt++;
  74.    if(alt==10)                   //到一定的時間加以實現(xiàn)左移
  75.    {
  76.      alt=0;
  77.          if(fangxiang==0)         //如果是正向 正向移動
  78.          {
  79.                  net=net+2;
  80.              if(net>sl)  //字移動數(shù)量
  81.              net=0;
  82.          }
  83.          else                           //否則反向移動
  84.          {
  85.              net=net-2;
  86.                  if(net<2)
  87.                  net=sl;          //字移動數(shù)量…………

  88. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼


所有資料51hei提供下載(含仿真+源碼+論文+原理圖):
111.zip (525.24 KB, 下載次數(shù): 806)



評分

參與人數(shù) 1黑幣 +5 收起 理由
chinajjzty + 5 很給力!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:290911 發(fā)表于 2018-5-15 11:42 | 只看該作者
謝謝分享,正好需要呢哈哈
回復

使用道具 舉報

板凳
ID:319023 發(fā)表于 2018-6-25 10:28 | 只看該作者
不錯的資料,謝謝分享
回復

使用道具 舉報

地板
ID:358103 發(fā)表于 2018-6-25 11:05 | 只看該作者
老是調試失敗啊
回復

使用道具 舉報

5#
ID:336342 發(fā)表于 2018-6-27 23:17 | 只看該作者
我是新手請問元器件清單有嗎 謝謝
回復

使用道具 舉報

6#
ID:398944 發(fā)表于 2018-9-19 07:50 | 只看該作者
感謝分享,只希望可以讓我的單片機設計通過
回復

使用道具 舉報

7#
ID:73182 發(fā)表于 2018-9-19 15:54 | 只看該作者
這是個實用的例子,感謝分享
回復

使用道具 舉報

8#
ID:447736 發(fā)表于 2018-12-17 10:27 | 只看該作者
感謝分享  太棒了
回復

使用道具 舉報

9#
ID:434167 發(fā)表于 2018-12-24 22:30 | 只看該作者
大神請問我顯示要顯示9個字,把數(shù)組改好后,sl=320,仿真出來第二遍剛開始是亂碼怎么回事?我發(fā)現(xiàn)字數(shù)一多就會這樣。
回復

使用道具 舉報

10#
ID:450700 發(fā)表于 2018-12-24 23:32 來自手機 | 只看該作者
不錯,不錯值得學習
回復

使用道具 舉報

11#
ID:456896 發(fā)表于 2018-12-27 22:49 | 只看該作者
用那個軟件畫的圖里用的是哪些原件啊?不知道是什么名字誒
回復

使用道具 舉報

12#
ID:456896 發(fā)表于 2018-12-27 23:47 | 只看該作者

小姐姐可不可以給我發(fā)一下這個的原理圖~QQ1215029362 感謝分享  (有酬)
回復

使用道具 舉報

13#
ID:456896 發(fā)表于 2019-1-2 22:49 | 只看該作者
不會做pcb原件封裝
回復

使用道具 舉報

14#
ID:519104 發(fā)表于 2019-5-9 01:10 | 只看該作者
怎樣在此基礎上用按鍵按下不同的鍵顯示不同的字符的程序,求大神幫幫忙,急用,拜托
回復

使用道具 舉報

15#
ID:532069 發(fā)表于 2019-5-11 19:39 | 只看該作者
很不錯,謝謝分享
回復

使用道具 舉報

16#
ID:532069 發(fā)表于 2019-5-12 21:26 | 只看該作者
ytv12345 發(fā)表于 2018-12-24 22:30
大神請問我顯示要顯示9個字,把數(shù)組改好后,sl=320,仿真出來第二遍剛開始是亂碼怎么回事?我發(fā)現(xiàn)字數(shù)一多就 ...

我的自定義字體亂碼怎么解決啊
回復

使用道具 舉報

17#
ID:532069 發(fā)表于 2019-5-12 21:27 | 只看該作者
自定義字體亂碼怎么解決呢
回復

使用道具 舉報

18#
ID:92810 發(fā)表于 2019-5-30 16:37 | 只看該作者
感覺挺好玩的樣子啊
回復

使用道具 舉報

19#
ID:441186 發(fā)表于 2019-6-11 15:23 | 只看該作者

我也失敗
回復

使用道具 舉報

20#
ID:522182 發(fā)表于 2019-7-18 23:44 | 只看該作者
謝謝大佬
回復

使用道具 舉報

21#
ID:601007 發(fā)表于 2019-8-17 10:32 | 只看該作者
很不錯的分享
回復

使用道具 舉報

22#
ID:447180 發(fā)表于 2019-9-24 16:13 | 只看該作者
好東西,正在學習
回復

使用道具 舉報

23#
ID:368229 發(fā)表于 2019-11-4 09:30 | 只看該作者
感謝分享,幫助很大
回復

使用道具 舉報

24#
ID:219507 發(fā)表于 2019-11-4 16:06 | 只看該作者
感謝樓主分享教程
回復

使用道具 舉報

25#
ID:635667 發(fā)表于 2019-11-4 22:23 | 只看該作者
非常感謝樓主分享
回復

使用道具 舉報

26#
ID:575263 發(fā)表于 2019-12-27 15:34 | 只看該作者
試試效果
回復

使用道具 舉報

27#
ID:798697 發(fā)表于 2020-7-6 21:15 | 只看該作者
正好需要就看到了哈哈哈,謝謝
回復

使用道具 舉報

28#
ID:854670 發(fā)表于 2020-12-4 21:55 | 只看該作者
好強啊,膜拜大佬
回復

使用道具 舉報

29#
ID:861106 發(fā)表于 2020-12-16 10:41 | 只看該作者
超級棒。
回復

使用道具 舉報

30#
ID:860264 發(fā)表于 2020-12-16 12:07 | 只看該作者
取模軟件發(fā)一下唄
回復

使用道具 舉報

31#
ID:996055 發(fā)表于 2021-12-23 12:48 | 只看該作者
HeroFong 發(fā)表于 2020-12-16 12:07
取模軟件發(fā)一下唄

取模軟件PCtoLCD2002
回復

使用道具 舉報

32#
ID:1010722 發(fā)表于 2022-6-3 23:56 | 只看該作者
這是什么仿真軟件阿?
回復

使用道具 舉報

33#
ID:1026001 發(fā)表于 2022-6-6 18:24 | 只看該作者
字數(shù)增多如何更改
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩成人免费av | 91观看| 一级毛片在线看 | 91精品国产综合久久精品图片 | 国产中文 | 日日摸夜夜添夜夜添精品视频 | 国产做a爱免费视频 | 欧美综合自拍 | 日本欧美国产在线观看 | 国产精品久久久久一区二区三区 | 黄色日本视频 | 酒色成人网 | 精品亚洲一区二区三区四区五区高 | 狠狠入ady亚洲精品经典电影 | 欧美精品日韩精品国产精品 | 97久久久久久久久 | 国产成人免费网站 | 精品久久久久久亚洲精品 | 凹凸日日摸日日碰夜夜 | 国产精品一区免费 | 国产精品日韩欧美一区二区三区 | 丁香婷婷成人 | 亚洲3p| av免费在线观看网站 | 欧美一级片在线观看 | 日韩精品 电影一区 亚洲 | 91精品国产乱码久久久久久久 | 亚洲人va欧美va人人爽 | 中文字幕在线观看一区二区 | 中文字幕在线观看第一页 | 女人精96xxx免费网站p | 日韩视频一区在线观看 | 中文字幕国产精品视频 | 国产999精品久久久 精品三级在线观看 | 日韩在线观看一区 | 久久久成| 在线91| 亚州激情 | 第一区在线观看免费国语入口 | 亚洲精品国产偷自在线观看 | 国产日韩一区二区三免费高清 |