机电之家资源网
单片机首页|单片机基础|单片机应用|单片机开发|单片机文案|软件资料下载|音响制作|电路图下载 |嵌入式开发
培训信息
赞助商
pic单片机静态数码管键控计数器实例
pic单片机静态数码管键控计数器实例
 更新时间:2009-12-12 11:20:50  点击数:0
【字体: 字体颜色

;**************************************************
  __CONFIG 3F39H;设置配置位中振荡方式为XT,其它全部禁止或关闭
;************************************************
PCL       EQU    02H ;定义程序计数器低字节寄存器地址
STATUS    EQU    03H ;定义状态寄存器地址
PORTA     EQU    05H ;定义RA口数据寄存器地址
PORTC     EQU    07H ;定义RC口数据寄存器地址

TRISA     EQU    85H ;定义RA口方向控制寄存器
TRISC     EQU    87H ;定义RC口方向控制寄存器
ADCON1    EQU    9FH  ;定义ADC模块控制寄存器1的地址
;----------------------- STATUS
C         EQU    0   ;定义进位标志位位地址
Z         EQU    2   ;定义0标志位位地址
RP0       EQU    5   ;定义页选位RP0位地址
;-----------------------
COUNTER   EQU    20H  ;定义计数器寄存器
COUNT0    EQU    21H  ;定义廷时变量计数器
COUNT1    EQU    22H  ;定义廷时变量计数器
COUNT2    EQU    23H  ;定义廷时变量计数器
PORTA_B   EQU    25H  ;定义数码管位选寄存器
;--------------------
          ORG 0000H  
          NOP         ;放置一条ICD必需的空操作指令
          GOTO MAIN  
          ORG 0008H  
;******************************************************
CONVERT1                ;取数码管位码
           ADDWF PCL,1  ;地址偏移量加当前PC值
TABLE1
           RETLW 0FDH   ;第一位数码管
           RETLW 0FEH   ;第二位数码管
           RETLW 0F7H   ;第三位数码管
           RETLW 0FBH   ;第四位数码管
           RETLW 0DFH   ;第五位数码管
           RETLW 0EFH   ;第六位数码管
;-------------------- ----------------------------------
CONVERT                              ;取数码管段码
            ADDWF PCL,1              ;地址偏移量加当前PC值
TABLE                                                     
     RETLW 0C0H       ;0
     RETLW 0F9H       ;1                               
     RETLW 0A4H       ;2
     RETLW 0B0H       ;3
     RETLW 99H       ;4
     RETLW 92H       ;5
     RETLW 82H       ;6
     RETLW 0F8H       ;7
     RETLW 80H       ;8
     RETLW 98H       ;9
            RETLW 7FH                   ;.
;*******************************************************
MAIN
            CLRF PORTA              ;初始化IO口
            CLRF PORTC              ;
    
            BSF STATUS,RP0        
            MOVLW 07H
            MOVWF ADCON1            ;设置RA口全部为普通数字IO口
            MOVLW 00H
            MOVWF TRISA             ;设置RA,RC口全部为输出
            MOVWF TRISC
            BCF STATUS,RP0
;----------------------
LOOPA
            MOVLW 0FFH              ;让数码所有划先熄灭
            MOVWF PORTC
            MOVLW 00H
            MOVWF PORTA_B           ;位选寄存器送初值0,让第一位先显示
LOOP1
            MOVFW PORTA_B           ;取位选码
            CALL CONVERT1
            MOVWF PORTA             ;位选码送RA口
            CLRF COUNTER            ;清段码寄存器,让其先显示1
            CLRW
LOOP2
            CALL CONVERT           ;取段码
            MOVWF PORTC            ;段码送RC口显示
            CALL DELAY             ;
            INCF COUNTER,1         ;段码加1直到第10位即“。”
            MOVLW .11              ;
            XORWF COUNTER,0        ;
            BZ LOOPB               ;
            MOVFW COUNTER          ;
            GOTO LOOP2             ;
;-------------------------
LOOPB
            INCF PORTA_B,0         ;位码加1直到第6位显示完又显示第一位
            MOVWF PORTA_B          ;
            XORLW 06H              ;
            BTFSS STATUS,Z         ;
            GOTO LOOP1             ;
            GOTO LOOPA             ;
;---------------------------------廷时子程序------
DELAY  
            MOVLW  .2              ;设置延时常数
     MOVWF  COUNT0
L1     
            MOVLW  .255            ;
     MOVWF  COUNT1
L2    
            MOVLW  .255            ;
     MOVWF  COUNT2
L3     
            DECFSZ COUNT2,1        ;递减循环
     GOTO L3                ;
     DECFSZ COUNT1,1        ;
     GOTO L2                ;
     DECFSZ COUNT0,1        ;
     GOTO L1                ;
     RETLW  0

;----- -----------------------------------------------
            END

  • 上一篇: pic单片机做的单键触发8位二进制累加计数器
  • 下一篇: 没有了
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 机电之家 | 会员助手 | 免费链接

    点击这里给我发消息66821730(技术支持)点击这里给我发消息66821730(广告投放) 点击这里给我发消息41031197(编辑) 点击这里给我发消息58733127(审核)
    本站提供的机电设备,机电供求等信息由机电企业自行提供,该企业负责信息内容的真实性、准确性和合法性。
    机电之家对此不承担任何保证责任,有侵犯您利益的地方请联系机电之家,机电之家将及时作出处理。
    Copyright 2007 机电之家 Inc All Rights Reserved.机电之家-由机电一体化网更名-声明
    电话:0571-87774297 传真:0571-87774298
    杭州滨兴科技有限公司提供技术支持

    主办:杭州市高新区(滨江)机电一体化学会
    中国行业电子商务100强网站

    网站经营许可证:浙B2-20080178-1