#include<reg51.h> //使用51功能头文件
sbit L1=P0^0 //L1对应P0.0,表示第一盏灯
sbit L2=P0^1 //L1对应P0.1,表示第二盏大粗做灯
sbit L3=P0^2 //L1对应P0.2,表示第三盏灯
sbit L4=P0^3 //L1对应P0.3,表示第四盏灯
void delay(unsigned int i) //延迟子程序,注意这里的unsigned int i,这里相当于限定了调用时候变量的类型
{
unsigned char j//局部变量定义
while(i--) //循环i次,主程序main调用时候,i为100,这数值你可随便该,但小于65355
for(j = 200j >0j--) //这步的意思是空 *** 滚衡作200次,也就是暂用CPU200次的工作时间
}
void main(void) //主函数,这里的viod是无类型,意思是没有给这函数指定数据类型
{
P0=0x00 //将P0口初始化位高电平,如果没有这句,初始化为低电平,这里可根据需要选择
L1=1 //第一盏灯亮
delay(100)//调用延时子程序
L2=1 //第二盏灯亮
delay(100)//调用延时子程序
L3=1 //第三盏灯亮
delay(100)//调用延时子程序
L4=1 //第四盏灯亮
delay(100)//调用延时子程序
while(1)//这里我用了个死循环,目的程序只运行一次,如果需要自动重新运行,可以把这句删掉
}
纯手工书写,并仿真调试过,记得加分哟~
采模裤用串口发送一次0x0001,然旦闭简后一次移位0x0002,0x0004,0x0008,0x0010,0x0020,0x0040...#include "STC89C51RC_RD_PLUS.H"
#define uchar unsigned char
#define uint unsigned int
void Com_Init()
{
TMOD = 0x20
SCON = 0x50
TH1 = 0xFC
TL1 = TH1
PCON = 0x00
TR1 = 1
}
void Delay (uint Milliseconds)//延时2ms,
{
uchar a,b
for(a=3a>0a--)
{
for(b=245b>0b--)
for (Milliseconds >0Milliseconds--)
}
}
void SendChar (uchar chr)//发送一个字符
{
SBUF = chr
while(!TI)
TI=0
}
main()
{
Com_Init()
while(1)
{u8 i
for(i=0i<16i++)
{
u16 dat= 0x0001<<i
SendChar (dat)
SendChar ( dat>>态森8)
Delay (1000)//延时
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)