/* ORG懸空,選16位模式 */
#include <at89x52.h>
#define _BV(n) (1 << (n))
sbit CS = P1^...
【程序】51單片機操作93C46存儲器/* ORG懸空,選16位模式 */
#include <at89x52.h> #define _BV(n) (1 << (n)) sbit CS = P1^... |
【程序】51單片機操作外部計數器74LS193#include <at89x52.h>
#define _BV(n) (1 << (n)) sbit PL = P3^0; // 置數端 sbit MR =... |
【程序】51單片機手動切換方式的多任務#include <at89x52.h>
#define MAX_TASKS 2 // 最大任務數 #define MAX_TASK_DEP 12 // 每個任務的棧容... |
【圖解】74HC595驅動8x8點陣 [圖片]![]() |
【資料】常見晶片數據讀寫操作的高低位順序DS1302: 從低到高
24C08: 從高到低 DS18B20: 從低到高 紅外遙控接收器件: 從低到高 74HC595: 從高到低 |
【程序】DS18B20測溫程序(12864液晶上顯示)#include <reg52.h>
#include <intrins.h> #define LCDClear() LCDWriteCmd(0x01) #d... |
【程序】24C08存儲器的操作#include <reg52.h>
#include <intrins.h> #define LCDClear() LCDWriteCmd(0x01) sb... |
【程序】通過串口控制DS1302時鐘、RAM數據以及實現時鐘更新的程序 [圖片]【上位機截圖】
獲取DS1302中的31位元組RAM數據(主電源切斷後仍能保存,只要備用電池有電): ![]() |
【程序】12864液晶顯示有符號int型整數的函數void LCDWriteNumber(int num)
{ char buf[7]; char i =... |
【解決辦法】51單片機程序卡在檢查12864液晶忙信號的while循環里拔掉開發板上P0口(液晶數據端口)的LED燈跳線即可。
因為如果P0口上同時接了LED燈的話,單片機無法正常讀取液晶通過P0口發來的數據。 【測試程序】 #include <r... |
【程式】1602液晶中寫入字元串時自動換行#include <reg52.h>
#include <intrins.h> sbit RS = P2^6; sbit RW = P2^5; sbit... |
【教訓】當C51單片機I/O口與NPN三極管基極相連時,最好在基極上接5k歐上拉電阻(不能太小)。這是我通過做c51單片機與共陰數碼管連接所得到的啟示
|
【圖解】1602液晶時序圖詳解 [圖片]![]() |
我終於知道為什麼在51單片機中執行P2 &= ~BIT(2);會出錯了在AVR單片機中,PORTC |= BIT(2) 和 PORTC &= ~BIT(2)均能正常運行,但是在C51單片機中後者會出錯。這主要是因為定義BIT宏的時候格式有問題。
在AVR單... |
今天,我又把課本上的Insert Str的程序移植到了單片機的1602液晶上 [圖片]程序(部分):
#include <reg51.h> #include "lcd.h" #define LCD1602_WriteCom(c) LcdWriteCom(c... ![]() |
本吧共有主題數26個,帖子數107篇,單片機愛好者數0位。 |
內容轉換: |