本文主要描述 PCF8563 的中斷輸出功能,并給出相應的范例。范例實現(xiàn)每1s 從/ int腳產(chǎn)生一次中斷輸出的功能。用戶可以修改范例中定時器時鐘源和倒計數(shù)數(shù)值寄存器的值,以得到滿足自己需要的中斷輸出周期,輕松實現(xiàn)PCF8563 中斷輸出功能。
上傳時間: 2013-11-08
上傳用戶:阿譚電器工作室
The PCA9542A is a 1-of-2 bidirectional translating multiplexer, controlled via the I2C-bus.The SCL/SDA upstream pair fans out to two SCx/SDx downstream pairs, or channels.Only one SCx/SDx channel is selected at a time, determined by the contents of theprogrammable control register. Two interrupt inputs, int0 and int1, one for each of theSCx/SDx downstream pairs, are provided. One interrupt output, int, which acts as anAND of the two interrupt inputs, is provided.
上傳時間: 2013-12-07
上傳用戶:europa_lin
PCA9545A/45B/45C 是一款I2C 總線擴展器件,通過它可以將一路I2C 總線擴展為四路,在對內(nèi)部控制寄存器進行相應配置后,可同時選擇一路或者多路下行I2C 總線與上行I2C 總線相連。該器件具有四個中斷輸入int0 - int3 和一個中斷輸出int ,分別對應四路下行I2C總線和一路上行I2C 總線,四個中斷輸入相“與”后控制中斷輸出int 狀態(tài)。
上傳時間: 2014-01-25
上傳用戶:ainimao
keil 使用筆記:在Memory窗口上輸入address_type:address才能看到正確地址的變量debug~perfermance analyzer加入要察看的模塊名稱,然后view~perfermance analyzer window 可以察看各個模塊運行時間①Display address_type:address B:Bit address C:Code Memory Bx:Code Bank D D:80H 命令可以查看特殊寄存器 data D I:0 命令可以查看內(nèi)部RAM數(shù)據(jù)iData; D X:0 命令可以查看外部RAM數(shù)據(jù)xData; ②R1 //顯示R1 register ~R1 //顯示變量R1 R1 = R7 //對寄存器Rx操作R1 = --R7 R1 = 0x20 ③main //顯示main()的開始地址d main //顯示main()的代碼④向RAM.ROM中寫數(shù)據(jù)Enter data_type address_type:address expr,expr.... data_type:int char double float long E char data:0x20 1,2,3,4 //向data區(qū)0x20開始的地址寫1,2,3,4 變量放在RAM的30H,要把定義放在main前面!另外特別注意,內(nèi)部RAM通常供C程序存放中間變量等,所以一定要看看編譯后的程序中是否存在存儲單元沖突的情況,比如如果程序中 使用了別的寄存器組的話,08-1FH單元就不能用了unsigned long data i _at_ 0x30
上傳時間: 2013-11-05
上傳用戶:dongqiangqiang
單片機軟件濾波的幾種方法:假定從AD中讀取數(shù)據(jù)的子程序為:unsigned int get_ad();1、限幅濾波法(又稱程序判斷濾波法)A、方法:根據(jù)經(jīng)驗判斷,確定兩次采樣允許的最大偏差值(設為A)。每次檢測到新值時判斷:如果本次值與上次值之差<=A,則本次值有效;如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值代替本次值。B、優(yōu)點:能有效克服因偶然因素引起的脈沖干擾C、缺點:無法抑制那種周期性的干擾,平滑度差D、軟件實現(xiàn)://=======================//值A可根據(jù)實際情況調(diào)整,value為有效值,new_value為當前采樣值//濾波程序返回有效的實際值
上傳時間: 2013-10-20
上傳用戶:xiaojie
基于LabVIEW和單片機的空調(diào)溫度場測量系統(tǒng)的研究:室內(nèi)溫度是空調(diào)系統(tǒng)舒適性的重要指標,對其及時、準確地測量顯得非常重要。介紹單片機AT89C51 和數(shù)字式、單總線型溫度傳感器DS18B20 組成矩形測量網(wǎng)絡采集空調(diào)室內(nèi)40 點溫度,LabVIEW作為開發(fā)平臺,二者之間通過串口實現(xiàn)數(shù)據(jù)通信,利用LabVIEW強大的數(shù)據(jù)處理和顯示功能對采集的空調(diào)溫度場數(shù)據(jù)進行實時處理、分析和顯示,詳細介紹了系統(tǒng)的硬件結構和軟件模塊的設計方案。關鍵詞:單片機;DS18B20 ;LabVIEW;串行通信 Abstract : Temperature is a very important criterion of air condition system′s comfort , so it is very significant to measure it accurately and real timely. This paper int roduces a data acquisition system of measuring 40 point s temperature for air condition room based on single wire digital sensor DS18B20 and microcont roller AT89C51 which are composed of rectangle measuring meshwork. The data communication between LabVIEW and microcont roller is executed via serial port ,and the temperature field data of air condition room are processed analyzed and displayed on LabVIEW. The hardware and software modules are also given in detail.Keywords : single chip ;DS18B20 ;LabVIEW; serial communication
上傳時間: 2014-05-05
上傳用戶:KSLYZ
這一顆,我們學習如何讓跑馬燈自動按照我們預定的順序進行。這種控制在工控場合經(jīng)常用到。這個程序里,我們預先定義了一個變化的順序speedcode,每跑一圈燈就根據(jù)預定設置的表格數(shù)據(jù)來決定下一圈的跑馬速度。這樣我們就實現(xiàn)了按照預定的順序自動變化運行。請看代碼:-----------------------------------#define uchar unsigned char //定義一下方便使用#define uint unsigned int#define ulong unsigned long#include <reg52.h> //包括一個52 標準內(nèi)核的頭文件sbit P10 = P1^0; //頭文件中沒有定義的IO 就要自己來定義了sbit P11 = P1^1;sbit P12 = P1^2;sbit P13 = P1^3;bit ldelay=0; //長定時溢出標記,預置是0uchar speed=10; //設置一個變量保存跑馬燈的移動速度uchar code speedcode[10]={3,1,5,12,3,20,2,10,1,4}; //10 個預定義的速度char code dx516[3] _at_ 0x003b;//這是為了仿真設置的//可編程自動控制跑馬燈void main(void) // 主程序{uchar code ledp[4]={0xfe,0xfd,0xfb,0xf7};//預定的寫入P1 的值uchar ledi; //用來指示顯示順序uchar i;RCAP2H =0x10; //賦T2 的預置值0x1000,溢出30 次就是1 秒鐘RCAP2L =0x00;TR2=1; //啟動定時器ET2=1; //打開定時器2 中斷EA=1; //打開總中斷
上傳時間: 2013-11-20
上傳用戶:ming529
數(shù)據(jù)類型和運算符、表達式是是C51語言程序設計的最基礎知識,C51語言把數(shù)據(jù)分成了多種數(shù)據(jù)類型,并提供了豐富的運算對數(shù)據(jù)進行處理。本章對C51語言的基本數(shù)據(jù)類型、常量變量、運算符及表達式等進行詳細介紹。1.掌握數(shù)據(jù)類型的概念,了解C51語言能夠處理的數(shù)據(jù)類型。2.掌握常量的概念,掌握各種類型常量的特點及表示形式。3.掌握變量的概念,了解int、float、char型變量的特點,掌握這三種類型變量的定義、賦值和使用方法。理解C51中變量的存儲和編譯模式的關系,掌握單片機片內(nèi)資源的訪問方法。4.了解C51語言的基本運算符及其特點,掌握運算符的優(yōu)先級和結合性的概念。5.了解算術運算表達式、關系表達式及邏輯表達式的特點,熟練進行表達式計算,能熟練進行實際問題的表達式描述。6.熟悉自增、自減運算的特點,掌握賦值運算,了解逗號運算符和逗號表達式。7.掌握數(shù)據(jù)類型轉換的概念,能進行基本的數(shù)據(jù)類型轉換。
標簽: C51
上傳時間: 2013-12-26
上傳用戶:dingdingcandy
單片機接口技術(C51版)課件:單片機接口技術(C51版)課件精品課程,該書由張道德根據(jù)多年單片機教學、科研經(jīng)驗編著,中國水利水電出版社2007年3月出版。 1.掌握數(shù)據(jù)類型的概念,了解C51語言能夠處理的數(shù)據(jù)類型。2.掌握常量的概念,掌握各種類型常量的特點及表示形式。3.掌握變量的概念,了解int、float、char型變量的特點,掌握這三種類型變量的定義、賦值和使用方法。理解C51中變量的存儲和編譯模式的關系,掌握單片機片內(nèi)資源的訪問方法。4.了解C51語言的基本運算符及其特點,掌握運算符的優(yōu)先級和結合性的概念。5.了解算術運算表達式、關系表達式及邏輯表達式的特點,熟練進行表達式計算,能熟練進行實際問題的表達式描述。6.熟悉自增、自減運算的特點,掌握賦值運算,了解逗號運算符和逗號表達式。7.掌握數(shù)據(jù)類型轉換的概念,能進行基本的數(shù)據(jù)類型轉換。
上傳時間: 2013-10-10
上傳用戶:jcljkh
//芯片資料請到www.elecfans.com查找 //DS1820 C51 子程序//這里以11.0592M晶體為例,不同的晶體速度可能需要調(diào)整延時的時間//sbit DQ =P2^1;//根據(jù)實際情況定義端口 typedef unsigned char byte;typedef unsigned int word; //延時void delay(word useconds){ for(;useconds>0;useconds--);} //復位byte ow_reset(void){ byte presence; DQ = 0; //pull DQ line low delay(29); // leave it low for 480us DQ = 1; // allow line to return high delay(3); // wait for presence presence = DQ; // get presence signal delay(25); // wait for end of timeslot return(presence); // presence signal returned} // 0=presence, 1 = no part //從 1-wire 總線上讀取一個字節(jié)byte read_byte(void){ byte i; byte value = 0; for (i=8;i>0;i--) { value>>=1; DQ = 0; // pull DQ low to start timeslot DQ = 1; // then return high delay(1); //for (i=0; i<3; i++); if(DQ)value|=0x80; delay(6); // wait for rest of timeslot } return(value);} //向 1-WIRE 總線上寫一個字節(jié)void write_byte(char val){ byte i; for (i=8; i>0; i--) // writes byte, one bit at a time { DQ = 0; // pull DQ low to start timeslot DQ = val&0x01; delay(5); // hold value for remainder of timeslot DQ = 1; val=val/2; } delay(5);} //讀取溫度char Read_Temperature(void){ union{ byte c[2]; int x; }temp; ow_reset(); write_byte(0xCC); // Skip ROM write_byte(0xBE); // Read Scratch Pad temp.c[1]=read_byte(); temp.c[0]=read_byte(); ow_reset(); write_byte(0xCC); //Skip ROM write_byte(0x44); // Start Conversion return temp.x/2;}
上傳時間: 2013-11-03
上傳用戶:hongmo