查看: 1877|回复: 24
|
89C51程式 有人可以幫忙改一下嗎
[复制链接]
|
|
发表于 15-11-2008 10:56 PM
|
显示全部楼层
原帖由 天魁星 于 15-11-2008 10:17 PM 发表 ![](http://cforum4.cari.com.my/images/common/back.gif)
對了我很好奇 c programming 要如何燒入 8051???
燒入方法一樣嗎???
最终要的file 是intel hex.
用assembly 写会generate hex file.
同样的用c写也是会generate hex file.
burn hex file 就可以了。用什么language没关系。 |
|
|
|
|
|
|
|
![](static/image/common/ico_lz.png)
楼主 |
发表于 16-11-2008 01:45 AM
|
显示全部楼层
JNB P1.1,$ 請問那各 $ 是什麼意思???
JNB 不是=當(bit)=0,就跳躍嘛
$是什麼意識????![](static/image/smiley/default/cry.gif) |
|
|
|
|
|
|
|
![](static/image/common/ico_lz.png)
楼主 |
发表于 15-11-2008 10:05 PM
|
显示全部楼层
不好意思.....我想要 當訊號來時 on1s off1min 在訊號還沒斷 on1s off1min 會一直重複..... 要如何寫.... |
|
|
|
|
|
|
|
发表于 15-11-2008 11:53 PM
|
显示全部楼层
回复 14# 天魁星 的帖子
EA有接去GND了吗?
嗯。。你可以在P1.2接个LED,看看是HI还是LO |
|
|
|
|
|
|
|
发表于 15-11-2008 09:20 PM
|
显示全部楼层
原帖由 天魁星 于 15-11-2008 09:08 PM 发表 ![](http://cforum3.cari.com.my/images/common/back.gif)
最近我用89C51弄一個 ON 2秒 OFF 1分鐘的計時器.......
我要的作用是 先把 p1.1 和 p1.2 CLE( 0v ) ,然後當P1.1 有訊號輸入時 P1.2 會輸出的訊號 要 ON 2秒 OFF 1分鐘......
我寫了一些程式有人可以幫忙修改一 ...
我会帮你看看。要一点时间。 asm太久没动了。
你一detect到input就要 continuous on 2s off 1 min还是一次input就一次on 2s off 1 min???
有兴趣用c吗??
c programming可以很简单做到。
还有一点是8051要用input port最好是set high, 然后你的input pull low.不要set low, input pull high.
[ 本帖最后由 fritlizt 于 15-11-2008 09:28 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 15-11-2008 10:08 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 15-11-2008 10:57 PM
|
显示全部楼层
回复 6# fritlizt 的帖子
paiseh paiseh, 犯了一个这样的错误
版主,用C的话也是可以加入assembly对吗? |
|
|
|
|
|
|
|
![](static/image/common/ico_lz.png)
楼主 |
发表于 15-11-2008 11:09 PM
|
显示全部楼层
救命.....
(第一次燒入....由於是自修的....還不是很了解..)
我燒入了.....但怎樣才會知道.....有無作用........
我的測試方法是....8051接好了.... 給P1.1輸入 5v的電壓 ......但p1.2(我設的output)......沒有電壓輸出......
這樣測試...請問有沒有錯誤.... |
|
|
|
|
|
|
|
发表于 15-11-2008 09:54 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 15-11-2008 09:31 PM
|
显示全部楼层
- START:
- CLR P1.1
- CLR P1.2
- JNB P1.1, $
- ; 2 SECS
- REP01:
- MOV R0, #20
- REP02:
- MOV R1, #199
- REP03:
- MOV R2, #250
- DJNZ R2, REP03
- DJNZ R1, REP02
- DJNZ R0, REP01
- SETB P1.2
- ; 60 SECS
- REP11:
- MOV R0, #6
- REP12:
- MOV R1, #100
- REP13:
- MOV R2, #199
- REP14:
- MOV R3, #250
- DJNZ R3, REP14
- DJNZ R2, REP13
- DJNZ R1, REP12
- DJNZ R0, REP11
- AJMP START
- END
复制代码
不知道有没有出错 |
评分
-
查看全部评分
|
|
|
|
|
|
|
![](static/image/common/ico_lz.png)
楼主 |
发表于 15-11-2008 09:38 PM
|
显示全部楼层
c programming 可以用在 8051嗎??
我要的效果是大概 當 input 收到 訊號時 output 就會輸出 on 2s off 1 min 的電壓.....
(我找到的資料都看不懂.....) |
|
|
|
|
|
|
|
发表于 16-11-2008 12:08 AM
|
显示全部楼层
原帖由 天魁星 于 15-11-2008 11:09 PM 发表 ![](http://cforum2.cari.com.my/images/common/back.gif)
救命.....
(第一次燒入....由於是自修的....還不是很了解..)
我燒入了.....但怎樣才會知道.....有無作用........
我的測試方法是....8051接好了.... 給P1.1輸入 5v的電壓 ......但p1.2(我設的output).... ...
你 on time 是2s. off time 是60s.
multimeter 量不到average power.
你把p2 set去0xAA.用multimeter量看是不是10101010就知道了。
EA->5V, reset -> ground. crystal 12 Mhz with 2x33pf cap |
|
|
|
|
|
|
|
![](static/image/common/ico_lz.png)
楼主 |
发表于 15-11-2008 09:49 PM
|
显示全部楼层
回复 3# bomber27 的帖子
好像不行A.......
我用你的 程式 ....當我轉換 去 OBJ 檔時....出現很多 錯誤..... |
|
|
|
|
|
|
|
发表于 15-11-2008 09:48 PM
|
显示全部楼层
原帖由 bomber27 于 15-11-2008 09:31 PM 发表 ![](http://cforum3.cari.com.my/images/common/back.gif)
START:
CLR P1.1
CLR P1.2
JNB P1.1, $
; 2 SECS
REP01:
MOV R0, #20
REP02:
MOV R1, #199
REP03:
MOV R2, #250
DJNZ R2, REP03
DJNZ R1, REP02
DJNZ R0, REP01
SETB P1.2
; 60 SECS
REP11:
M ...
没错,只是sequence有点乱。
你delay 2s过后才set p1.2再off 60secs..倒转了。不过很好, 加分鼓励鼓励。![](static/image/smiley/default/smile.gif)
你的也和我一样, 按一次, 有一个pulse罢了。。
[ 本帖最后由 fritlizt 于 15-11-2008 09:51 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 15-11-2008 09:46 PM
|
显示全部楼层
原帖由 天魁星 于 15-11-2008 09:38 PM 发表 ![](http://cforum3.cari.com.my/images/common/back.gif)
c programming 可以用在 8051嗎??
我要的效果是大概 當 input 收到 訊號時 output 就會輸出 on 2s off 1 min 的電壓.....
(我找到的資料都看不懂.....)
可以。
永远on 2s off 1 min还是一次而已?
我的program是按一次,有一次。不会一直generate pulses.
- ORG 0000H
- WTRON:
- CLR P1.1
- CLR P1.2
- JNB P1.1,$
- SETB P1.2
- WTRNA:
- MOV R0,#20
- WTRNB:
- MOV R1,#199
- WTRNC:
- MOV R2,#250
- WTRND:
- DJNZ R2,WTRND
- DJNZ R1,WTRNC
- DJNZ R0,WTRNB
- CLR P1.2
- MOV R0,#6
- WTROFFA:
- MOV R1,#100
- WTROFFB:
- MOV R2,#199
- WTROFFC:
- MOV R3,#250
- WTROFFD:
- DJNZ R3,WTROFFD
- DJNZ R2,WTROFFC
- DJNZ R1,WTROFFB
- DJNZ R0,WTROFFA
- AJMP WTRON
-
- END
复制代码 |
|
|
|
|
|
|
|
发表于 16-11-2008 12:09 AM
|
显示全部楼层
原帖由 bomber27 于 15-11-2008 11:53 PM 发表 ![](http://cforum2.cari.com.my/images/common/back.gif)
EA有接去GND了吗?
嗯。。你可以在P1.2接个LED,看看是HI还是LO
EA->ground是代表mcu access外面的ram/rom. 要用internal,EA->5v |
|
|
|
|
|
|
|
最近我用89C51弄一個 ON 2秒 OFF 1分鐘的計時器.......
我要的作用是 先把 p1.1 和 p1.2 CLE( 0v ) ,然後當P1.1 有訊號輸入時 P1.2 會輸出的訊號 要 ON 2秒 OFF 1分鐘......
我寫了一些程式有人可以幫忙修改一下嗎 (不知道錯在那裡...)......
WTRON
CLR P1.1
CLR P1.2
JNB P1.1,WTRON
WTRNA
MOV R0,#20
WTRNB
MOV R1,#199
WTRNC
MOV R2,#250
WTRND
DJNZ R2,WTRND
DJNZ R1,WTRNC
DJNZ R0,WTRNB
SETB P1.2
MOV R0,#6
WTROFFA
MOV R1,#100
WTROFFB
MOV R2,#199
WTROFFC
MOV R3,#250
WTROFFD
DJNZ R3,WTROFFD
DJNZ R2,WTROFFC
DJNZ R1,WTROFFB
DJNZ R0,WTROFFA
AJMP WTRON
END
由於我是初學者....請幫忙...... |
|
|
|
|
|
|
|
![](static/image/common/ico_lz.png)
楼主 |
发表于 15-11-2008 10:17 PM
|
显示全部楼层
對了我很好奇 c programming 要如何燒入 8051???
燒入方法一樣嗎??? |
|
|
|
|
|
|
|
发表于 16-11-2008 10:28 AM
|
显示全部楼层
回复 18# 天魁星 的帖子
JNB P1.1, $
和
HERE: JNB P1.1, HERE
是一样的,是跳回同一个 line |
|
|
|
|
|
|
|
发表于 16-11-2008 10:28 AM
|
显示全部楼层
|
|
|
|
|
|
| |
本周最热论坛帖子
|