亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? last.c

?? 此程序為一個MPLAB的工程。實現的是PIC單片機 包括串口,IIC口的應用。實現串口通信和IIC測溫度
?? C
?? 第 1 頁 / 共 2 頁
字號:
/**********************************
  Micochipp18f4520程序框架
**********************************/

#include <p18f4520.h>
#define MAXNUM 400 
#define MAXNUM2 200                           //最大容許分配384個字節,見連接器配置文件

unsigned char AD_flag=0;                       //AD轉換完標志
unsigned char DATA_flag;
unsigned char databattery[2];
unsigned char datatemp[2]={0,0};
unsigned int datacount;                        //測量記數

 unsigned char temper[2]="wd";        // 溫度標志
unsigned char battery[2]="dl";        // 電量標志

#pragma udata testdata                         //強制將大數組分配到一個特定的區域
ram unsigned char datace[MAXNUM];              //測量數據數組
// ram unsigned char datace2[MAXNUM2];              //測量數據數組
#pragma udata

void ADinitial(void);
void serialinital(void);
void initial(void);
void datatest(void);                           //導軌數據測量函數
void batterytest(void); 
void Testtemp(void);                           //溫度測試
void waitidle(void);                           //等待IIC空閑
void IICinitial(void);                         //IIC初試化            
void AD_isr(void);                             //AD中斷函數
//void senddata(unsigned char *p,unsigned char *q,unsigned int num);
void senddata(unsigned char *p);
void closeoropen(unsigned char key);           //電機電源開關
void control(unsigned char flag);              //電機正反轉控制
void ADread();                                 //AD讀數


/******************************
函數:void reset()
電機初始化復位,并設定任何開始測量時,電機都必須在左邊
*******************************/
void reset(void)
{
	unsigned int i = 20000,j,p;
    if(PORTDbits.RD7 == 0)
	{ 
    	control(0);                           //控制電機左轉
		closeoropen(1);                       //開電機電源
		while(PORTDbits.RD7 == 0);         //等待電機到頭
        while(i-->0);
        while(PORTDbits.RD7 == 0);
		closeoropen(0);                       //關電機
	}
}

/*****************************
函數:void timer0inition(void)
   初始化為定時方式 
*******************************/
void timer0inition(void)
{
		T0CON=0x09;           //16為定時方式,不分頻,查詢方式
//		TMR0H=0xf5;
//		TMR0L=0x26;           // 延時1MS

		TMR0H=0xfa;
		TMR0L=0x93;    //延時500us
		
		T0CONbits.TMR0ON=0;
		INTCONbits.TMR0IF=0;

}

/****************************
函數:void delay(unsigned int time)
延時 
*****************************/
void delay(unsigned int time)
{	
	while(time--)
	{	
		T0CONbits.TMR0ON=1;
		while(INTCONbits.TMR0IF==0);
        T0CONbits.TMR0ON=0;
		INTCONbits.TMR0IF=0;
//		TMR0H=0xf5;
//		TMR0L=0x26;           // 延時1MS

//		TMR0H=0xfa;
//		TMR0L=0x93;    //延時500us

		TMR0H=0xfc;
		TMR0L=0xbe;    //延時300us


		
		while(PORTDbits.RD6 == 1||PORTDbits.RD7 == 1)
			break;
		
	}
}

/******************************
函數:void closeoropen(char key)
電機電源開關,'0'關,‘1’開
*******************************/
void closeoropen(unsigned char key)
{	unsigned int i = 200,j,p;
	if(key == 1)
	//	LATBbits.LATB4 = 1;      //開電機
		LATBbits.LATB4 = 0;      //開電機
	else
	//	LATBbits.LATB4 = 0;      // 關電機
		LATBbits.LATB4 = 1;      // 關電機
    while(i-->0);
}

/******************************
函數:void control(char flag)
電機正反轉控制,‘0’時,電機往左跑,為‘1’時電機往右跑
*******************************/
void control(unsigned char flag)
{	unsigned int i = 200,j,p;
	if(flag == 1)
		LATDbits.LATD4 = 1;
	else
        LATDbits.LATD4 = 0;
	while(i-->0);
}

/******************************
函數名:initial()
單片機初試化
******************************/
void initial(void)
{
    //senddata("wo shi liu hongwen",40);
	INTCON=0;
	PIE1=0;
	PIE2=0;
    PIR1=0;
    PIR2=0;
    RCONbits.IPEN = 0;           //禁止中斷優先級
    TRISDbits.TRISD7 = 1;        //RD7為左到頭,光電管檢測,配置為輸入
    TRISDbits.TRISD6 = 1;        //RD6為右到頭,光電管檢測,配置為輸入
    
    TRISBbits.TRISB4 = 0;         //電機電源控制總開關
    TRISDbits.TRISD4 = 0;        //電機正反轉控制,先假設控制信號為‘0’時,電機往左跑,為‘1’時電機往右跑

    PORTBbits.RB4 = 1;           //切斷電機電源 RB is input LAT is output
}

/*****************************
函數名:serialinitial()
串口初始化
*****************************/
void serialinital(void)
{
	TXSTA=0X04;          
	RCSTA=0X80;             //串行端口使能,異步模式下使能連續接收
	TRISC=TRISC|0X80;
  	TRISC=TRISC&0XBF;
	SPBRG=35;               //11.0592M晶振時,SPBRG寄存器為35,波特率=FOSC/[16(X+1)] 波特率為19200
    TXSTAbits.TXEN = 1;
    RCSTAbits.CREN = 1;
}

/*******************************
函數名:IICinitial()
IIc總線初始化
********************************/
void IICinitial(void)
{
    TRISCbits.TRISC3 = 1;     
	TRISCbits.TRISC4 = 1;
	SSPCON1 = 0X28;            //使能IIC串行總線,并工作在主控方式
	SSPADD = 7;                //定義波特率,4MHz時,時鐘=4MHZ/[4*(7+1)]=0。125MHZ
	SSPSTAT = 0X80;            //IIC模式下,關閉標準速度方式的回轉率控制
	PIR1bits.SSPIF == 0;
	TMR1H = 0;
    TMR1L = 0;
	PIR1bits.TMR1IF = 0;
}	

/********************************
函數名:waitidle()
等待IIC空閑
********************************/
void waitidle(void)
{
  while ((SSPCON2 & 0x1F )|(SSPSTATbits.R_W ))
     continue;
}

/********************************
函數名:configtcn75(unsigned char cmd)
配置TCN75
*********************************/
void configtcn75(unsigned char cmd)
{
	SSPSTATbits.CKE = 1; 
	SSPCON2bits.SEN = 1;                     //啟動IIC
    while(SSPCON2bits.SEN == 1);             //等待IIC空閑將它設為1
	SSPBUF = 0x90;                           //寫TCN75器件地址
	waitidle();
	while(SSPCON2bits.ACKSTAT == 1);         //等待應答
	SSPBUF = 0x01;                           //寫TCN75配制寄存器config地址
	waitidle();
	while(SSPCON2bits.ACKSTAT == 1);         //等待應答
	SSPBUF = cmd;                            //寫TCN75配制寄存器config內容
	waitidle();
	while(SSPCON2bits.ACKSTAT == 1);         //等待應答
	SSPCON2bits.PEN = 1;
    while(SSPCON2bits.PEN == 1);             //發送停止位
}
	
/********************************
函數名:Testtemp()
啟動溫度測試
********************************/
void Testtemp(void)
{
	unsigned char str[]="wd";
	unsigned char temp,readdata = 0;
	unsigned char cmd_byte = 0x01;
	unsigned int j;
	IICinitial();									
	configtcn75(0xE0);                       //連續測量模式
    while(1)
	{
		SSPSTATbits.CKE = 1; 
		SSPCON2bits.SEN = 1;                 //啟動IIC
    	while(SSPCON2bits.SEN == 1);         //等待IIC空閑將它設為1
		SSPBUF = 0x90;                       //寫TCN75器件地址
		waitidle();
		while(SSPCON2bits.ACKSTAT == 1);     //等待應答
		SSPBUF = cmd_byte;                   //寫TCN75配制寄存器config地址
		waitidle();
		while(SSPCON2bits.ACKSTAT == 1);     //等待應答
		SSPCON2bits.RSEN = 1;                //重新發起始信號
		while(SSPCON2bits.RSEN == 1);  
		SSPBUF = 0X91;                       //讀TCN75
		waitidle();
		while(SSPCON2bits.ACKSTAT == 1);
		SSPCON2bits.RCEN = 1;                //容許接收
    	while(SSPCON2bits.RCEN == 1);
		while(!SSPSTATbits.BF);
		readdata = SSPBUF;
		if(cmd_byte == 0)
		{
			SSPCON2bits.ACKDT = 0;
			SSPCON2bits.ACKEN = 1;
     		while(SSPCON2bits.ACKEN == 1);
			SSPCON2bits.RCEN = 1;            //容許接收
    		while(SSPCON2bits.RCEN == 1);
			while(!SSPSTATbits.BF);
			temp = SSPBUF;
		}
		SSPCON2bits.ACKDT = 1;
		SSPCON2bits.ACKEN = 1;
     	while(SSPCON2bits.ACKEN == 1);
		SSPCON2bits.PEN = 1;
        while(SSPCON2bits.PEN == 1);         //發送停止位
		if(cmd_byte == 0) break;
		if(readdata & 0x80)
		    cmd_byte = 0x01;
		else
			cmd_byte = 0x00;

	}

			senddata(temper);

			datatemp[1]=readdata;			
			senddata(datatemp);

			 TXREG = 0xaa;
		while(PIR1bits.TXIF == 0);      //等待串口發送完成
		for(j = 300;j > 0;j--);

//	senddata(&readdata,str,1);
/*		TXREG = '#' ;
		while(PIR1bits.TXIF == 0);      //等待串口發送完成
		for(j = 300;j > 0;j--);

      	TXREG = readdata ;
		while(PIR1bits.TXIF == 0);      //等待串口發送完成
		for(j = 300;j > 0;j--);
	//	senddata(datatemp);
	//	senddata(end);
		
		 TXREG = 0xaa;
		while(PIR1bits.TXIF == 0);      //等待串口發送完成
		for(j = 300;j > 0;j--);
*/
}	
	
/******************************
函數名:ADinitial()
AD初始化
*******************************/
void ADinitial(void)
{
//	ADCON0 = 0X00;                          //選擇通道0
//	ADCON0 = 0X04;                         //選擇通道1
	ADCON1 = 0X3D;                          //選擇只有通道0,1為模擬輸入,其它的為數字IO,采用外部基準電壓源
    ADCON2 = 0XB1;
    PIE1bits.ADIE=0;                        //AD中斷不容許

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产91久久久久久最新毛片| 免费观看在线色综合| 亚洲线精品一区二区三区八戒| 亚洲图片欧美综合| 麻豆91在线看| 99久久精品国产观看| 欧美日本国产视频| 久久精品在线免费观看| 亚洲码国产岛国毛片在线| 天天操天天干天天综合网| 国产伦精品一区二区三区免费 | 在线一区二区三区| 7777精品伊人久久久大香线蕉的 | 激情综合网天天干| www.av亚洲| 日韩一区国产二区欧美三区| 亚洲国产高清不卡| 日产欧产美韩系列久久99| 不卡视频在线观看| 91麻豆精品国产91久久久更新时间| 久久久久久久久久久久久女国产乱 | 欧美国产精品一区二区三区| 亚洲主播在线播放| 国产精品一卡二| 欧美日韩国产一级二级| 亚洲国产精品精华液2区45| 午夜精品在线看| av电影在线观看一区| 日韩一级黄色片| 亚洲黄色在线视频| 粉嫩av亚洲一区二区图片| 制服丝袜亚洲网站| 亚洲精品中文字幕在线观看| 精品一区二区精品| 3d动漫精品啪啪| 亚洲精品国产a| 成人av免费在线| 久久综合色播五月| 奇米888四色在线精品| 色婷婷国产精品综合在线观看| 久久亚洲精品小早川怜子| 婷婷六月综合网| 色综合久久中文字幕综合网| 国产午夜一区二区三区| 麻豆专区一区二区三区四区五区| 欧美视频一区二区三区| 成人欧美一区二区三区视频网页 | 91精品视频网| 亚洲天堂免费在线观看视频| 国产精品一区二区在线看| 欧美videos中文字幕| 日韩有码一区二区三区| 欧美性猛交xxxx乱大交退制版| 国产精品久久久久国产精品日日| 国产美女在线观看一区| 精品国免费一区二区三区| 青青草91视频| 日韩视频在线一区二区| 午夜精品在线看| 欧美日韩成人在线| 亚洲丰满少妇videoshd| 91精彩视频在线| 一区二区高清视频在线观看| 99精品欧美一区二区蜜桃免费 | 国产a精品视频| 久久久美女艺术照精彩视频福利播放| 日韩影院免费视频| 欧美精品三级在线观看| 午夜天堂影视香蕉久久| 欧美日韩二区三区| 亚洲v日本v欧美v久久精品| 欧美日韩一区二区三区免费看| 亚洲欧美国产高清| 欧美中文字幕一区| 亚洲午夜电影网| 欧美日韩国产综合一区二区| 亚洲大型综合色站| 3d动漫精品啪啪一区二区竹菊| 日韩高清国产一区在线| 日韩欧美在线123| 久久99久久99小草精品免视看| 日韩免费电影一区| 国内精品在线播放| 欧美激情综合五月色丁香| 成人黄色在线视频| 一区二区三区四区不卡视频| 在线观看国产91| 天天综合色天天综合色h| 欧美一区二区三区白人| 激情欧美一区二区| 国产色一区二区| 99国产一区二区三精品乱码| 一区二区三区中文在线| 欧美片在线播放| 久久精品99国产精品| 久久精品无码一区二区三区| 国产成人午夜片在线观看高清观看| 中文字幕二三区不卡| 一本到不卡精品视频在线观看| 亚洲成av人**亚洲成av**| 欧美成人精精品一区二区频| 国产麻豆视频一区二区| 亚洲欧洲99久久| 欧美日韩亚洲另类| 国内精品伊人久久久久av影院| 国产精品免费人成网站| 在线精品视频免费播放| 免费成人你懂的| 中文字幕成人av| 欧美色网一区二区| 国精产品一区一区三区mba桃花 | 91麻豆精品秘密| 日本中文字幕不卡| 国产精品网站在线| 欧美日韩日本视频| 国产精品性做久久久久久| 日韩久久一区二区| 91精品国产综合久久国产大片| 国产一区二区h| 亚洲综合一二区| 2020国产精品自拍| 欧美亚洲精品一区| 国产美女久久久久| 亚洲成在人线在线播放| 久久久久久日产精品| 欧美中文字幕一二三区视频| 韩国v欧美v亚洲v日本v| 一区二区久久久久久| 久久综合成人精品亚洲另类欧美| 色婷婷亚洲婷婷| 国产在线精品一区二区不卡了| 玉米视频成人免费看| 久久综合狠狠综合久久综合88 | 首页国产欧美久久| 国产精品私房写真福利视频| 欧美剧情片在线观看| 丁香亚洲综合激情啪啪综合| 日韩不卡手机在线v区| 国产精品国产a级| 精品国产污污免费网站入口 | 悠悠色在线精品| 久久综合久久综合九色| 欧美人xxxx| 91丨porny丨在线| 国产高清久久久久| 免费欧美日韩国产三级电影| 亚洲精品乱码久久久久| 中文字幕欧美日韩一区| 精品久久久久99| 欧美日韩国产美| 色婷婷综合久久久久中文| 国产成人午夜99999| 久久99精品久久久久久动态图| 亚洲国产一区二区a毛片| 国产精品激情偷乱一区二区∴| 欧美精品一区二区三区蜜桃| 欧美影院一区二区三区| 99久久婷婷国产精品综合| 国产一区二区三区黄视频| 免费的国产精品| 肉色丝袜一区二区| 亚洲成人激情社区| 亚洲最色的网站| 亚洲视频一区二区在线观看| 欧美国产激情一区二区三区蜜月| 精品日韩在线观看| 日韩一级二级三级精品视频| 欧美午夜一区二区三区免费大片| 91在线精品秘密一区二区| 国产白丝精品91爽爽久久| 国产一区二区不卡| 国产麻豆精品久久一二三| 国内一区二区在线| 狠狠色伊人亚洲综合成人| 美腿丝袜亚洲综合| 青青青伊人色综合久久| 日本一区中文字幕| 日韩国产高清在线| 免费国产亚洲视频| 麻豆成人免费电影| 狠狠色丁香婷婷综合久久片| 麻豆91在线观看| 九九视频精品免费| 国产精品自拍网站| 国产精品一区二区三区乱码| 国产精品影视在线| 国产suv精品一区二区6| 成人国产精品免费观看视频| 成人精品小蝌蚪| 99精品视频一区| 在线影视一区二区三区| 欧美私模裸体表演在线观看| 欧美日韩亚洲高清一区二区| 欧美喷潮久久久xxxxx| 欧美一区二区三区四区高清| 欧美大白屁股肥臀xxxxxx| 精品国产乱码久久久久久老虎| 精品国产精品网麻豆系列| 欧美激情中文字幕一区二区| 亚洲欧洲美洲综合色网|