登录注册
论坛
一粒金砂(初级)
91
0
ORG 0000HLJMP STARTORG 000BHLJMP TIME0ORG 30HSTART: MOV A,#00000000B MOV TMOD,#00000001B MOV TH0 ,#0FFH MOV TL0 ,#0FEH SETB EA SETB ET0 SETB TR0LOOP: LJMP LOOP
TIME0: ;PUSH ACC PUSH PSW MOV TH0 ,#0FFH MOV TL0 ,#0FEH MOV DPTR,#TABLE INC R1 CJNE R1, #8,DD MOV R1,#0
DD: MOV A,R1 MOVC A,@A+DPTR
MOV P1,A ; INC A POP PSW ; POP ACC RETITABLE: DB 00000001B,00000010B,00000100B,00001000B DB 00010000B,00100000B,01000000B,10000000BEND
我自己写的已经编译通过了,,,现在想和大家讨论下程序有什么地方值得修改不???????就是跑马灯的用了中断和查表
扫一扫,分享给好友
3
裸片初长成(初级)
2751
原帖由 硬制合金 于 2010-8-4 15:38 发表 dddddddddddddd程序99%以上正确,,请哪个朋友看下有没有小毛病,,还可以如何优化
MOV TH0 ,#0FFHMOV TL0 ,#0FEH
初值太大,人眼感觉不到流水灯的变化,51是加计数的。
进入中断后,没必要push那两个寄存器,主循环里是空跑,对中断函数不影响。
习惯程序开始初始化用到的寄存器,可以对R1初始化一下。
发表回复 回帖后跳转到最后一页
EEWorld Datasheet 技术支持
查看 »