佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: pic

【练习】PIC 编程 - LED闪灯 (功力挑战)

  [复制链接]
发表于 11-11-2007 12:00 AM | 显示全部楼层
原帖由 jason86 于 10-11-2007 11:46 PM 发表
rothmans 你好棒!!!
你是用asm还是C啊?
等你的教学。。。


好说!好说! 我是用 C 写的。

自己先动脑筋想想看,第六楼的 fritlizt 已经给了明显的答案了。祝你成功。
回复

使用道具 举报


ADVERTISEMENT

发表于 11-11-2007 12:38 AM | 显示全部楼层
原帖由 pic 于 10-11-2007 08:32 PM 发表

Proteus VSM
http://www.labcenter-electronics.com/download/prodemo_download.htm#professional


好像不能用酱。。。
只是demo版的。。。
版主给的link对吗?
有三个,我下载了第一个,prodemo.exe
install 后不能用。。。
为什么?
回复

使用道具 举报

发表于 11-11-2007 02:29 AM | 显示全部楼层
哈...没51的题目吗?
回复

使用道具 举报

 楼主| 发表于 11-11-2007 08:33 AM | 显示全部楼层
原帖由 rothmans 于 10-11-2007 11:54 PM 发表
请问我哪个 output invert 了?

第三很明显, 我是invert Scope 那边才看到要的波形。


使用 proteus 画好图后,要怎样将机械语言加入到里边运行?

click MCU, ---> right click --> Edit Component - > Program File




那个示波器是否属于 proteus 的工具?

是。 本帖最后由 pic 于 14-10-2012 03:03 PM 编辑

回复

使用道具 举报

 楼主| 发表于 11-11-2007 08:39 AM | 显示全部楼层
原帖由 jason86 于 11-11-2007 12:38 AM 发表


好像不能用酱。。。
只是demo版的。。。
版主给的link对吗?
有三个,我下载了第一个,prodemo.exe
install 后不能用。。。
为什么?

是demo , 没错啊。。

能用,但不能save file。

不然你去下载Proteus Lite, 给学生用的, 不过好像是16F84A罢了, 但已经很好玩了。
http://www.proteuslite.com/

[ 本帖最后由 pic 于 11-11-2007 08:41 AM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 11-11-2007 08:56 AM | 显示全部楼层
原帖由 若有情 于 11-11-2007 02:29 AM 发表
哈...没51的题目吗?

其实, 我鼓励大家多用PIC MCU, 8051的core已经过时, 只是学校还在教, 虽然现在的51加了很多新功能, 可是还是51.
也欢迎你来参与这个题目练习, 不过你要先告诉我用什么51的MCU。

现在要学的是PIC 16F, 18F, 24F, dsPIC, 用C 来写, 也不要去精通ASM 。。。
更高级就是ARM (advanced RISC Machine), 有机会也学学 。
回复

使用道具 举报

Follow Us
发表于 11-11-2007 09:58 AM | 显示全部楼层
原帖由 pic 于 11-11-2007 08:56 AM 发表

其实, 我鼓励大家多用PIC MCU, 8051的core已经过时, 只是学校还在教, 虽然现在的51加了很多新功能, 可是还是51.
也欢迎你来参与这个题目练习, 不过你要先告诉我用什么51的MCU。

现在要学的是PIC  ...


恩~好的,ARM有什么不同啊?
回复

使用道具 举报

发表于 11-11-2007 11:01 AM | 显示全部楼层
第一题~
AT89C52
XTAL 12MHZ
LED接P1.0 P1.1 P1.2
http://rs278.rapidshare.com/files/69118285/INT0.HEX

ORG 0000H
MOV A,#0
MOV R4,#0
MOV P1,#7
JMP MAIN
;TIMER0 INTERUPT
;
ORG 000BH
MOV TH0,#D8H
MOV TL0,#F0H
DJNZ R4,CONT
MOV R4,#50
CPL P1.0
CPL P1.1
CPL P1.2

;
CONT:
RETI

;
MAIN:
MOV TMOD,#00000001B ;TIMER MODE 1
MOV TH0,#D8H ;DELAY 10ms R4(50)*10ms=500ms
MOV TL0,#0F0H ;10ms/1us=10000 65536-10000=55536 (D8F0)
MOV R4,#50
SETB EA
SETB ET0
SETB TR0
;
WAIT:
JMP WAIT
;
END


[ 本帖最后由 若有情 于 12-11-2007 01:05 PM 编辑 ]

评分

参与人数 1积分 +20 收起 理由
pic + 20 第一题的奖励。

查看全部评分

回复

使用道具 举报


ADVERTISEMENT

发表于 11-11-2007 12:36 PM | 显示全部楼层
我不会pic ....   programming 也很差。。。乱水的

for (; ; ){
B.1=1;
B.0=1;
B.2=1;
for (a=1 ;a<=2000;a++){
if (a%10==0)
B.2=0;
if (a%50==0)
B.0=0;
if (a%100==0)
B.2=1;
If (a%300 ==0)
B.1=0;
if (a%1000==0)
B.0=1;
if (a%2000==0)
B.1=1;


delay 1ms (我不会 c 的。。。

}}

[ 本帖最后由 chan1314 于 12-11-2007 06:01 PM 编辑 ]
回复

使用道具 举报

发表于 11-11-2007 04:40 PM | 显示全部楼层
原帖由 pic 于 11-11-2007 08:33 AM 发表

第三很明显, 我是invert Scope 那边才看到要的波形。



click MCU, ---> right click --> Edit Component - > Program File


...


多谢版主指点,我会一些皮毛了。想问版主是否会觉得那个示波器不是很人性化呢?我的意思是指跟实际的示波器作比较。由其它的 Time/ Dev 会非常难调吗?或者是我少设定了某些东西呢。如何将脉搏的起始点移到最左边?

[ 本帖最后由 rothmans 于 11-11-2007 05:28 PM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 11-11-2007 06:23 PM | 显示全部楼层
原帖由 rothmans 于 11-11-2007 04:40 PM 发表


多谢版主指点,我会一些皮毛了。想问版主是否会觉得那个示波器不是很人性化呢?我的意思是指跟实际的示波器作比较。由其它的 Time/ Dev 会非常难调吗?或者是我少设定了某些东西呢。如何将脉搏的起始点移到 ...

不会难啊, 你在Horizontal, 调Position, 还有Time/div,也可以微调。。。
回复

使用道具 举报

发表于 11-11-2007 11:18 PM | 显示全部楼层
PIC版主,请教你一点东西。。。
关于proteus的。。。
为什么我simulate的时候有出现error: missing or invalid cuntomer key
这是什么意思?
回复

使用道具 举报

 楼主| 发表于 12-11-2007 07:49 AM | 显示全部楼层

回复 #32 jason86 的帖子

你是用什么版本的Protus? 是 Lite 吗?
回复

使用道具 举报

 楼主| 发表于 12-11-2007 07:54 AM | 显示全部楼层
原帖由 若有情 于 11-11-2007 11:01 AM 发表
第一题~
AT89S52
XTAL 12MHZ
LED接P1.0 P1.1 P1.2

没有AT89s52的modal,没有办法simulate, 如用AT89C52的modal, 你的LED不会闪。
你把源码放出来吧。。。

第二,三题, 你可以用89C52吗?
回复

使用道具 举报

发表于 12-11-2007 09:13 AM | 显示全部楼层
原帖由 pic 于 11-11-2007 06:23 PM 发表

不会难啊, 你在Horizontal, 调Position, 还有Time/div,也可以微调。。。


多谢 pic版主的指导,现在也许还不熟悉,无法操控自如,我会多加练习。
回复

使用道具 举报

发表于 12-11-2007 01:01 PM | 显示全部楼层
原帖由 pic 于 12-11-2007 07:54 AM 发表

没有AT89s52的modal,没有办法simulate, 如用AT89C52的modal, 你的LED不会闪。
你把源码放出来吧。。。

第二,三题, 你可以用89C52吗?


改成at89c52了,请板主再下载多一次,在之前那楼
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 12-11-2007 03:31 PM | 显示全部楼层
原帖由 若有情 于 12-11-2007 01:01 PM 发表


改成at89c52了,请板主再下载多一次,在之前那楼

过关。

还有第二,第三题, 努力。。。


为什么只有Jason, Rothmans, 有情, 和乱水的Chan1314 参与?
其他人呢?为什么没有C 和PICBasic的范例?

也为什么没有人讨论怎样做第2,3题?
还有很多种方法啊。。。

[ 本帖最后由 pic 于 12-11-2007 03:39 PM 编辑 ]
回复

使用道具 举报

发表于 12-11-2007 04:04 PM | 显示全部楼层

回复 #37 pic 的帖子

我也想玩,但要等11月尾考试完后才玩。
第2题可以分20个step,每个step 50ms.
第3题可以分200个step,每个step 10ms.
但这方法是没有interrupt才会用的吧?

还有一点不明,AT89C52 和 AT89S52 的hex file不同的吗?
还有pic版主,我想问那Proteus要怎样放switch 的input(+5v)和 gnd?我不知如何做active high的switch,教教我可以吗?
这是我第一次用simulation 的software,这software真好用,我可以不用LABVIEW了,谢谢你pic版主。

[ 本帖最后由 yes1010 于 12-11-2007 04:27 PM 编辑 ]
回复

使用道具 举报

发表于 12-11-2007 04:35 PM | 显示全部楼层
原帖由 yes1010 于 12-11-2007 04:04 PM 发表
我也想玩,但要等11月尾考试完后才玩。
第2题可以分20个step,每个step 50ms.
第3题可以分200个step,每个step 10ms.
但这方法是没有interrupt才会用的吧?

还有一点不明,AT89C52 和 AT89S52 的hex file ...


你是用 LABVIEW Circuit Design Suite 的吗? 好用吗?我的朋友都用它,看了好像很简单似的。随便放几个零件,然后在拉拉下线,就能用了。
回复

使用道具 举报

发表于 12-11-2007 05:34 PM | 显示全部楼层
我是用 PIC 16F84A CCSC Compiler 的

不晓得为什么用16F628A 能 Compiler 没 error 但是却在Simulate时没有Output。。

以下是题目一。。。。题目2 & 3 。。。。先等等。。

http://rapidshare.com/files/69150051/1.00_question_1.hex.html

http://rapidshare.com/files/69150662/1.02_question_1.hex.html


麻烦版主看看。。。谢谢..!!

评分

参与人数 1积分 +20 收起 理由
pic + 20 第一题的奖励。

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 20-4-2024 02:01 AM , Processed in 0.087882 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表