工作以來一直使用ST的單片機,其他的單片機雖大致了解但從未認真看過,近幾日恰好無事,決定熟悉一下PIC的單片機,于是想將自己從網(wǎng)上或這書本上的東西轉下來,予以同一樣的初學者共同參考。 PIC的指令系統(tǒng) PIC 8位
DMF5001N圖形液晶顯示模塊由一塊160×128點陣單屏結構的液晶顯示器件、兩片T6961B、兩片T6A39、一片T6963C及其8KRAM以及配套電路組成。T6963C有一內(nèi)置字符器CGROM,共有128個5×7點陣ASCII字符;它
//中斷的應用二//★★★★★★★★★數(shù)字鐘★★★★★★★★★★★\\\\ //單征機型號:PIC16F877A //功能描述:數(shù)字鐘功能,初始顯示時間為12點,且?guī)謩诱{整時間功能。 //端口定義:RA0~RA5數(shù)碼管位控制口、RD0~R
看門狗計時器(Watch Dog Timer)是一個片內(nèi)自振式的RC振蕩計時器,無需任何的外接元件。這意味著即使芯片OSC1/OSC2上振蕩停止了(例如執(zhí)行指令SLEEP后),WDT照樣保持計時。WDT計時溢出將產(chǎn)生RESET。在
PIC16C5X內(nèi)藏有上電復位電路(POR)。在芯片上有一復位端MCLR,對于一般的應用,只要把MCLR端接在高電位(VDD)即可,因為內(nèi)部復位電路會在芯片上電時自動復位,無需在MCLR端再加上電復位電路。對于某些
在我一次產(chǎn)品中有AVR和PIC兩種芯片同時存在,當用AVR推動繼電器--再推動接觸器。用PIC來顯示。發(fā)現(xiàn)PIC居然有點小小的干擾,不得不在外圍電路上加措施才解決問題。都說PIC的抗干擾一流的,我懷疑之下對兩種單片機做一
菜鳥學PIC單片機(三)LCD時鐘的總結,并由中斷暫禁的后果說開去上回說到剛接觸PIC沒20天的菜鳥碧水長天準備"野心勃勃"寫一段LCD顯示精確時鐘的但遭到無情狙擊的故事,幸好得到這里行家的點撥,方能理清一點
用c語言實現(xiàn)24LC256讀寫(非軟件模擬方式)#include unsignedCHARi=0; unsignedCHARreceive=0x00; void i2c_start() { SEN=1;//啟動 do{ }while(SSPIF==0); SSPIF=0; } void i2c_stop() { PEN=1;//
PIC系列8位單片機為適應各種不同的用途,有多種型號可供選用。但是,盡管PIC單片機有不同的檔次和型號,但其最基本的組成則大同小異。因此,在這里先從型號PIC16F84的單片機入手,討論其基本組成。PIC1
INCLUDE ;MCUPIC16F877DIP40LIST P=PIC16F877;__CONFIG _CP_OFF&_DEBUG_OFF&_PWRTE_ON&_WDT_OFF&_XT_OSC&_LVP_OFF ;PIC16F877;__IDLOCS0x7206errorlevel -302 errorlevel -203CBLOCK 20HCOUNTERHC
下面的例子對BANK1和BANK2的30H及50H寄存器寫入數(shù)據(jù)。 例1.(設目前體選為BANK0) BSF 4,5 ;置位bit5=1,選擇BANK1 MOVLW DATA MOVWF 10H
1.書本學習和動手編程對已有一定電子技術實踐知識的讀者而言,初學PIC單片機編程技術時,初其階段最好是書本學習為輔、動手編程為主,其分配比例為20%與80%的關系。這樣可達到速成目的。為此必須首
/*CCP1輸出比較*/#include "pic.h"void initPORTB(void); void initCCP1(void); void interrupt CCP1INT(void);void main() { initPORTB(); initCCP1(); while(1) { } }void initCCP1() { TRISC=0x00; T
一、引言 當前,能源已成為制約很多國家發(fā)展的瓶頸,特別是廣大發(fā)展中國家,能源緊缺現(xiàn)象逐步凸現(xiàn),世界各國對石油資源的爭奪不斷加劇,甚至引發(fā)局部戰(zhàn)爭;作為最大的發(fā)展中國家,我國必須在實現(xiàn)能源來
//利用T1中斷實現(xiàn)每秒加1功能 // //PORTC為段選控制端a-g,D0-D4分別控制共陽極數(shù)碼管的位選, #include #include #define uint unsigned int #define uchar unsigned char const char table[10]= //恒定不變
I2C總線特點I2C總線最主要的優(yōu)點是其簡單性和有效性。由于接口直接在組件之上,因此I2C總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本。總線的長度可高達25英尺,并且能夠
紅外接收目前用的比較多的有三種方法.1,查詢法,既軟件不停地查詢是否為低(遙控信號)然后通過精確延時讀頭碼.和數(shù)據(jù)0或1碼.2,讀到有信號輸入時開打開定時計數(shù)器,然后通過讀定時器的中斷次數(shù),來判定頭碼和
接收采用中斷實現(xiàn) #include unsigned char error=0x00;//錯誤數(shù)據(jù)幀,丟棄 bit Q=0;//一次數(shù)據(jù)幀接收完成標志位 unsigned char message[10]; //數(shù)據(jù)信息緩存區(qū) unsigned char j=0x00;//數(shù)據(jù)信息的長度 void
#include__CONFIG(0x1832);constcharTABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0X82,0XF8,0X80,0X90};//定義常數(shù)0-9的數(shù)據(jù)表格 volatileunsignedcharresult=0,temp=0,f=0;volatileunsignedinttotal=0,ge
#include #define uchar unsigned char #define uint unsigned int __CONFIG(0x3B31); void delay(uint x); void main() { TRISE1=0; TRISB=0x0f; RE1=0; while(1) { if(RB0==0) { delay(10); if(RB0