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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

74HC164串-并芯片實驗_C51與匯編2個版本

[復制鏈接]
跳轉到指定樓層
樓主
ID:1 發表于 2010-7-3 22:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
;=======================================
;跳線設置:默認
;晶振:12M
;試驗結果8*8點陣上出現流水燈
;74hc164芯片可實現串-并,所以常用他來擴展單片機io口,51hei板子上的8*8點陣有8行8列
;本來是需要8個io口來控制行數據的,現在我們用74hc164后只需要2個io口便能實現
;===========預定義======================
SDA        BIT   P2.5 ;74HC164的AB端串行輸入
SCL        BIT   P2.4 ;74HC164的CLK端,上升沿有效
dds        EQU   48H   
ORG   0000H
AJMP  MAIN
ORG   0100H
;============主程序開始=======================
MAIN:  
clr P2.7        ;關數碼管
mov ACC,#0FFH   ;送SHIFT子程序的參數
ACALL   SHIFT   ;調74hc164移位輸出子程序,把FF輸出到8*8點陣的所有行
                ;因51hei開發板采用共陽點陣,這時只要哪一列為0,這一列便可被點亮
mov dds,#0feH   ;二進制為11111110,供RL指令移位用
huqin:
mov P0,dds      ;輸出到8*8點陣的列,每一次只有一列被點亮
mov  dds,P0     ;P0現在的值保存到48H里去   
mov a,dds       ;由于RAM中不能直接RL移位,所以先送人A
RL   a          ;移位
mov  dds,a      ;移位之后的數據保存到48H里去 
ACALL DELAY_1S  ;延時1.002035秒
jmp huqin       ;死循環

;============74hc164移位輸出子程序==============================
; 子程序名: SHIFT
; 功能描述: 移位程序,將8位數據依次移進74LS164芯片中
; 控制方式就是數據引腳的數據在時鐘引腳的脈沖下一位一位的移入芯片
; 程序作者: 胡琴  網站:www.raoushi.com
;===============================================================
SHIFT:      push  ACC       ;A進棧暫存
            MOV     R2,#8   ;串輸出數據8位 
            CLR     C       ;把C清0
hei:        CLR     SCL     ;拉低SCL,以便下次拉高便可產生上升沿
            RLC     A       ;A的最高位移到C,C原值移到A最低位
            MOV     SDA,C   ;C中的數據先送入74hc164,等待clk上升沿的到來
            SETB    SCL     ;低電平到高電平邊沿觸發到來,并行數據輸出至164的Q0-Q7
            DJNZ    R2,hei  ;判斷輸出完畢了沒有
            pop   ACC       ;出棧恢復A值
            RET

;============延時子程序=============
DELAY_1S:         ;延時子程序,12M晶振延時1.002035秒
MOV R4,#10 
L3: MOV R2 ,#200  ;1指令周期
L1: MOV R3 ,#249  ;1指令周期
L2: DJNZ R3 ,L2   ;2指令周期
DJNZ R2 ,L1       ;2指令周期
DJNZ R4 ,L3       ;2指令周期
RET               ;2指令周期
;循環體延時時間: [(249*2+1+2)*200+1+2]*10*12/12000000=1.002030s
;加上ACALL指令和第一條mov指令以及最后一條RET指令算出來整個函數的時間為1.002035s
;===================================================
END                     ;匯編結束偽指令


 

 

c語言的版本由于分為幾個文件不方便在論壇貼出,用戶可從以下地址獲得

源代碼與hex文件下載:

匯編語言:http://www.raoushi.com/ziliao/51hei-5/74HC164串-并_asm.rar

  C 語言:http://www.raoushi.com/ziliao/51hei-5/74HC164串-并_c.rar

[此貼子已經被作者于2010-7-4 2:35:19編輯過]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:29773 發表于 2011-7-27 15:15 | 只看該作者
謝謝分停
回復

使用道具 舉報

板凳
ID:31502 發表于 2011-9-24 01:11 | 只看該作者

頂,菜鳥學習中。。。

回復

使用道具 舉報

地板
ID:31196 發表于 2011-9-28 10:04 | 只看該作者

哎!匯編用哪個軟件寫程序呀??只會用KEIL寫C的,可是沒學過C,學過匯編,卻不知道用哪個軟件寫匯編!

回復

使用道具 舉報

5#
ID:463930 發表于 2019-1-13 11:28 | 只看該作者
pjking1214 發表于 2011-9-28 10:04
哎!匯編用哪個軟件寫程序呀??只會用KEIL寫C的,可是沒學過C,學過匯編,卻不知道用哪個軟件寫匯編!

Keil也是可以寫匯編,只是你把文件保存時用.asm后綴,不要用.c,如果是.c后綴就是編寫c語言,如果是.asm后綴就可以編寫匯編
回復

使用道具 舉報

6#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

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