Electronics 板


LINE

我想用C51系列單晶片模擬資料串列式輸出,買了一本書來看,並且大致上有了流程的草稿 ,不過因為不是很確定某些細節能否依照自己的想法處理,書上也沒有提供太多資料可參 考,所以想請大家幫我看看是否可行? 想要做到的功能: 先從PORT1(PORT1.0~PORT1.7)讀入8-BIT的數值,接著經過運算處理,再從PORT2.1從8-BIT 數值的最低位元依序丟出。 我的想法是: 先讀入8-BIT的數值,接著把此數值與0000 0001做AND,以保留最後一個BIT,接著把這個 BIT從PORT2.1丟出,然後對從PORT1讀入的數值做右旋,並且重複AND及丟出的動作。 這是我的想像流程: 假設讀入數值是 01010101 AND 00000001 得到 00000001(1-BIT的數值:1) 丟到PORT2.1 00000001(PORT2.1輸出1) 右旋讀入數值 10101010 AND 00000001 得到 00000000(1-BIT的數值:0) 丟到PORT2.1 00000000(PORT2.1輸出0) . . . 重複8次相同動作就可以把8-BIT的數值轉換成1-BIT數值依序輸出了。 讀入數值並且存入暫存器中書上有很詳盡的說明,所以我就省略了,假設讀入的8-BIT數值 我存放在暫存器R1,我的推測的寫法是: MOV R0,#8 ;R0為右旋8次用的計數暫存器 MOV A,R1 ;R1是從PORT1讀入的數值 LOOP: MOV R2,A ;將目前右旋結束後的值(8-BIT)保留於R2 ANL A,#00000001 ;把A中的值與00000001做AND並丟回A CALL CHECK ;進入CHECK副程式 MOV A,R2 ;將剛剛右旋結束的值(8-BIT)讀回A RR A ;右旋A中的值 DJNZ R0,LOOP ;計數暫存器R0的值-1如果不是0(還沒轉8次)回到LOOP . . . CHECK: JZ LOW ;如果暫存器A為0跳至LOW JNZ HIGH ;如果暫存器A不為0(是1)跳至HIGH HIGH: SEBT P2.1 ;讓PORT2.1為1 LOW: CLR P2.1 ;讓PORT2.1為0 RET ;回到主程式 但是有個地方我有點疑問,就是書上有介紹把8-BIT的數值丟入PORT2可以讓8個LED依照數 值發光或不發光,但是像我這樣把1-BIT的數值指定丟到PORT2中的2.1會被接受嗎?另外 對晶片而言0000 0001或是0000 0000這兩種資料,究竟是8-BIT還是1-BIT呢? - 文有點長,謝謝你耐心的看完,仔細想想還真諷刺,以前專科上實習課總認為一輩子不會 用到這東西所以用得過且過的心態在上課,沒想到事隔多年忽然需要用到,不但掏錢買了 本書,還只花了一週就把一學期的實習內容給硬看完,人生真是難以預料XD --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.83.74
1F:→ gpentacene:為何不直接用RS232串列輸出腳(P3.x),你自己寫,還要 12/08 06:44
2F:→ gpentacene:自己定義通訊協定。 12/08 06:45
3F:→ icetofux:因為硬體線路別人已經規劃好了,板子也洗出來了, 12/08 08:35
4F:→ icetofux:所以我只能依照他的硬體設計下去寫XD 12/08 08:37
5F:推 luckyBF:可以用MOV PORT2.1,ACC.0 的樣子!! 12/08 11:11
6F:→ luckyBF:這樣就只會定一隻腳的bit為0或1了 12/08 11:12
7F:→ luckyBF:我之前寫也是自己定協定~其實不難寫XD 12/08 11:12
8F:→ icetofux:其實我不太了解什麼是協定,我只知道接收端有2個, 12/08 12:37
9F:→ icetofux:一個是DATA INPUT另一個是CLOCK 12/08 12:37
10F:→ icetofux:我卡在DATA INPUT的地方 12/08 12:38
11F:推 luckyBF:所以用我的方法看看!!我記得是可以沒問題才是 12/08 12:39
12F:→ icetofux:我先來找找看您所提供的方法相關資料,謝謝~ 12/08 12:38
13F:推 luckyBF:ok~~看mov指令就行了XD~~不然的話!!就是用回文裡的SETB 12/08 12:41
※ 編輯: icetofux 來自: 203.67.181.135 (12/08 17:09)
14F:→ icetofux:抱歉我找不到你說的方法 12/08 17:09
15F:→ icetofux:所以改用第2種方法:直接對PORT2.1做CLR或是SEBT 12/08 17:10
16F:→ icetofux:像這樣子應該就可以避開輸出資料是8-BIT的問題了對嗎? 12/08 17:11
17F:推 luckyBF:是的!! 12/08 21:47







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job 或 站內搜尋

TOP