初步学习单片机C语言学习心得1_单片机c语言学习心得
初步学习单片机C语言学习心得1由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“单片机c语言学习心得”。
今天初步学习单片机C语言
感觉自己在c语言方面的知识很不熟悉,知识自己初步懂得c语言而已,今后的学习自己要多看c语言,这对以后的学习很重要,没有基础谈何学习以后更加难懂的知识,就已今天的一个程序而言,一个流水灯的程序,被2个for循环搞的晕头转向,#include
Void delay(int)
void delay(int t){int a,b;for(a=0;a
for(b=0;b
P1=0xfe;
delay(100);
P1=0xfd;
delay(100);
P1=0xfb;
delay(100);
P1=0Xf7;
delay(100);
P1=0xef;
delay(100);
P1=0xdf;
delay(100);
P1=0xbf;
delay(100);
P1=0X7f;
delay(100);
} 自己始终把t*1100当成时间,其实不是,而是t*1100还要乘以一个T,T是执行一个分号所用的时间,另外以下的表格对于自己而言也很重要!!#include sbit D1=P1^0;unsigned a;void main(){ while(1){
a=60000;
D1=0;
while(a--);
a=60000;
D1=1;
while(a--);} }
灯光闪烁程序 #include #define uint unsigned int #define uchar unsigned char sbit D1=P1^0;void delay();void main(){ while(1){
D1=0;
delay();
D1=1;
delay();
} } void delay(){ uint x,y;for(x=100;x>0;x--)
for(y=600;y>0;y--);} 利用调用子程序设计闪灯。#include #include #define uint unsigned int #define uchar unsigned char uchar temp;void delay(uint);void main(){
temp=0xfe;
P1=temp;while(1){
temp=_crol_(temp,1);
delay(2000);
P1=temp;
} } void delay(uint z){ uint x;uchar y;for(x=z;x>0;x--)
for(y=20;y>0;y--);} 利用intrins函数以及延时子程序编写流水灯
编写一个流水灯,在灯亮的时候蜂鸣器响,灯灭的时候蜂鸣器不响,亮灭灯时间间隔为0.5s #include #include #define uint unsigned int #define uchar unsigned char uchar temp;sbit gu=P2^3;void delay(uint);void main(){
temp=0xfe;
P1=temp;// gu=0;while(1){
gu=0;
temp=_crol_(temp,1);
delay(1920);
P1=temp;
gu=1;
delay(1920);}
} void delay(uint z){ uint x;uchar y;for(x=z;x>0;x--)
for(y=20;y>0;y--);}
中断优先级
#include #define uint unsigned int #define uchar unsigned char sbit wede=P2^6;sbit dude=P2^7;uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};uchar num,tt;void main(){ num=0;tt=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;wede=1;P0=0xe3;wede=0;dude=1;P0=0x3f;dude=0;
while(1)
{
if(tt=20)
{
tt=0;
num++;
if(num=16)
num=0;
dude=1;
P0=table[num];
dude=0;
} } } void exter()interrupt 1 { TH0=(65536-50000)/256;TL0=(65536-50000)%256;} tt++;