单片机
返回首页

PIC12C508单片机控制灯光源程序

2017-12-07 来源:eefocus

;PIC12C508 单片机 控制灯光源程序 

;以上程序使用PIC12C508 单片机 ,内部4MHz时钟,4脚输入50HZ脉冲信号,7,6,3脚(GP0,GP1,GP4端口)为输出口。其中渐变部分是让灯慢慢的变亮(或灭)。不知道以上程序有没错误,有错误之处请大家多多给意见。谢谢 
;程序如下:

GPI0  EQU 6
COUNT1 EQU 11

COUNT2 EQU 12
COUNT3 EQU 13
COUNT4 EQU 14
COUNT5 EQU 15
POINTER EQU 16
POINTER1 EQU 17


   ORG 00H
   MOVLW 07H     ;设定时钟参数1:256分频
   OPTION
   MOVLW 2CH     ;输出端口设定 0,1,4输出,3输入50HZ
   TRIS 6

              ;-------------------------------
START:
              ;对3端口扫描  扫描0低电位
   MOVF GPI0,W
   MOVWF COUNT1
   BTFSC COUNT1,3
   GOTO START
NEXT:           ;对3端口扫描  扫描1高电位
   MOVF GPI0,W
   MOVWF COUNT1
   BTFSS COUNT1,3
   GOTO NEXT

   INCF COUNT2
   MOVLW 100
   DECFSZ COUNT2,1
   GOTO START    ;------外接50HZ信号,扫描100次,延时2秒

            ;-----------------------------------------------------------
JB:
   CLRF TMR0
   MOVLW 250
   MOVWF COUNT4
   MOVWF COUNT5

   INCF POINTER,F
   MOVF POINTER,0
   MOVWF POINTER1
   MOVLW TABLE
   ADDWF POINTER,0
   CALL AA
   MOVWF 6       ;返回,输出-----亮
CHANGE:
   MOVF  TMR0,0
   MOVWF COUNT3
   SUBWF  COUNT4,1
   BTFSS STATUS,Z   ;TMR0=250? 'N'空循环TMR0次 'Y'跳出重新开始渐变
   GOTO NOPDELAY1
   GOTO OUT
NOPDELAY1:
   NOP
   DECFSZ COUNT3,1
   GOTO NOPDELAY1

   DECF POINTER1,F   ;               <----------|
   MOVLW TABLE     ;                     |
   ADDWF POINTER1,0   ;                     |
   CALL AA       ;                     |
   MOVWF 6       ;返回上一次显示数据,输出到GP端口---灭 <--|
NOPDELAY2:
   NOP
   DECFSZ COUNT4,1
   GOTO NOPDELAY2
   GOTO CHANGE
            ;-----渐-----变-----------------------------------------------
OUT:
   MOVLW 9      ;取表9次
   SUBWF POINTER,0
   BTFSS STATUS,Z
   GOTO JB
   GOTO START


AA:  MOVWF 2
TABLE:RETLW 2CH
   RETLW 3CH
   RETLW 2DH
   RETLW 2EH
   RETLW 2FH
   RETLW 3DH
   RETLW 3EH
   RETLW 2CH
   RETLW 3FH

   ORG 1FFH
   MOVWF OSCCAL
   END


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 光控音效发生器电路

  • 如何利用ESP8266制作一个简单的四轴飞行器

  • 非常简单的150W功放电路图

  • 优化电路板布局的简单方法

  • 分享一个电网倾角计电路

  • 使用NE555和磁簧开关的橱柜照明电路

    相关电子头条文章