《单片微机原理及应用》主讲教师:陆坤成都理工大学核自学院自动化系《单片微机原理及应用》精品课程建设组有关本课程学习的几点建议本课程是一门实践性、应用性很强的学科仅仅听懂还不够,重在培养动手能力硬件/软件同样重要、不可偏废硬件是骨架,软件是皮肉器脏及思想本课程的前期基础课程是数字电路与微机原理这方面知识掌握得不够好的请自己补上预习、听课、复习、作业、实验环环都重要用科学的方法学习请各班去教材科买本课程的《实验指导书》作业与答疑答疑定于每周星期四晚上7:00—9:00在核自院楼112室答疑;平时任何一天,同学们有问题均可到核自院楼112办公室寻求解答,112室电话:84078776每人准备一个作业本——作业和实验报告可用其他课程用过而没用完的本子,但不能用单页纸,学期末作业本就是一本复习提纲。第1章预备知识(数制与码制)——不讲第2章单片机基础——4第3章指令系统及汇编语言程序设计——6第5章输入/输出、中断、定时与串行通信——8第4章单片机系统的扩展(并入第6章讲)第6章接口芯片与接口技术——12~14插入:C-51程序设计——2第7章单片机应用系统设计——3~4第8章几种典型的单片机——4课堂授课时间分配:(40学时)绪论绪论在工业、农业、军事、保安、金融、仪器仪表、航空航天、医疗、通讯、办公设备、娱乐休闲、健身、体育竞赛、服务领域……,大量单片机-嵌入式技术已经无处不在。正迅速改变着人们传统的生产和生活方式。请稍微留心一下我们的周围,看看身边到底发生了什么变化?单片机技术的应用遍布国民经济与人民生活的各个领域从一个简单的测控应用实例说起动作选择按钮红外线传感器89C2051单片机复位按钮电源指示灯从一个简单的测控应用实例说起任务一:控制一盏灯点亮任务二:红灯周期性地点亮/熄灭信号检测柔性开关集群灯控顺序控制/多任务定时切换自动生产流水线任务三:红外防盗报警实时控制简单测控实例原理图数字电路中由13片IC组成的数字钟数字电路中由13片IC组成的数字钟数字电路中由13片IC组成的数字钟单片IC(单片机)电子钟单片机单片机与嵌入式技术重要吗?有用吗?遥远吗?问题的答案是不言而喻的。第一讲:单片机基础本讲重点:MCS-51的基本特性;单片机的引脚与I/O口结构;存储器、堆栈与特殊功能寄存器.第二章单片机基础单片机与嵌入式:单片微机(SingleChipMicro-computer)微控制器(Micro-ControllerUnit——MCU)嵌入式微控制器(EmbeddedMicrocontroller)单片机应用领域:测控系统、智能仪表、智能接口、办公自动化、光机电一体化设备、通讯设备、网络设备、汽车电子、消费类电子产品、智能楼宇设备……单片机的多元化发展:IntelMotorolaPhilipsAtmelSiemensNSLGWinbondMicrochipEPSONNECCypressDallasOkiFairchildFujitsuHitachiSAMSUNG……组成:CPU(进行运算、控制)RAM(数据存储器)I/O口(串口、并口等)ROM(程序存储器)PC机:上述部件以芯片形式安装在主板上。单片机:上述部件被集成到单芯片中。通用PC包括:键盘、显示器、鼠标、硬/软/光驱、音箱、打印机、扫描仪…等外设。单片机则只是一片集成电路。(……100、48、40、32、28、20、16、8条引脚)。单片机与计算机之异同(1)功能:PC机:数据运算、采集、处理、存储、传输;单片机:控制(或受控于)外设。通用计算机擅长于数据运算、采集、处理、存储和传输;单片机的专长则是测控,往往嵌入某个仪器/设备/系统中,使其达到智能化的效果。单片机与计算机之异同(2)应用特点:个人计算机(微机):体积大,功耗大,价格高,用途较固定,属通用计算机。易于学习掌握和使用,但用于控制时必须制作或购买专用的接口卡,并编制专门的应用软件。单片机:体积小,功耗小,价格低,用途灵活,无处不在,属专用计算机。是一种特殊器件,需经过专门学习方能掌握应用,应用中要设计专业的硬件和软件。单片机与计算机之异同(3)MCS-51单片机基本特性8位的CPU,片内有振荡器和时钟电路,工作频率为1~12MHz(Atmel89Cxx为0~24MHz)片内有128/256字节RAM片内有0K/4K/8K字节程序存储器ROM可寻址片外64K字节数据存储器RAM可寻址片外64K字节程序存储器ROM片内21/26个特殊功能寄存器(SFR)4个8位的并行I/O口(PIO)1个全双工串行口(SIO/UART)2/3个16位定时器/计数器(TIMER/COUNTER)可处理5/6个中断源,两级中断优先级内置1个布尔处理器和1个布尔累加器(Cy)MCS-51指令集含111条指令MCS-51系列单片机配置一览表系列片内存储器(字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x8位15IntelMCS-52子系列803280C32805280C52(8K字节)875287C52(8K字节)256字节3x164x8位16注意:今后将会经常提到ATMEL的AT89C2051/51/52等MCU!ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(20条引脚DIP封装)1282151589C51(4K)/89C52(8K)(40条引脚DIP封装)128/2562/33215/6内部结构框图单片机的引脚定义从一片集成电路的角度去认识单片机认识单片机的引脚MCS-51单片机40脚Vcc,GND2XTAL1,XTAL22RESET1EA/Vpp1ALE/PROG1PSEN1P0.0—P0.78P1.0—P1.78P2.0—P2.78P3.0—P3.78单片机的引脚(电源端)Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。单片机的引脚(晶振端)Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。XTAL1,XTAL2:片内振荡电路输入/输出端单片机的引脚(晶振端)Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入/输出端15~45pfx21~12MHz(MCS-51)0~24MHz(Atmel-89C)XTAL1XTAL2也可以由XTAL1端接入外部时钟,此时应将XTAL2接地:XTAL2XTAL1外部时钟通常外接一个晶振两个电容单片机的引脚(晶振端)Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端CPU总是按照一定的时钟节拍与时序工作:振荡周期/时钟周期:Tc=晶振频率fosc(或外加频率)的倒数状态周期:Ts=2个时钟周期(Tc)(很少用到此概念)机器周期:Tm=6个状态周期(Ts)=12个振荡周期(Tc)指令周期:Ti:执行一条指令所需的机器周期(Tm)数牢牢记住:振荡周期=晶振频率fosc的倒数;1个机器周期=12个振荡周期;1个指令周期=1、2、4个机器周期单片机的引脚(复位端)Vcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效,宽度8mS)复位使单片机进入某种确定的初始状态:▼PC值归零(0000H);▼各个SFR被赋予初始值(见P.42):P0~P3=0FFH,Acc=0,B=0,TH0=0,TL0=0,TH1=0,TL0=0,SP=7,PSW=0……▼退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始。单片机的引脚(复位端)Vcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效,宽度8mS)PC与SFR复位状态表寄存器复位状态寄存器复位状态PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P3FFHSCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H单片机的引脚(复位端)+5V10uF10KVccRSTGND上电复位10uF10KVccRSTGND手动&上电复位1KVcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效,宽度8mS)+5V单片机的引脚(EA端)Vcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效,宽度8mS)EA/Vpp:寻址外部ROM控制端/编程电源输入端。低有效,片内无ROM时必须接地;片内有ROM时应当接高电平;对片内ROM编程时编程正电源加到此端。单片机的引脚(ALE端)Vcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效,宽度8mS)EA/Vpp:寻址外部ROM控制端/编程电源输入端。ALE/PROG:地址锁存允许/编程脉冲输入端。P0口寻址外部低8位地址时接外部锁存器G端;ALE端平时会输出周期正脉冲:ffosc/6;对片内ROM编程时编程脉冲由此端加入。单片机的引脚(PSEN端)PSEN:寻址外部程序存储器时选通外部EPROM的读控制端(OE)低有效。单片机锁存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM单片机的引脚(PSEN端)PSEN:寻址外部程序存储器时选通外部EPROM的读控制端(OE)低有效。单片机的I/O引脚结构众多功能各异的I/O引脚源于它结构的不同单片机的引脚(P1口)P1.0—P1.7:准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据=1时110截止=1单片机的引脚(P1口)P1.0—P1.7:准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据=0时001=0导通单片机的引脚(P1口)P1.0—P1.7:准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。21DQCK/Q读引脚=1读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输入数据时,要先对其写“1”110截止单片机的引脚(P1口)P1.0—P1.7:准双向I/O口(内置了上拉电阻)输出时一切照常,仅在作输入口用时要先对其写“1”。简单测控实例原理图P1.3作输入端口光路通畅,R亮2K光路阻断,R暗400KR亮2.2KR暗250KJOB3:CLRP1.1;亮绿灯REDO:SETBP1.3;P1.3作输入口必先置1CHECK:JNBP1.3,CHECK;检测通道是否被阻断?LOOP:…………;有入侵者,报警!AJMPREDO;再跳回去检测任务三:红外防盗报警P1.3口用于输入状态检测的语句:R亮2.2K,红外线光路通畅时,P1.3端=低电平R暗250K,红外线光路阻断时,P1.3端=高电平单片机的引脚(P0口)