关于8051对LED控制的各种程序
2016年02月18日 14:10 发布者:designapp
本*也是前几天开始接触单片机,从最经典也是最实用的8051开始入手。看了几天书和资料,发现以前一直看的微机还有大一上时候在计算机学的一些东西还是挺有用的。大家都是看郭天祥的吧=。= 本*不是。我是在x宝上买的开发板讲课都是x宝店家独家镜头,可谓是高端大气上档次,低调奢华有内涵,简约时尚国际范,低端粗俗甩节操,土憋矫情无下限,狂拽酷帅吊炸天,冷艳高贵接地气,时尚动感小清新,可爱乡村非主流。好吧,废话不多,其实我也是看郭天祥的,哈工大毕竟不是盖的。ps:x宝老板是南邮的高材生。本*老老实实地把PPT最后的课后练习都做了遍,完全没有什么百度,那些弱爆了换句话说。
下面,本*就郭天祥课件里面课后练习的题目做出自己的独家见解-。-
题一:第一个发光管以间隔200ms闪烁。
卧槽-,- 这种题目小儿科。本*表示,写这类程序有两种方法,我还是喜欢直接对IO口总线定义。
#include
#include //就蜂鸣器接的IO口不同的开发板设计电路时候可能会有所不同,本*x宝买的这块接的是P3.4.
sbit buzz=P3^4;
void delay()
unsigned int t=30000;
while (t--);
void main()
unsigned char temp;
temp=0xfe;
while(1)
P1=temp;
temp=_crol_(temp,1);
buzz=~buzz;
delay();
}
题三: 用8个发光管演示出8位二进制数累加过程。
#include //表示这样题目还是比较有意思的 ps:要学单片机首先我觉得这些进制的问题要搞清楚,二进制 十六进制和我们用的十进制的转换关系。
#include
void delay()
unsigned int a=30000;
while(a--);
void main() //灯亮为0,灭为1;
P1=0x00;
for(;P1
#include
unsigned int temp;
void delay(unsigned int z)
unsigned int x;
unsigned char y;
for(x=z;x>0;x--)
for(y=100;y>0;y--);
void main()
unsigned int a,b,c;
while(1)
for(a=0;a
#include
unsigned int temp;
void delay(unsigned int z)
unsigned char x;
unsigned char y;
for(x=z;x>0;x++)
for(y=100;y>0;y++);
void main()
unsigned int a;
while(1)
temp=0xfe;
while(a
void delay()
unsigned int a=30000;
while(a--);
void main()
unsigned char a;
while(1)
for(a=0;a8051,其实别的芯片程序大体还是通用的,我诶想想是这样的=。= 不管怎么说,c语言是基础,当然也有用汇编的,本*表示汇编看不懂。。。。