PIC单片机应用开发典型模块第四章程序.docx

上传人:b****2 文档编号:2247796 上传时间:2022-10-28 格式:DOCX 页数:17 大小:22.33KB
下载 相关 举报
PIC单片机应用开发典型模块第四章程序.docx_第1页
第1页 / 共17页
PIC单片机应用开发典型模块第四章程序.docx_第2页
第2页 / 共17页
PIC单片机应用开发典型模块第四章程序.docx_第3页
第3页 / 共17页
PIC单片机应用开发典型模块第四章程序.docx_第4页
第4页 / 共17页
PIC单片机应用开发典型模块第四章程序.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

PIC单片机应用开发典型模块第四章程序.docx

《PIC单片机应用开发典型模块第四章程序.docx》由会员分享,可在线阅读,更多相关《PIC单片机应用开发典型模块第四章程序.docx(17页珍藏版)》请在冰豆网上搜索。

PIC单片机应用开发典型模块第四章程序.docx

PIC单片机应用开发典型模块第四章程序

集团文件发布号:

(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-19882)

 

PIC单片机应用开发典型模块第四章程序

(1)多功能波形信号发生模块

程序应用

#INCLUDE

RTCCEQU01H

PCEQU02H

PCLATHEQU0AH

TEMP0TIMEEQU20H;方波次数

TEMP0CONSTEQU21H;方波常数

TEMO0DOTEQU22H;方波点数

TEMP0OUTEQU23H;方波输出值

TEMP1TIMEEQU30H;锯齿波次数

TEMP1CONSTEQU31H;锯齿波常数

TEMP1DOTEQU32H;锯齿波点数

TEMP1OUTEQU33H;锯齿波输出值

TEMP2TIMEEQU40H;三角波次数

TEMP2CONSTEQU41H;三角波常数

TEMP2DOTEQU42H;三角波点数

TEMP2OUTEQU43H;三角波输出值

OPTION_REQU81H

WBUEQU2FH;W暂存

SBUEQU2EH;STATUS暂存

RCCEQU0FAH;最大频率常数

;------------------------------------------------------------------------------------------------------

ORG0

SYS_RESET

GOTOSTART

;------------------------------------------------------------------------------------------------------

ORG4;中断程序

MOVWFWBU

SWAPFWB0,0

SWAPFSTATUS,0

MOVWFSBU

CALLSERV_INT

SWAPFSBU,0

MOVWFSTATUS

SWAPFWBU,0

RETFIE

;------------------------------------------------------------------------------------------------------

ORG40H

NOP

START

CALLINT

CALLINTPORT

CALLINTTMO

LOOP;延时

NOP

NOP

GOTOLOOP

;------------------------------------------------------------------------------------------------------

INT

CLRFTEMP0DOT

CLRFTEMP1DOT

CLRFTEMP2DOT

CLRFTEMP0OUT

CLRFTEMP1OUT

CLRFTEMP2OUT

MOVLW03H

MOVWFTEMP0TIME

MOVWFTEMP0CONST

MOVWFTEMP2TIME

MOVWFTEMP2CONST

MOVLW06H

MOVWFTEMP1TIME

MOVWFTEMP1CONST

RETURN

;------------------------------------------------------------------------------------------------------

INTPORT;端口初始化

BCFSTATUS,0

BCFSTATUS,1

BCFSTATUS,5

CLRFPORTC

CLRFPORTD

BSFPORTE,1

BSFSTATUS,5

MOVLW00H

MOVWFTRISD

MOVLWOF4H

MOVWFTRISC

;定义RE1为输出,其他为输入

MOVWFTRISE

BCFSTATUS,5

RETURN

;------------------------------------------------------------------------------------------------------

INTTM0;定时器初始化

BSFSTATUS,5

MOVLW80H

MOVWFOPTION_R

BCFSTATUS,5

MOVLW0A0H

;开放定时器中断

MOVLWRCC;RCC=最大频率延时常数

MOVWFRTCC

RETURN;

;------------------------------------------------------------------------------------------------------

SERY_INT;中断服务程序

BTFSCINTCON,2

GOTOSERVRTCC

CLRFINTCON

BSFINTCON,5

RETURN

SERVRTCC

MOVLWRCC

MOVWFRTCC

BCFINTCON,2

CALLOUTPUT

RETFIE

;------------------------------------------------------------------------------------------------------

OUTPUT;输出波形

BCFSTATUS,5

FBODECFSZTEMP0TIME,1;方波

GOTOJBO

CALLFANGBO

JBODECFSZTEMP1TIME,1;锯齿波

GOTOSJBO

CALLJUCBO

SJBODECFSZTEMP2TIME,1;三角波

RETURN

CALLSJIAOBO

RETURN

;------------------------------------------------------------------------------------------------------

FANGBO

BCFPORTS,1;为低

BCFPORTC,0

BCFPORTC,1;选择输出通道,0通道为方波

INCFTEMP0DOT,1

MOVFTEMP0CONST,0

MOVWFTEMP0TIME

BTFSCTEMP0DOT,7

GOTOGAO

GOTODI

GAOMOVLWOFFH

MOVWFPORTD

BSFPORTE,1

RETURN

DIM0VLW00H

MOVWFPORTD

BSFPORTE,1

RETURN

;------------------------------------------------------------------------------------------------------

JUCBO

BCFPORTE,1

BCFPORTC,0;选择输出通道,1通道为锯齿波

MOVFTEMP1CONST,0

MOVWFTEMP1TIME

INCFSZTEMP1DOT,1

GOTOJUBO1

MOVFTEMP1OUT,0

MOVWFPORTD

INCFTEMP1OUT,1

RETURN

JUBO1MOVLW00H

MOVWFTEMPlOUT

RETURN

;------------------------------------------------------------------------------------------------------

SJIAOBO

BCFPORTE,1

BCFPORTC,1;选择输出通道,2通道为三角波

MOVFTEMP2CONST,0

MOVWFTEMP2TIME

INCFSZTEMP2DOT,1

GOTOSJBO2

CALLSJBO0

SJB02MOVFTEMP2OUT,0

MOVWFPORTD

BSFPORTE,1

MOVLW02H

BTFSSTEMP2DOT,7

GOTOSJBO1

ADDWFTEMP2OUT,1

RETURN

SJBO1

SUBWFTEMP2OUT,1

RETURN

SJBO0CLRFTEMP2OUT

RETURN

END

(2)PWM信号发生模块

程序应用

#include

/*CCP1模块的PWM工作方式初始化子程序*/

voidINIT_CCP1()

{

PR2=0XFF;/*设置PWM周期*/

CCPR1L=0X7F;/*设置工作循环的高8bit为01111111*/

CCP1CON=0X3C;/*设置CCP1为PWM工作方式,且工作循环的低bit2为11*/

INTCON=0X00;/*禁止总中断和外围中断*/

TRISC=0XFB;/*设置RC2/CCP1为输出*/

}

/*主程序*/

main()

{

INIT_CCP1();/*CCP1模块的PWM工作方式初始化*/

T2CON=0X03;/*前分频比为16,打开TMR2,同时输出PWM信号*/

}

(3)正弦信号发生模块

程序应用

#include

//本程序将通过PIC16F877的I2C方式驱动D/A转换器MAX518,使其D/A0通道输出

//一个连续的正弦波形

constchartable[]={0X80,0X86,0X8D,0X93,0X99,0X9F,0XA5,0XAB,

0XB1,0XB7,0XBC,0XC2,0XC7,0XCC,0XD1,0XD6,0XDA,0XDF,0XE3,0XE7,0XEA,0XEE,0XF1,0XF4,0XF6,0XF8,0XFA,0XFC,0XFD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0XFD,0XFB,0XF9,0XF7,0XF5,0XF2,0XEF,0XEC,0XE9,0XE5,0XE1,0XDD,0XD8,0XD4,0XCF,0XCA,0XC5,0XBF,0XBA,0XB4,0XAE,0XA8,0XA2,0X9C,0X96,0X90,0X89,0X83,0X80,0X79,0X72,0X6C,0X66,0X60,0X5A,0X55,0X4E,0X48,0X43,0X3D,0X38,0X33,0X2E,0X29,0X25,0X20,0X1C,0X18,0X15,0X11,0X0E,0X0B,0X09,0X07,0X05,0X03,0X02,0X00,0X00,0X00,0X00,0X00,0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1