资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,自我介绍,姓名:郭天祥,出生年月:,1983,年,10,月,家乡:新疆伊宁,邮箱:,txmcu,电话:,13796625294,网站:,2004,年,5,月首次与电子元件见面,,6,月开始学习单片机,,9,月参加黑龙江省大学生电子设计大赛获一等奖,,04,年主要学会了单片机的汇编语言编程和非常简单的常用电路设计。,05,年开始学单片机,C,语言编程,,5,月获学校五四杯电子设计竞赛二等奖,,6,月参加“枭龙杯”全国空中机器人比赛于,11,月在成都举行,获全国亚军,,9,月参加“索尼杯”全国大学生电子设计竞赛未获奖。,05,年期间学会了,C,语言、,C+,语言、,VC+,编程、,VHDL,语言、,FPGA/CPLD,(可编程逻辑器件)。,06,年,5,月获校五四杯电子设计大赛一等奖,同年被免试保送信通学院读硕士研究生。,06,年开始和同学一起对外承接工程项目,同时学习,DSP,(数字信号处理器),,8,月建立了个人网站(天祥电子),主要是产品宣传与销售。,07,年,5,月获校五四杯电子设计大赛一等奖,黑龙江省挑战杯电子设计竞赛一等奖。,07,年主要对外承接工程项目,同年学习,ARM7,(嵌入式系统设计)。,以此鼓励同学们,希望同学们从现在开始你们的电子创新生活,只要大家有信心、有热情,不久的将来必将硕果累累、前途无量。,第一讲,学单片机需要什么基础?,什么是单片机、单片机能做什么、怎么开始学习单片机。,学单片机需要的一些预备知识,C51,基础知识。,了解,TX-1C,单片机学习板系统结构,如何用,TX-1C,单片机学习板在短时间内掌握,51,单片机和,C,语言编程。,KEIL,工程建立详细介绍及,KEIL,软件使用方法,从点亮实验板上的一个发光二极管开始,学单片机需要什么基础?,与以前所学的知识关联很少;,只需要掌握很基本的数电模电知识,如二进制、十进制、十六进制之间的转换,与、或、非逻辑关系等;,对各种器件的概念基本上是从,0,开始;,如果要用,C,语言编程,需具备简单的,C,语言基础;,所有人都站在了同一起跑线上,;,什么是单片机?,单板机,将,CPU,芯片、,存储器,芯片、,I/O,接口,芯片和简单的,I/O,设备,(小键盘、,LED,显示器)等装配在一块印刷电路板上,再配上,监控程序,(固化在,ROM,中),就构成了一台单板微型计算机(简称单板机)。,单板机,单板机的,I/O,设备简单,软件资源少,使用不方便。早期主要用于微型计算机原理的,教学,及,简单的测控系统,,现在已很少使用。,单片机,在一片集成电路芯片上集成微处理器、存储器、,I/O,接口电路,从而构成了,单芯片微型计算机,即单片机,。,Intel,公司推出了,MCS-51,系列单片机:,集成,8,位,CPU,、,4K,字节,ROM,、,128,字节,RAM,、,4,个,8,位并口、,1,个全双工串行口、,2,个,16,位定时,/,计数器。寻址范围,64K,,并有控制功能较强的布尔处理器。,单板机,单片机,单片机能做什么,实物展示,用到单片机的项目经验介绍,手持粮库温度寻检设备,毕设答辩打分器,电话台灯,自动感应水龙头,凡是与控制或简单计算有关的电子设备都可以用单片机来实现,再根据具体实际情况选择不同性能的单片机,如:,atmel,stc,pic,avr,凌阳,,80C51,,,arm,等,工业自动化:数据采集、测控技术。,智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表等。,消费类电子产品:洗衣机、电冰箱、空调机、电视机、微波炉、手机、,IC,卡、汽车电子设备等。,通讯方面:调制解调器、程控交换技术、手机、小灵通等。,武器装备:飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。,等等,.,怎么开始学习?,实践第一。,补充必要的理论知识,即缺什么补什么。,做工程项目积累经验。(可在网络上搜集题目,也可自己有什么想法大胆的去试验),预备知识,电平特性,2,进制与,16,进制的表示及转换,二进制数的逻辑运算,8051,单片机介绍,C51,基础知识,关于电平特性,数字电路中只有两种电平:高和低,(本课程中)定义单片机为,TTL,电平:,高,+5V,低,0V,RS232,电平:计算机的串口,高,-12V,低,+12V,所以计算机与单片机之间通讯时需要加电平转换芯片,max232,(实验板上左下角)。,二进制,数字电路中的两种电平特性决定了它,0 0 6 110,1 17111,2 1081000,3 1191001,4 100101010,5 10111 1011,十六进制,是二进制的简短表示形式。,十进制中的,0-15,分别表示为十六进制的,0,、,1,、,2,、,3,、,4,、,5,、,6,、,7,、,8,、,9,、,A,、,B,、,C,、,D,、,E,、,F,熟练掌握二进制与十六进制之间的转换。,规律:一般把四个二进制数放在一起转换成一个十六进制数,转换时先把二进制数转换成十进制数,再把十进制数转换成十六进制数。,如:,0001B-1-1H,B,表示为二进制,,H,为十六进制,1001B-9-9H,1010B-10-AH,0010 1100-44-2CH,各种进位制的对应关系,十进制,二进制,十六进制,十进制,二进制,十六进制,0,0,0,9,1001,9,1,1,1,10,1010,A,2,10,2,11,1011,B,3,11,3,12,1100,C,4,100,4,13,1101,D,5,101,5,14,1110,E,6,110,6,15,1111,F,7,111,7,16,10000,10,8,1000,8,二进制数的逻辑运算,1.,“,与,”,运算,“,与,”,运算是实现,“,必须都有,否则就没有,”,这种逻辑关系的一种运算。运算符为,“,”,其运算规则如下,:,0,0=0,0,1=1,0=0,1,1=1,2.,“,或,”,运算,“,或,”,运算是实现,“,只要其中之一有,就有,”,这种逻辑关系的一种运算,其运算符为,“,+,”,。,“,或,”,运算规则如下,:,0+0=0,0+1=1+0=1,1+1=1,3.,“,非,”,运算,“,非,”,运算是实现,“,求反,”,这种逻辑的一种运算,如变量,A,的,“,非,”,运算记作 。其运算规则如下,:,A,4.,“,异或,”,运算,“,异或,”,运算是实现,“,必须不同,否则就没有,”,这种逻辑的一种运算,运算符为,“,”,。其运算规则是,:,80C51,系列介绍,Intel,的:,80C31,、,80C51,、,87C51,,,80C32,、,80C52,、,87C52,等;,ATMEL,的:,89C51,、,89C52,、,89C2051,等;,Philips,、华邦、,Dallas,、,STC,Siemens(Infineon),等公司的许多产品。,补充:关于型号的介绍,80C51,是,MCS-51,系列中的一个典型品种;其它厂商,以,8051,为基核,开发出的,CMOS,工艺单片机产品,统称为,80C51,系列,。当前常用的,80C51,系列单片机主要产品有:,80C51,的引脚封装,总线型,非总线型,P3,第二功能各引脚功能定义:,P3.0,:,RXD,串行口输入,P3.1,:,TXD,串行口输出,P3.2,:,INT0,外部中断,0,输入,P3.3,:,INT1,外部中断,1,输入,P3.4,:,T0,定时器,0,外部输入,P3.5,:,T1,定时器,1,外部输入,P3.6,:,WR,外部写控制,P3.7,:,RD,外部读控制,总线(,BUS,)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是,CPU,内部之间的连线。外部总线是指,CPU,与其它部件之间的连线。外部总线有三种,:,数据总线,DB,(,Data Bus,),地址总线,AB,(,Address Bus,)和控制总线,CBControl Bus,)。,CPU,:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;,RAM,:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;,ROM,:用以存放程序、一些原始数据和表格;,I/O,口:四个,8,位并行,I/O,口,既可用作输入,也可用作输出;,T/C,:两个定时,/,记数器,既可以工作在定时模式,也可以工作在记数模式;,五个中断源的中断控制系统;,一个全双工,UART,(通用异步接收发送器)的串行,I/O,口,用于实现单片机之间或单片机与微机之间的串行通信;,片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率取决于单片机型号及性能。,C51,知识,C,语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。目前,使用,C,语言进行程序设计已经成为软件开发的一个主流。用,C,语言开发系统可以大大缩短开发周期,明显增强程序的可读性,便于改进、扩充和移植。而针对,8051,的,C,语言日趋成熟,成为了专业化的实用高级语言。,C,语言作为一种非常方便的语言而得到广泛的支持,很多硬件开发都用,C,语言编程,如:各种单片机、,DSP,、,ARM,等,.,C,语言程序本身不依赖于机器硬件系统,基本上不作修改就可将程序从不同的单片机中移植过来。,C,提供了很多数学函数并支持浮点运算,开发效率高,故可缩短开发时间,增加程序可读性和可维护性。,C-51,的特点,C-51,与,ASM-51,相比,有如下优点:,1.,对单片机的指令系统不要求了解,仅要求对,8051,的存贮器结构有初步了解;,2.,寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理;,3.,程序有规范的结构,可分成不同的函数,这种方式可使程序结构化;,4.,提供的库包含许多标准子程序,具有较强的数据处理能力;,5.,由于具有方便的模块化编程技术,使已编好程序可容易地移植;,C,51,的数据类型,基本数据类型,类型,符号,关键字,数的表示范围,所占位数,整型,字符型,实型,有,无,(signed)int,16,-3276832767,(signed)short,16,-3276832767,(signed)long,32,-21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned short int,16,065535,有,float,32,3.4e-383.4e38,有,double,64,1.7e-3081.7e308,有,char,8,-128127,无,unsigned char,8,0255,C,语言中的基本数据类型,类型,符号,关键字,数的表示范围,所占位数,整型,字符型,实型,有,无,(signed)int,16,-3276832767,(signed)short,16,-3276832767,(signed)long,32,-21474836482147483647,16,unsigned int,065535,32,04294967295,unsigned long int,unsigned short int,16,065535,有,float,32,3.4e-383.4e38,有,double,64,1.7e-3081.7e308,有,char,8,-128127,无,unsigned char,8,0255,C,51,的数据类型扩充定义,sfr:,特殊功能寄存器,声明,sfr16:sfr,的16位数据声明,sbit:,特殊功能位声明,bit,:,位变量声明,例:,sfr SCON=0X98;,sfr16 T2=0 xCC;,sbit OV=PSW2;,例:,数据类型 变量名,char var1;,bit flags;,unsigned char vextor10;,int wwww;,注意:变量名不能用,C,语言中的关键字表示。,C-51,数据的存储类型,C-51,的包含的头文件,通常有,:,reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h,常用有,:,reg51.h reg52.h,(定义特殊功能寄存器和位寄存器);,math.h,(定义常用数学运算);,C-51,的运算符,与,C,语言基本相同:,+-*/,(加 减 乘 除),=,(位右移 位左移),&|,(,按位与 按位或,),(,按位异或 按位取反,),C-51,的基本语句,与标准,C,语言基本相同:,if,选择语言,while,循环语言,for,循环语言,switch/case,多分支选择语言,do-while,循环语言,中断服务程序,函数名(),interrupt,n,using,m,函数内部实现,.,I/O,口定义,sbit beep=P23;,单片机主要掌握以下几点,最小系统能够运行起来的必要条件。,1.,电源,2.,晶振,3.,复位电路,对单片机任意,IO,口的随意操作,1.,输出控制电平高低,2.,输出检测电平高低。,定时器:重点掌握最常用的方式,2,中断:外部中断、定时器中断、串口中断,串口通信:单片机之间、单片机与计算机间,KEIL,的使用,掌握,KEIL,工程的建立和软件的开发;,掌握,KEIL,中软件仿真的基本应用;,掌握用,KEIL,直接硬件仿真,TX-1C,单片机学习板的方法,Main,函数格式:,void main(),特点:无返回值,无参。任何一个,C,程序有且仅有一个,main,函数,它是整个程序开始执行的入口。例:,void main(),总程序从这里开始执行,;,其他语句;,课后练习,对照,TX-1C,单片机学习板原理图写程序,用位操作和总线操作两种方法完成以下题目,1.,熟练建立,KEIL,工程,2.,点亮第一个发光管,.,3.,点亮最后一个发光管,4.,点亮,1,、,3,、,5,、,7,5.,点亮二、四、五、六,6.,尝试让第一个发光管闪烁,7.,尝试设计出流水灯程序,自己动手实践需要硬件材料,DIP40,脚座一个。,杜邦线,单头带冒,,40,根。,单排针 两排。,小电路板一块。,DS12C887,一片(旧,10,元,新,22,元)。,焊锡、,单片机工作的基本时序,机器周期和指令周期,(,1,)振荡周期,:,也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期,,TX,实验板上为,11.0592MHZ,。,(,2,)状态周期,:,每个状态周期为时钟周期的,2,倍,是振荡周期经二分频后得到的。,(,3,)机器周期,:,一个机器周期,包含,6,个状态周期,S1S6,也就是,12,个时钟周期,。在一个机器周期内,CPU,可以完成一个独立的操作。,(,4,)指令周期,:,它是指,CPU,完成一条操作所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。,MCS-51,系统中,有单周期指令、双周期指令和四周期指令。,
展开阅读全文