#include
#define uc unsigned char
#define ui unsigned int
sbit RS=P3^5;
sbit RW=P3^6;
sbit E=P3^4;
void read_busy()//判断忙不忙;
{
uc busy;
P0=0xff;//
RS=0;
RW=1;
do
{
E=1;
busy=P0;
E=0;
}
while(busy&0x80);//若忙,则一直循环(0x10000000的1为禁止状态)
}
void write_cmd(uc cmd)//命令函数
{
read_busy();//执行上个语言,判断忙不忙
RS=0;
RW=0;
P0=cmd;
E=1;
E=0;
}
void write_dat(uc dat)//写命令
{
read_busy();
RS=1;
RW=0;
P0=dat;
E=1;
E=0;
}
void main()
{
write_cmd(0x38);//显示模式
write_cmd(0x0f);//开显示,显示光标,并闪烁
write_cmd(0x06);//指针加一,光标加一
write_cmd(0x01);//清0
write_cmd(0x80|0x03);//第一行第四个开始
write_dat(0+'0');//输入的字符
write_dat(0+'1');
write_dat(0+'2');
}
关键字:51单片机 液晶显示
引用地址:
51单片机基本的源码(1602液晶显示)
推荐阅读最新更新时间:2024-03-16 15:45
51单片机-IIC
IIC(Inter-Intergrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线。用于连接微控制器及其外围设备。IIC只需两根线SDA(数据线),SCL(时钟)。IIC支持多主控,当然,在任何时间点上只能有一个主控,而SPI是一主多从。IIC各种被控制电路均并联在这条总线上,每个模块和电路都有唯一的地址。SPI是通过CS进行片选,有多少个SPI就要占用多少口。IIC总线在传输数据过程中有3个信号,它们分别是:开始信号,结束信号和应答信号。 IIC总线的硬件结构图: IIC支持多主和主从工作方式,通常为主从工作方式。在主从工作方式中,系统中只有一个主器件(单片机),其它器件都是具有IIC总
[单片机]
51单片机红外遥控解码
红外遥控发射芯片采用PPM编码方式,当发射器按键按下后,将发射一组108ms的编码脉冲。遥控编码脉冲由前导码、8位用户码、8位用户码的反码、8位操作码以及8位操作码的反码组成。通过对用户码的检验,每个遥控器只能控制一个设备动作,这样可以有效地防止多个设备之间的干扰。编码后面还要有编码的反码,用来检验编码接收的正确性,防止误操作,增强系统的可靠性。前导码是一个遥控码的起始部分,由一个9ms的低电平(起始码)和一个4. 5ms的高电平(结果码)组成,作为接受数据的准备脉冲。以脉宽为0. 56ms、周期为1. 12ms的组合表示二进制的“0”;以脉宽为1. 68ms、周期为2. 24ms的组合表示二进制的“1”。如果按键按下超过108m
[单片机]
基于SJA1000的CAN总线和AT89C51单片机实现运动控制系统的设计
1、引言 运动控制系统是以机械运动的驱动设备—电动机为控制对象, 以控制器为核心, 以电力电子、功率变换装置为执行机构, 在自动控制理论指导下组成的电气传动控制系统。在电气时代, 电动机一直在现代化的生产和生活中起着十分重要的作用。在近年来, 由于半导体制造设备等相关的电子制造设备市场大幅成长, 而使得机器设备上的运动控制系统出现了以下几点技术需求: ( 1) 多轴运动控制。机器设备因自动化程度提高而使得单一机器上所需要的轴数增多, 一台设备上十几轴是常见的事情。在轴数变多后, 如何协调各轴动作就是一个重要的课题。 ( 2) 体积要小。由于厂房空间的限制, 机器的体积要求越小越好, 机器内控制器的体积也就被要求愈来愈小, 相对
[单片机]
51单片机控制模拟交通信号灯
采用单片机的I/O口PO口通过上拉电阻和交通灯相连接,P3.0、P3.1口接到数码管控制位上,控制数码管的显示,程序放在STC89C52RC单片机的ROM中,在十字路口的四组红、黄、绿交通灯中,由单片机的 P1.0-P1.2 、P1.5-P1.7、P2.0-P2.2、P2.5-P2.7控制,由于交通灯为发光二极管且阳极通过限流电阻和电源正极相连,因此I/0口输出低电平时,与之相连的指示灯会亮,并通过数码管显示时间倒计时。I/0口输出高电平时,相应指示灯会灭。当交通出现障碍需要恢复到初始状态时,按下复位键即可,此键由单片机的9脚RST键控制。 制作出来的实物图如下: Altium Designer画的原理图和PCB图如下:(
[单片机]
STC51从入门到精通(汇编)~~~ 第三讲:MCS-51单片机的结构和工作原理
3.1 概述: MCS-51单片机芯片有许多种: 如8051、8031、8751、80C51、80C31等。 它由8个部件组成: 1、中央处理器(CPU)核心 2、时钟电路 12MHz 3、程序存储器(ROM/EPROM)4KB 4、数据存储器(RAM)128B+128B SFR 5、并行I/O口(P0~P3)P0和P2兼作外总线 6、串行口 全双工串行口 7、定时器/计数器 2个16位 8、中断系统 5个中断源,高级和低级两级优先级别 它们都是通过总线连接,并被集成在一块半导体芯片上,为单片微型计算机。 3.1.1 MCS
[单片机]
51单片机点阵解析
感谢大熙熙 对51单片机点阵代码的详细分析 http://www.cnblogs.com/one-meter/p/4188277.html 网址阐述了他对代码的解析 不过部分代码解析不够透彻 我融入了个人对代码的理解 并且做了详细的解析 代码参考了普中给的代码 网上代码很多可以自己下载测试 代码如下 #include reg52.h #include intrins.h //重定义 函数变量 #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //spi 所使用的 3个管脚
[单片机]
51单片机C51精确延时
如下程序能实现ms级的比较精确的延时: void Delayms(unsigned int n) { unsigned int i,j; for(j=n;j 0;j--) for(i=112;i 0;i--); } 用keil可以看出这个延时的时间,我们先延时1ms(Delayms(1))。 进入Delayms前,sec=0.00042209s 延时后,sec=0.00142253s 可以知道Delayms(1)实际延时0.00142253s 0.00042209s=0.00100044s 1ms 同样如果想延时15ms的话,用Delayms(15),实际延时0.01480903s 15ms
[单片机]
基于51单片机和加速度传感器在人体坐姿的中的应用
本文把加速度传感器作为检测的模块,一方面可用来防止坐姿的不当,提醒本人注意坐姿,另一方面可用来做运动的测量装置如(计步器)(灯光调节器)(音乐调节器)。可把它作为一个运动检测的扩展平台,故其具有广阔的应用前景。 坐姿纠正系统 本设计主要是完成对颈部、背部、腰部以及腿部的测量。首先是静止状态下颈部和背部的检测。有关数据表明:人体在正常情况下,当脊柱的倾斜度偏离正常生理弯曲大于15度,时间达到40~50秒,就有可能形成不良姿势习惯。这时利用置于颈部的加速度传感器给出的倾斜度数据进行报警提醒,对于初始的人体正常生理弯曲,将设定一个固定的门限值,以针对不同的对象,来得到最佳的报警提示。其次是运动状态下时腰部和腿部的检测
[单片机]