[讨论] 利用单片机控制机箱小灯点亮顺序的实验

rain   2006-7-12 18:06 楼主

org 0000h         /* 设置程序段起始地址*/

ljmp main       

org 000bh

ljmp ctc

org 0030h

main:

     mov tmod,#01h    /*置地址指针*/

     mov th0,#3ch       

     mov tl0,#0b0h     

     mov r2,#0ah

     setb ea        /*ea1*/

     setb et0        /* et01*/

     setb tr0        /* tr01*/

     mov a,#01h     /*累加器a赋值*/

     sjmp $          /*踏步*/

ctc:

     mov th0,#3ch     /*t0赋初值*/

     mov tl0,#0b0h    

     djnz r2,next       /*r2=0?,如果不相等就转移到next*/

     mov p1,a        /*a中的数送到p1*/

     mov r2,#0ah      /*r2赋值*/

     rl a              /*a中的数值按位左移以一位*/

next: reti              /*中断子程序返回到主程序*/

end                   /*程序结束*/

开始

 

设置地址指针初值

     

r2=0?

修改地址指针

N

 


Y

a中的数送入p1

R2赋值

数值移位

END

流程图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


实验步骤:

1.  在单片机上把线接好;

2.  把程序输入计算机;

3.  接通单片机电源显示C_

4.  运行程序;

5.  观察小灯点亮过程;

6.  改变程序以改变小灯点亮顺序;

7.  关闭电源把实验器件放回原位。

运行结果:机箱上的小灯依次左循环点亮。
这是我们在实践学习的时候用的一个程序,我试了一下,感觉很有意思,就拿出来大家看看,
大家要是有机会的可以来试验一下,

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复