国产狂喷潮在线观看-日韩a∨无码中文无码电影-精品午夜中文字幕熟女人妻在线-国内精品久久久久久久电影视-成人欧美一区二区三区a片

mcb0632
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看mcb0632的 主題 / 回貼
樓主  發(fā)表于: 2010-12-03 22:05
各位大俠,請幫我

想用s7-200驅(qū)動數(shù)碼管,數(shù)碼管使用74595驅(qū)動,74595是一個移位寄存鎖存IC。
我是新手,水平太差,在網(wǎng)上找了幾個程序,都用不了,估計是時序配合不好。
請各位大俠指點,如能直接給出程序,就太好了。只要將“123456”顯示出來就行(我買的板子是成品的,6位顯示)。
關(guān)鍵是移位輸出和時序配合上,搞不明白。

謝謝!

以下74595資料來自網(wǎng)上:

74LS595,74HC595中文資料

74595的數(shù)據(jù)端:
QA--QH:  八位并行輸出端,可以直接控制數(shù)碼管的8個段。
QH':  級聯(lián)輸出端。我將它接下一個595的SI端。
SI:  串行數(shù)據(jù)輸入端。

74595的控制端說明:
/SCLR(10腳):  低點平時將移位寄存器的數(shù)據(jù)清零。通常我將它接Vcc。
SCK(11腳):上升沿時數(shù)據(jù)寄存器的數(shù)據(jù)移位。Q1-->Q2-->Q3-->...-->Q7;下降沿移位寄存器數(shù)據(jù)不變。(脈沖寬度:5V時,大于幾十納秒就行了。我通常都選微秒級)
RCK(12腳):上升沿時移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲寄存器,下降沿時存儲寄存器數(shù)據(jù)不變。通常我將RCK置為低電平,當(dāng)移位結(jié)束后,在RCK端產(chǎn)生一個正脈沖(5V時,大于幾十納秒就行了。我通常都選微秒級),更新顯示數(shù)據(jù)。
/G(13腳):  高電平時禁止輸出(高阻態(tài))。如果單片機(jī)的引腳不緊張,用一個引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過數(shù)據(jù)端移位控制要省時省力。

注:74164和74595功能相仿,都是8位串行輸入轉(zhuǎn)并行輸出移位寄存器。74164的驅(qū)動電流(25mA)比74595(35mA)的要小,14腳封裝,體積也小一些。
74595的主要優(yōu)點是具有數(shù)據(jù)存儲寄存器,在移位的過程中,輸出端的數(shù)據(jù)可以保持不變。這在串行速度慢的場合很有用處,數(shù)碼管沒有閃爍感。
與164只有數(shù)據(jù)清零端相比,595還多有輸出端時能/禁止控制端,可以使輸出為高阻態(tài)。
74HC595是具有8位移位寄存器和一個存儲器,三態(tài)輸出功能。  移位寄存器和存儲器是分別的時鐘。數(shù)據(jù)在SCHcp的上升沿輸入,在STcp的上升沿進(jìn)入的存儲寄存器中去。如果兩個時鐘連在一起,則移位

寄存器總是比存儲寄存器早一個脈沖。移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復(fù)位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當(dāng)使能OE時(為低電平),存儲寄存器的數(shù)據(jù)輸出到總線。

74HC595各個引腳的功能:
Q1~7  是并行數(shù)據(jù)輸出口,即儲寄存器的數(shù)據(jù)輸出口
Q7'  串行輸出口,其應(yīng)該接SPI總線的MISO接口
STcp  存儲寄存器的時鐘脈沖輸入口
SHcp  移位寄存器的時鐘脈沖輸入口
OE的非  輸出使能端
MR的非  芯片復(fù)位端
Ds  串行數(shù)據(jù)輸入端

程序說明:
每當(dāng)spi_shcp上升沿到來時,spi_ds引腳當(dāng)前電平值在移位寄存器中左移一位,在下一個上升沿到來時移位寄存器中的所有位都會向左移一位,
同時Q7'也會串行輸出移位寄存器中高位的值,
這樣連續(xù)進(jìn)行8次,就可以把數(shù)組中每一個數(shù)(8位的數(shù))送到移位寄存器;
然后當(dāng)spi_stcp上升沿到來時,移位寄存器的值將會被鎖存到鎖存器里,并從Q1~7引腳輸出

void  hc595send_data(uint8  data)//要傳輸?shù)臄?shù)據(jù),建議用數(shù)組的方法來查詢
{
uint8  i;
IO0CLR  =  spi_stcp;
for(i=0;i<8;i++)
{
IO0CLR  =  spi_shcp;
if((data&0x80)!=0)IO0SET  =  spi_ds;
else  IO0CLR  =  spi_ds;
data  <<=  1;
IO0SET  =  spi_shcp;
}
IO0SET  =  spi_stcp;
}
mcb0632
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看mcb0632的 主題 / 回貼
1樓  發(fā)表于: 2010-12-05 09:01
這兩天,一邊看手冊,一邊試著寫了個測試程序。大體如下:
LD          SM0.0
MOVB      16#FF,  MB0        //將16進(jìn)制數(shù)    FF  放入MB0中
LD          SM0.1
FOR        VW100,  +1,  +8   //設(shè)置一個8次的循環(huán),只執(zhí)行一次
    LD          SM0.0
    SRB        MB0,  1       //右移MB0中的數(shù)據(jù),將每一位移到M0.0中
    LD          M0.0
    =I          Q0.0         //將M0.0立即輸出到Q0.0
    LD          SM0.0
    LD          SM0.0
    =I          Q0.1         //Q0.1輸出1,時鐘信號上升
    LD          SM0.0
    LD          SM0.0
    NOT
    =I          Q0.1         //Q0.1輸出0,時鐘信號下降
    LD          SM0.0
NEXT                         //結(jié)束8次的循環(huán)
LD          SM0.1
=I          Q0.2             //Q0.2輸出鎖存使能信號,只執(zhí)行1次
LD          SM0.0
LD          SM0.0
END                          //程序結(jié)束
由幾個問題需請教:
1    用右移還是左移,才能將MB0中的數(shù)據(jù)逐位移到M0.0中
2    整個過程的時序,對不對?
3    我剛接觸PLC,整個思路由不符合規(guī)則或不規(guī)范的,請指出來。
謝謝!
[ 此帖被mcb0632在2010-12-05 17:07重新編輯 ]

主站蜘蛛池模板: 国产激情久久久久久熟女老人| 人人妻人人做人人爽| 中文字幕人妻熟女人妻洋洋| 玩弄人妻少妇500系列视频| 高清国产精品人妻一区二区| 激情图片激情小说| 伦理片午夜视频在线观看| 麻花传媒mv国产免费观看视频| 伊人久久大香线蕉av成人| 国产传媒精品1区2区3区| 亚洲精品无码国产| 亚洲日韩欧美内射姐弟| 国产在线精品无码二区| av天堂久久天堂色综合| 国产亚洲欧美精品久久久| 精品夜夜爽欧美毛片视频| 国产蜜臀av在线一区尤物| 国产精品免费久久久久电影| 男人添女人囗交做爰视频| 久久777国产线看观看精品| 青青草无码免费一二三区| 成人国产一区二区三区| 日本大香伊蕉一区二区| 国产精品爽爽ⅴa在线观看| 亚洲欧美日韩成人综合网| 亚洲 国产 韩国 欧美 在线| 亚洲va欧美va人人爽| 国产精品自在线拍国产手青青机版| 国产目拍亚洲精品一区二区| 好大好湿好硬顶到了好爽视频| 欧美成人影院亚洲综合图| 无码人妻丰满熟妇区五十路| 欧洲国产伦久久久久久久| 天堂网在线最新版www| 十八禁视频网站| 国产好吊看视频在线观看| 少妇高潮a视频| 欧美成年视频在线观看| 亚洲 都市 校园 激情 另类| 成av免费大片黄在线观看| 成人爽a毛片在线视频|