void DelayMS(unsigned int x) { unsigned char i; while(x--) {for(i=0;i<120;i++); } } void main { P0=0xfe; while(1) { P0<<1; DelayMS(150); } } (1)初始状态时8只发光二极管点亮情况。 (2) 在初始P0=0xfe, P0<<1被执行一次,8只发光二极管的点亮情况。
这个程序是根据51的主频,经实际测试进行一次循环:for(i = 0; i < 120; i++);实测要用1ms时间(约120次++运算耗时),所以调用这个循环几次就约等于延时几毫秒。250表示需要由延时函数调用循环250次以实现延时250毫秒(1/4秒)。
void delayms(unsigned char ms);sbit\x05K1 = P3^2;void main(void){\x05P0 = 0xff;\x05P2 = 0xff;\x05TMOD = 0x11;\x05\x05// 定时器0,1工作模式1,16位定时方式\x05TH1 = 0xdc;TL1 = 0;TH0 = 0xFC;TL0 = 0x17;clr_time();\x05\x05\x05// \x05\x05\x05 dis_digit = ...
0x39,0x5e,0x79,0x71} 最后缺少分号(;)
中国大学MOOC: void lcd_write_1(unsigned char num){ rs=0; wr=0; P0=com; delayMs(5);//延时 lcden=1;// 使能e delayMs(5);//延时 lcden=0; //使能e} 该子程序,为LCD1602的( )函数 相关知识点: 试题来源: 解析 写指令 反馈 收藏
void lcd_write_1(unsigned char num) { rs=0; wr=0; P0=com; delayMs(5);//延时 lcden=1;// 使能e delayMs(5);//延时 lcden=0; //使能e } 该子程序,为LCD1602的()函数A.写数据 B.读数据 C.写指令 D.读指令查看答案更多“void lcd_write_1(unsigned char num) { rs=0; wr=0; P0=com...
一个是形参,一个是实参。在子函数中只是声明一下,这个是形参,形参名字不重要,主要是要表明的是参数类型,所以取什么名字都没关系。main中调用的时候是实参,这个是实际的变量了
void表示无返回值的函数 你的 void read_add(uchar address)void read_byte()都带有返回值 所以报错了 你的返回值是uchar类型的 所以 函数名应该写成 uchar read_byte()uchar read_add(uchar address)