色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)電子鐘設(shè)計(jì)

          單片機(jī)電子鐘設(shè)計(jì)

          作者: 時(shí)間:2012-12-31 來(lái)源:網(wǎng)絡(luò) 收藏

          這里給大家介紹一個(gè)51設(shè)計(jì)方法:

          org 00h
          a_bit equ 30h ;秒寄存器
          b_bit equ 31h ;10秒寄存器
          c_bit equ 32h ;分寄存器
          d_bit equ 33h ;10分寄存器
          e_bit equ 34h ;小時(shí)寄存器
          f_bit equ 35h ;10小時(shí)集存器

          org 0000h
          ajmp star
          org 0030h

          star:
          mov a,#00h ;把各個(gè)位全部清0
          mov a_bit,a
          mov b_bit,a
          mov c_bit,a
          mov d_bit,a
          mov e_bit,a
          mov f_bit,a
          stlop: acall display ;51程序的計(jì)算部分

          inc a_bit ;秒位加1
          mov a,a_bit ;送a
          cjne a,#10,stlop;如果秒到10那么轉(zhuǎn)到10秒處理
          mov a_bit,#00h ;秒位清0
          inc b_bit ;10秒位加1
          mov a,b_bit ;送a
          cjne a,#6,stlop ;如果10秒到了6那么到分處理
          mov b_bit,#00h ; 10秒位清0
          inc c_bit
          mov a,c_bit
          cjne a,#10,stlop
          mov c_bit,#00h
          inc d_bit
          mov a,d_bit
          cjne a,#6,stlop
          mov d_bit,#00h
          inc e_bit
          mov a,e_bit
          cjne a,#10,stlop
          mov e_bit,#00h
          inc f_bit
          mov a,f_bit
          cjne a,#3,stlop
          mov f_bit,#00h
          ajmp stlop ;重新開始計(jì)算

          display: ;顯示子程序-51直接顯示在七段數(shù)碼管上
          mov dptr,#numtab ;指定查表啟始地址
          mov r0,#4
          dpl1: mov r1,#250 ;顯示1000次
          dplop: mov a,a_bit ;取秒位的值
          MOVC A,@A+DPTR ;查秒位數(shù)的7段代碼
          mov p0,a ;送出到P0口顯示
          clr p2.6 ;開個(gè)位顯示
          acall d1ms ;顯示1ms
          setb p2.6 ;關(guān)閉顯示

          mov a,b_bit ;取10秒位的值
          MOVC A,@A+DPTR ;查10秒位的7段代碼
          mov p0,a ;送出10秒位到P0口顯示

          clr p2.5 ;開10秒位顯示
          acall d1ms ;顯示1ms
          setb p2.5

          mov a,c_bit ;取分位
          MOVC A,@A+DPTR ;

          mov p0,a ;
          clr p2.4 ;
          acall d1ms ;

          setb p2.4

          mov a,d_bit ;取10分位
          MOVC A,@A+DPTR ;

          mov p0,a ;

          clr p2.3 ;

          acall d1ms ;

          setb p2.3

          mov a,e_bit ;取小時(shí)位
          MOVC A,@A+DPTR ;
          mov p0,a ;
          clr p2.2 ;
          acall d1ms ;

          setb p2.2

          mov a,f_bit ;取10小時(shí)位
          MOVC A,@A+DPTR ;
          mov p0,a ;
          clr p2.1 ;
          acall d1ms ;
          setb p2.1

          djnz r1,dplop ;100次沒(méi)完循環(huán)
          djnz r0,dpl1 ;4個(gè)100次沒(méi)完循環(huán)
          ret
          D1MS: MOV R7,#20 ;1MS延時(shí)(按12MHZ算)
          DJNZ R7,$
          RET
          ;七段數(shù)碼管各劃的數(shù)字排列表-http://www.51hei.com/ 提供
          numtab: db 28h,7eh,0a2h,62h,74h,61h,21h,7ah,20h,60h
          ;0 1 2 3 4 5 6 7 8 9
          end



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉