支持芯片:PIC12C5XX,12C67X,24CXX,16C55X,16C62X,16C71,16C71X,16C8X,16F8X.以下為原理圖,采用25針串口印刷電路板圖:(電路板中紅線為跳線)編程軟件用IC-Prog,很有名的編程軟件,支持很多
應(yīng)該說(shuō)有三個(gè)主要特點(diǎn):(1)總線結(jié)構(gòu):MCS-51單片機(jī)的總線結(jié)構(gòu)是馮-諾依曼型,計(jì)算機(jī)在同一個(gè)存儲(chǔ)空間取指令和數(shù)據(jù),兩者不能同時(shí)進(jìn)行;而PIC單片機(jī)的總線結(jié)構(gòu)是哈佛結(jié)構(gòu),指令和數(shù)據(jù)空間是完全分開(kāi)的,一個(gè)用
PIC單片機(jī)是一種可編程的芯片,數(shù)字電路也有些芯片具有可編程的能力?! 〉菙?shù)字電路的編程太簡(jiǎn)單,因而其功能也很少,但PIC單片機(jī)具有很強(qiáng)的編程能力,是數(shù)字電路無(wú)法實(shí)現(xiàn)的目標(biāo)。例如:筆者
PIC與485的通訊源程序#include"HardwareProfile.h"//Configurebits__CONFIG(HS&WDTDIS&PWRTDIS&BORDIS&LVPDIS);voidBoard_Init(void);#ifdefined(PIC_USE_HC595)bitb_Reflash;#endif#ifdefined(PIC_USE
如果具有一個(gè)需嚴(yán)格控制功率的應(yīng)用,并且它必須持續(xù)顯示數(shù)據(jù),則可以將LCDPlC單片機(jī)置于休眠模式,而LCD驅(qū)動(dòng)器模塊繼續(xù)驅(qū)動(dòng)顯示器?! ∫筁CD在休眠模式下繼續(xù)工作,只需兩個(gè)步驟。首先,必須選擇
include;*----;定義LCD數(shù)據(jù)&控制I/O口LCD_DATAequPORTBLCD_CNTL1equPORTBLCD_CNTL2equPORTA;定義LCD控制相應(yīng)的I/O引腳RSequ1Eequ5;LCD模塊命令DISP_ONEQU0x00C;開(kāi)顯示DISP_ON_CEQU0x00E;開(kāi)顯示,開(kāi)指針D
//PIC產(chǎn)生聲音的方法//★★★★★★★★★PIC產(chǎn)生聲音的方法★★★★★★★★★★★\\\\ //單征機(jī)型號(hào):PIC16F877A //功能描述:產(chǎn)生一個(gè)頻率段,驅(qū)動(dòng)BUZ發(fā)聲。 //端口定義:RC2,BUZ驅(qū)動(dòng)口。#include __CONFIG(0x
很多人說(shuō)C中不能精確控制延時(shí)時(shí)間,不能象匯編那樣直觀。其實(shí)不然,對(duì)延時(shí)函數(shù)深入了解一下就能設(shè)計(jì)出一個(gè)理想的框價(jià)出來(lái)?! ∫话愕奈覀兌加胒or(x=100;一x;){;} 此句等同與x=100
為了快速掌握PIC單片機(jī)源程序的基本結(jié)構(gòu),這里給出一個(gè)典型的程序結(jié)構(gòu)框架。建立源程序時(shí)首先用偽指令TITLE提供程序的標(biāo)題,接著給出整個(gè)程序的總說(shuō)明,并用列表偽指令LIST指定所用單片機(jī)型號(hào)和文件輸出
//;******************************************* #include #include #define uchar unsigned char #define uint unsigned int static volatile unsigned char acc @ 0x20; static volatile bit acc0 @ (u
#include#define uchar unsigned char #define uint unsigned int #define DQ RC1 #define DQ_HIGH() TRISC1=1 #define DQ_LOW() TRISC1=0;DQ=0 __CONFIG(0x3B31); const uchar table[]={0x3f,0x06,0x5b,0x4f,
;汽車(chē)防盜器報(bào)警聲;頻率分兩個(gè)0.1s第一個(gè);0.1S頻率從1.8K-3.5K勻速增加第二個(gè)0.1S頻率從3.5K-1.8K勻速減少,;程序復(fù)位后,按S2喇叭叫兩聲,按S3喇叭叫15秒,中途可按S5停止.;=============================
#include#define scl TRISC3 //定義時(shí)鐘線#define sda TRISC4 //定義數(shù)據(jù)線#define nop() asm("nop")//#define nop() asm("asm")#define uchar unsigned char#define uint unsigned int__CONFIG(0xf7
測(cè)試條件:PIC16F676使用內(nèi)部4MHzRC振蕩,電源電壓5V,測(cè)試在睡眠下的消耗電流單片機(jī)在外部IO口設(shè)置成輸入并有固定電平的情況下,程序進(jìn)入一個(gè)NOP指令和跳轉(zhuǎn)指令的死循環(huán)后耗電約1.26mA1.SLEEP之后:WDT
PIC單片機(jī)驅(qū)動(dòng)RT1602C程序RT1602C驅(qū)動(dòng)UART串口輸出,波特率為19200按鍵掃描: 鍵1控制LCD的顯示狀態(tài),接收狀態(tài)或是發(fā)送狀態(tài) 鍵2循環(huán)控制UART將要輸出的子串口AD轉(zhuǎn)換功能UART串口接收中斷TIME1定時(shí)器中斷
我是初次使用PIC單片機(jī),對(duì)PICC的編程規(guī)范不了解,在編譯程序時(shí)老是出問(wèn)題?,F(xiàn)在介紹兩個(gè)最常見(jiàn)的問(wèn)題給大家,看看有沒(méi)有和我遇到一樣問(wèn)題的。錯(cuò)誤1:變量定義賦值先后順序問(wèn)題很重要開(kāi)發(fā)環(huán)境為MPLAB IDE V7.43 + PI
//程序中沒(méi)有做按鍵去抖,也沒(méi)有考慮多個(gè)鍵同時(shí)按下的情況。//最低兩位數(shù)碼管顯示相應(yīng)的按鍵(如按下S10,在顯示10;按下S25,則顯示25)//無(wú)按鍵按下的時(shí)候顯示FF//按鍵跟按鍵的掃描結(jié)果滿(mǎn)足如下關(guān)系:
PIC單片機(jī)的查表程序可以利用子程序帶值返回的特點(diǎn)來(lái)實(shí)現(xiàn)。具體是在主程序中先取表數(shù)據(jù)地址放入W,接著調(diào)用子程序,子程序的第一條指令將W置入PC,則程序跳到數(shù)據(jù)地址的地方,再由“RETLW”指令將數(shù)
;I2C總線程序;thisiseepromread&writeprogramm;thespecialstoreramunitwequ0f0equ0rtCCequ1pcequ2f2equ2f3equ3f4equ4raequ5rbequ6rcequ7pclathequ0ahiNTConequ0bhpir1equ0chtmr1lequ0ehtmr1hequ0fht1co
BTFSSPORTB,VT;判斷VT管腳高低 GOTOKEY_DOWN;為低 BTFSCSYS_FLAG,VT_UP;為高,判斷標(biāo)志位VT_UP是否為低 GOTOUP_UP;為高,進(jìn)入按鍵高處理 BSFSYS_FLAG,GR_UP;為低,設(shè)高干擾標(biāo)志 BTFSCSYS_FLAG,GR_DOWN;是