作者mosquito520 (卖频宽控制分享器)
看板Electronics
标题Re: [问题] 我想用C51模拟串列式输出
时间Fri Dec 8 23:58:42 2006
※ 引述《icetofux (豆腐)》之铭言:
: 处理完资料输出後,接着问题就很简单了,我还需要一个clock output来让接收端
: 读取资料,依照硬体设计者的想法,传送资料主要是靠一个data output及一个clock
: output来处理,当clock为上升缘时,则接收data output放出的资料,大致上像是这
: 样:
: ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐
: clock ─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └──
: 0 0 1 1 0 0 1 1
: data ┌───────┐ ┌───────┐
: ────────┘ └───────┘ └─
: 上面靠着大家的帮
: 忙,已经把data output(PORT2.1)架构描绘出来了,clock output基本上也不难,
: 若要产生方波,只需要重复对clock output做clr->delay->sebt->delay重复动作即
: 可,假设我的clock output为PORT2.0,程式大致上是:
: CLOCK: CLR P2.0
: CALL DELAY
: SEBT P2.0
: CALL DELAY
: JMP CLOCK
: 即可产生从负缘开始,时间长2*DELAY的方波,然而程式整合上却发现了一点小问题:
: 程式的执行是由上往下执行的,我要如何让两个完全不同动作的程式片段同时执行呢?
: 先呼叫CLOCK程式段的话,如果不结束CLOCK就不会向下执行DATA OUTPUT程式段,如果
: 结束了CLOCK,资料又因为没有CLOCK而没办法被後端应用线路读入,请问有办法让两个
: 程式段"同时"进行吗?
如果你要同时的话...
google一下〝FPPA〞...
他标榜是八核心...每个核心都等同於是一颗独立的单晶片...
所以要同时进行没有问题...
不过这个不好买...不像8051普及...
开发上可能还要花点时间...
如果可以容忍稍微的不同步...
那就把clock跟output混着写吧...
一个output的工作周期大概多少先订出来...
假设output一个bit的时间大约4个clock...
那就跑四个clock之後判断一个output的状态...
跑出来的波型会有那麽一点不同步...
不过写的好的话应该可以在容忍范围之内...
--
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
国 立 联 合 大 学
(理工/电资/管理/技术/客家)院所 招生中
National United University
───────────────────────────────────
首页
http://www.nuu.edu.tw BBS telnet://uun.twbbs.org
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.140.180
1F:→ duffrose:在delay里面作判断的动作即可,要注意指令周期 12/11 10:19