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

单片机显示函数理解

发布时间: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机程序有些区别,比如:死循环的处理

阅读全文

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

热点内容
什么java编译器支持中文 浏览:563
香港服务器如何做代理 浏览:201
pdf写入 浏览:986
高尔夫电台怎么添加到文件夹 浏览:239
四川麻将一般下哪个app 浏览:864
反编译exe脚本 浏览:462
源码文件夹怎么编译到固件中 浏览:912
ERp打印服务器错误怎么弄 浏览:113
蚌端口u盘加密软件有哪些 浏览:180
前端如何认证服务器 浏览:556
linux切换db2用户命令 浏览:308
相片如何用电解压 浏览:908
硕士程序员去学校当老师 浏览:122
pythonstr提取到字典 浏览:820
程序员那么可爱有人看上陆漓了 浏览:878
php正则提取图片 浏览:105
pythonlinuxdjango 浏览:564
php中文返回乱码 浏览:91
宿舍装的电信怎么加密 浏览:747
为什么压缩文件解压后变少了 浏览:428