久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC89C52RC用isp燒錄程序成功但是燒錄的功能硬件上沒體現,是哪環節錯了嗎?

[復制鏈接]
跳轉到指定樓層
樓主
程序燒錄的時候有斷開重連,stc-isp也沒報錯,握手后寫入是顯示成功的。電路的小燈是上電以后燈就一直亮,然后復位鍵按了也沒反應,不會出現按下復位燈滅然后再亮的那種反應。
代碼如下。是很簡單的小燈閃爍的代碼,在protues模擬是成功的。
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. sbit led = P1^4;

  4. void delay_100(unsigned char j)                //100us
  5. {     
  6.                 unsigned char i;
  7.                 for(;j>0;j--)
  8.                 {        
  9.                         _nop_();
  10.                         i = 43;
  11.                         while (--i);
  12.                 }
  13. }

  14. void main()
  15. {
  16.          while(1)
  17.          {
  18.                 led = ~led;
  19.                 delay_100(1000000);
  20.          }
  21. }
復制代碼

111.jpg (118.55 KB, 下載次數: 65)

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

使用道具 舉報

沙發
ID:726693 發表于 2020-5-12 21:54 | 只看該作者
你好,你這個函數void delay_100(unsigned char j)    參數是unsigned char 類型,最大255,應該改成unsigned int 類型,因為你調用時賦值是1000000,程序沒有報錯,運行的時候估計最大只能延時255*100us,或者干脆是1000000直接取了低位,延時太小,所以你肉眼看不到閃爍,一直為亮
回復

使用道具 舉報

板凳
ID:726693 發表于 2020-5-12 22:02 | 只看該作者
我上邊說錯了,你要是賦值1000000,unsigned int 最大才65535,仍然盛不下,得需要unsigned long了,建議你調整那個delay函數
回復

使用道具 舉報

地板
ID:726693 發表于 2020-5-12 22:11 | 只看該作者
原來你這個函數也是從官方軟件里提供的,你可以設置成延時100ms,這樣你直接調用里寫Delay100ms(5);延時500ms就可以明顯看到結果了

回復

使用道具 舉報

5#
ID:65956 發表于 2020-5-13 08:25 | 只看該作者
一樓說得很對,就是延時問題,你把這個void delay_100(unsigned char j)  改為void delay_100(unsigned long j) ,這樣才符合你要輸入值1000000
回復

使用道具 舉報

6#
ID:659172 發表于 2020-5-13 14:53 | 只看該作者
moon20000boy 發表于 2020-5-12 22:02
我上邊說錯了,你要是賦值1000000,unsigned int 最大才65535,仍然盛不下,得需要unsigned long了,建議你 ...

我代碼改了一下,燒錄進去還是沒反應。我懷疑是晶振壞了,我測了一下晶振顯示數值是2.03-2.04和2v-1.98v。但是換了幾個晶振好像壓差都是0.4v、0.5v。led還是常量不閃爍
回復

使用道具 舉報

7#
ID:726693 發表于 2020-5-13 23:38 | 只看該作者
我代碼改了一下,燒錄進去還是沒反應。我懷疑是晶振壞了,我測了一下晶振顯示數值是2.03-2.04和2v-1.98v。但是換了幾個晶振好像壓差都是0.4v、0.5v。led還是常量不閃爍

那就是你再改下你代碼中的  led = ~led; 說實話位反轉我從來沒用過取反,我都是直接異或反轉電平,你可以試試 led^=led; 取反這個操作是按位取反,就1位的這種不知道是不是不應該這么操作,我都是異或,你試試吧
回復

使用道具 舉報

8#
ID:659172 發表于 2020-5-14 13:49 | 只看該作者
moon20000boy 發表于 2020-5-13 23:38
那就是你再改下你代碼中的  led = ~led; 說實話位反轉我從來沒用過取反,我都是直接異或反轉電平,你可以 ...

我直接用10定義串口電壓測出來是對的,應該是led電路出問題了,我感覺可能是三極管的原因,我去查查
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜一级大片 | 九九热热九九 | h视频在线免费 | 亚洲美女一区二区三区 | 91久久精品国产91久久 | 亚洲午夜视频 | 中文字幕一区二区三区四区 | 久久精品中文 | 中文字幕不卡 | 99久久精品免费 | 久久蜜桃精品 | 日韩一二三区视频 | 国产精品色婷婷久久58 | 国产一区二区久久 | 北条麻妃av一区二区三区 | 欧美亚洲国语精品一区二区 | 精品国产乱码久久久久久久久 | 东京久久 | 国产区在线观看 | 91精品在线看 | 亚洲精品第一国产综合野 | 精品久久久久久久人人人人传媒 | 国产中文字幕在线观看 | 国产在线精品一区二区三区 | 国产精品成人一区二区三区 | 精品成人在线视频 | 国产精品免费av | 在线一区| 久久久久无码国产精品一区 | av国产精品| 国产精品一区二区视频 | 国产一区二区日韩 | 亚洲欧美一区二区三区1000 | 欧美伦理一区 | 欧美亚州综合 | 久久久久国产精品一区 | 欧美一区二区久久 | 日韩在线一区二区 | 国产乱码精品1区2区3区 | 一区在线视频 | 久久精品色欧美aⅴ一区二区 |