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

单片机显示函数理解

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

阅读全文

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

热点内容
裘锡圭pdf 浏览:726
android模拟器调试 浏览:135
sap命令大全 浏览:296
mysql导出数据命令 浏览:954
文件夹隐藏了出不来 浏览:562
电信网上大学源码 浏览:204
rr轮转调度算法 浏览:253
我的世界无法登入服务器怎么办 浏览:148
文件加密授权特定隐藏访问控制 浏览:801
程序员剑灵官网 浏览:516
php调用static方法 浏览:934
天正命令版 浏览:87
聚合支付加密币 浏览:314
蜜源app是什么时候创立的 浏览:707
计算机专业学51单片机 浏览:212
程序员不接受反驳 浏览:299
微软自带的压缩软件 浏览:290
中国玩家在日本服务器做什么 浏览:52
12864和单片机 浏览:899
25匹空调压缩机 浏览:650