导航:首页 > 操作系统 > 单片机显示函数理解

单片机显示函数理解

发布时间:2023-08-19 17:28:08

⑴ 这两个单片机用液晶屏程序(函数)如何理解

大致看了看,应该挺简单的。但是符号"<<="忘记什么意思了。我再看看,呵呵.......
//////////////////////////////////////////////////////////////////
void LCD_WrDat(U8 data) //该函数功能应该是写一字节数据到存储器或者说是到液晶屏吧
{
U8 i=8;
LCD_Data_Out &= ~LCD_CS; //LCD_CS=0
LCD_Data_Out |= LCD_CD; //LCD_CD=1
LCD_Data_Out&=~LCD_SCL; //LCD_SCL=0
//以上是各控制信号满足写数据的条件
//asm("nop");
while(i--) //(i=8)以下循环8次
{
if(data&0x80) //如果所传送的数据第八位为1
{LCD_Data_Out|=LCD_SDA;} //则LCD_SDA=0
else{LCD_Data_Out&=~LCD_SDA;} //否则LCD_SDA=1
//以上是判断第八位是否为1后SDA信号的输出情况
LCD_Data_Out|=LCD_SCL; //LCD_SCL=1
asm("nop"); //nop
//asm("nop");
LCD_Data_Out&=~LCD_SCL; //LCD_SCL=0
data<<=1; //执行数据传输操作(个人认为数据传输完毕后有一位左移功能,函数循环了八次刚好是传输了一字节,传输方式是先从最高位传起)
}
LCD_Data_Out |= LCD_CS; //数据传输完毕后 LCD_CS=1
}

void LCD_WrCmd(U8 cmd) //该函数功能应该是写一字节数据到CMD
{
U8 i=8; //以下的说明和上一函数没有太大区别,主要是一些控制信号的取值不一样

LCD_Data_Out &= ~LCD_CS;
LCD_Data_Out &= ~LCD_CD;
LCD_Data_Out&=~LCD_SCL;
//asm("nop");
while(i--)
{
if(cmd&0x80){LCD_Data_Out|=LCD_SDA;}
else{LCD_Data_Out&=~LCD_SDA;}
LCD_Data_Out|=LCD_SCL;
asm("nop");
//asm("nop");
LCD_Data_Out&=~LCD_SCL;
cmd<<=1;
}
LCD_Data_Out |= LCD_CS;
}
总的来讲以上函数不是很难,主要是一些控制信号SDA CS SCL等等的取值问题,这在LCD说明书上应该有说明。在满足各个数据传输信号要求的情况下进行数据传输,每一个函数都是进行一个字节的传输操作。水平有限,难免错误。

⑵ 怎么理解这个单片机延迟函数

这个单片机延迟函数,其实就是 空操作 加 计数循环,至于延时时间 就要看用的单片机 指令周期而定,12T指令周期的约40uS左右,1T指令周期的约为5~6uS吧,单片机延迟函数可以有很多方法编写,看行程需要而定,有得较长时间的延时最好不要用延时函数写(因为延时函数是占用CPU时间资源的)。

⑶ 单片机中什么是函数

一般来说,实现某个功能的功能块,程序中会以子函数的形式出现,在main函数中调用实现想要的功能。对于复杂的处理器来说,各公司可能提供库函数,方便用户开发,比如STM32,DSP。。。

需要注意,单片机程序和PC机程序有些区别,比如:死循环的处理

阅读全文

与单片机显示函数理解相关的资料

热点内容
数控铣床编程代码大全 浏览:865
程序员相亲被骂 浏览:808
r6单片机 浏览:612
牛客编程题怎么评分 浏览:187
希沃白板怎么在安卓重置系统 浏览:841
python处理json过大 浏览:260
vs2015支持python 浏览:209
买eth用哪个app 浏览:711
phpbrowser 浏览:542
安卓手机怎么设置陌生免打扰 浏览:809
如何看见自己手机号安卓 浏览:122
香烟源码查询 浏览:774
台达文本编程软件 浏览:718
单片机烧写器使用视频 浏览:996
拍照哪个app比较好 浏览:132
dhcp服务器不能分配MAC地址 浏览:964
java伪随机数 浏览:128
涂色书怎么解压 浏览:465
三角形圆边编程 浏览:457
手机压缩文件怎么压缩到十兆以下 浏览:987