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

发布时间 : 星期三 文章天大自动化智能装置与设计实验报告更新完毕开始阅读

智能装置与设计实验报告

——实验程序汇总

自动化4班 晁平复 3008203263 自动化6班 王 平 3008203281

实验一:PIC系列单片机I/O口组成与使用方法

1、使用软件延时,使RC口的8盏灯轮流点亮。 实验程序:

LIST P=16F877

#INCLUDE GENR1 EQU 20H GENR2 EQU 21H ORG 0040H BSF STATUS,RP0 BCF STATUS,RP1 MOVLW 00H

MOVWF TRISC BCF STATUS,RP0 MOVLW 80H

MOVWF PORTC BCF STATUS,C

;C端口RC7灯亮

;进位标志位清零,防止循环时有两个灯在亮。

;软件延时用临时寄存器

START

;C端口输出

DELAY MOVLW 0FFH MOVWF GENR1 LOOP1

MOVLW 90H MOVWF GENR2

LOOP2 DECFSZ GENR2,F

GOTO LOOP2 DECFSZ GENR1,F GOTO LOOP1 RRF PORTC,1 BTFSC STATUS,C RRF PORTC,1 GOTO DELAY END

;LED灯状态右移,若移到C标志位,则再多移一下

;延时大致为256*144*2.5*10-6

2、提高内容:利用RB0口接的按键控制RC口连接的LED灯,每按一次键切换一盏灯,从RC7到RC0分别点亮,按键使用查询方式检测。 实验内容:

LIST P=16F877

#INCLUDE GENR1 EQU 20H

GENR2 EQU 21H

ORG 0040H START BSF STATUS,RP0 BCF STATUS,RP1 MOVLW 01H

MOVWF TRISB

MOVLW 00H MOVWF TRISC BCF STATUS,RP0 CLRF PORTB

MOVLW 80H

MOVWF PORTC BCF STATUS,C LOOP BTFSS PORTB,0 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 BTFSC PORTB,0 GOTO LOOP1 GOTO LOOP

END

;B口RB0为输入,按键输入

;检测是否RB0按下,有则说明有按键

;定时与上例相同,唯一区别是GENR2从144改为32 ;检测RB0是否弹起,一次完整按键应该是按下并弹起

实验二:PIC单片机定时/计数器的功能及使用方法

1、使用Timer0定时器按查询方式设置500毫秒定时,完成LED灯的轮流点亮。 实验程序:

LIST P=16F877

#INCLUDE COUNT1 EQU 20H

ORG 0040H

START BSF STATUS,RP0 BCF STATUS,RP1 MOVLW 00H

MOVWF TRISC MOVLW 07H

MOVWF OPTION_REG 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 BCF STATUS,RP0 BCF STATUS,RP1 MOVLW 0AH

MOVWF COUNT1 MOVLW 3DH

MOVWF TMR0

LOOP1 BTFSS INTCON,2

GOTO LOOP1

DECFSZ COUNT1,F

GOTO LOOP2 RETURN LOOP2

;设置分频比为1:256

;Timer0中断标志位清零

;Timer0延时10-6*256*(256-61)*10≈0.5s

;查询Timer0中断标志位是否为1,为1则完成定时

BCF INTCON,2 MOVLW 3DH MOVWF TMR0 GOTO LOOP1 END

2、使用Timer1定时器按查询方式设置1秒定时,完成LED灯的轮流点亮。 实验程序:

LIST P=16F877

#INCLUDE COUNT1 EQU 20H

ORG 0040H

START BSF STATUS,RP0 BCF STATUS,RP1 MOVLW 00H MOVWF TRISC BCF STATUS,RP0 MOVLW 31H

MOVWF T1CON MOVLW 80H MOVWF PORTC

BCF STATUS,C

LOOP CALL DELAY RRF PORTC,1 BTFSC STATUS,C

RRF PORTC,1

GOTO LOOP DELAY BCF STATUS,RP0 BCF STATUS,RP1 BCF PIR1,TMR1IF MOVLW 02H

MOVWF COUNT1 MOVLW 0CH MOVWF TMR1H MOVLW 22H

MOVWF TMR1L

LOOP1

;Timer1打开,预分频比1:8

;清除Timer1中断标志位

;Timer1延时10-6*8*(65536-3106)*2≈1s

联系合同范文客服:xxxxx#qq.com(#替换为@)