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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

點陣字符LCD靜態數字顯示單片機課程設計全套資料下載(論文+程序+任務書等)

[復制鏈接]
跳轉到指定樓層
樓主
西
顯示器驅動課程設計任務書
電信 學院    電子   專業      141  班級 學生:           
題目:  點陣字符LCD靜態數字顯示                             
課程設計從 2017 12 25 日起到 2018 1 7
1、課程設計的內容和要求(包括原始數據、技術要求、工作要求等):
    熟悉51系列(兼容)單片機軟件開發系統Keil C51集成開發環境(u Vison系列編譯器)和Proteus電路分析與實物仿真軟件。                     
    了解點陣字符LCD模塊的內部結構及字符字模,熟悉點陣字符LCD顯示器驅動的基本原理。設計點陣字符LCD顯示器的驅動電路,編寫程序實現在點陣字符LCD顯示器上的靜態數字顯示。
    電路方面主要包括以下3部分。(a)設計單片機的最小系統(包括復位電路和外接的晶振電路),并確定相關元器件參數。(b)設計單片機與點陣字符LCD模塊間的控制線,主要包括控制字符LCD顯示器的數據/指令寄存器選擇、讀/寫選擇、使能信號和I/O數據傳輸線等連線。(c)采用直接訪問時單片機P0口的上拉電阻; LCD模塊的電源及偏壓電路。                                                      
     編寫點陣字符LCD顯示器靜態數字顯示程序,實現數字(0—9)的信息顯示。顯示內容自定,如顯示學號。
2、對課程設計成果的要求〔包括圖表、實物等硬件要求〕:
    (1)利用電路設計軟件(Proteus 軟件)繪制陣字符LCD模塊驅動電路的原理圖,并列出元器件清單。原理圖應包括標題欄。                                                      
    (2)編寫陣字符LCD顯示器靜態數字顯示的匯編語言或C語言源程序,并給出程序流程圖。                                                              
    (3)在Keil C51與Proteus的聯機調試下完成的陣字符LCD顯示器靜態數字顯示的仿真結果或制作實物。     
    (4)在課程設計報告中對上述內容作適當說明。                                                           


3、課程設計工作進度計劃:
  
時間
  
  
設計任務及要求
  
  12.25-12.26
  
  查閱資料,確定設計方案
  
  12.27-12.28
  
  熟悉點陣字符LCD模塊的結構及工作原理
  
  12.29-12.30
  
  熟悉設計軟件(Keil C51和Proteus)
  
  12.31
  
  設計點陣字符LCD模塊的驅動電路
  
  1.1-1.2
  
  編寫點陣字符LCD顯示器的靜態數字顯示程序
  
  1.3-1.4
  
  硬件電路與驅動程序的調試、仿真/實物制作(選作)
  
  1.5-1.6
  
  撰寫課程設計報告
  
  1.7
  
  驗收設計成果,交課程設計報告
  
                 

  指導教師:             日期:           
                 教研室主任:             日期:         


目 錄

1              選題背景
2              方案論證
2.1設計原理
2.2硬件方案
2.3軟件方案
2.4方案特點
3              點陣字符LCD靜態數字顯示設計過程論述
3.1系統硬件框圖設計
3.2系統原理圖設計
3.3系統軟件設計
3.3.1程序流程圖
3.3.2軟件代碼
4              結果分析
5              總結
6              設計體會
參考文獻


1          選題背景
本課程設計命題為點陣字符LCD靜態數字顯示,涉及顯示技術、電子技術、單片微型計算機、程序設計等相關課程內容,針對LCD顯示器設計驅動電路,編寫驅動程序。要求學生熟悉51系列(兼容)單片機軟件開發系統Keil C51集成開發環境(u Vison系列編譯器)和Proteus電路分析與實物仿真軟件。了解點陣字符LCD模塊的內部結構及字符字模,熟悉點陣字符LCD顯示器驅動的基本原理。設計點陣字符LCD顯示器的驅動電路,編寫程序實現在點陣字符LCD顯示器上的靜態數字顯示。通過本次課設,使學生運用上述專業知識,進行一次綜合性訓練。既有助于鞏固學生所學專業知識、培養獨立設計能力、工程繪圖能力、編寫技術報告,提高綜合運用知識的能力,也能為畢業設計以及未來工作打下基礎。
2          方案論證

2.1設計原理                                                         

以AT89C51單片機為核心,編寫相應的軟件程序,設計復位電路以及外界晶振電路、上拉電阻、偏壓電路等使單片機與點陣字符LCD模塊(LM016L)相連接最終實現靜態數字(201412040112)的顯示。
2.2硬件方案
硬件電路由三部分組成,即單片機復位電路、外接的晶振電路、LCD顯示電路。各部分實現功能及設計概要如下。
  • 單片機復位電路、外接的晶振電路:單片機正常工作需要
  • LCD顯示電路:顯示數字字符信息
  • 復位電路設計概要:采用手動按鈕復位采用方法是在RST端和正電源Vcc之間 接一個按鍵開關而本設計晶振采用的是1MHz因此起振時間為10ms,由于人的動作再快也會使按鈕保持接通達數十毫秒,所以完全滿足復位的時間要求。
  • LCD顯示電路設計概要:本次課設任務是點陣字符靜態數字顯示,因此選擇LM016L具備字符發生器的顯示器件。
表2-1 LM016L引腳功能
編         號
符          號
引腳說明
編           號
符          號
引腳說明
1
VSS
電源地
9
D2
數據
2
VDD
電源正極
10
D3
數據
3
VEE
負電壓供電
11
D4
數據
4
RS
數據/命令
12
D5
數據
5
R/ W
讀/寫選擇
13
D6
數據
6
E
使能信號
14
D7
數據
7
D0
數據



8
D1
數據




2.3軟件方案
本設計軟件部分的主要完成功能是定義1602控制引腳、確定要顯示的數字字符內容即學號、讀指令數據操作、寫指令數據操作、LCD初始化。根據軟件的功能劃分軟件設計模塊結構,如圖2-1所示。

圖2-1 軟件功能模塊結構(見附件)

各個模塊具體任務如下:
  • LCD初始化模塊:設置顯示模式,開光標和光標閃爍,清屏。
  • 讀指令數據操作:判斷是否忙碌
  • 寫指令數據操作:完成寫指令和寫數據操作,實現字符的顯示
2.4方案特點
該方案軟件方面采用C語言進行編譯,相對于匯編語言其具有更加靈活,可移植性強,庫函數多等特點。硬件方面選用LM016L作為LCD顯示屏是因為,用LCD顯示一個字符時比較復雜,但LM016L內帶字符發生器,顯示字符就變得簡單,讓控制器工作在文本方式,根據在LCD上開始顯示的行列號及每行的列數找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。
3          點陣字符LCD靜態數字顯示設計過程論述3.1系統硬件框圖設計

根據確定的硬件方案設計系統硬件框圖,包含晶振電路為單片機提供時鐘信號,復位電路保證可以進行復位操作以及LCD顯示電路進行數字顯示。如圖3-1所示。

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


3.2系統原理圖設計

根據設計要求和硬件框圖設計系統原理圖,如圖3-2所示。

圖3-2 系統原理圖

單片機的管腳資源分配:其中P0口為作為LCD數據信號口,P3.4口作為使能信號端    P3.5口作為數據/命令選擇端,P3.6口作為讀/寫選擇端,硬件系統元器件清單如下表3-1所示。

表3-1硬件系統元器件清單

編         號
符          號
屬性
1
R1
10K
2
R2
10K
3
C1
10uf
4
C2
30pf
5
C3
30pf
6
U1
AT89C51
7
LCD1
LM016L
8
RP1
10K
9
X1
4pf



3.3系統軟件設計
3.3.1程序流程圖
該設計流程大致包括液晶屏初始化、清屏、確定顯示字符地址、定位光標位置、字符顯示等具體流程如下圖3-3所示。



圖3-3 程序流程圖

3.3.2軟件代碼
1)      LCD頭文件功能
  • LCD端口定義
  • LCD用到的函數定義
2)        LCD顯示子程序文件功能
  • 保證LCD處于空閑狀態
  • 根據MODE類型執行寫數據或寫指令操作
  • 執行清屏、光標顯示設置等操作
  • 確定光標位置,寫字符串數據

最后通過使用keil uvison4軟件將編輯好的程序文件錄入protues軟件中的硬件原理圖的AT89C51單片機中進行仿真,并成功得到學號的顯示,完成設計任務。
4          結果分析
該設計最終將軟件程序錄入單片機后進行仿真測試,成功的在液晶顯示屏上進行持續穩定的靜態數字即201412040112學號的顯示。因此可以得出該設計的硬件方案與軟件方案的正確性,更進一步論證了硬件電路原理圖的合理性,包括其中的電容、電阻、晶振等基本元器件參數確定是完全符合設計要求的。同時也驗證了軟件程序的功能性是滿足要求的,可以成功實現所定義的數字顯示功能并且不會出現其他內容的顯示,沒有出現花屏等其他錯誤的顯示效果,足以看出該軟件程序的正確性。進而更加驗證了以AT89C51單片機為核心,編寫相應的軟件程序,設計復位電路以及外界晶振電路、上拉電阻、偏壓電路等使單片機與點陣字符LCD模塊(LM016L)相連接最終實現靜態數字(201412040112)的顯示設計原理的正確性。仿真結果圖如圖4-1所示。
圖4-1 仿真結果圖
5          總結
此次課設雖然已經成功完成仿真要求,但其中的關鍵步驟的正確性是該設計能夠成功實現的基礎,最重要的兩點就是,單片機與液晶的接口要滿足液晶的時序要求,軟件編程中是要進行正確的初始化、操作及寫入顯示內容的代碼。因此將這兩個關鍵步驟的設計內容成功確定是本次課設的工作重點,在完成了大體的方案步驟后,接下來便是對硬件方案中的一些細節進行優化,參數進行確定,對軟件程序進行功能性測試等工作,最終成功完成課設設計任務。
6          設計體會
本次課設從 2017 年 12月 25 日起到 2018 年 1 月 7 日歷時兩周,從開始的查閱資料,初步確定設計方案,然后學習protues以及keil uvison4軟件的基本功能操作,在具備了一定的軟件使用能力后便開始進行硬件電路的設計以及軟件程序的編寫,最后進行電路與驅動程序的調試與仿真并成功得出結果,整個設計過程中遇到過一些問題,但在老師的兩次課設指導,并且查閱資料以及與同學的交流下都得以解決,而我認為課設得出結果是重要的,但是在這個查閱、學習、交流、集各方面知識為自己所用的這個過程才是我最大的收獲,因為這個過程不單單是學習一定的書本知識那樣簡單,其對于我們以后的生活和工作的是具有巨大的幫助的,此次課設雖然已經完成,但是它所帶給我的啟發與解決問題的思路和方法將會在我以后的工作和生活中一直幫助著我.



參考文獻


[1]作者袁東 周新國.51單片機典型應用30例.清華大學出版社.出版時間2016年7月1日
[2]作者徐愛鈞 徐陽 Keil C51單片機高級語言應用編程與實踐.電子工業出版社.出版時間2013年12月1日

  • 軟件詳細代碼
  1. #include <reg52.h>
  2. typedef unsigned char uchar;
  3. typedef unsigned int uint;

  4. sbit En = P3^4;
  5. sbit Rs = P3^5;
  6. sbit Wr = P3^6;   //定義1602控制引腳
  7. uchar code D[]={"2014120404112"};

  8. /*===========================================================
  9.     1602需要的函數
  10. ========================================================== */
  11. void Read_Busy()   //讀1602指令,判斷是否忙碌
  12. {
  13. uchar busy;
  14. P0 = 0xff;
  15. Rs = 0;
  16. Wr = 1;
  17. do
  18. {
  19. En = 1;
  20. busy = P0;
  21. En = 0;
  22. }while(busy & 0x80);
  23. }

  24. void WrOrder_1602(uchar order) //1602寫指令
  25. {
  26. Read_Busy();
  27. Rs = 0;
  28. Wr = 0;
  29. P0 = order;
  30. En = 1;
  31. En = 0;
  32. }
  33. void Init_1602()    //液晶初始化
  34. {
  35. WrOrder_1602(0x38);   //設置顯示模式
  36. WrOrder_1602(0x0f);   // 開光標和光標閃爍
  37. WrOrder_1602(0x01);   //清屏

  38. WrOrder_1602(0x06);   //寫一數據后光標自動加一
  39. }

  40. void WrData_1602(uchar Data)   //寫一個數據
  41. {
  42. Read_Busy();
  43. Rs = 1;
  44. Wr = 0;
  45. P0 = Data;
  46. En = 1;
  47. En = 0;
  48. }

  49. void WrD_1602(uchar x, uchar n, uchar *D)    //第x行第n(取0~15)個位置開始寫一個字符串
  50. {
  51. uchar i=0;
  52. if(x==1)
  53. {
  54. WrOrder_1602(0x80|n);//第一行第n個位置開始
  55. }
  56. else
  57. {
  58. WrOrder_1602(0x80|0x40|n);//第二行第n個位置開始
  59. }
  60. while(D[i]!='\0')
  61. {
  62. Read_Busy();
  63. Rs = 1;
  64. Wr = 0;
  65. P0 = D[i];
  66. En = 1;
  67. En = 0;
  68. i++;
  69. }
  70. }


  71. void main(void)
  72. {
  73.   Init_1602(); //液晶初始化
  74.   WrOrder_1602(0x38);   //設置顯示模式
  75.   WrOrder_1602(0x0f);   // 開光標和光標閃爍
  76.   WrOrder_1602(0x01);   //清屏
  77.   WrOrder_1602(0x06);   //寫一數據后光標自動加一


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


全部資料51hei下載地址:
點陣字符LCD靜態數字顯示.rar (2.55 MB, 下載次數: 57)


評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:559260 發表于 2019-6-10 23:10 | 只看該作者
你好我想問一下有沒有動態的
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区av | 欧美亚洲综合久久 | 成人免费网视频 | 麻豆一区二区三区精品视频 | 日韩精品一区二区三区在线观看 | 亚洲高清在线观看 | 亚洲人成人一区二区在线观看 | 亚洲欧美中文日韩在线v日本 | 午夜视频免费在线观看 | 国产成人av在线 | 精品欧美一区二区三区久久久 | 四虎影院欧美 | 精品国产色| 日韩国产黄色片 | 国产精品久久久久aaaa樱花 | 欧美日韩中文字幕 | 欧美成人精品一区二区男人看 | av在线视 | 亚洲第一av| 精品久| 久久亚洲综合 | 亚洲成人一区二区在线 | 色视频在线播放 | 中国三级黄色录像 | 国产一区欧美一区 | 91高清免费观看 | 日日骚视频| 免费人成激情视频在线观看冫 | 男女那个视频 | 一区二区不卡高清 | 91深夜福利视频 | 爱爱爱av | 99伊人| 免费看一级毛片 | 狠狠干狠狠操 | аⅴ资源新版在线天堂 | 亚洲国产精品久久久久婷婷老年 | 日本精品一区二区三区在线观看视频 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 亚洲免费三级 | 日韩爱爱网站 |