单片机c语言简单编程.docx
- 文档编号:719169
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:19
- 大小:17.99KB
单片机c语言简单编程.docx
《单片机c语言简单编程.docx》由会员分享,可在线阅读,更多相关《单片机c语言简单编程.docx(19页珍藏版)》请在冰豆网上搜索。
单片机c语言简单编程
1、点亮2、3、5、8四个发光二极管。
〔课后作业〕
#include
sbitLED2=P1^0;
sbitLED3=P1^3;
sbitLED5=P1^5;
sbitLED8=P1^6;
main()
{
LED2=0;//第二盏灯亮
LED3=0;//第三盏灯亮
LED5=0;//第五盏灯亮
LED8=0;//第八盏灯亮
while
(1);
}
2、设计走马灯和数码管逐一显示数字。
〔课后作业〕
#include
voidDelay()
{
unsignedintj;
j=30000;
while(j--);
}//时间延时函数
voidmain()
{
inta[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示段码
intb[10]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xaa,0x55};//点亮灯的段码
unsignedchari;
while
(1)
{
for(i=0;i<10;i++)
{
P1=b[i];
P2=a[i];
Delay();
}
}
}
3、开关K1控制加,开关K2控制减,开关K3控制复位。
当减到小于0的时候再从99开始减,当加到99的时候又从0开始加。
〔课后作业〕
#include
sbitBIT1=P3^0;
sbitBIT2=P3^1;
sbitButton1=P3^7;
sbitButton2=P3^6;
sbitButton3=P3^5;
unsignedchara[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示段码
voidDelay(unsignedintt)
{
unsignedinti,j;
for(i=0;i for(j=0;j<252;j++) {;} }//时间延迟函数的定义 voidmain() { chardat=0;//有符号数 intb[10]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xaa,0x55};//跑马灯显示的段码 unsignedcharz; while (1) { for(z=0;z<10;z++) { BIT1=0; BIT2=1; P2=a[dat/10]; Delay(20); P2=0xff;//消隐,防止个位的数在十位显示,导致显示乱码 BIT1=1; BIT2=0; P2=a[dat%10]; Delay(20); P2=0xff;//消隐 P1=b[z]; Delay(20);//跑马灯显示 if(Button1==0) { dat++; if(dat>=99) dat=0; while(Button1==0); }//按键1是控制加的,当加到大于等于99时又从0开始加 if(Button2==0) { dat--; if(dat<=0) dat=99; while(Button2==0); }//按键2是控制减的,当减到小于等于0时再从99开始减 if(Button3==0) { dat=0; while(Button3==0); } }//按键3是控制复位的,任何时候按下就归0 } } 4、开始1、2、3、4闪烁,按一下K1,5、6、7、8闪烁,再按一下K1全部闪烁。 〔课堂作业〕 #include sbitK1=P3^0; unsignedcharstate=0; voidDelay(unsignedintt) { unsignedinti,j; for(i=0;i for(j=0;j<252;j++) {;} } voidmain() { while (1) { if(state==0) { P1=0xf0; Delay(20); P1=0xff; Delay(20); } elseif(state==1) { P1=0x0f; Delay(20); P1=0xff; Delay(20); } elseif(state==2) { P1=0x00; Delay(20); P1=0xff; Delay(20); } if(K1==0) { state++; if(state>=3) state=0; while(K1==0); } } } 5、先是1、2、3、4灯闪8下,再5、6、7、8灯闪8下。 循环闪烁。 〔实验一2〕 #include voidDelay() { unsignedintj; j=50000; while(j--); } main() { chari=0; while (1) { for(i=0;i<16;i++) { if(i<8) { P2=0Xf0; Delay(); P2=0xff; Delay(); } elseif(i<16) { P2=0X0f; Delay(); P2=0xff; Delay(); } } } } 6、逐个点亮8个发光二极管〔第一次亮一个。 。 。 最后全亮,然后再重新开始〕(实验一1) #include voidDelay() { unsignedintj; j=30000; while(j--); }//时间按延时函数 voidmain() { inta[8]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//点亮灯的段码 unsignedchari; while (1) { for(i=0;i<8;i++) { P2=a[i]; Delay(); } } } 7、用中断函数控制加减用数码管显示数字。 八盏发光二极管可以根据加减控制左右移。 〔课后作业) #include #include unsignedchara[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8}; unsignedcharx=0xfe;ss=0; main() { IT0=1; EX0=1; IT1=1; EX1=1; EA=1; while (1) { P1=x; P2=a[ss]; if(ss>9) ss=0; if(ss<0) ss=9; } } voiddat1()interrupt0 { ss++; x=_crol_(x,1); } voiddat2()interrupt2 { ss--; x=_cror_(x,1); } 8、按开关K1点亮1、2、3、4,松手灭,开关K2点亮5、6、7、8,松手灭。 〔课堂作业〕 #include SbitK1=P3^0; SbitK2=P3^1; Voidmain() { Whlie (1) { If(K1==0) P1=0xf0; Elseif(K2==0) P1=0x0f; Else P1=0xff; } } 9、点亮一盏灯,并使其闪烁。 〔课堂作业〕 #include SbitLED1=P1^0; VoidDelay() { Unsignedintj; j=50000; whlie(j--); } Voidmain() { Whlie (1) { LED1=0; Delay(); LED1=1; Delay(); } } 10、先点亮1、3、5、7灯,熄灭,再点亮2、4、6、8灯。 〔课堂作业〕 #include voidDelay(unsignedintt) { unsignedinti,j; for(i=0;i for(j=0;j<252;j++) {;} } voidmain() { inta[2]={0xaa,0x55}; unsignedchari; while (1) { for(i=0;i<2;i++) { P1=a[i]; Delay(100); } } } 11、要求使用8个按键K1~K8,当按下按键时,用数码管显示出相应按键值〔K1—1,K2—2,。 。 。 。 〕放开时显示0。 〔实验二〕 #include sbitK1=P3^0; sbitK2=P3^1; sbitK3=P3^2; sbitK4=P3^3; sbitK5=P3^4; sbitK6=P3^5; sbitK7=P3^6; sbitK8=P3^7; voidmain() { while (1) { if(K1==0) P2=0xf9; elseif(K2==0) P2=0xa4; elseif(K3==0) P2=0xb0; elseif(K4==0) P2=0x99; elseif(K5==0) P2=0x92; elseif(K6==0) P2=0x82; elseif(K7==0) P2=0xf8; elseif(K8==0) P2=0x80; else P2=0xc0; } } 12、用中断程序K3、K4分别控制加减及发光二极管左右挪动。 〔实验三〕实际操作 #include #include sbitK3=P3^2; sbitK4=P3^3; unsignedchara[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsignedcharx=0xfe;ss=0; voiddelay(unsignedintt) { unsignedinti,j; for(i=0;i for(j=0;j<252;j++) {;} }//用时间延迟函数消抖 main() { IT0=1; EX0=1; IT1=1; EX1=1; EA=1; while(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 语言 简单 编程
![提示](https://static.bdocx.com/images/bang_tan.gif)