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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機怎么實現移位寄存器的功能?

[復制鏈接]
跳轉到指定樓層
樓主
ID:815936 發表于 2020-8-27 18:09 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
通過P1.0輸入一個脈沖,讓P0.0值1讓后對這個高電平移位

脈沖從P1.0口輸入,當有一個脈沖出現時讓P0.0值1,讓后通過P1.1口再輸入一個脈沖對P0移位,每一個脈沖移動一位。通過51單片機實現移位寄存的功能?請問大俠這個函數怎么寫?拜托了

Screenshot_20200827_180520.jpg (488.41 KB, 下載次數: 55)

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

使用道具 舉報

沙發
ID:235200 發表于 2020-8-28 00:24 | 只看該作者
sbit PP=P1^0;
main()
{
unsigned char V=0;
P0=0;
while(!PP)   //出現低脈沖
{
while(PP);
V=(V<<1)+1;
if (V==0xff) V=0;
P0=V;
}
回復

使用道具 舉報

板凳
ID:213173 發表于 2020-8-28 06:22 | 只看該作者
#include <REG52.H>

sbit K1=P1^0;

void main()
{
        while(1)
        {
                if(!K1)
                {
                        P0<<=1;
                        while(!K1);
                }
        }
}
回復

使用道具 舉報

地板
ID:744327 發表于 2020-8-28 08:39 | 只看該作者
可以這樣寫
sbit PP=P1^0;
main()
{
char V=0;
P0=0;
while(PP!=0)   //出現低脈沖
{
V=(V<<1)+1;
if (V==0xff) V=0;
P0=V;
}
回復

使用道具 舉報

5#
ID:146782 發表于 2020-8-28 09:04 | 只看該作者
建議先畫個流程圖就容易了
回復

使用道具 舉報

6#
ID:815936 發表于 2020-8-28 09:24 來自觸屏版 | 只看該作者
謝謝大家的幫忙
回復

使用道具 舉報

7#
ID:540927 發表于 2020-8-28 09:27 | 只看該作者
這個不就是流水燈的代碼嗎?樓主可以看看那些單片機書籍,比如郭天祥的,一般都會有流水燈,這是單片機入門時最先遇到的小實驗之一
回復

使用道具 舉報

8#
ID:815936 發表于 2020-8-28 09:31 來自觸屏版 | 只看該作者
csmyldl 發表于 2020-8-28 00:24
sbit PP=P1^0;
main()
{

怎么通過P1^0的脈沖進行移位?
回復

使用道具 舉報

9#
ID:807712 發表于 2020-8-28 10:09 | 只看該作者
這個事你最好看看IIC視頻,時面就有你說到的內容,說白就是數據一位一位的傳輸過程
回復

使用道具 舉報

10#
ID:235200 發表于 2020-8-28 10:45 | 只看該作者
烈火 發表于 2020-8-28 08:39
可以這樣寫
sbit PP=P1^0;
main()

需要確定一個脈沖只移位一次,你去掉一條,可能一個脈沖移位了多次(看脈沖寬度)
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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