您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 郭天祥《十天学会单片机和C语言编程》
第一讲学单片机需要什么基础?什么是单片机、单片机能做什么、怎么开始学习单片机。学单片机需要的一些预备知识C51基础知识。了解TX-1C单片机学习板系统结构如何用TX-1C单片机学习板在短时间内掌握51单片机和C语言编程。KEIL工程建立详细介绍及KEIL软件使用方法从点亮实验板上的一个发光二极管开始学单片机需要什么基础?1.与以前所学的知识关联很少;2.只需要掌握很基本的数电模电知识,如二进制、十进制、十六进制之间的转换,与、或、非逻辑关系等;3.对各种器件的概念基本上是从0开始;4.如果要用C语言编程,需具备简单的C语言基础;5.所有人都站在了同一起跑线上;什么是单片机?◆单板机将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,并有控制功能较强的布尔处理器。单板机单片机单片机能做什么实物展示用到单片机的项目经验介绍1.手持粮库温度寻检设备2.毕设答辩打分器3.电话台灯4.自动感应水龙头凡是与控制或简单计算有关的电子设备都可以用单片机来实现,再根据具体实际情况选择不同性能的单片机,如:atmel,stc,pic,avr,凌阳,80C51,arm等工业自动化:数据采集、测控技术。智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表等。消费类电子产品:洗衣机、电冰箱、空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。通讯方面:调制解调器、程控交换技术、手机、小灵通等。武器装备:飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。等等…..怎么开始学习?实践第一。补充必要的理论知识,即缺什么补什么。做工程项目积累经验。(可在网络上搜集题目,也可自己有什么想法大胆的去试验)预备知识电平特性2进制与16进制的表示及转换二进制数的逻辑运算8051单片机介绍C51基础知识关于电平特性数字电路中只有两种电平:高和低(本课程中)定义单片机为TTL电平:高+5V低0VRS232电平:计算机的串口高-12V低+12V所以计算机与单片机之间通讯时需要加电平转换芯片max232(实验板上左下角)。二进制数字电路中的两种电平特性决定了它006110117111210810003119100141001010105101111011十六进制是二进制的简短表示形式。十进制中的0-15分别表示为十六进制的0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F熟练掌握二进制与十六进制之间的转换。规律:一般把四个二进制数放在一起转换成一个十六进制数,转换时先把二进制数转换成十进制数,再把十进制数转换成十六进制数。如:0001B-1-1HB表示为二进制,H为十六进制1001B-9-9H1010B-10-AH00101100-44-2CH各种进位制的对应关系十进制二进制十六进制十进制二进制十六进制000910019111101010A2102111011B3113121100C41004131101D51015141110E61106151111F71117161000010810008二进制数的逻辑运算1.“与”“与”运算是实现“必须都有,否则就没有”这种逻辑关系的一种运算。运算符为“·”,其运算规则如下:0·0=0,0·1=1·0=0,1·1=12.“或”“或”运算是实现“只要其中之一有,就有”这种逻辑关系的一种运算,其运算符为“+”。“或”运算规则如下:0+0=0,0+1=1+0=1,1+1=13.“非”运算“非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作。其运算规则如下:A10,014.“异或”“异或”运算是实现“必须不同,否则就没有”这种逻辑的一种运算,运算符为“”。其运算规则是:011,101,110,00080C51系列介绍﹡Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;﹡ATMEL的:89C51、89C52、89C2051等;﹡Philips、华邦、Dallas、STCSiemens(Infineon)等公司的许多产品。补充:关于型号的介绍80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有:80C51的引脚封装123456789101112131415161718192040393837363534333231302928272625242322211234567891020191817161514131211P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDP3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0RSTP3.0/RXDP3.1/TXDXTAL2XTAL1P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1GNDVCCP1.7P1.6P1.5P1.4P1.3P1.2P1.1/AIN1P1.0/AIN0P3.7注:类似的还有Philips公司的87LPC64,20引脚8XC748/750/(751),24引脚8X749(752),28引脚8XC754,28引脚等等80C51/89C5189C2051总线型非总线型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(DataBus),地址总线AB(AddressBus)和控制总线CBControlBus)。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)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsignedint0~65535320~4294967295unsignedlongintunsignedshortint160~65535有float323.4e-38~3.4e38有double641.7e-308~1.7e308有char8-128~127无unsignedchar80~255C语言中的基本数据类型类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsignedint0~65535320~4294967295unsignedlongintunsignedshortint160~65535有float323.4e-38~3.4e38有double641.7e-308~1.7e308有char8-128~127无unsignedchar80~255C-51的数据类型扩充定义sfr:特殊功能寄存器声明sfr16:sfr的16位数据声明sbit:特殊功能位声明bit:位变量声明例:sfrSCON=0X98;sfr16T2=0xCC;sbitOV=PSW^2;例:数据类型变量名charvar1;bitflags;unsignedcharvextor[10];int注意:变量名不能用C语言中的关键字表示。C-51数据的存储类型C-51的包含的头文件通常有:reg51.hreg52.hmath.hctype.hstdio.hstdlib.habsacc.h常用有:reg51.hreg52.h(定义特殊功能寄存器和位寄存器);math.h(定义常用数学运算);C-51的运算符与C语言基本相同:+-*/(加减乘除)==(大于大于等于小于小于等于)==!=(测试等于测试不等于)&&||!(逻辑与逻辑或逻辑非)(位右移位左移)&|(按位与按位或)^~(按位异或按位取反)C-51的基本语句与标准C语言基本相同:if选择语言while循环语言for循环语言switch/case多分支选择语言do-while循环语言中断服务程序函数名()interruptnusingm{函数内部实现….}I/O口定义sbitbeep=P2^3;单片机主要掌握以下几点最小系统能够运行起来的必要条件。1.电源2.晶振3.复位电路对单片机任意IO口的随意操作1.输出控制电平高低2.输出检测电平高低。定时器:重点掌握最常用的方式2中断:外部中断、定时器中断、串口中断串口通信:单片机之间、单片机与计算机间KEIL的使用掌握KEIL工程的建立和软件的开发;掌握KEIL中软件仿真的基本应用;掌握用KEIL直接硬件仿真TX-1C单片机学习板的方法Main函数格式:voidmain()特点:无返回值,无参。任何一个C程序有且仅有一个main函数,它是整个程序开始执行
本文标题:郭天祥《十天学会单片机和C语言编程》
链接地址:https://www.777doc.com/doc-4000622 .html