電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 2622|回復(fù): 7
收起左側(cè)

大一菜雞求幫忙 大哥們 我快被急死了

[復(fù)制鏈接]

49

主題

288

帖子

1533

積分

三級(jí)會(huì)員

Rank: 3Rank: 3

積分
1533
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-6-15 18:01:51 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
為啥我這個(gè)程序沒(méi)錯(cuò) 燒錄進(jìn)仿真軟件就只亮一個(gè)燈 雖然我知道就是用 延時(shí)函數(shù) 但是我最近知道左移右移了 就不想用那種亮一個(gè)燈 延時(shí)一下的那種了 現(xiàn)在這種情況該如何解決呢



585

主題

910

帖子

4977

積分

四級(jí)會(huì)員

Rank: 4

積分
4977
沙發(fā)
發(fā)表于 2022-6-15 18:02:15 | 只看該作者
你的延時(shí)不對(duì)吧,延時(shí)是無(wú)限長(zhǎng)了

587

主題

981

帖子

5126

積分

四級(jí)會(huì)員

Rank: 4

積分
5126
板凳
發(fā)表于 2022-6-15 18:02:53 | 只看該作者
引腳不能直接用移位。要先賦值16進(jìn)制數(shù),再移位

600

主題

954

帖子

5061

積分

四級(jí)會(huì)員

Rank: 4

積分
5061
地板
發(fā)表于 2022-6-15 18:03:37 | 只看該作者
#include <REGX52.H>
#include <INTRINS.H>


void Delay500ms()//@12.000MHz  這部分由燒寫(xiě)程序SPC_IST生成的
{
unsigned char i, j, k;


_nop_();
i = 4;
j = 205;
k = 187;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}




void main()//主函數(shù)部分,已調(diào)試好
{
while(1)
{
unsigned char i;
for(i=0;i<8;i++)
{
P2=~((~0xFE)<<i);//首先1111 1110翻轉(zhuǎn)成0000 0001,左移i位,最后再翻轉(zhuǎn)一次
Delay500ms();
}
}
}

598

主題

943

帖子

5138

積分

四級(jí)會(huì)員

Rank: 4

積分
5138
5#
發(fā)表于 2022-6-15 18:03:42 | 只看該作者
delay你才100,一下就過(guò)掉了,用65000試下
6#
發(fā)表于 2022-6-15 18:04:47 | 只看該作者
你知道51運(yùn)行一次while循環(huán)才多少微秒嗎?你這個(gè)100減完才多長(zhǎng)時(shí)間啊,去查查吧。然后你試試把P0口的初值賦值挪到while前面試試看是不是又不一樣了?你現(xiàn)在的程序看起來(lái)是延時(shí)太短然后while每一次都會(huì)重新把p0改成fe,看起來(lái)是沒(méi)有變,實(shí)際上移位過(guò)程已經(jīng)在非常短的時(shí)間里做完又重新賦值fe了,其他的燈都是一閃而過(guò)就滅了,只有第一個(gè)燈是始終給低電平。

579

主題

911

帖子

5007

積分

四級(jí)會(huì)員

Rank: 4

積分
5007
7#
發(fā)表于 2022-6-15 18:05:30 | 只看該作者
移位建議用左移函數(shù)crol或者用數(shù)組,你用單用<<會(huì)導(dǎo)致一到八個(gè)燈一起亮

604

主題

947

帖子

5151

積分

四級(jí)會(huì)員

Rank: 4

積分
5151
8#
發(fā)表于 2022-6-15 18:06:17 | 只看該作者
P0口為啥不上拉電阻?

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表