2019亚洲日韩新视频_97精品在线观看_国产成人精品一区二区_91精品网站在线观看

單片機控制的可調LCD時鐘

來源:期刊VIP網所屬分類:應用電子技術時間:瀏覽:

  利用單片機的控制程序結合LCD設計一個簡易的微電腦時鐘,可以告知現在的時間或記錄完成一件工作花費的時間(通過重置計時),設計過程中可以學習利用單片機定時器設計時間計時處理,這是許多電子裝置最基本的功能。LCD在電子產品設計中使用率相當的高,普通的七段顯示器只能用來顯示數字若遇到要顯示英文文字時,則一定會選用LCD。通常我們在電子商城買到的LCD,其背面都含有控制電路,其上面有專門的IC來完成LCD的動作控制,在自行設計的接口中,只要送入適當的命令碼和欲顯示的數據,LCD便會將其字符顯示出來,在控制上非常方便。本次設計是利用單片機8051的控制程序結合LCD設計一個簡易的可調微電腦時鐘。

  一、設計思路

  定時器0計時中斷程序每隔5ms中斷一次當作一次中斷完成,每中斷一次計數器加1,計數200次,表示1秒依次判斷1min、1h,計數到了相關變量清零;用K1、K2、K3、K4進行時間調節:K1(P2.4)---進入時間調節;K2(P2.5)---調節小時;K3(P2.6)---調節分鐘;K4(P2.7)---調節完成。

  二、硬件電路

  1、原理圖

  其中LCD引腳說明如下:

  D0----D7:雙向數據總線

  RS:寄存器選擇控制線

  R/W:讀寫控制線

  EN:啟用控制線

  VCC:電源正端

  VO:字符顯示亮度控制引腳

  GND:電源地端

  值得注意的是:有的第1腳是接+5V,第2腳接地;有的第1腳是接地的,第2腳接+5V(最好能拿到原廠的引腳圖)。

  2、實物電路

  三、開發環境

  開發環境選擇Keil C51 Vision2,Keil C51軟件是德國Keil Software/Keil Elektronik 公司開發的功能完善的C51開發軟件,近年來在國內得到了迅速普及。

  在keil的uV2集成環境下使用偉福仿真器需要在keil環境中做如下設定:1、設置“編譯后運行程序”,以便初始化偉福仿真器;2、設置硬件調試方式,并設置串口參數。

  四、軟件原理

  1、使用定時器0模式0

  INIT_TIMER:

  MOV TMOD,#00000000B

  MOV IE,#10000010B

  MOV TL0,#LO

  MOV TH0,#HI

  SETB TR0

  RET

  2、設置目前的時間

  SZSJ:

  CLR TR0

  MOV SEC,#0

  L0:

  JB K2,L1

  INC HOUR

  MOV A,HOUR

  CJNE A,#24,L2

  MOV HOUR,#0

  L2:

  CALL CONV

  MOV R5,#20

  CALL DELAY

  JMP L0

  L1:

  JB K3,L3

  INC MIN

  MOV A,MIN

  CJNE A,#60,L4

  MOV MIN,#0

  L4:

  CALL LCDZB

  MOV R5,#20

  CALL DELAY

  JMP L0

  L3:

  JB K4,L0

  JNB K4,$

  SETB TR0

  RET

  3、一秒中斷子程序

  INT:

  PUSH ACC

  MOV TL0,#24

  MOV TH0,#99

  INC DEDA

  MOV A,DEDA

  CJNE A,#200,K

  K:

  POP ACC

  RETI

  4、將時分秒的數據轉換成數字數據顯示在LCD上

  LCDZB:

  MOV A,HOUR

  MOV X,#5

  CALL SZZA

  INC X

  MOV A,#':'

  MOV B,X

  CALL LCDXS

  MOV A,MIN

  INC X

  CALL SZZA

  INC X

  MOV A,#':'

  MOV B,X

  CALL LCDXS

  MOV A,SEC

  INC X

  CALL SZZA

  RET

  5、在LCD上顯示數字

  SZZA:

  MOV B,#10

  DIV AB

  ADD A,#30H

  PUSH B

  MOV B,X

  CALL LCDXS

  POP B

  MOV A,B

  ADD A,#30H

  INC X

  MOV B,X

  CALL LCDXS

  RET

  6、以4位控制方式將命令寫至LCD

  MDL:

  MOV P0,A

  CLR RS

  CALL DMC

  RLC A

  RLC A

  RLC A

  RLC A

  MOV P0,A

  CLR RS

  CALL DMC

  RET

  7、以4位控制方式將數據寫入LCD

  SDL:

  MOV P0,A

  SETB RS

  CALL DMC

  RLC A

  RLC A

  RLC A

  RLC A

  MOV P0,A

  SETB RS

  CALL DMC

  RET

  8、更新時分秒數據

  TIMERGX:

  MOV A,SEC

  MOV B,SEC0

  CJNE A,B,W1

  JMP W2

  W1:

  CALL LCDZB

  MOV SEC0,SEC

  W2:RET

  9、在LCD上顯示字符

  LCDXS:

  PUSH ACC

  MOV A,B

  ADD A,#0C0H

  CALL MDL

  POP ACC

  CALL SDL

  RET

  10、總延遲時間(R5*10ms)

  DELAY:

  MOV R6,#50

  LOOP:

  MOV R7,#100

  DJNZ R7,$

  DJNZ R6,LOOP

  DJNZ R5,DELAY

  RET

  其中:DMC-----短脈沖信

  結語:本次設計使用了一般的LCD顯示器來顯示字符數據,尤其是在教學中不僅能使學生L靈活掌握定時器的應用,而且能掌握模塊化的設計思路。另外根據本設計可以自行擴充其他的功能,如:增加鬧鈴、產生音樂聲、啟動繼電器控制家電等。

  參考文獻

  [1] 單片機實踐與應用.吳金成.清華大學出版社

  [2] 單片機實用技術.陶春鳴.人民郵電出版社

  [3] 單片機原理與應用.李群芳.武漢大學出版社

主站蜘蛛池模板: 扎赉特旗| 开阳县| 通许县| 东明县| 吉首市| 昆明市| 金山区| 荥阳市| 焦作市| 克什克腾旗| 崇文区| 平果县| 泰顺县| 闵行区| 呼玛县| 桑日县| 抚顺县| 于都县| 波密县| 贡山| 裕民县| 志丹县| 库尔勒市| 叶城县| 阳高县| 河间市| 宾川县| 阳泉市| 皋兰县| 隆德县| 香港 | 斗六市| 兴山县| 巴南区| 格尔木市| 油尖旺区| 张掖市| 冀州市| 台北县| 云和县| 抚宁县|