原创 OneWire組件

OneWire.h #ifndef _ONEWIRE_H #define _ONEWIRE_H sbit ONEWIRE_PIN = P1^4; //檢查通信引腳是否正確! bit OneWire_reset(); void

原创 51單片機項目 門禁系統

/**  * 項目名:門禁系統  * 文件名:main.h  */ #ifndef _MAIN_H #define _MAIN_H sbit RELAY_PIN = P0^4; sbit BUZZER_PIN = P0^6;

原创 C89標準庫頭文件——非本地跳轉的應用

setjmp函數用於設置跳轉的目的位置,longjmp函數進行跳轉。 env:保留了需要返回的位置的堆棧情況。 setjmp的返回值:直接調用該函數,則返回0;若由longjmp的調用,導致setjmp被調用,則返回status(lo

原创 基於OneWire組件的DS18B20組件

DS18B20.h #ifndef _DS18B20_H #define _DS18B20_H bit DS18B20_start(); bit DS18B20_getTemperature(int16_t * temp); ui

原创 51單片機項目:多功能記錄儀

main.h /** * 51單片機項目:多功能記錄儀 * 文件名:main.h */ #ifndef _MAIN_H #define _MAIN_H typedef struct msg { uint8_t hour;

原创 51單片機 超聲波測距組件

/** * 超聲波測距組件 * 文件名:ultrasonic.h */ #ifndef _ULTRASONIC_H #define _ULTRASONIC_H #define somenop(); { \ _nop

原创 單片機項目 溫度記錄儀

main.c /** * 工程名稱:溫度記錄儀 * Mode 0: 溫度採集間隔選擇模式,用以確定溫度採集間隔 * Mode 1: 採集並顯示實時時間,採集溫度並緩存 * Mode 2: 查看採集到的10個溫度樣

原创 事件驅動機制在單片機軟件中的應用

一、Windows的事件驅動機制     在Windows系統中,程序的設計圍繞事件驅動來進行。當對象有相關的事件發生時(如按下鼠標鍵),對象產生一條特定的標識事件發生的消息,消息被送入 消息隊列,或不進入隊列而直接發送給處理對象,主程序

原创 Linux學習筆記1

1.以root身份登錄系統,列出\目錄下的二級和三級子目錄,將結果放到指定的文件中。 解: ls -l /home > /home/direction2.txt ls -l /home/user > /home/user/direc

原创 將16位無符號整數轉化爲BCD碼存放在數組中

#include <stdio.h> #include <stdint.h> #include <string.h> uint8_t arry[3]; /** * 將16位無符號整數轉化爲BCD碼, * 每個BCD碼佔用半字節,一共

原创 I2C組件(新)

/** * 文件名:I2C.h */ #ifndef _I2C_H #define _I2C_H #define I2Cdelay(); { \ _nop_(); _nop_(); _nop_(); _nop_()

原创 循環冗餘檢驗(CRC)求幀檢驗序列(FCS)

#include <stdio.h> #include <stdint.h> /** * 循環冗餘檢驗(CRC),求幀檢驗序列(FCS) * 參數:M是待傳送的數據 * p是除數 * 返回:幀檢驗序列(FCS)

原创 位運算複習——字節的奇偶校驗和反轉一個字節中的二進制位

#include <stdio.h> #include <stdint.h> /** * 用軟件實現字節的奇偶校驗 * 返回值:如果這個字節中含有奇數個1,則返回1; * 否則返回0 */ uint8_t

原创 stc15系列單片機 timer組件

/** * 文件名:timer.h */ #ifndef _TIMER_H #define _TIMER_H #define SYS_MCLK 11059200 //系統主時鐘 #define FOSC 11059200

原创 51單片機常用開發工具的一些說明

51單片機常用開發工具 硬件工具:電烙鐵、萬用表、雙蹤示波器、邏輯分析儀、直流穩壓電源等。 軟件工具: Keil:這個版本最好選擇v4.72的,可以選擇UTF-8的字符編碼,這樣就不容易出現亂碼了。我之前用的v4.00版本的就沒有這一功能