【单片机】LED实验

实 验 报 告

                                            

专业__软件工程__  班级___4___  学号__123012005158__  

实验日期:    2007    11    27       报告退发 (订正 重做)             

课程      单片机程序设计        实验名称       LED实验              

一、实验目的

掌握LED工作原理和使用方法

 

二、实验环境

    PC,KC,51

三、实验内容、步骤和结果分析

编写时钟程序,LED管显示

      org   00h   

      ajmp  main

      org   000Bh         

      ajmp  dis

main:      mov tmod,#01h

          mov th0,#0bfh    

          mov tl0,#0ffh

          mov r0,#00h ;用于判断秒的十位数

       mov r1,#00h   ;用于判断秒的个位数

       mov r3,#20h   ;用于连续显示的循环个数

       mov r4,0ffh

       mov dptr,#para

          setb tr0        

          setb et0        

          setb ea  

       sjmp $    

 

dis:  mov th0,#8fh    

          mov tl0,#8fh

       djnz r3,disc            ;循环显示结束

       mov r3,#20h

       inc r1                    ;个位数字计数加1      

       inc dptr          ;各位数字加1

       cjne r0,#06h,zhuanyi

       mov r0,#00h

       mov r1,#00h

       mov dptr,#para

zhuanyi:cjne r1,#0ah,disc      ;个位数满10,重新赋值

       mov r1,00h

       inc r0

       mov dptr,#para

       reti

dis1: ;mov r3,#64h

      

       ajmp disc

 

disc: cjne r0,#00h,shi1    ;R00,即十位数为0

       mov p2,#02h         ;开第二个数码管

       mov p0,#3fh          ;赋值为0

       ajmp xunhuan        ;设置个位数

shi1: cjne r0,#01h,shi2    ;r0=1

       mov p2,#02h

       mov p0,#06h

       ajmp xunhuan

shi2: cjne r0,#02h,shi3    ;r0=2

       mov p2,#02h

       mov p0,#5bh

       ajmp xunhuan

shi3: cjne r0,#03h,shi4

       mov p2,#02h

       mov p0,#4fh

       ajmp getge     

shi4: cjne r0,#04h,shi5

       mov p2,#02h

       mov p0,#66h

       ajmp xunhuan

shi5:

       mov p2,#02h

       mov p0,#6dh

       ajmp xunhuan

xunhuan: djnz r4,xunhuan

        mov p0,#00h

       mov r4,#020h

 

getge:      mov a,#01h

       mov p2,a

          mov a,#0h

          movc a, @a+dptr

          mov p0,a

xunhuan2:djnz r4,xunhuan2

       mov r4,#0ffh

       ;mov p0,#00h

       reti

      

 

 

para: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh

       ;0   1   2    3   4    5   6   7   8   9

      end

 

实验成功,可是实现两位数的0~60的不断循环,但并没有能完全的实现时钟的功能

 

四、讨论

    通过本次实验,了解了如何控制在模拟51板上进行数字轮流显示的程序,起先由于不设置延时,导致在程序执行过程只能有一个LED灯显示,但在单步过程中可以进行两个LED灯的轮流显示.在这个问题上想了很久,后来对两个位数进行了延时之后就可以进行两个LED灯的显示,并设置了时钟的时间,中断时间等,完成了本实验.

 

 

 

 

 

你可能感兴趣的:(工作)