资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
PIC18C7X 单片机原理及应用1PIC16C7X 单片机原理及应用单片机原理及应用实验简介实验简介:实验目的:本实验由四个部分组成:1、利用 PIC 单片机的 PC 计数器及实 时计数器计数或计时,利用 LED 数码管显示数据。2、利用 PIC 单片机进行各 种信号、数据的采集。3、利用单片机的控制功能实现控制。4、利用 EEPROM 实现单片机的数据掉电保存及利用 I2C 模式进行通讯。 实验器材:PIC 仿真器,24LC02,LM324,OP07,面包板 实验原理:PIC167X 有 RTCC、TMR1、TMR2 实时计数器,可作为 CCP(捕捉、比较、脉宽调制)用,通过应用 CCP 模块,可以驱动扬声器实现 定时报闹和键盘按键发出 C 调相应音阶的功能。我们应用辅助芯片 4511 推动 LED,4511 为 7 段锁存/译码/驱动器。按键信号,有两种输入方式,一种为用 一个按键开关完成,通过硬件滤波,改变输入电压即可;一种是通过键盘扫描, 扫描一个 34 的键盘,如果有键按下,则相应的行线和列线将变为低电平来判 断。 实验系统框图:PIC18C7X 单片机原理及应用2实验一实验一通过通过 4511 驱动驱动 LED 显示并完成显示并完成 09999 的计数的计数 1、直接驱动 LED 显示 4511 译码器能将单片机的 4 位二进制输出直接转换为代码驱动 LED,LED 采用共阴方式,代码如下B00111111 “0” B00000110 “1”B01011011 “2” B01001111 “3”B01100110 “4” B01101101 “5”B01111101 “6” B00000111 “7”B01111111 “8” B01101111 “9”以 RC0,RC1 来选通 4511 的 LE 端,RB 做为 4511 的输入端,显示值存在 20H 由 RB 输出,选通值存在 21H 由 RC 输出。 电路如图程序 RA EQU 5 RB EQU 6 RC EQU 7 TRA EQU 85H TRB EQU 86H TRC EQU 87H STATUS EQU 3H C EQU 0HZ EQU 2H RP0 EQU 5HORG 00HGOTO MAINMAIN BSF STATUS,RP0MOVLW 0PIC18C7X 单片机原理及应用3MOVWF TRBMOVWF TRCBCF STATUS,RP0CLRF 20CLRF 21 L1 CALL WRITECALL DELAYINCF 20MOVF 20,WCALL ADJANDLW 0FHSKPZINCF 21MOVF 22,WMOVWF 20MOVF 21,WCALL ADJMOVF 22,WMOVWF 21GOTO L1ADJ MOVWF 22ANDLW 0FHMOVWF 23MOVLW 0AHSUBWF 23SKPNZGOTO L2L3 MOVF 22,WANDLW 0F0HMOVWF 23MOVLW 0A0HSUBWF 23SKPZRETLW 0MOVLW 60HADDWF 22RETLW 1L2 MOVLW 6ADDWF 22GOTO L3WRITE MOVF 20,WMOVWF RBBCF RC,0BSF RC,0MOVF 21,WMOVWF RBBCF RC,1BSF RC,1RETLW 0DELAY MOVLW 0FFHRETLW 0ENDPIC18C7X 单片机原理及应用4实验二:通过计时器计时实现时钟功能,并实现整点报闹、调时功实验二:通过计时器计时实现时钟功能,并实现整点报闹、调时功能能。方案: PIC 单片机的输出可以直接驱动 LED 显示,所以采用较简单的硬件,直接驱动 LED 显示,仍然采用共阴接法。B0B6 接 LED 段码,C4C7 接 LED 的 COM 端,进行位选。 整点报闹采用 CCP 模块的 PWM 功能。PWM 功能可输出一个 PWM 信号,储存周期 的寄存器为 PR2 寄存器,储存工作周期的寄存器为 CCPRxL 寄存器。当 TMR2 的值和 CCPRxL 寄存器的值相同式,CCP 模块的输出引脚就会改变为输出低电平,然后继续递增 下去,当 TMR2 的值等于 PR2 寄存器的值时,TMR2 便会重新归 0 并重新计数。整点报闹 采用报 5 下,最后一次声音最“尖”的方式,即改变最后一次 CCP 模块输出的频率即可。调时采用两个简单按键完成。一个用于位选,一个通过累加调时。按键切换:采用的按 键为简单单路开关即按一下导通,再按一下截止。一个按键为切换 LED 显示数码管(选通 的 LED 管闪烁) ,另一个按键调时(即按一次计数加一) 。简易原理,按键由 RC0,RC3 输 入,采用中断方式,检查寄存器 RC0,RC3 的位值就可以知道按键的状态,再进行软件处理。电路如图程序INCLUDE “d:00141022p16c74.inc“ LED_INDEX EQU0X3E BUF_POINTEREQU0X36 TMR0H EQU0X35PIC18C7X 单片机原理及应用5W_STK EQU0X20 STATUS_STKEQU0X21 PCLATH_STKEQU0X22 BFLAG EQU0X38 FLASH_INDEXEQU0X39 FLASH_POINTEREQU0X3C FLASH_FLAGEQU0X3A CODE_SAVEEQU0X3B TEMPVEQU0X3D BELL_TIME EQU0X3F #DEFINE _DIGIT_ADDR 0X30 ;+ ORG 0 GOTO START ORG 4 MOVWF W_STK MOVF STATUS,W CLRF STATUS MOVWF STATUS_STK MOVF PCLATH,W MOVWF PCLATH_STK CLRF PCLATH BCF STATUS,RP0 BTFSC INTCON,T0IF GOTO TMR0_ISR ;+ END_INT: BCF STATUS,RP0 MOVF PCLATH_STK,W MOVWF PCLATH MOVF STATUS_STK,W MOVWF STATUS MOVF W_STK,W RETFIE ;+ TMR0_ISR: BCF INTCON,T0IF MOVLW .255-.125 MOVWF TMR0 BTFSC PORTC,3 GOTO UN_PRESS1 BTFSC BFLAG,0 GOTO SKPP1 BSF BFLAG,0 MOVF FLASH_POINTER,W MOVWF FSR INCF INDF,F BTFSS FLASH_POINTER,0 GOTO NUMB10 MOVLW .6 GOTO NUMB6 NUMB10: MOVLW .10 NUMB6: SUBWF INDF,W BTFSS STATUS,Z GOTO SKPP1 MOVLW 0 MOVWF INDF GOTO SKPP1 UN_PRESS1: BCF BFLAG,0 SKPP1: BTFSC PORTC,0
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号