1樓:做而論道
改:p0_0 = ~p0;
為:p0_0 = ~p0_0;
試試看。
用keil編譯生成了hex檔案,在proteus裡面**微控制器全部引腳都為高電平,為什麼?
2樓:走失的米
我今天也遇到這種問題,後來才發現是自己傻了,雖然生成了hex檔案,也新增進去了,但是在keil程式設計的時候忘了把c檔案新增到工程裡面去了。
3樓:尼瑪真響亮
啥晶片,看樣子你很可能是51.
51預設是高電平。程式裡沒有對管腳的初始化,那就保持預設不變
4樓:匿名使用者
有沒有給**機晶片加入這個編譯好的檔案呢?
5樓:
微控制器上電在預設的情況下所有引腳都是高電平。首先看你是不是調入了hex檔案,其次看你程式中是不是對相應引腳有操作。
6樓:匿名使用者
微控制器內部是ttl電頻,懸空狀態就等效為高電平,當然要看你程式對引腳做定義沒
7樓:超級空中堡壘
沒有上程式 天知道為什麼
如何用keil與proteus模擬**流水燈
proteus和keil軟體聯調,使用迴圈右移功能**流水燈程式?
8樓:材看上諞
工具:stc系列51微控制器、串列埠轉換器(usb轉ttl或232轉ttl)材料:實驗板一塊(可以買現成的,也可以買麵包板自己搭建),電阻、led燈若干,5v電源等。
以下程式可以直接用keilc直接編譯執行。//可以通過左移函式_crol_()和右移函式_cror_()來實現led等的來回流動。//具體實現方法可以參考如下程式:
#include#include#defineuintunsignedint#defineucharunsignedcharvoiddelay(uinta);voidmain()
keil**正常,為什麼proteus**不正常?
9樓:第一千個幻影
你說詳細點,你的意思是程式編譯是對的,proteus**效果是錯的? 有可能是介面不對。
10樓:愛目一絲上帝
暫停之 右鍵點一下微控制器 應該有各腳狀態 看看對不對。
另外 兩者**速度不大一樣 。你注意一下 proteus cpu佔用率,是不是 太快 或太慢 看不出來.。
11樓:匿名使用者
proteus**圖畫錯?
微控制器彙編程式在keil中編譯成功,但是proteus中卻**不了 5
12樓:匿名使用者
在keil中編譯成功說明沒有語法錯誤,proteus**不了可能就是你的硬體電路有問題了。或者硬體電路和程式對應不上。
13樓:匿名使用者
單步除錯看看,問題出在**
14樓:匿名使用者
編譯成功 只能證明語法正確 可能你的硬體有問題,也可能程式就不對,單步執行一下吧。。看看 ,也可能protus的問題 以前我做數碼管的動態顯示。。就不行。。。
放在開發板上就行。
15樓:匿名使用者
編譯成功不代表你的程式正確,只是表示你的程式語法上沒有問題,具體的程式實現上keil不能給出結果。
還需要進一步除錯。
keilc和proteus**流水燈問題
16樓:匿名使用者
你這程式這麼寫,就會有這種現象,就有這種缺陷。
原因是,主程式中不論執行哪種模式:mode1();mode2();mode3();mode4();都需要延時的,這個時間應該是比較長的,只有執行一遍後才檢查按一次,所以,按鍵就是等待這麼長的時間,才能識別到一次。如果有這個延時期間按鍵了,但按的時間短,還沒有執行一遍模式,就不會檢查到按鍵了,所以,按鍵就無效。
所以,要求按鍵時間要足夠長才行。
補修方法,可以把flag=getkey();語句放在延時子程式中,這種每延時一次就檢查一次按鍵,但要把flag宣告成全域性變數,只要宣告成unsigned char 變數就行,不必宣告成int.
在protus8.0中怎麼與keil進行流水燈**
我用keil軟體編的程式在keil上可以除錯,且有用哦,但是匯入proteus**軟體是就沒用,這是啥原
17樓:匿名使用者
keil上除錯和proteus上不一樣的。不知你的程式是實現什麼的。
18樓:渴求學子
你把你的程式貼出來,我幫你看看,你這樣問,真不明白你的問題出來了**?
Keil微控制器程式編譯錯誤MAIN C 569error C193bad operand type急求解決
你定義的抄 deep 是什麼型別的變襲 量啊,如果是 bit 型的,那就不能進行移位操作 只有為 8 位 char 或16 位 short 或 32 位 int 或是其他多個 bit 型的資料才可以進行移位操作 檢查deep的型別,是否支援移位運算。大俠,求幫助!keil中編寫89c52的c程式時,...
51微控制器用定時器編的流水燈出了些問題請高手
include reg51.h unsigned char s 0,a 128,count 0 void main void t0 srv interrupt 1 using 1p1 a 或者直接用迴圈左移或迴圈右移 include a cror a,1 迴圈右移 void t0 srv inter...
我在keil軟體 用c語言寫51微控制器的時候發現?
當你發現不合理,而執行結果卻合理的時候,你有沒有想到應該怎麼做才能合理地共享這些暫存器呢?其實,c語音的變數並不直接定義到暫存器,而是定義到記憶體單元,暫存器算是個中介,資料從記憶體取出臨時存放到暫存器,然後將當時用不上的資料又從暫存器回寫到記憶體,這樣就解決了暫存器共享問題了 另外,你在除錯時,再...