unsigned char readsta()//du读状态:检测忙不忙:
{
unsigned char x;
rs=1;
en=0;
rs=0;
en=1;
x=key;
rs=1;
en=0;
return x;
}
void busy()//忙不忙
{
unsigned char y;bit f;
y=readsta();
f=(bit)(y>>7);
while(f==1)
{
y=readsta();
f=(bit)(y>>7);
}
}
单片机 LCD sbit key=0x80; KEY 的作用 readsta()的作用
你用 sbit 说明你用的是51单片机,KEIL开发环境,那么位地址0x80应该是端口P0的第0位bit0(你再确认一下)。那么,readsta()的作用是从端口P0的第0位读状态(外设输出的)。其中的RS,EN应该是外设芯片的控制信号。
用单片机C语言控制6位密码锁。要求有一个清除键和确认键,密码输错了...
KEYPORT=0xf0;\/\/行线输出0,列线输出全1 KeyTemp=KEYPORT;\/\/读按键端口值 if(KeyTemp==0xf0) return NO_KEY;\/\/无键按下,返回 KEYPORT=KeyTemp|0x0f;\/\/列线输出,行线输入 KeyTemp=KEYPORT;\/\/读取按键端口值 for(i=0;i<16;i++) { if(KeyTemp==KEYCODE[i])\/\/根据按键端口扫描值,查找按键值 retu...
51单片机c语言sbit的作用是什么
就是给P0^0又定义了个名字叫P00。这样在程序中用到P0^0的时候写P00就可以了,这样为的书写方便。如果没有SBIT就成了赋值语句。
求教一个51单片机程序。。(LCD电子时钟)
#define er 0x80+0x40\/\/液晶屏的与 C51 之间的引脚连接定义sbit rs=P2^5;sbit en=P2^7;sbit rw=P2^6;\/\/如果硬件上 rw 接地,就不用写这句和后面的 rw=0 \/\/DS1302 时钟芯片与 C51 之间的引脚连接定义sbit IO=P3^6;sbit SCLK=P3^5;sbit RST=P3^7;sbit ACC0=ACC^0;sbit ACC7=ACC^7;\/\/校...
手动计数器:一位数码管,一个按键,按下一次数码管加1,计数上限为9_百度...
是8个数码管?首先用8个十进制计数器互相连接,形成10X8=100000000进制计数器然后让按键作为一个clk输入,你可以设置成ifclk'eventandclk='1'上升沿触发计数,或者下降沿都可以按键按一次会产生一个脉冲的最后把每一个计数器结果分别译码输出到对应的数码管 ...
1602液晶显示器. 0x80+0x40+6. 是在什么位置显示字符啊
sbit key0=P2^0;\/\/功能键,对位进行选择 sbit key1=P2^1;\/\/ 加位 sbit key2=P2^2;\/\/减位 sbit EN= P3^4; \/\/读写段 sbit RS= P3^5;\/\/使能端 uchar miao,fen,shi; 扩展资料: 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母...
如何用单片机模拟键盘控制电脑
KeyV = KeyV >> 1; \/\/因键盘数据是低>>高,结合上一句所以右移一位 if (Key_Data)KeyV = KeyV | 0x80; \/\/当键盘数据线为1时到最高位 } IntNum++;while (!Key_CLK); \/\/等待PS\/2CLK拉高 if (IntNum > 10){ IntNum = 0; \/\/当中断11次后表示一帧数据收完,清...
单片机秒表程序 80C51
void lcd_check_busy(void) \/*当液晶不再busy,或者等待时间足够长时,返回*\/{ unsigned int retry; unsigned char c; for(retry=1000;retry>0;retry--) \/\/如果一直都忙,重试1000次??? { c=lcd_read_cmd_nowait(); \/* Check busy bit. If zero, no longer busy*\/ if(0==(c&0x80)) \/\/与...
帮解释一下这个单片机的程序
unsigned char code wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};\/\/下面是变量申明 unsigned char mode=0;unsigned int temp;float dianya;unsigned int dianya1;\/\/下面是51单片机端口位申明 sbit START=P1^5;sbit EOC=P1^6;sbit OE=P1^7;sbit a=P1^0;sbit b=P1^1;sbit c=...
单片机菜鸟问个小白问题 求解释 C语言程序的。
全局变量数组,8个元素,分别表示8个数码管分别显示什么。主程序部分一个循环,首先检测什么按键被按下,按了就给这个全局数组赋值 检测完了之后是显示的代码。我只操作过2位数码管,8位光靠扫描不确定能不能显示得稳定(不闪烁),这个只能靠你了,反正是显示,显示的代码就是从我刚刚说的全局数组读...