/* 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位。 |
内容转换: |