因为比来忙着测验,所以都没时间更新博客了,在后台有个蜜斯姐给我留言说本身对单片机很感兴趣,但是又不晓得从哪里起头学起,是先学硬件好仍是先学软件好,其其实我们复杂的电子学里,硬件和软件是分不开的,硬件就像是我们的心脏和四肢,软件就像我们的大脑,若是只要软件没有硬件,那我们的系统就是一个没用的法式,不克不及施行任何操做,而若是只要硬件没有软件那么整个系统就是一个行尸走肉,是一个没有“大脑”的躯壳,我说到如今各人也应该大白了,硬不离软,软不离硬,只要软硬兼修,方能大成!好了,回到适才的问题,我建议先从硬件起头学起,先理解了硬件的架构和各部门的工做原理,然后再去看软件,如许能更好的理解原理,就像我保举各人先用汇编后用C一样 好了,写了那么多,若是你有差别定见或者设法欢送留言和私信。
今天送给各人一个比力简单的小项目吧,若是你有兴趣的话能够试着做一下呦!
好了老例子先上实物图
正面图:
焊接好的废品后背图:
电路原理图:
PCB图:
音乐喷泉的项目元器件清单:
音乐喷泉单片机C语言参考源代码如下:
#include
#define 跑泉uchar unsigned char
#define uint unsigned int
sbit out=P3^7;
sbit led1=P0^7;
sbit led2=P0^6;
sbit led3=P0^5;
sbit led4=P0^4;
sbit led5=P0^3;
sbit led6=P0^2;
sbit led7=P0^1;
sbit led8=P0^0;
sbit SCL=P1^2; //SCL定义为P1口的第3位脚,毗连ADC0832SCL脚
sbit DO=P1^3; //DO定义为P1口的第4位脚,毗连ADC0832DO脚
sbit CS=P1^0; //CS定义为P1口的第4位脚,毗连ADC0832CS脚
uchar h1,date;
unsigned char adval;
void delay(uint z)
{
uchar y;
for(;z>0;z--)
for(y=120;y>0;y--);
}
以下是模数转换部门
/***********读数模转换数据******兴趣喷泉**************************/
//请先领会ADC0832模数转换的串行协议,再来读本函数,次要是对应时序图来理解,本函数是模仿0832的串行协议停止的
// 1 1 0 通道
// 1 1 1 通道
unsigned char ad0832read(bit SGL,bit ODD)
{
unsigned char i=0,value=0,value1=0;
SCL=0;
DO=1;
CS=0; //起头
SCL=1; //第一个上升沿
SCL=0;
DO=ODD;
SCL=1; //第二个上升沿
SCL=0;
DO=SGL;
SCL=1; //第三个上升沿
DO=1;
for(i=0;i180) led6=1; else led6=0;
if(h1>200) led7=1; else led7=0;
if(h1>220) led8=1; else led8=0;
out=1;
delay(date);
}
评论(0)