天大自动化智能装置与设计实验报告.docVIP

  • 39
  • 0
  • 约7.77千字
  • 约 13页
  • 2016-04-15 发布于重庆
  • 举报

天大自动化智能装置与设计实验报告.doc

天大自动化智能装置与设计实验报告

智能装置与设计实验报告 ——实验程序汇总 自动化4班 晁平复 3008203263 自动化6班 王 平 3008203281 实验一:PIC系列单片机I/O口组成与使用方法 1、使用软件延时,使RC口的8盏灯轮流点亮。 实验程序: LIST P=16F877 #INCLUDE P16F877.INC GENR1 EQU 20H GENR2 EQU 21H ;软件延时用临时寄存器 ORG 0040H START BSF STATUS,RP0 BCF STATUS,RP1 MOVLW 00H MOVWF TRISC ;C端口输出 BCF STATUS,RP0 MOVLW 80H MOVWF PORTC ;C端口RC7灯亮 BCF STATUS,C ;进位标志位清零,防止循环时有两个灯在亮。 DELAY MOVLW 0FFH MOVWF GENR1 LOOP1 MOVLW 90H MOVWF GENR2 LOOP2 DECFSZ GENR2,F GOTO LOOP2 DECFSZ GENR1,F GOTO LOOP1 ;延时大致为256*144*2.5*10-6 RRF PORTC,1 BTFSC STATUS,C RRF PORTC,1 ;LED灯状态右移,若移到C标志位,则再多移一下 GOTO DELAY END 2、提高内容:利用RB0口接的按键控制RC口连接的LED灯,每按一次键切换一盏灯,从RC7到RC0分别点亮,按键使用查询方式检测。 实验内容: LIST P=16F877 #INCLUDEP16F877.INC GENR1 EQU 20H GENR2 EQU 21H ORG 0040H START BSF STATUS,RP0 BCF STATUS,RP1 MOVLW 01H MOVWF TRISB ;B口RB0为输入,按键输入 MOVLW 00H MOVWF TRISC BCF STATUS,RP0 CLRF PORTB MOVLW 80H MOVWF PORTC BCF STATUS,C LOOP BTFSS PORTB,0 ;检测是否RB0按下,有则说明有按键 GOTO LOOP RRF PORTC,1 BTFSC STATUS,C RRF PORTC,1 LOOP1 MOVLW 0FFH MOVWF GENR1 LOOP2 MOVLW 20H MOVWF GENR2 LOOP3 DECFSZ GENR2,F GOTO LOOP3 DECFSZ GENR1,F GOTO LOOP2 ;定时与上例相同,唯一区别是GENR2从144改为32 BTFSC PORTB,0 ;检测RB0是否弹起,一次完整按键应该是按下并弹起 GOTO LOOP1 GOTO LOOP END 实验二:PIC单片机定时/计数器的功能及使用方法 1、使用Timer0定时器按查询方式设置500毫秒定时,完成LED灯的轮流点亮。 实验程序: LIST P=16F877 #INCLUDEP16F877.INC COUNT1 EQU 20H ORG 0040H START BSF STATUS,RP0 BCF STATUS,RP1 MOVLW 00H MOVWF TRISC MOVLW 07H MOVWF OPTION_REG ;设置分频比为1:256 BCF STATUS,RP0 MOVLW 80H MOVWF PORTC BCF STATUS,C LOOP CALL DELAY RRF PORTC,1 BTFSC STATUS,C RRF PORTC,1 GOTO LOOP DELAY BCF INTCON,2 ;Timer0中断标志位清零 BCF STATUS,RP0 BCF STATUS,RP1 MOVLW 0AH MOVWF COUNT1 MOVLW 3DH MOVWF TMR0 ;Timer0延时10-6*256*(256-61)*10≈0.5s LOOP1 BTFSS INTCON,2 ;查询Timer0中断标志位是否为1,为1则完成定时 GOTO LOOP1 DECFSZ COUNT1,F GOTO LOOP2 RETURN LOOP2 BCF INTCON,2 MOVLW 3DH MOVWF TMR0 GOTO LOOP1 END 2、使用Timer1定时器按查询方式设置1秒定时,完成LED灯的轮流点亮。 实验程序: LIST P=16F877 #INCLUDEP

文档评论(0)

1亿VIP精品文档

相关文档