❶ 单片机初学者该看什么书
《51单片机工程师是怎样炼成的:基于C语言+Proteus仿真》老杨 电子工业出版社
《单片机C语言程序设计实训100例——基于8051+Proteus仿真》彭伟 电子工业出版社
《新概念51单片机C语言教程——入门、提高、开发、拓展》 郭天祥 电子工业出版社
《实例解读51单片机完全学习与应用》 电子工业出版社
《手把手教你学单片机》 北航
《单片机基础》李广弟 北航
《单片机原理及接口技术》李朝青 北航
《51单片机应用从零开始》汇编 杨欣 清华出版社
《爱上单片机》 杜洋 人民邮电出版社
《例说51单片机(C语言版)》 张义和 人民邮电出版社
《单片机原理与技术》
《51单片机开发与应用技术详解》
《单片机技术与原理教材》
《匠人手记》
《手把手教你学单片机》
《8051单片机》
《单片机原理及应用》 张毅刚
《51单片机原理与实践》
《单片机应用技术》 哈尔滨工业大学出版社
《8051单片机教程》 平凡
《单片机轻松入门》平凡
❷ 生活中我们经常遇到单片机的例子,请你选其中的一样,描述其工作原理
【例子】:火灾报警器。
【原理】:报警器通过内部智能处理器感应离散光源、微小的烟粒和气雾来检测,一旦检测到烟雾,立刻通过一个内置的专用IC驱动电路和一个外部压电式换能器输出报警声,使人们及早得知火情,将火灾扑灭在萌芽状态。其采用低功耗 CMOS 微处理器就属于单片机。
【硬件组成】:电源、烟雾感应器、CMOS 微处理器(单片机)、烟雾报警器、蜂鸣器等。两总线制方式挂接EI系列剩余电流式电气火灾监控探测器,接收并显示火灾报警信号和剩余电流监测信息,发出声、光报警信号。
(2)单片机入门实例扩展阅读:
单片机的相关应用特点:
1、单片机拥有强大的控制功能,同时运行电压比较低;
2、单片机拥有简易携带等优势, 同时性价比较高。单片机主要应用于下面几种领域当中,分别是:自动化办公、机电一体化、尖端武器和国防军事领域、 航空航天领域、汽车电子设备、医用设备领域、商业营销设备、计算机通讯、家电领域、日常生活和实时控制领域等。
3、拥有良好的集成度, 单片机自身体积较小,拥有强大的控制功能,同时运行电压比较低。
❸ 单片机的应用实例
哎,能用的实在太多了!~
哪方面都可以!
生活中:
自动开电视、关电视、自动定时开电饭锅、
自动扫地的,钟表、自动收衣架等等,甚至周星星演的那个大内密探008里,他发明用和他老婆ML时身下放的那个以老鼠做为动力的玩意,也可以用单片机实现!
工作中,说不完,各种产品的控制系统:
步进电机,实现转动、伸缩距离、角度等各方面的相对高精度可控
室温测量、湿度测量、跑步机、距离探测仪、
电压表、语音控制系统、
头晕,不知道说哪了!就这吧!
如果要搞明白,够你忙几年了
❹ 怎样学习单片机编程,单片机编程实例
1,首先要学习C语言基础,就相当于80%会单片机了,因为现在所有8/16/32位(51系列,MSP430系列,ARM系列)都是使用C语言。
2,听起来单片机比较陌生,不是因为不懂,而是不知道方法和流程。现简单说说,仅供参考;
3,先看内核8051的单片机:台湾宏晶的STC89C51-DIP40/或其它如新茂,到网上买一个开发板,价格不会超过200元。
4,看一下单片机功能:包换内部FLASH、RAM、TIMER、INT、ADC、USB、ISP/IAR等。
5,编译环境、编程软件KEIL。
6,打开开发板的例子程序,在KEIL编译,下载到板,看结果和说明是不是相符,达到这样效果时,心里肯定很激动,这时真正学会了单片机,成功了。
7,然后再学会看电路图,电路图其实很简单,就是一根线从一个地方连接到另一个地方,写代码时,只记住单片机是哪一个管脚,然后对它写代码即可
❺ 单片机c语言编程100个实例
51单片机C语言编程实例 基础知识:51单片机编程基础 单片机的外部结构: 1. DIP40双列直插; 2. P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平) 3. 电源VCC(PIN40)和地线GND(PIN20); 4. 高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位) 5. 内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍) 6. 程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序) 7. P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务) 1. 四个8位通用I/O端口,对应引脚P0、P1、P2和P3; 2. 两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1) 3. 一个串行通信接口;(SCON,SBUF) 4. 一个中断控制器;(IE,IP) 针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。 C语言编程基础: 1. 十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。 2. 如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。 3. ++var表示对变量var先增一;var—表示对变量后减一。 4. x |= 0x0f;表示为 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。 6. While( 1 ); 表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是{;} 在某引脚输出高电平的编程方法:(比如P1.3(PIN4)引脚) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P1.3 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P1_3 = 1; //给P1_3赋值1,引脚P1.3就能输出高电平VCC 5. While( 1 ); //死循环,相当 LOOP: goto LOOP; 6. } 注意:P0的每个引脚要输出高电平时,必须外接上拉电阻(如4K7)至VCC电源。 在某引脚输出低电平的编程方法:(比如P2.7引脚) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P2.7 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P2_7 = 0; //给P2_7赋值0,引脚P2.7就能输出低电平GND 5. While( 1 ); //死循环,相当 LOOP: goto LOOP; 6. } 在某引脚输出方波编程方法:(比如P3.1引脚) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P3.1 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. While( 1 ) //非零表示真,如果为真则执行下面循环体的语句 5. { 6. P3_1 = 1; //给P3_1赋值1,引脚P3.1就能输出高电平VCC 7. P3_1 = 0; //给P3_1赋值0,引脚P3.1就能输出低电平GND 8. } //由于一直为真,所以不断输出高、低、高、低……,从而形成方波 9. } 将某引脚的输入电平取反后,从另一个引脚输出:( 比如 P0.4 = NOT( P1.1) ) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P0.4和P1.1 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P1_1 = 1; //初始化。P1.1作为输入,必须输出高电平 5. While( 1 ) //非零表示真,如果为真则执行下面循环体的语句 6. { 7. if( P1_1 == 1 ) //读取P1.1,就是认为P1.1为输入,如果P1.1输入高电平VCC 8. { P0_4 = 0; } //给P0_4赋值0,引脚P0.4就能输出低电平GND 2 51单片机C语言编程实例 9. else //否则P1.1输入为低电平GND 10. //{ P0_4 = 0; } //给P0_4赋值0,引脚P0.4就能输出低电平GND 11. { P0_4 = 1; } //给P0_4赋值1,引脚P0.4就能输出高电平VCC 12. } //由于一直为真,所以不断根据P1.1的输入情况,改变P0.4的输出电平 13. } 将某端口8个引脚输入电平,低四位取反后,从另一个端口8个引脚输出:( 比如 P2 = NOT( P3 ) ) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P2和P3 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P3 = 0xff; //初始化。P3作为输入,必须输出高电平,同时给P3口的8个引脚输出高电平 5. While( 1 ) //非零表示真,如果为真则执行下面循环体的语句 6. { //取反的方法是异或1,而不取反的方法则是异或0 7. P2 = P3^0x0f //读取P3,就是认为P3为输入,低四位异或者1,即取反,然后输出 8. } //由于一直为真,所以不断将P3取反输出到P2 9. } 注意:一个字节的8位D7、D6至D0,分别输出到P3.7、P3.6至P3.0,比如P3=0x0f,则P3.7、P3.6、P3.5、P3.4四个引脚都输出低电平,而P3.3、P3.2、P3.1、P3.0四个引脚都输出高电平。同样,输入一个端口P2,即是将P2.7、P2.6至P2.0,读入到一个字节的8位D7、D6至D0。 第一节:单数码管按键显示 单片机最小系统的硬件原理接线图: 1. 接电源:VCC(PIN40)、GND(PIN20)。加接退耦电容0.1uF 2. 接晶体:X1(PIN18)、X2(PIN19)。注意标出晶体频率(选用12MHz),还有辅助电容30pF 3. 接复位:RES(PIN9)。接上电复位电路,以及手动复位电路,分析复位工作原理 4. 接配置:EA(PIN31)。说明原因。 发光二极的控制:单片机I/O输出 将一发光二极管LED的正极(阳极)接P1.1,LED的负极(阴极)接地GND。只要P1.1输出高电平VCC,LED就正向导通(导通时LED上的压降大于1V),有电流流过LED,至发LED发亮。实际上由于P1.1高电平输出电阻为10K,起到输出限流的作用,所以流过LED的电流小于(5V-1V)/10K = 0.4mA。只要P1.1输出低电平GND,实际小于0.3V,LED就不能导通,结果LED不亮。 开关双键的输入:输入先输出高 一个按键KEY_ON接在P1.6与GND之间,另一个按键KEY_OFF接P1.7与GND之间,按KEY_ON后LED亮,按KEY_OFF后LED灭。同时按下LED半亮,LED保持后松开键的状态,即ON亮OFF灭。 代码 1. #include <at89x52.h> 2. #define LED P1^1 //用符号LED代替P1_1 3. #define KEY_ON P1^6 //用符号KEY_ON代替P1_6 4. #define KEY_OFF P1^7 //用符号KEY_OFF代替P1_7 5. void main( void ) //单片机复位后的执行入口,void表示空,无输入参数,无返回值 6. { 7. KEY_ON = 1; //作为输入,首先输出高,接下KEY_ON,P1.6则接地为0,否则输入为1 8. KEY_OFF = 1; //作为输入,首先输出高,接下KEY_OFF,P1.7则接地为0,否则输入为1 9. While( 1 ) //永远为真,所以永远循环执行如下括号内所有语句 10. { 11. if( KEY_ON==0 ) LED=1; //是KEY_ON接下,所示P1.1输出高,LED亮 12. if( KEY_OFF==0 ) LED=0; //是KEY_OFF接下,所示P1.1输出低,LED灭 13. } //松开键后,都不给LED赋值,所以LED保持最后按键状态。 14. //同时按下时,LED不断亮灭,各占一半时间,交替频率很快,由于人眼惯性,看上去为半亮态 15. } 数码管的接法和驱动原理 一支七段数码管实际由8个发光二极管构成,其中7个组形构成数字8的七段笔画,所以称为七段数码管,而余下的1个发光二极管作为小数点。作为习惯,分别给8个发光二极管标上记号:a,b,c,d,e,f,g,h。对应8的顶上一画,按顺时针方向排,中间一画为g,小数点为h。 我们通常又将各二极与一个字节的8位对应,a(D0),b(D1),c(D2),d(D3),e(D4),f(D5),g(D6),h(D7),相应8个发光二极管正好与单片机一个端口Pn的8个引脚连接,这样单片机就可以通过引脚输出高低电平控制8个发光二极的亮与灭,从而显示各种数字和符号;对应字节,引脚接法为:a(Pn.0),b(Pn.1),c(Pn.2),d(Pn.3),e(Pn.4),f(Pn.5),g(Pn.6),h(Pn.7)。 如果将8个发光二极管的负极(阴极)内接在一起,作为数码管的一个引脚,这种数码管则被称为共阴数码管,共同的引脚则称为共阴极,8个正极则为段极。否则,如果是将正极(阳极)内接在一起引出的,则称为共阳数码管,共同的引脚则称为共阳极,8个负极则为段极。 以单支共阴数码管为例,可将段极接到某端口Pn,共阴极接GND,则可编写出对应十六进制码的七段码表字节数据
❻ 推荐一本单片机入门的经典教材
新手刚开始的时候确实很迷茫,学习单片机需要点什么,要怎样学习,能不能学会,总是一知半解,不知怎样才能学会。作为过来人推荐你看一个,我当年自学单片机就是用王云51单片机教材,配合带的 云龙51教学视频学过来的,只要肯努力,肯定是有收获的。
❼ 单片机的具体应用例子
1、节能控制:
单片机可以控制能耗的节奏,例如:收集睡眠和运动步数等数字,以分钟级的频率进行上报;信息未上报时,设备处于低能耗的状态,信息上报时,会出现一些网络传输方面的消耗,单片机可以控制能耗的节奏,将大部分时间控制在低能耗的状态下,可以使得待机时间长达七十二小时以上。
2、智能语音设备:
例如:在导航智能电子设备中,可以将其中的一些道路名称、距离等进行提取,然后进行播报;同时,还可以选择不同的名人口吻进行播报,真正实现智能化的定制操作,更好地满足用户的需求;
3、报警控制:
例如:家里经常使用的火灾报警器,就是在外界环境达到一定条件下开启智能报警的设备,如果室内的烟雾浓度到达某种水平,或者是收集外界的数据达到某种状态时,就会自动触发报警设置,从而实现智能报警的功能。
4、工厂生产检测:
例如:在一些工厂中,经常会安装一些设备,对工厂的生产环境进行监控,当出现某些异常数据时,就会发生报警,为确保设备的正常运作,设备维护人员需要及时进行处理,避免产生较大的故障。
5、家电领域:
其中家用电器就是其应用中的一个领域,用单片机取代传统的家用电器中机械控制部件,并实现家电智能化。由此确定了单片机在家用电器中的重要地位。如:智能电饭煲、智能洗衣机、智能电视等都有单片机的应用。
❽ 列举两个你身边使用单片机的例子
离开城市,到山上修行,身边,只有云海茫茫。
❾ 51单片机应用实例详解的内容简介
如果不是为了应付考试,那单片机的学习更应该强调系统的应用。 《51单片机应用实例详解》是《51单片机应用从零开始》的姊妹书,既可作为其“续集”以扩展学习单片机基础知识之后的系统应用,也可独立成册作为单片机从基础学习到系统应用的帮手。
《51单片机应用实例详解》在选材时,结合国内外重点大学一线教师的教学经验,并借鉴国外经典教材的写作手法,对51单片机的应用系统及局部知识进行了详实的介绍。除了每章中大量的单片机系统模块及有机系统的介绍外,“实例点拨”环节还展示了许多相对完整的单片机系统实例供读者学习、开发时参考。在多角度、多方面的实例化讲解中,读者既掌握了单片机系统开发的基本技能,还开阔了单片机流行应用的视野。
《51单片机应用实例详解》秉承《51单片机应用从零开始》一书语言生动风趣及讲解循序渐进的特点,在顾及实用性、技术性的同时,最大程度地提高了可读性,力求阐述得平实、通俗、易懂。《51单片机应用实例详解》适合作为电类本科、专科学生的参考用书及高职高专学生的单片机应用技术教材,也可作为无线电爱好者学习单片机的参考书。