欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機74HC164串口控制數碼管顯示

  [復制鏈接]
跳轉到指定樓層
樓主
ID:59583 發表于 2014-3-13 04:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
轉自:http://www.raoushi.com/mcu/2655.html

一般數碼管需要接7個腳才能顯示,如果用單片機本身的I/O口,雖然可以但是浪費寶貴的i/O口資源。本例用移位寄存器74HC164作為數碼管驅動進行控制。

74HC164特性   是一種8位串轉并口的控制芯片,用于數碼管和液晶顯示等.
                        工作電壓2--6V
              管腳定義:
                                 


    1)  A,B管腳:與門數據輸入引腳。
     2)QA---QH 數據并口輸出引腳
     3) CLR 低電平時,數據清零,不能輸入
     4) CLK 數據輸入時鐘,上升沿讀取串口數據
     

   
      
                          :
                     
時序圖:
            


             注意脈沖寬度:

               





本51單片機用的是12MHZ晶振,每條指令最小執行時間1uS》》1ns  ,可以根據時序圖隨便使用.

原理圖:
            


程序代碼:
完整的keil工程文件下載地址: http://www.raoushi.com/f/k164.rar
ORG 00H                       ;程序起始地址00H
START:
                MOV 50H,#9                    ;立即數9放入50H單元   第一個數碼管顯示9
MOV 51H,#4                    ;立即數4放入51H單元  第二個數碼管顯示4
MOV R0,#50H                 ;R0=50   
MOV R1,#60H                 ;R1=60   
MOV R2,#2

DP0:
MOV DPTR,#TABLE     ;將碼表首地址給DPTR指針
MOV A,@R0                   ;將50H單元中的9給A
MOVC A,@A+DPTR     ;查表得到(9+碼表首地址)合成的地址中的數給累加器A
MOV @R1,A                  ;把立即數9的段碼,放入 60H單元中
INC R1                            ;R1=61H
INC R0                            ;R0=51H
DJNZ R2,DP0                ;如果R2不等于0,則跳轉到DP0

             //---------------從上面計算可得到: (60H)=10H,(61H)=19H

                MOV R0,#60H                ;R0=60重新建立映射關系
MOV R1,#2                     ;數碼管有2個段碼

DP1:
                MOV R2,#8                     ;一個71HC164移位寄存器需要移動8次,以產生并口輸出數據給數碼管
MOV A,@R0                   ;(60H)中的數9的段碼,賦給累加器A

DP2:
                RLC A                              ;帶進位標志的左移操作
MOV P2.0,C                    ;串行輸出一位段碼數據
        CLR P2.1                        ;
SETB P2.1                     ;來個上升沿以產生移位時鐘, 每次來這個脈沖,移位寄存器上的數往后面移動一位,原來A=1,
                                                          ;來個脈沖后B=1,在來個脈沖后,C=1,以此類推。。。。。
DJNZ R2,DP2                ;判斷8位段碼是否輸出完整
INC R0                            ;下一個需要輸出的段碼地址加1
DJNZ R1,DP1                ;判斷2個段碼是否輸出完畢
JMP $                              ;程序停在此處

TABLE:                                            ;數碼管碼表
         DB 40H,79H,24H,30H,19H   ;0,1,2,3,4
DB 12H,02H,78H,00H,10H   ;5,6,7,8,9
END


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

使用道具 舉報

沙發
ID:59780 發表于 2014-3-18 14:57 | 只看該作者
學習學習
回復

使用道具 舉報

板凳
ID:59269 發表于 2014-3-22 07:30 | 只看該作者

實用資料,下載學習
回復

使用道具 舉報

地板
ID:1 發表于 2014-3-22 13:03 來自觸屏版 | 只看該作者
這的確是一個好資料
回復

使用道具 舉報

5#
ID:67573 發表于 2014-10-23 08:59 | 只看該作者
學習學習
回復

使用道具 舉報

6#
ID:629091 發表于 2020-4-16 17:43 | 只看該作者
有沒有c的代碼
回復

使用道具 舉報

7#
ID:451500 發表于 2020-6-25 11:07 | 只看該作者
謝謝分享,辛苦了,端午節快樂
回復

使用道具 舉報

8#
ID:785163 發表于 2020-6-25 18:46 | 只看該作者
挺好的,但是好像沒有c的代碼
回復

使用道具 舉報

9#
ID:720231 發表于 2022-8-22 23:16 | 只看該作者
只有C啊 沒有看到仿真咋?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表