自從開始學(xué)習(xí)單片機(jī)起,就覺得I2C是個(gè)很有用的東西,它能大大節(jié)省我們的端口,現(xiàn)把軟件模擬的I2C程序?qū)懗鰜?既是給大家分享,也是為自己做一下備份.下面的程序是用I2C存儲(chǔ)24C02: INCLUDE ;同樣可用于其他型號(hào);**********
在講基于MPLAB X IDE 配置位配置前我先講講如何配置配置位。比如PICLF1823的數(shù)據(jù)手冊(cè) 可以再器件配置中找到兩個(gè)寄存器。一個(gè)是配置字1 ,一個(gè)是配置字2.對(duì)于初學(xué)者來說如此多的配置選項(xiàng),該如何配置呢?我們要抓主重
公司的數(shù)控面板和控制板的連線是25芯的,但沒有既細(xì)又長(zhǎng)的配套線,所以一向都是自己用細(xì)線做的,但問題也就多了,乘著這幾天正學(xué)串口通信,用PIC單片機(jī)改裝了兩塊板,實(shí)現(xiàn)了雙機(jī)之間的異步通信,并用PROTEUS模擬了出來,跟有
0 引言 現(xiàn)代通訊設(shè)備、電子產(chǎn)品、電動(dòng)車輛、UPS等普遍采用蓄電池作為電源,然而多數(shù)充電設(shè)備功能單一,通用性差,維護(hù)質(zhì)量低,導(dǎo)致產(chǎn)品的使用效率大大降低。本文采用UC
1.設(shè)計(jì)思路 在單片機(jī)應(yīng)用系統(tǒng)中,如果采用干電池或者充電電池供電,則存在電池電壓不斷下降的問題,如果采用市電供電,則存在著電壓波動(dòng)和電源干擾的問題?! ‰娫措妷旱牟环€(wěn)定,是造成單片機(jī)執(zhí)行程序發(fā)生混亂甚
#include #define uchar unsigned char #define uint unsigned int __CONFIG(0x3B31); void init(); void main() { init(); TXREG=0x31; while(!TRMT); while(1); } void init() { TRISC=0xff; TXSTA
現(xiàn)代工業(yè)生產(chǎn)中,電動(dòng)機(jī)是主要的驅(qū)動(dòng)設(shè)備,目前在直流電動(dòng)機(jī)拖動(dòng)系統(tǒng)中已大量采用晶閘管(即可控硅)裝置向電動(dòng)機(jī)供電的KZ—D拖動(dòng)系統(tǒng),取代了笨重的發(fā)電動(dòng)一電動(dòng)機(jī)的F—D系統(tǒng),又伴隨著電子技術(shù)的高度發(fā)展,促使直流電
/****************************現(xiàn)象:通過查詢的方式利用SPI接口實(shí)現(xiàn)對(duì)74HC595的操作,并在數(shù)碼上顯示。*****************************/#include #include "../head/config.h" //包含自己的配置頭文件__CONFIG(HS&WD
1.最簡(jiǎn)單的點(diǎn)亮LED程序(C)//實(shí)驗(yàn)?zāi)康模狐c(diǎn)亮RC0口的LED //硬件設(shè)置:撥碼開關(guān)S11的第8位置ON,其他各位關(guān)閉。 #include //包含單片機(jī)內(nèi)部資源預(yù)定義 __CONFIG(0x1832); //芯片配置字,看門狗關(guān),上電延時(shí)開,掉電
TMR1是16位寬度的TMR1由2個(gè)8位的可讀寫的寄存器TMR1H和TMR1L組成。TMR1有專門的啟??刂莆籘MR1ON,通過軟件可以任意啟動(dòng)或暫停TMR1計(jì)數(shù)功能。T1CON:TIMER1 CONTROL REGISTERbit7-6 unimplemented :Read as ‘0’bit5
MPLAB簡(jiǎn)介MPLAB 集成開發(fā)環(huán)境(IDE)是一個(gè)綜合的編輯器、項(xiàng)目管理器和設(shè)計(jì)平臺(tái),提供以下功能:使用內(nèi)置的編輯器創(chuàng)建和編輯源代碼、匯編、編譯和鏈接源代碼,通過使用內(nèi)置的軟件模擬器觀察程序流程,或者使用在線仿
一.原理和功能介紹1.PROTEUS模擬的效果圖如下:我簡(jiǎn)要介紹一下系統(tǒng)的組成及各部分的功能本系統(tǒng)主要有五部分構(gòu)成:1.顯示和鍵盤顯示采用的是最常用最便宜的1602液晶,內(nèi)藏HD44780,且內(nèi)含簡(jiǎn)單字庫(kù).指令簡(jiǎn)單,容易上手鍵盤部
#include #define uchar unsigned char #define uint unsigned int __CONFIG(0x3B31); const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; const uc
可能的原因:也許,您該檢查一下您的電源走線是不是夠粗,或者,程序是不是一開始運(yùn)行就點(diǎn)亮LED或者叫BUZZER?因?yàn)?,PICmicro開始任務(wù)的電壓通常是蠻低的。如果因?yàn)樯鲜鲈蚨岆妷后E降,可能會(huì)讓Vcc電壓瞬間掉至re
單片機(jī)的顯示輸出常用來顯示系統(tǒng)參數(shù)、運(yùn)行結(jié)果及人機(jī)對(duì)話窗口。常用的顯示器主要有LED(數(shù)碼管)和LCD(液晶)。因LED應(yīng)用簡(jiǎn)單、價(jià)格低廉得到廣泛應(yīng)用,下面主要對(duì)其應(yīng)用進(jìn)行介紹。數(shù)碼管有共陰和共陽(yáng)之分,常見的結(jié)
為了把KS0108系列的液晶吃透,特別制作了這款萬年歷,感覺效果還是不錯(cuò)的.希望大家分享我的喜悅,畢竟有了更多志同道合的朋友支持,我才能更進(jìn)一步提高.一,原理介紹說明:1.單片機(jī)還是采用PIC中最經(jīng)典的PIC16F877A,端口多
1、當(dāng)對(duì)TMR1H和TMR1L初始化時(shí),預(yù)分頻器將會(huì)自動(dòng)清零。2、在寄存器對(duì)TMR1H和TMR1L進(jìn)行寫操作時(shí),將使預(yù)分頻器清零。當(dāng)TMR1處于運(yùn)行狀態(tài)時(shí),對(duì)TMR1H或TMR1L值進(jìn)行的寫操作,可能會(huì)寫入不希望的值。3、TMR1工作于異步計(jì)
#include#define uchar unsigned char #define uint unsigned int #define cs RC2 #define dout RC4 #define nop() asm("nop") __CONFIG(0x3B31); const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
在PIC的單片機(jī)中有多種型號(hào)有內(nèi)部RC振蕩器的功能,從而省去了晶振,不但節(jié)省了成本,并且我們還多了兩個(gè)IO端口可以使用。但是,由于RC振蕩器中電阻、電容的離散性很大,因此,在有內(nèi)部RC振蕩器的單片機(jī)中,它的內(nèi)部R
一、如何從匯編轉(zhuǎn)向PICC首先要求你要有C 語言的基礎(chǔ)。C代碼的頭文件一定要有#include,它是很多頭文件的集合,C 編譯器在pic.h 中根據(jù)你的芯片自動(dòng)載入相應(yīng)的其它頭文件。這點(diǎn)比匯編好用。載入的頭文件中其實(shí)是聲明