① 单片机哪本书比较好,有推荐吗
推荐号称十天学会单片机(结果一个视频三小时)的郭天祥的《新概念51单片机c语言教程》。但我个人比较推荐《时间触发嵌入式系统设计模式 (豆瓣)》——Michael ***.pont 。这本书不仅仅让你学会单片机,而且教你一些单片机编程思想(看书名字就知道)。其实说白了单片机这东西看书还不如买块开发板自己亲自看看历程跑跑程序学得好,特别是刚入门用的51。
② 自学51单片机的书籍
51单片机的书籍,都是差不多的。
《零基础学习单片机C》
个人觉得看看郭天祥老师《十天学习单片机》的视频就够了。
不懂的话再查阅相关的书籍或是资料。可以做些项目。
我个人只有c语言基础的,学习51只用了2周。现在已经能和研究生师兄一起做项目了。
③ 求51单片机c语言教程 pdf
单片机学习方法:
网上单片机资料很多:
http://www.mcufan.com/scom.htm
http://www.51c51.com/cyuyan.htm
http://www.laogu.com/downtop.aspx
上面去搜搜看单片机的学习资料,都有入门级的
另外书店里面入门级的书也很多,可以买一本(北航出版的比较好)
1.入门时先了解单片机的构造啊原理啊
2.如果没有实验板自己搭建单片机的最小平台是比较难的
网上有个叫proteus的软件,可以用于单片机的仿真,就是说你编的程序可以在这个软件里运行,效果挺逼真的,可免费下载.
3.单片机的编程软件有keil或者wave,推荐前者,可以用c语言编写也可以汇编语言,c语言比较好学,推荐入门学习c语言,(可以买c和汇编语言都有介绍的单片机的书)
4.然后用keil编写程序在proteus上跑起来,如果你能点亮经典的单片机流水灯实验,那你就已经入门了
另:单片机的开发板或者最小系统可以买,电路水平高的话也可以自己搭建起来,51单片机大概6块左右一片自己搭建最小系统很便宜滴,学单片机一定要多做实验,不过推荐还是从仿真入门,仿真成功了后面的就有方向了.
④ 关于C语言入门
na ni 那你就好好雪白
⑤ 那位兄弟有 郭天祥(51单片机的书籍,好像有本是新概念)
ISBN:978-7-121-07893-4
书名:《新概念51单片机C语言教程——入门、提高、开发、拓展全攻略》
作者:郭天祥
定价:69元(含光盘1张)
作者背景
作者郭天祥是哈尔滨工程大学的硕士生,但是一名电子设计迷,这本书是他学习和实践单片机设计的经验总结,本书出版前他发布于网上的他给本科生上课的视频教程非常受欢迎,受众主要是高校电子信息类的学生。
请关注后面的附件:本书作者在本书文前“致读者”的内容,相信会对大学生有非常好的人生启迪,同时也是本书的一个非常好的卖点。
本书“图书教材+随书视频光盘+可选实验板”可以完全实现学生的自主学习。
封底文字
本书组织
全书分为5篇,入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇
特别按照初学者所遇到的问题和需求路径安排全书内容
以应用需求为主线,搭建了单片机技术上下游的知识体系
从实际工程应用入手,通过实验过程和现象讲解单片机原理,可读性好
内容源于大量科研和教学实践,许多C语言代码可直接应用到工程项目中,实用性强
配套学习光盘,并可提供学习用实验板,可以边学边练
学习资源
本书含DVD光盘一张,13讲教学视频+课件例程代码+全书例程代码
技术支持,天祥电子网站http://www.txmcu.com
读者对象
高校电子信息类和机电类专业本/专科师生
高校大学生创新基地师生
51单片机C语言编程初学者
计算机、自动控制、智能仪器仪表、电力电子、机电一体化技术人员
读者层次
入门初学者
中级开发者
本书文前内容
内 容 简 介
本书从实际应用入手,以实验过程和实验现象为主导,循序渐进地讲述51单片机C语言编程方法以及51单片机的硬件结构和功能应用。全书共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇。本书内容丰富,实用性强,书中大部分内容均来自科研工作及教学实践,许多C语言代码可以直接应用到工程项目中。本书配套光盘提供13讲近30学时的教学视频和本书实例代码,可使读者更快更好地掌握单片机知识和应用技能。本书作者还可提供与本书配套的单片机实验板。
本书可作为大学本、专科单片机课程教材,适合于51单片机的初学者和使用51单片机从事项目开发的技术人员,也可供从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员参考。
前 言
本书从实际工程应用入手,以实验过程和实验现象为主导,由浅入深、循序渐进地讲述使用C语言为51单片机编程的方法、51单片机的硬件结构和各种功能应用。
本书不同于传统的讲述单片机的书籍,本书中的所有例程均以实际硬件实验板现象为根据,由C语言程序来分析单片机工作原理,使读者知其然,又能知其所以然,从而帮助读者从实际应用中彻底理解和掌握单片机。另外,本书中大部分内容均来自作者科研及教学工作实践,内容涵盖作者多年来项目经验总结的精华,并且贯穿一些学习方法的建议。
本书内容丰富,实用性强,许多C语言代码可以直接应用到工程项目中。本书配套附一张光盘,提供近30小时的单片机教学视频。同时,作者还开发了与本书配套的TX-1C单片机实验板,可帮助读者边学边练,达到学以致用的目的。读者在学习过程中可以将视频和书互为参考,配合学习,并用单片机实验板进行实践,这样可以更快更好地掌握单片机应用知识和技能。
本书适合作为大学电子信息类和机电类各专业本、专科单片机课程教材,或高校大学生创新基地培训教材,也适合51单片机的初学者和使用51单片机从事项目开发的技术人员,还可供从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员参考。
本书内容组织
本书内容共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇。
第1,2篇与本书配套光盘内容基本对应,内容组织上循序渐进、由浅入深;在知识介绍上,从原理到实践,再从实验现象进一步分析原理,对51单片机的主要功能及硬件结构做了详细介绍。
第3篇在前两篇的基础上通过实验进一步扩展讲解了51单片机的其他功能应用,而且还特别将STC单片机与传统51单片机相比扩展了的功能逐一讲解。
第4篇是作者教学和实际项目中精选出的具有代表性的真实项目,其知识涉及面广,内容丰富,是作者开发经验的精华总结。
第5篇为拓展部分,详细讲解了使用Protell软件绘制原理图、PCB图、元件库和元件封装的过程;详细介绍了常用的ISD400X系列语音芯片;分别讲解了直流电机、步进电机和舵机的原理及驱动方法;介绍了设计电路常用的元件;详细介绍了如何设计直流稳压电源及开关电源;最后介绍运放的应用知识。
本书实例程序
作者在编写本书时,使用的操作系统是英文版Windows XP SP2,开发工具是Keil V6.12,抓图工具是红蜻蜓抓图精灵V1.24,单片机下载软件是STC-ISP V3.9,使用的硬件实验设备是天祥电子的TX-1C单片机实验板,本书中单片机部分的所有实例程序都在该环境中调试通过,并且在TX-1C实验板上得以验证。
本书学习建议
配套光盘提供的视频与本书前两篇基本对应,建议读者在学习本书之前,最好有一块与本书中相同的实验板。学习时先看视频,对单片机有一个初步的印象,视频中互动部分读者可亲自做实验,在学习过程读者要多动脑,多动手,单片机是实实在在的硬件,只有在不断实践中才能领悟它的工作原理。读者在对实验原理理解的前提下,要尝试独立编写出书中每章的例子程序,当有困惑时再查看书中代码,反思自己的失误在哪里,进而积累更多的经验。
本书配套光盘说明
本书配套光盘提供两部分内容:本书所有实例代码和13讲视频教程。
视频教程内容列表
讲 次 内 容 细 节
第1讲 学习单片机预备知识
如何点亮一个发光管 单片机能做什么,基本电子知识,如何用TX-1C单片机学习板学习单片机,C51知识简介,如何申请免费芯片样品。点亮一个发光管
第2讲 流水灯设计
蜂鸣器发声
继电器控制 简单延时程序、子程序调用、带参数子程序设计、流水灯同时蜂鸣器响、如何驱动蜂鸣器,及如何驱动继电器,集电极开路的概念及应用
第3讲 数码管显示的原理
数码管的静态显示 共阳、共阴数码管显示原理、定时器工作方式介绍、重点讲述工作方式2、中断概念及中断函数写法、外部中断试验、定时器中断应用
第4讲 数码管的动态显示原理及应用实现 动态扫描概念、定时器、中断加深
用单片机的定时器及中断设计一个60秒定时器
第5讲 独立键盘、矩阵键盘的检测原理及实现 键盘用来做什么、如何检测键盘、消抖、键盘编码、带返回值函数写法及应用
第6讲 A/D、D/A的工作原理及实现、运放电路 模拟电压与数字电压的关系、为什么要使用A/D及D/A、ADC0804的操作方法、DAC0832的操作方法
第7讲 串口通信原理及操作流程 串口通信工作方式、10位数据通信、波特率概念、如何根据波特率计算定时器初值
第8讲 1602液晶显示原理及实现 最简单液晶工作原理、如何开始对一个没有任何概念的芯片开始单片机的操作
第8讲 I2C总线AT24C02芯片工作原理 I2C总线工作原理、目前非常通用的一种通信机制
第10讲 利用51单片机的定时器设计一个时钟 综合运用51单片机知识设计一个可以随意调节时间、带整点闹铃的时钟(其中用到定时器、中断、按键、蜂鸣器、数码管或串口通信)
第11讲 用DS12C887时钟芯片设计一个高精度时钟 DS12C887内部带有锂电池,系统掉电情况下可自行精确走10年,并带有闹钟功能、年、月、日、时、分、秒等(本节由学生自己设计电路)
第12讲 使用Protell 99绘制电路图全过程 Protell 99软件使用、元件库、封装库设计、绘制原理图、错误检查、生成PCB、手动、自动布线、送去加工
第13讲 Altium designer 6.5绘制电路图全过程 最顶级电路板设计软件Altium Designer使用、元件库、封装库设计、绘制原理图、错误检查、生成PCB、手动、自动布线、送去加工
在这里对配套视频中讲解三极管和场效应管部分的一点错误给予更正:
作者在讲课时说:三极管是压控流型器件,场效应管是压控压型器件。
正确结论应该是:三极管是流控流型器件,场效应管是压控流型器件。
作者在编写本书的过程中,得到了哈尔滨工程大学国家电工电子教学基地和信息与通信工程学学院郭黎利教授、刁鸣教授、赵旦峰教授、付永庆教授和王松武教授、刘文智老师和李海波老师的大力支持。本书的部分章节由我的同学叶大鹏、李健编写,另外我的同学张勇、宋宝森、钟双、于振南、郭天宇、李名祺也十分关心本书的编写进度,为提高书稿的质量提出了许多宝贵的建议和修改意见。在此,对他们一并表示衷心的感谢。
由于作者的水平有限,错误和疏漏之处在所难免,欢迎广大技术专家和读者指正。作者的联系方式是[email protected],读者也可以登录天祥电子网站发表意见,或联系购买单片机实验板,网址是http://www.txmcu.com。
郭天祥
于哈尔滨工程大学
2008年11月
⑥ 求51单片机蜂鸣器播放音乐的教程 C语言
这是我学校电子设计时做的,可以弹琴,也有几首歌在里面。。你应该看得懂#include <reg52.h> #define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
sbit BEEP=P2^0; //喇叭输出脚uchar th0_f; //在中断中装载的T0的值高8位
uchar tl0_f; //在中断中装载的T0的值低8位
uchar key;/*------------------------------------------------
函数声明
------------------------------------------------*/
uchar keyscan(void);//键盘扫描程序
void delay(uint i); //延时子程序/*-------- T0的值,及输出频率对照表 --------------*/
uchar code freq[36*2]={
0xA9,0xEF, //0x3F,0XEE,//00220HZ ,1 //0
0x93,0xF0, //0X3D,0XEF,//00233HZ ,1#
0x73,0xF1, //0X30,0XF0,//00247HZ ,2
0x49,0xF2, //0X18,0XF1,//00262HZ ,2#
0x07,0xF3, //0XE6,0XF1,//00277HZ ,3
0xC8,0xF3, //0XB7,0XF2,//00294HZ ,4
0x73,0xF4, //0X71,0XF3,//00311HZ ,4#
0x1E,0xF5, //0X2A,0XF4,//00330HZ ,5
0xB6,0xF5, //0XCF,0XF4,//00349HZ ,5#
0x4C,0xF6, //0X72,0XF5,//00370HZ ,6
0xD7,0xF6, //0X09,0XF6,//00392HZ ,6#
0x5A,0xF7, //0X97,0XF6,//00415HZ ,7
0xD8,0xF7, //0X20,0XF7,//00440HZ 1 //12
0x4D,0xF8, //0X9F,0XF7,//00466HZ 1# //13
0xBD,0xF8, //0X18,0XF8,//00494HZ 2 //14
0x24,0xF9, //0X88,0XF8,//00523HZ 2# //15
0x87,0xF9, //0XF3,0XF8,//00554HZ 3 //16
0xE4,0xF9, //0X59,0XF9,//00587HZ 4 //17
0x3D,0xFA, //0X05,0XFA,//00622HZ 4# //18
0x90,0xFA, //0X13,0XFA,//00659HZ 5 //19
0xDE,0xFA, //0X66,0XFA,//00698HZ 5# //20
0x29,0xFB, //0XB9,0XFA,//00740HZ 6 //21
0x6F,0xFB, //0X05,0XFB,//00784HZ 6# //22
0xB1,0xFB, //0X4D,0XFB,//00831HZ 7 //23
0xEF,0xFB, //0X90,0XFB,//00880HZ `1
0x2A,0xFC, //0XD0,0XFB,//00932HZ `1#
0x62,0xFC, //0X0C,0XFC,//00988HZ `2
0x95,0xFC, //0X44,0XFC,//01046HZ `2#
0xC7,0xFC, //0X7B,0XFC,//01109HZ `3
0xF6,0xFC, //0XAD,0XFC,//01175HZ `4
0x22,0xFD, //0XDD,0XFC,//01244HZ `4#
0x4B,0xFD, //0X0A,0XFD,//01318HZ `5
0x73,0xFD, //0X35,0XFD,//01397HZ `5#
0x98,0xFD, //0X5D,0XFD,//01480HZ `6
0xBB,0xFD, //0X83,0XFD,//01568HZ `6#
0xDC,0xFD, //0XA6,0XFD,//01661HZ `7 //35
};//定时中断0,用于产生唱歌频率
timer0() interrupt 1
{
TL0=tl0_f;TH0=th0_f; //调入预定时值
BEEP=~BEEP; //取反音乐输出IO
}//音乐符号串解释函数
//入口:要解释的音乐符号串,输出的音调串,输出的时长串
changedata(uchar *song,uchar *diao,uchar *jie)
{
uchar i,i1,j;
char gaodi; //高低+/-12音阶
uchar banyin;//有没有半个升音阶
uchar yinchang;//音长
uchar code jie7[8]={0,12,14,16,17,19,21,23}; //C调的7个值
*diao=*song;
for(i=0,i1=0;;)
{
gaodi=0; //高低=0
banyin=0;//半音=0
yinchang=4;//音长1拍
if((*(song+i)=='|') || (*(song+i)==' ')) i++;
//拍子间隔和一个空格过滤
switch(*(song+i))
{
case ',': gaodi=-12;i++;//低音
break;
case '`': gaodi=12;i++; //高音
break;
}
if(*(song+i)==0) //遇到0结束
{
*(diao+i1)=0; //加入结束标志0
*(jie+i1)=0;
return;
}
j=*(song+i)-0x30; i++; //取出基准音
j=jie7[j]+gaodi; //加上高低音
yinc: switch(*(song+i))
{
case '#': //有半音j加一个音阶
i++;j++;
goto yinc;
case '-': //有一个音节加长
yinchang+=4;
i++;
goto yinc;
case '_': //有一个音节缩短
yinchang/=2;
i++;
goto yinc;
case '.': //有一个加半拍
yinchang=yinchang+yinchang/2;
i++;
goto yinc;
}
*(diao+i1)=j; //记录音符
*(jie+i1)=yinchang; //记录音长
i1++;
}
}//奏乐函数
//入口:要演奏的音乐符号串
void play(uchar *songdata)
{
uchar i,c,j=0;
uint n;
uchar diaodata[48]; //音调缓冲
uchar jiedata[48]; //音长缓冲
changedata(songdata,diaodata,jiedata); //解释音乐符号串
TR0=1;
for(i=0;diaodata[i]!=0;i++) //逐个符号演奏
{
tl0_f=freq[diaodata[i]*2]; //取出对应的定时值送给T0
th0_f=freq[diaodata[i]*2+1];
for(c=0;c<jiedata[i];c++) //按照音长延时
{ key = keyscan();
for(n=0;n<29500;n++); // 29500
if(key != 0xff)//((!K1)||(!K2)||(!K3)||(!K4))//发现按键,立即退出播放
{
TR0=0;
return;
}
}
TR0=0;
for(n=0;n<460;n++); //460音符间延时
TR0=1;
}
TR0=0;
}//一分钱
uchar code yifenqian[]={
"5`1|6_`1_5|3_5_2_3_|5-|"
"3_5_6_`1_|5_6_5_3_|1.3__|2-|"
"3_2_1_2_|3-|6_5_3_5_|6-|"
"5_`1_6_5_|3_5_2|5_2_3_2_|1-|"
}; //世上只有妈妈好
uchar code mamahao[]={
"6.5_35|`16_5_6-|35_6_53_2_|1_,6_5_3_2-|"
"2.3_55_6_|321-|5.3_2_1_,6_1_|,5--"
};
//找朋友
uchar code zhaopengyou[]={ "5_6_5_6_|5_6_5|5_`1_7_6_|5 3|"
"5_5_3_4_|5_5_3|1_4_3_2_|1_2_1|"
};
//茉莉花
uchar code molihua[]={"33_5_6_`1_`1_6_|55_6_5-|33_5_6_`1_`1_6_|55_6_5-|"
"5553_5_|665-|32_3_53_2_|11_2_1|"
//"3_2_1_3_2.3_|56_`1_5-|23_5_2_3_1_,6_|,5-,61|"
//"2.3_1_2-1_,6_|,5--"
};
//新年好
uchar code xinnianhao[]={
"1_1_1 ,5|3_3_3 1|1_3_5 5|4_3_2-|"
"2_3_4-|3_2_3 1|1_3_2 ,5|,7_2_1-|"
};
//小星星
uchar code xingxing[]={
"1155|665-|4433|221-|"
"5544|332-|5544|332-|"
"1155|665-|4433|221-|"
};
//外婆的澎湖湾
uchar code waipodephw[]={
"3_5_5_5_6_`1_6_5_|`1_`1_`1_6_5-|"
"`3_`3_`3_`3_`4_`3_`2_`1_|`2_`2_`2_`3_`2-|"
"`3_`3_`3_`3_`4_`3_`2_`1_|6_`1_`1_6_5-|"
};
}
⑦ 新概念51单片机C语言教程的介绍
《新概念51单片机C语言教程》是2009年电子工业出版社出版的图书,作者是郭天祥。《新概念51单片机C语言教程:入门、提高、开发、拓展》从实际应用入手,以实验过程和实验现象为主导,循序渐进地讲述51单片机C语言编程方法以及51单片机的硬件结构和功能应用。《新概念51单片机C语言教程:入门、提高、开发、拓展》从实际应用入手,以实验过程和实验现象为主导,循序渐进地讲述51单片机C语言编程方法以及51单片机的硬件结构和功能应用。全书共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇。《新概念51单片机C语言教程:入门、提高、开发、拓展》内容丰富,实用性强,书中大部分内容均来自科研工作及教学实践,许多C语言代码可以直接应用到工程项目中。《新概念51单片机C语言教程》配套光盘提供13讲近30学时的教学视频和《新概念51单片机C语言教程》实例代码,可使读者更快更好地掌握单片机知识和应用技能。《新概念51单片机C语言教程》作者还可提供与《新概念51单片机C语言教程:入门、提高、开发、拓展》配套的单片机实验板。《新概念51单片机C语言教程:入门、提高、开发、拓展》可作为大学本、专科单片机课程教材,适合于51单片机的初学者和使用51单片机从事项目开发的技术人员,也可供从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员参考。
⑧ 很简的51单片机C语言流水灯程序
1、51单片机C语言实现循环8个流水灯左移三次,后右移三次。
例程:
#include<reg51.h>//51单片机头文件
#include<intrins.h>//包含有左右循环移位子函数的库
#defineuintunsignedint//宏定义
#defineucharunsignedchar//宏定义
sbitbeep=P2^3;
voiddelay(uintz)//延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.
{//delay(500);大约延时500ms.
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidmain()//主函数
{
uchara,i,j;
while(1)//大循环
{
a=0xfe;//赋初值
for(j=0;j<3;j++)for(i=0;i<8;i++)//左移三次
{
P1=a;//点亮小灯
beep=0;//开启蜂鸣器
delay(50);//延时50毫秒
beep=1;//关闭蜂鸣器
delay(50);//再延时50毫秒
a=_crol_(a,1);//将a变量循环左移一位
}
a=0x7f;
for(j=0;j<3;j++)for(i=0;i<8;i++)//右移三次
{
P1=a;//点亮小灯
beep=0;//开启蜂鸣器
delay(50);//延时50毫秒
beep=1;//关闭蜂鸣器
delay(50);//再延时50毫秒
a=_cror_(a,1);//将a变量循环右移一位
}
}
}
2、51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。
⑨ 51单片机项目教程 C语言版 高清带书签(吴险峰)PDF,哪里可以下载
《51单片机项目教程C语言版 赠单片机开发板.pdf》(选择普通下载即可!)
1、找到这本资料,美中不足就是没有书签,凑合看吧;
2、手机浏览器网页端登 陆 或 PC电脑端登 陆,即可查看、下载;
3、文件有时效性,若失效或下载问题,留言;
⑩ 郭天祥《新概念51单片机C语言教程--入门提高》电子版以及光盘内容
https://yunpan.cn/cBCpu8r84Uc8t (提取码:7a0c)