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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機8位LED數碼管的靜態顯示課程設計說明書與仿真源碼下載

[復制鏈接]
跳轉到指定樓層
樓主
ID:268172 發表于 2018-1-21 20:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
設計單片機控制8位LED數碼管的動態驅動電路,并編寫程序實現在8位LED數碼管上靜態信息的顯示。                                                     
    電路方面主要包括以下3部分。
(a)設計單片機的最小系統(包括復位電路和外接的晶振電路),并確定相關元器件參數。
(b)采用動態驅動的方式,設計單片機并行端口與LED數碼管的動態顯示電路,包括LED數碼管位選線和段選線的連線。
(c)設計LED數碼管位選端(線)給電流電路。                                                         
     編寫單片機控制(驅動)8位LED數碼管顯示程序,實現數字(0—9)或簡單的英文字符(A—F)的靜態信息顯示。顯示方式和內容自定,如每隔一段時間循環顯示數字0—9 或英文字符(A—F)。

下面是該仿真實驗的課程設計說明書的重要內容節選(附件里面有proteus仿真工程文件+完整代碼下載):

4 結果分析
4.1 程序調試與仿真
完成硬件設計和軟件程序編寫后,將Keil uVision4軟件中編輯好的程序輸出文件載入Protues軟件中的單片機STC89C52,進行仿真。按照顯示的結果進行程序的調試,顯示的時間通過延時函數改變。調試結束后,可以驗證該設計的硬件方案和軟件方案的正確性。首先沒有出現錯誤顯示且顯示的數字穩定清晰,說明了電路原理的合理,所選元件也是正確的;其次顯示的內容也與所編程序相符合,說明軟件方案也是可行的。
4.2 仿真結果
調試完成后進行仿真,仿真開始運行后8位LED數碼管上依次顯示數字“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,并循環顯示。結果如圖4-1,圖4-2,圖4-3所示,分別為顯示的“0”“1”“9”三個數字。

               

圖4-1 仿真結果
圖4-2 仿真結果
圖4-3 仿真結果
5 結論和總結
本次單片機課程設計歷時兩周,從開始的查閱資料,初步確定設計方案,到熟悉protues和keil uvison4兩個應用軟件,最后進行程序編寫和仿真圖制作。通過本次課設,我完成了8位LED數碼管顯示的要求,在這過程中,我掌握了單片機指令系統中c語言的基本語句以及C語言的基礎知識,還有單片機與其他設備相連接輸入輸出接口技術。雖然過程磕磕絆絆,但在老師的課設指導和同學的幫助下,還是順利完成了。得出結果固然重要,但是在這個過程中的收獲則更為珍貴。

參 考 文 獻
  • 何宏.單片機原理及應用.清華大學出版社.2012:271


目 錄
1 選題背景
1.1 課題簡介
1.2 指導思想
2 方案論證
2.1 設計原理
2.2 設計方案
2.2.1 硬件方案
2.2.2 軟件方案
2.3 方案特點
3 8位LED數碼管顯示器的靜態信息顯示過程設計論述
3.1 系統硬件框圖設計
3.2 系統原理圖設計
3.2.1 整體原理圖
3.2.2 單片機最小系統設計
3.2.3 字符段控制電路設計
3.2.4 位選傳輸電路設計
3.3 驅動程序
3.3.1 程序流程
3.3.2 程序分析
4 結果分析
4.1 程序調試與仿真
4.2 仿真結果
5 結論和總結
參考文獻


1 選題背景
1.1 課題簡介
LED數碼管(LED Segment Displays)由多個發光二極管封裝在一起組成“8”字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。數碼管實際上是由七個發光管組成8字形構成的,加上小數點就是8個。這些段分別由字母a,b,c,d,e,f,g,dp來表示。
                    
                           圖1-1 選題背景圖
當數碼管特定的段加上電壓后,這些特定的段就會發亮,以形成我們眼睛看到的字樣了。如:顯示一個“2”字,那么應當是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED數碼管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸數碼管的顯示筆畫常用一個發光二極管組成,而大尺寸的數碼管由二個或多個發光二極管組成,一般情況下,單個發光二極管的管壓降為1.8V左右,電流不超過30mA。發光二極管的陽極連接到一起連接到電源正極的稱為共陽數碼管,發光二極管的陰極連接到一起連接到電源負極的稱為共陰數碼管。常用LED數碼管顯示的數字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
1.2 指導思想
本課題需要了解LED數碼管結構及字形碼,熟悉LED數碼管動態驅動的基本原理。設計單片機控制8位LED數碼管的動態驅動電路,并編寫程序實現在8位LED數碼管上靜態信息的顯示。
2 方案論證
2.1 設計原理
    本課題采用動態驅動的方式,即將所有位數碼管的段選線并聯在一起,由位選線控制是哪一位數碼管有效。通過動態掃描輪流向各位數碼管送出字形碼和相應的位選,利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。

2.2 設計方案
2.2.1 硬件方案
硬件電路由四部分組成,即單片機最小系統,數據字符段控制電路,位選擇傳輸電路,LED數碼管顯示電路。各部分實現功能及設計如下:
a)單片機最小系統包括外接時鐘電路和單片機復位電路。時鐘電路由一個晶振和兩個小電容組成,用來產生時鐘頻率;復位電路由一個電阻、按鍵和一個電容組成,用來產生復位信號,使單片機上電的時候復位。
b)數據字符段控制電路采用一片74HC573組成,與單片機的I/O口中的P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7口相連,通過P2.6口進行數據字符段進行選擇控制。(74HC573是八路輸出的透明鎖存器,數據的進和出沒有邏輯關系,當鎖存使能端LE為高時,這些器件的鎖存對于數據是透明的。當鎖存使能變低時,符合建立時間和保持時間的數據會被鎖存。輸出能直接接到CMOS,NMOS 和TTL 接口上。)
c)位選擇傳輸電路同樣采用一片74HC573組成,與單片機的I/O口中的P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7口相連,通過P2.6口進行位選擇控制。
d)8位LED數碼管顯示屏由兩個7SEG-MPX4-CC拼接而成。
2.2.2 軟件方案
本次設計軟件方案程序使用C語言編寫,主要包括循環顯示數字主函數,顯示函數,字符段數據的有關函數,選位控制的有關函數以及延時函數。
2.3 方案特點
該方案硬件方面,字符數據段和位選控制分別用一個74HC573進行控制,74HC573實質是鎖存器,能夠實現“直入直出”的功能。使用一個I/O口就分別完成了字符數據與位選數據的發送。只需用74HC573的LE口進行鎖存控制即可完成字符段與位選的不同數據輸出,這樣只需一個I/O口即可,極大節省了I/O資源。
該方案軟件方面,采用C語言進行編譯,相對于匯編語言它具有靈活性強,可移植性強,庫函數多的特點。
3 8位LED數碼管顯示器的靜態信息顯示過程設計論述3.1 系統硬件框圖設計
根據確定的硬件方案設計系統硬件框圖,包括為單片機提供時鐘信號的晶振電路,進行復位操作的復位電路,字符段控制電路,位選傳輸電路,LED數碼管顯示電路。如圖3-1所示。

                             圖3-1 系統硬件框圖(詳見附件)


3.2 系統原理圖設計3.2.1 整體原理圖
根據系統硬件框圖分為四大部分設計整體硬件圖,如圖3-2所示。
              
圖3-2 原理圖

電路設計需要的元器件包括電阻,電容,單片機,鎖存器,LED數碼管等。具體元器件規格數量見表3-1所示。[1]
表3-1 元器件清單

元器件型號

規格參數

數量

電阻

10kΩ

1個

電阻

220kΩ

1個

電容

10nF

1個

電容

22pF

2個

晶振

11.0592MHz

1個

單片機

STC89C52

1個

VCC

5V

3個

GND

接地

3個

按鍵

四角直插

1個

4位LED數碼管


2個

74HC573


2個

3.2.2 單片機最小系統設計
AT89C51單片機芯片內部有一個反向放大器構成的振蕩器,XTAL1和XTAL2分別為振蕩器電路的輸入端和輸出端,時鐘由內部和外部生成,引腳上外接定時元件,內部震蕩電路產生自激振蕩。系統采用的定時元件為石英晶體和電容組成的并聯諧振回路。晶振頻率選擇11.0592MHz,電容值取22PF。元件清單見表3-1所示。具體線路連接如圖3-3所示。

圖3-3 單片機最小系統

3.2.3 字符段控制電路設計
用一個74HC573鎖存器,輸入端接STC89C52的P0口,LE端接P2.6控制鎖存輸出。具體電路連接如圖3-4所示。

圖3-4 字符段控制電路

3.2.4 位選傳輸電路設計
用一個74HC573鎖存器,輸入端接STC89C52的P0口,LE端接P2.7控制鎖存輸出。具體電路連線如圖3-5所示。
圖3-5 位選傳輸電路
3.3 驅動程序
3.3.1 程序流程
程序主要有頭文件,端口定義,定義所用的函數,字符函數,具體函數編寫包括主函數。根據電路圖原理,主體流程圖如圖3-6所示(詳見51hei附件)。

單片機源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char


  5. sbit DA=P2^6;                     //
  6. sbit WEI=P2^7;                    //

  7. uint shu=0;


  8. unsigned char code tab[] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x79,0x00,0x5c};//共陰數碼碼表
  9. unsigned char Display_Digit[]={0,0,0,0,0,0,0,0,0,0};//待顯示

  10. void Delay(uint x)
  11. {
  12.          while(--x);
  13. }

  14. void delayms(uint z)     //延時N ms
  15. {
  16.         uint x,y;
  17.         for(x=z;x>0;x--)
  18.         for(y=120;y>0;y--);
  19. }


  20. //7F,BF,DF,EF, F7,FB,FD,FE

  21. void SMG_DIS(void)     //
  22. {
  23.         P0 = 0xFE;
  24.         WEI=1;
  25.         WEI=0;  //位控制
  26.         P0=(tab[shu]); //個位和小數點
  27.         DA=1;
  28.         DA=0;         //顯示數據輸出
  29.         delayms(3);

  30.         P0 = 0xFD;
  31.         WEI=1;
  32.         WEI=0;  //位控制
  33.         P0=(tab[shu]); //個位和小數點
  34.         DA=1;
  35.         DA=0;         //顯示數據輸出
  36.         delayms(3);

  37.         P0 = 0xFB;
  38.         WEI=1;
  39.         WEI=0;  //位控制
  40.         P0=(tab[shu]); //個位和小數點
  41.         DA=1;
  42.         DA=0;         //顯示數據輸出
  43.         delayms(3);

  44.         P0 = 0xF7;
  45.         WEI=1;
  46.         WEI=0;  //位控制
  47.         P0=(tab[shu]); //個位和小數點
  48.         DA=1;
  49.         DA=0;         //顯示數據輸出
  50.         delayms(3);


  51.         P0 = 0xEF;
  52.         WEI=1;
  53.         WEI=0;  //位控制
  54.         P0=(tab[shu]); //個位和小數點
  55.         DA=1;
  56.         DA=0;         //顯示數據輸出
  57.         delayms(3);

  58.         P0 = 0xDF;
  59.         WEI=1;
  60.         WEI=0;  //位控制
  61.         P0=(tab[shu]); //個位和小數點
  62.         DA=1;
  63.         DA=0;         //顯示數據輸出
  64.         delayms(3);

  65.         P0 = 0xBF;
  66.         WEI=1;
  67.         WEI=0;  //位控制
  68.         P0=(tab[shu]); //個位和小數點
  69.         DA=1;
  70.         DA=0;         //顯示數據輸出
  71.         delayms(3);

  72.         P0 = 0x7F;
  73.         WEI=1;
  74.         WEI=0;  //位控制
  75.         P0=(tab[shu]); //個位和小數點
  76.         DA=1;
  77.         DA=0;         //顯示數據輸出
  78.         delayms(3);
  79. }


  80. void main(void)
  81. {  
  82.                 uint d=0;               //整型數據        
  83.                 uint i=0;
  84.                         Display_Digit[0]=1;
  85.                         Display_Digit[1]=2;
  86.                         Display_Digit[2]=3;
  87.                         Display_Digit[3]=4;
  88.                         Display_Digit[4]=5;
  89.                         Display_Digit[5]=6;
  90.                         Display_Digit[6]=7;
  91. ……………………

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



所有資料51hei提供下載(含word格式的課設說明書與任務書+仿真工程+源碼):

8位LED數碼管顯示器的靜態信息顯示 .rar (481.47 KB, 下載次數: 92)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:493418 發表于 2019-3-18 18:44 | 只看該作者
很好有幫助
回復

使用道具 舉報

板凳
ID:650452 發表于 2019-11-27 00:31 | 只看該作者
很有幫助!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品三级久久久久久电影 | 91夜夜夜 | 亚洲二区在线 | 黄色大片观看 | 日韩在线精品 | 欧美精品久久久久久 | 久久九七 | 免费国产一区 | 国产精品久久久久久久毛片 | 国产在线97 | 91在线视频国产 | 男人的天堂在线视频 | 一区二区三区中文字幕 | 亚洲欧美一区二区三区国产精品 | 国产成人免费视频网站高清观看视频 | 91精品国产色综合久久不卡98口 | 国产日韩久久 | 中文字幕国产精品视频 | 亚洲二区在线观看 | 欧美在线视频观看 | 黄色国产| 最新免费视频 | 欧美视频免费在线观看 | 欧美三区视频 | 国产精品一区二区久久久久 | 免费国产一区二区 | 日韩久久久久久 | 美女视频一区二区三区 | 精品久久久久久亚洲精品 | 草久网 | 国精久久 | 久久久999国产精品 中文字幕在线精品 | 欧美日本一区 | 欧美一卡二卡在线 | 亚洲小视频 | 成人欧美一区二区三区在线播放 | 91精品国产综合久久久久久蜜臀 | 91精品国产91久久久 | 日日摸夜夜添夜夜添特色大片 | 99久久精品一区二区成人 | 亚洲九色 |