自学单片机现场直播,只讲教训,不谈经验,让你少走弯路,新手进,高手勿进勿扰
烧录问题:
1 电脑串口是RS232 TTL电平。
2 没有串口时候需要USB转串口,强烈建议网上购买一条,使用CH340芯片的,不贵10元以内不加邮费。
个人的SB行为,弄拉个最小单片机系统,个人电脑公司电脑都没有串口,DIY个PL2303 USB转串口,直接接单片机
RXD TXD,各种方法都用了直接烧了单片机。USB转串口.pdf
从今天开始上传
(单片机C语言程序设计实训100例)
这些例子配合仿真软件,
软件太大Keygen3p20(Edge).zipC51V900.part01.rarC51V900.part02.rarC51V900.part03.rarC51V900.part04.rarC51V900.part05.rarC51V900.part06.rarC51V900.part07.rarC51V900.part08.rarC51V900.part09.rarC51V900.part10.rarC51V900.part11.rarC51V900.part12.rarC51V900.part13.rarC51V900.part14.rarC51V900.part15.rar
上干货了么,配合这些再谈谈你的心得吧 大家伙伸脖子等着呢哦
~~哈哈
#include//这个是头文件,选KEIL自带的89C51单片机的,此命令不用记 不能截图,看我上传的WORD里面有说明,KEIL里面有。
sbit LED=P2^0;//C语言对大小写敏感,I.O口都是大写,我就是自学刚刚开始时候,手打别人程序,大小写不对,而欲哭无泪,好好的程序经自己一写都是废柴了
void main ()//这个要注意了,一个程序只能有一个main,主程序。一山不容二虎。
{
LED=0;//这个;要主要了半角的有效,全角无效 } //这个叫什么括号了,我文盲就叫他大括号,这是罗密欧和朱丽叶成对出现的
分享下我学单片机的历程:
我是一个职业高中毕业的,在小学的时候特别喜爱电子。99年到我现在的城市,算是打工吧。由于有点电子方面的基础,在一个小厂作焊接调试工作。厂里有时候需要一些特殊的功能,请了外面一些做单片机的人过来做事情,我也帮着打打下手,看着他们实现很牛的功能,心里特别羡慕。自己也想想学学,那时候他们还都是用汇编编的程序。我买了几本单片机方面的书,看了真像是天书。光那111条汇编指令,看的都头疼。
那时候没人教呀,问别人,一般很牛的人,对你的简单的问题都是一幅不屑的神情。只能自己琢磨,那时候没有网上,自己就这样弄了很久。比如一个简单的问题,1个字节是什么意思,也搞不懂。突然有点晚上,想起来原来1个字节是8比特。更不用说什么查表,转移,这些搞的我特别的郁闷。
在那个厂做了4年,自己每天重复着做着一件事情也学不到什么。只有学会了画图,与是辞职找到一家led公司,在研发部,画pcb板。这个部里有3个人,一个做上位机软件,两个是做单片机的。这下子可以学单片机了,无奈自己天资太差,还是大家都有自己的事要做。一直没编过完整的程序,在此期间和高手们在一起学到很多知识。
渐渐的对单片机有点入门,也能看懂一些简单的程序。这个离做项目差的远呢。后来公司效益不好,研发部解散了,我了也辞职。又应聘到一家小公司,接手前面人留下的东西。这其中有单片机,不过第一次接触到32位单片机。这时才把一个完整的工程,从头看到尾。后来慢慢的也会了,这个时间很漫长。不是一个月两个月的时间,所以学习一定要坚持 。
现在,讲点我所理解的单片机吧。
单片机其实就是在做循环工作,就是周而复始的在跑。这就要归功为时钟晶振做的贡献,晶振就像是人的心脏。利用血液向全身输送营养。
c编程序首先要初始化各部分功能,,比如,包含文件,配置脚位,时钟频率,定时时间,串口波特率,等等
然后才是在main的函数大循环里编你需要的功能。
#include#define uchar unsigned char #define uint unsigned int uchar code Pattern_P0[]= { 0xfc,0xf9,0xf3,0xe7,0xcf,0x9f }; uchar code Pattern_P2[]= { 0xf5,0xf6,0xfe,0x54,0x56,0x76,0xd7,0x49,0xa9,0xe4,0xc6 }; void DelayMS(uint x) { uchar t; while(x--) { for(t=120;t>0;t--); } } void main() { uchar i; while(1) { for(i=136;i>0;i--) { P0=Pattern_P0[i]; P2=Pattern_P2[i]; DelayMS(150); } } }
\\顺序写法的按键发音程序,很简单,很适合我这样的菜鸟,比我弄的简单
#include#define uchar unsigned char #define uint unsigned int sbit BEEP = P3^7; sbit K1 = P1^4; sbit K2 = P1^5; sbit K3 = P1^6; sbit K4 = P1^7; void DelayMS(uint x) { uchar t; while(x--) { for(t=0;t<120;t++); } } void Play(uchar t) { uchar i; for(i=0;i<100;i++) { BEEP = ~BEEP; DelayMS(t); } BEEP = 0; } void main() { P1 = 0xff; while(1) { if(K1==0) Play(1); if(K2==0) Play(2); if(K3==0) Play(3); if(K4==0) Play(4); } }