电子发烧友网讯:应广大电子发烧友网读者要求,本电子书《C51单片机及C语言知识点必备秘籍》为《单片机关键知识点全攻略》单片机系列教程及《单片机C语言知识点全攻略》系列单片机C语言学习教程的全整合篇,供所需学习或收藏的工程师及单片机学生、单片机爱好者下载。 点击下载《C51单片机及C语言知识点必备秘籍》电子书 单片机对于初学者来说确实很难理解,不少学过单片机的同学或电子爱好者,甚至在毕业时仍旧是一无所获。基于此,电子发烧友网将整合《单片机关键知识点全攻略》,共分为四个系列,以飨读者,敬请期待!此系列对于业内电子工程师也有收藏和参考价值。 单片机关键知识点一览: 系列一 1:单片机简叙 2:单片机引脚介绍 3:单片机存储器结构 4:第一个单片机小程序 5:单片机延时程序分析 6:单片机并行口结构 7:单片机的特殊功能寄存器 系列二 8:单片机寻址方式与指令系统 9:单片机数据传递类指令 10:单片机数据传送类指令 11:单片机算术运算指令 12:单片机逻辑运算类指令 13:单片机逻辑与或异或指令祥解 14:单片机条件转移指令 系列三 15:单片机位操作指令 16:单片机定时器与计数器 17:单片机定时器/计数器的方式 18:单片机的中断系统 19:单片机定时器、中断试验 20:单片机定时/计数器实验 21:单片机串行口介绍 系列四 22:单片机串行口通信程序设计 23:LED数码管静态显示接口与编 24:动态扫描显示接口电路及程序 25:单片机键盘接口程序设计 26:单片机矩阵式键盘接口技术及 27:关于单片机的一些基本概念 28:实际案例实践——单片机音乐程序设计 继《单片机学习知识点全攻略》得到广大读者好评,根据有网友提出美中不足的是所用单片机编程语言为汇编,基于此,电子发烧友网再接再厉再次为读者诚挚奉上非常详尽的《单片机C语言知识点全攻略》系列单片机C语言学习教程,本教程共分为四部分,主要知识点如下所示。 第一部分知识点: 第一课 建立你的第一个KeilC51项目 第二课 C51HEX文件的生成和单片机 第三课 C51数据类型 第四课 C51常量 第二部分知识点: 第五课 C51变量 第六课 C51运算符和表达式 第七课 运算符和表达式(关系运算符) 第八课 运算符和表达式(位运算符) 第九课 C51运算符和表达式(指针和地址运算符) 第三部分知识点: 第十课 C51表达式语句及仿真器 第十一课 C51复合语句和条件语句 第十二课 C51开关分支语句 第十三课 C51循环语句 第十四课 C51函数 第四部分知识点: 第十五课 C51数组的使用 第十六课 C51指针的使用 第十七课 C51结构、联合和枚举的使用 附录(运算符优先级和结合性等)
上传时间: 2013-11-03
上传用户:Amygdala
总线:指能为多个部件服务的信息传送线,在微机系统中各个部件通过总线相互通信。地址总线:它是传送由CPU发出的用于选择要访问的器件或部件的地址。数据总线:它是用来传送微型机系统内的各种类型的数据。汇编:是能完成一定任务的机器指令的集合。二进制数:只有0和1两个数码,基数为二。16进制数:采用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等16个数码,其中A-F相应的十进数为10-15,基数是16。指令:是计算机所能执行的一种基本操作的描述,是计算机软件的基本单元。存储器:用来存放计算机中的所有信息:包括程序、原始数据、运算的中间结果及最终结果等。
标签: 单片机
上传时间: 2013-11-14
上传用户:caoyuanyuan1818
前言智能仪表课采用了《单片机原理与接口技术》作为教材,这是一门实践性极强的课程,理论和实验教学的有机结合,是提高教学质量的唯一途径。为密切配合理论教学,针对SICElab赛思开放式综合实验/仿真系统,我们编写了配套的实验教材。SICElab赛思开放式综合实验/仿真系统采用了符合单片机开发过程的“仿真式”组合设计思想,使得所有的实验模块及CPU资源均全力对用户开放,从而充分满足“验证式”→“模仿式”→“探索式”→“开发式”的由浅入深的各种实验要求。赛思开放式综合实验/仿真系统采用伟福G6W仿真器,为用户提供了一个大集成软件环境,统一的界面,包含一个项目管理器,一个功能强大的编辑器,汇编Make、build和调试工具并提供一个与第三方编译器的接口,具有DOS/WINDOWS双平台,仿真器与实验平台分离,采用“仿真”方式进行实验,同时,允许进行脱机运行工作,所以,实验过程是与实际开发过程完全一致的。仿真器使用的是双“CPU”架构方式,100%资源出让,100%实时,100%无条件硬件断点,可满足学生实验,毕业设计,参加电子竞争,教师科研所需。第一章简单介绍了赛思开放式综合实验/仿真系统的组成(包括实验平台、仿真器、软件支持、开关电源),实验内容,实验方式,支持器件等。第二章选编了二十例验证式实验,包括实验平台操作,连接仿真器、PC机,利用DOS和WINDOWS平台软硬件结合的实验,按由浅入深原则排列。第三章选编了十六例模仿和探索开发式实验。教师和学生可根据课时和具体情况选择实验内容,或自行设计新的实验内容。由于课时所限,有的实验可让学生在课后开放实验室时完成,以提高学生动手能力,提高教学质量,培养学生创新精神。附录一介绍了综合实验平台各模块的电路图,附录二是实验平台键盘操作仿真方法说明。由于时间匆忙,加上编者水平有限,难免有错漏之处,请读者不吝赐教。
上传时间: 2013-10-22
上传用户:sunshie
第一章 DVCC系列单片机仿真实验统原理和组成第二章 键盘监控命令简介第三章 DVCC微机实验系统软件概述第四章 DOS功能调用实验一 初级程序的调试与执行实验二 编码及数制转换实验三 分支及循环程序设计实验四 排序程序设计及双重循环程序的应用实验五 并行口 8255A应用实验六 8253A定时计数器实验实验七 使用 8259A的单级中断控制实验实验八 存贮器读写实验
上传时间: 2013-10-25
上传用户:waixingren
单片机原理和应用实验电子教材 第一章 MCS—51 实验系统安装与启动§ 1.1 MCS51实验系统安装与启动……………………… 2§ 1.2 DVCC系列实验系统实验调试有关说明…………… 2第二章硬件实验§ 2.1 实验项目实验一 8031 单片机P3、P1口应用……………………3实验二工业顺序控制………………………………… 4实验三8255 控制交通灯……………………………… 6实验四简单 I/O口扩展实验………………………… 7实验五A/D 转换实验………………………………… 8实验六D/A 转换………………………………………… 9实验七串并转换实验……………………………………11实验八定时/计数器8253A应用………………………12实验九8279 键盘显示实验……………………………13实验十微型打印机打印字符、曲线、汉字……………14实验十一 步进电机控制……………………………………15实验十二小直流电机调速实验……………………………16实验十三电子音响…………………………………………17实验十四继电器控制实验…………………………………18实验十五数据存贮器和程序存贮扩展实验………………19§ 2.2 软件清单实验一 8031 单片机P3、P1口应用……………………21实验二工业顺序控制……………………………………21实验三8255 控制交通灯…………………………………23实验四简单 I/O口扩展实验……………………………25实验五A/D 转换实验……………………………………25实验六D/A 转换…………………………………………26实验七串并转换实验……………………………………27实验八定时/计数器8253A应用…………………………28实验九8279 键盘显示实验………………………………29实验十微型打印机打印字符、曲线、汉字………………31实验十一步进电机控制………………………………………34实验十二小直流电机调速实验………………………………41实验十三电子音响……………………………………………42实验十四继电器控制实验……………………………………43实验十五数据存贮器和程序存贮扩展实验…………………44
上传时间: 2013-10-15
上传用户:a296386173
单片机指令系统原理 51单片机的寻址方式 学习汇编程序设计,要先了解CPU的各种寻址法,才能有效的掌握各个命令的用途,寻址法是命令运算码找操作数的方法。在我们学习的8051单片机中,有6种寻址方法,下面我们将逐一进行分析。 立即寻址 在这种寻址方式中,指令多是双字节的,一般第一个字节是操作码,第二个字节是操作数。该操作数直接参与操作,所以又称立即数,有“#”号表示。立即数就是存放在程序存储器中的常数,换句话说就是操作数(立即数)是包含在指令字节中的。 例如:MOV A,#3AH这条指令的指令代码为74H、3AH,是双字节指令,这条指令的功能是把立即数3AH送入累加器A中。MOV DPTR,#8200H在前面学单片机的专用寄存器时,我们已学过,DPTR是一个16位的寄存器,它由DPH及DPL两个8位的寄存器组成。这条指令的意思就是把立即数的高8位(即82H)送入DPH寄存器,把立即数的低8位(即00H)送入DPL寄存器。这里也特别说明一下:在80C51单片机的指令系统中,仅有一条指令的操作数是16位的立即数,其功能是向地址指针DPTR传送16位的地址,即把立即数的高8位送入DPH,低8位送入DPL。 直接寻址 直接寻址方式是指在指令中操作数直接以单元地址的形式给出,也就是在这种寻址方式中,操作数项给出的是参加运算的操作数的地址,而不是操作数。例如:MOV A,30H 这条指令中操作数就在30H单元中,也就是30H是操作数的地址,并非操作数。 在80C51单片机中,直接地址只能用来表示特殊功能寄存器、内部数据存储器以及位地址空间,具体的说就是:1、内部数据存储器RAM低128单元。在指令中是以直接单元地址形式给出。我们知道低128单元的地址是00H-7FH。在指令中直接以单元地址形式给出这句话的意思就是这0-127共128位的任何一位,例如0位是以00H这个单元地址形式给出、1位就是以01H单元地址给出、127位就是以7FH形式给出。2、位寻址区。20H-2FH地址单元。3、特殊功能寄存器。专用寄存器除以单元地址形式给出外,还可以以寄存器符号形式给出。例如下面我们分析的一条指令 MOV IE,#85H 前面的学习我们已知道,中断允许寄存器IE的地址是80H,那么也就是这条指令可以以MOV IE,#85H 的形式表述,也可以MOV 80H,#85H的形式表述。 关于数据存储器RAM的内部情况,请查看我们课程的第十二课。 直接寻址是唯一能访问特殊功能寄存器的寻址方式! 大家来分析下面几条指令:MOV 65H,A ;将A的内容送入内部RAM的65H单元地址中MOV A,direct ;将直接地址单元的内容送入A中MOV direct,direct;将直接地址单元的内容送直接地址单元MOV IE,#85H ;将立即数85H送入中断允许寄存器IE 前面我们已学过,数据前面加了“#”的,表示后面的数是立即数(如#85H,就表示85H就是一个立即数),数据前面没有加“#”号的,就表示后面的是一个地址地址(如,MOV 65H,A这条指令的65H就是一个单元地址)。 寄存器寻址 寄存器寻址的寻址范围是:1、4个工作寄存器组共有32个通用寄存器,但在指令中只能使用当前寄存器组(工作寄存器组的选择在前面专用寄存器的学习中,我们已知道,是由程序状态字PSW中的RS1和RS0来确定的),因此在使用前常需要通过对PSW中的RS1、RS0位的状态设置,来进行对当前工作寄存器组的选择。2、部份专用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和进位位CY。 寄存器寻址方式是指操作数在寄存器中,因此指定了寄存器名称就能得到操作数。例如:MOV A,R0这条指令的意思是把寄存器R0的内容传送到累加器A中,操作数就在R0中。INC R3这条指令的意思是把寄存器R3中的内容加1 从前面的学习中我产应可以理解到,其实寄存器寻址方式就是对由PSW程序状态字确定的工作寄存器组的R0-R7进行读/写操作。 寄存器间接寻址 寄存间接寻址方式是指寄存器中存放的是操作数的地址,即操作数是通过寄存器间接得到的,因此称为寄存器间接寻址。 MCS-51单片机规定工作寄存器的R0、R1做为间接寻址寄存器。用于寻址内部或外部数据存储器的256个单元。为什么会是256个单元呢?我们知道,R0或者R1都是一个8位的寄存器,所以它的寻址空间就是2的八次方=256。例:MOV R0,#30H ;将值30H加载到R0中 MOV A,@R0 ;把内部RAM地址30H内的值放到累加器A中 MOVX A,@R0 ;把外部RAM地址30H内的值放到累加器A中 大家想想,如果用DPTR做为间址寄存器,那么它的寻址范围是多少呢?DPTR是一个16位的寄存器,所以它的寻址范围就是2的十六次方=65536=64K。因用DPTR做为间址寄存器的寻址空间是64K,所以访问片外数据存储器时,我们通常就用DPTR做为间址寄存器。例:MOV DPTR,#1234H ;将DPTR值设为1234H(16位) MOVX A,@DPTR ;将外部RAM或I/O地址1234H内的值放到累加器A中 在执行PUSH(压栈)和POP(出栈)指令时,采用堆栈指针SP作寄存器间接寻址。例:PUSH 30H ;把内部RAM地址30H内的值放到堆栈区中堆栈区是由SP寄存器指定的,如果执行上面这条命令前,SP为60H,命令执行后会把内部RAM地址30H内的值放到RAM的61H内。 那么做为寄存器间接寻址用的寄存器主要有哪些呢?我们前面提到的有四个,R0、R1、DPTR、SP 寄存器间接寻址范围总结:1、内部RAM低128单元。对内部RAM低128单元的间接寻址,应使用R0或R1作间址寄存器,其通用形式为@Ri(i=0或1)。 2、外部RAM 64KB。对外部RAM64KB的间接寻址,应使用@DPTR作间址寻址寄存器,其形式为:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的单元的内容送入累加器A中。外部RAM的低256单元是一个特殊的寻址区,除可以用DPTR作间址寄存器寻址外,还可以用R0或R1作间址寄存器寻址。例如MOVX A,@R0;这条指令的意思是,把R0指定的外部RAM单元的内容送入累加器A。 堆栈操作指令(PUSH和POP)也应算作是寄存器间接寻址,即以堆栈指针SP作间址寄存器的间接寻址方式。 寄存器间接寻址方式不可以访问特殊功能寄存器!! 寄存器间接寻址也须以寄存器符号的形式表示,为了区别寄存器寻址我寄存器间接寻址的区别,在寄存器间接寻址方式式中,寄存器的名称前面加前缀标志“@”。 基址寄存器加变址寄存器的变址寻址 这种寻址方式以程序计数器PC或DPTR为基址寄存器,累加器A为变址寄存器,变址寻址时,把两者的内容相加,所得到的结果作为操作数的地址。这种方式常用于访问程序存储器ROM中的数据表格,即查表操作。变址寻址只能读出程序内存入的值,而不能写入,也就是说变址寻址这种方式只能对程序存储器进行寻址,或者说它是专门针对程序存储器的寻址方式。例:MOVC A,@A+DPTR这条指令的功能是把DPTR和A的内容相加,再把所得到的程序存储器地址单元的内容送A假若指令执行前A=54H,DPTR=3F21H,则这条指令变址寻址形成的操作数地址就是54H+3F21H=3F75H。如果3F75H单元中的内容是7FH,则执行这条指令后,累加器A中的内容就是7FH。 变址寻址的指令只有三条,分别如下:JMP @A+DPTRMOVC A,@A+DPTRMOVC A,@A+PC 第一条指令JMP @A+DPTR这是一条无条件转移指令,这条指令的意思就是DPTR加上累加器A的内容做为一个16位的地址,执行JMP这条指令是,程序就转移到A+DPTR指定的地址去执行。 第二、三条指令MOVC A,@A+DPTR和MOVC A,@A+PC指令这两条指令的通常用于查表操作,功能完全一样,但使用起来却有一定的差别,现详细说明如下。我们知道,PC是程序指针,是十六位的。DPTR是一个16位的数据指针寄存器,按理,它们的寻址范围都应是64K。我们在学习特殊功能寄存器时已知道,程序计数器PC是始终跟踪着程序的执行的。也就是说,PC的值是随程序的执行情况自动改变的,我们不可以随便的给PC赋值。而DPTR是一个数据指针,我们就可以给空上数据指针DPTR进行赋值。我们再看指令MOVC A,@A+PC这条指令的意思是将PC的值与累加器A的值相加作为一个地址,而PC是固定的,累加器A是一个8位的寄存器,它的寻址范围是256个地址单元。讲到这里,大家应可明白,MOVC A,@A+PC这条指令的寻址范围其实就是只能在当前指令下256个地址单元。所在,这在我们实际应用中,可能就会有一个问题,如果我们需要查询的数据表在256个地址单元之内,则可以用MOVC A,@A+PC这条指令进行查表操作,如果超过了256个单元,则不能用这条指令进行查表操作。刚才我们已说到,DPTR是一个数据指针,这个数据指针我们可以给它赋值操作的。通过赋值操作。我们可以使MOVC A,@A+DPTR这条指令的寻址范围达到64K。这就是这两条指令在实际应用当中要注意的问题。 变址寻址方式是MCS-51单片机所独有的一种寻址方式。 位寻址 80C51单片机有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。所谓位寻址,就是对内部RAM或可位寻址的特殊功能寄存器SFR内的某个位,直接加以置位为1或复位为0。 位寻址的范围,也就是哪些部份可以进行位寻址: 1、我们在第十二课学习51单片机的存储器结构时,我们已知道在单片机的内部数据存储器RAM的低128单元中有一个区域叫位寻址区。它的单元地址是20H-2FH。共有16个单元,一个单元是8位,所以位寻址区共有128位。这128位都单独有一个位地址,其位地址的名字就是00H-7FH。这里就有一个比较麻烦的问题需要大家理解清楚了。我们在前面的学习中00H、01H。。。。7FH等等,所表示的都是一个字节(或者叫单元地址),而在这里,这些数据都变成了位地址。我们在指令中,或者在程序中如何来区分它是一个单元地址还是一个位地址呢?这个问题,也就是我们现在正在研究的位寻址的一个重要问题。其实,区分这些数据是位地址还是单元地址,我们都有相应的指令形式的。这个问题我们在后面的指令系统学习中再加以论述。 2、对专用寄存器位寻址。这里要说明一下,不是所有的专用寄存器都可以位寻址的。具体哪些专用寄存器可以哪些专用寄存器不可以,请大家回头去看看我们前面关于专用寄存器的相关文章。一般来说,地址单元可以被8整除的专用寄存器,通常都可以进行位寻址,当然并不是全部,大家在应用当中应引起注意。 专用寄存器的位寻址表示方法: 下面我们以程序状态字PSW来进行说明 D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P 1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示为D5H MOV C,D5H 2、位名称表示:表示该位的名称,例如PSW的位5是F0,所以可以用F0表示 MOV C,F0 3、单元(字节)地址加位表示:D0H单元位5,表示为DOH.5 MOV C,D0H.5 4、专用寄存器符号加位表示:例如PSW.5 MOV C,PSW.5 这四种方法实现的功能都是相同的,只是表述的方式不同而已。 例题: 1. 说明下列指令中源操作数采用的寻址方式。 MOV R5,R7 答案:寄存器寻址方式 MOV A,55H 直接寻址方式 MOV A,#55H 立即寻址方式 JMP @A+DPTR 变址寻址方式 MOV 30H,C 位寻址方式 MOV A,@R0 间接寻址方式 MOVX A,@R0 间接寻址方式 改错题 请判断下列的MCS-51单片机指令的书写格式是否有错,若有,请说明错误原因。 MOV R0,@R3 答案:间址寄存器不能使用R2~R7。 MOVC A,@R0+DPTR 变址寻址方式中的间址寄存器不可使用R0,只可使用A。 ADD R0,R1 运算指令中目的操作数必须为累加器A,不可为R0。 MUL AR0 乘法指令中的乘数应在B寄存器中,即乘法指令只可使用AB寄存器组合。
上传时间: 2013-11-11
上传用户:caozhizhi
8051单片机系统扩展与接口技术:第一节 8051 单片机系统扩展概述第二节 单片机外部存储器扩展第三节 单片机输入输出(I/O)口扩展及应用第四节 LED显示器接口电路及显示程序第五节 单片机键盘接口技术第六节 单片机与数模(D/A)及模数(A/D)转换1、地址总线(Address Bus,简写为AB)地址总线可传送单片机送出的地址信号,用于访问外部存储器单元或I/O端口。A 地址总线是单向的,地址信号只是由单片机向外发出。B 地址总线的数目决定了可直接访问的存储器单元的数目。例如N位地址,可以产生2N个连续地址编码,因此可访问2N个存储单元,即通常所说的寻址范围为 2N个地址单元。MCS—51单片机有十六位地址线,因此存储器展范围可达216 = 64KB地址单元。C 挂在总线上的器件,只有地址被选中的单元才能与CPU交换数据,其余的都暂时不能操作,否则会引起数据冲突。2、数据总线(Data Bus,简写为DB)数据总线用于在单片机与存储器之间或单片机与I/O端口之间传送数据。A 单片机系统数据总线的位数与单片机处理数据的字长一致。例如MCS—51单片机是8位字长,所以数据总线的位数也是8位。B 数据总线是双向的,即可以进行两个方向的数据传送。3、控制总线(Control Bus,简写为CB)控制总线实际上就是一组控制信号线,包括单片机发出的,以及从其它部件送给单片机的各种控制或联络信号。对于一条控制信号线来说,其传送方向是单向的,但是由不同方向的控制信号线组合的控制总线则表示为双向的。总线结构形式大大减少了单片机系统中连接线的数目,提高了系统的可靠性,增加了系统的灵活性。此外,总线结构也使扩展易于实现,各功能部件只要符合总线规范,就可以很方便地接入系统,实现单片机扩展。
上传时间: 2013-10-18
上传用户:assef
单片机实用接口技术介绍了MCS-51系列单片机应用系统的各种实用接口技术及其配置。内容包括:MCS-51系列单片机组成原理:应用系统扩展、开发与调试;键盘输入接口的设计及调试;打印机和显示器接口及设计实例;模拟输入通道接口技术;A/D、D/A、接口技术及在控制系统中的应用设计;V/F转换器接口技术、串行通讯接口技术以及其它与应用系统设计有关的实用技术等。本书是为满足广大科技工作者从事单片机应用系统软件、硬件设计的需要而编写的,具有内容新颖、实用、全面的特色。所有的接口设计都包括详细的设计步骤、硬件线路图及故障分析,并附有测试程序清单。书中大部分接口软、硬件设计实例都是作者多年来从事单片机应用和开发工作的经验总结,实用性和工程性较强,尤其是对应用系统中必备的键盘、显示器、打印机、A/D、D/A通讯接口设计、模拟信号处理及开发系统应用举例甚多,目的是让将要开始和正在从事单片机应用开发的科研人员根据自己的实际需要来选择应用,一书在手即可基本完成单片机应用系统的开发工作。 MCS-51系列单片机实用接口技术目录 第一章 MCS51系列单片机组成原理第二章 MCS-51单片机系统扩展第三章 MCS-51单片机应用系统的开发第四章 键盘及其按口技术第五章 显示器接口设计第六章 打印机接口设计第七章 模拟输入通道接口技术第八章 D/A转换器与MSC-51单片机的接口设计与实践第九章 A/D转换器与MCS-51单片机的接口设计与实践 第十章 V/F转换器接口技术 第十一章 串行通讯按日技术第十二章应用系统设计中的实用技术附录AMCS51单片机指令速查表附录一常用EPROM固化电压参考表
上传时间: 2013-11-24
上传用户:hfnishi
MCS-51系列单片机实用接口技术全面、系统地介绍了MCS-51系列单片机应用系统的各种实用接口技术及其配置。内容包括:MCS-51系列单片机组成原理:应用系统扩展、开发与调试;键盘输入接口的设计及调试;打印机和显示器接口及设计实例;模拟输入通道接口技术;A/D、D/A、接口技术及在控制系统中的应用设计;V/F转换器接口技术、串行通讯接口技术以及其它与应用系统设计有关的实用技术等。本书是为满足广大科技工作者从事单片机应用系统软件、硬件设计的需要而编写的,具有内容新颖、实用、全面的特色。所有的接口设计都包括详细的设计步骤、硬件线路图及故障分析,并附有测试程序清单。书中大部分接口软、硬件设计实例都是作者多年来从事单片机应用和开发工作的经验总结,实用性和工程性较强,尤其是对应用系统中必备的键盘、显示器、打印机、A/D、D/A通讯接口设计、模拟信号处理及开发系统应用举例甚多,目的是让将要开始和正在从事单片机应用开发的科研人员根据自己的实际需要来选择应用,一书在手即可基本完成单片机应用系统的开发工作。 MCS-51系列单片机实用接口技术目录 第一章 MCS51系列单片机组成原理第二章 MCS-51单片机系统扩展第三章 MCS-51单片机应用系统的开发第四章 键盘及其按口技术第五章 显示器接口设计第六章 打印机接口设计第七章 模拟输入通道接口技术第八章 D/A转换器与MSC-51单片机的接口设计与实践第九章 A/D转换器与MCS-51单片机的接口设计与实践 第十章 V/F转换器接口技术 第十一章 串行通讯按日技术第十二章应用系统设计中的实用技术附录AMCS51单片机指令速查表附录一常用EPROM固化电压参考表
上传时间: 2013-11-04
上传用户:3294322651
C51单片机是我们生活中最常用的系列,MCS-51系列单片机有4个并行口(P0,P1,P2,P3口),但对一个稍微复杂的应用系统来说,真正可供用户使用的并行口,只有P1口可用,况且常常因扩展I2C和SPI的器件需占用某些P1口,迫使用户不得不扩展并行口以满足实际的需要。习惯上,常用的并行口接口芯片有8255、8155,这两种芯片功能比较齐全,可以使用在相对比较复杂的系统中,但如是对一般的系统而言,这些功能往往闲置不用。那么就可以选用一些本来闲置不用的口线作为选通信号来进行并行口的扩展,这样就能充分利用单片机有限的I/O资源,在本设计中是将P1口扩展成一个或几个8位并行口,在每一个八位口上接入8个发光二极管做为输出,二极管是做开关量来使用的,在这里设计了跑马灯和流水灯程序,做到对开关量的开断控制;配合开关量的控制笔者设计了一个共阳LED数码管,用来显示当前发光二极管发亮的序号,做到更加直观的双重控制效果,然后再将P0口通过D/A转换器和一放大器输出一个模拟信号,其结果可以通过示波器看出。这样整个系统即有了数字信号输出和模拟信号输出,也有数码管显示功能,实用性能大提高了。2、 基于89C51的系统硬件设计2.1 并行口的扩展的电路设计 众所周知,C51系列的单片机都有四个I/O口(P0、P1、P2、P3),那么AT89C51也不例外,但我们通常仅仅使用P1口作为并行口,而令其余口(P2、P3)处于闲置状态,所以这次设计,我们就是使用闲置不用的P3口做为选能信号线来将P1口进行并行口扩展。 (1) 种方式的并行口扩展优点 连线简单; 不占用存储器空间; (2) 编程也方便灵活。但也有很大的缺点 并行口扩展能力有限,(如使用74LS573(74LS373)且不进行驱动处理,则最多可扩展4个同样类型的并行输出端口,当然还需要与之对应的四个选通信号。) 如扩展较多,选通信号占用并行口位数太多,例如欲扩展8个并行输出端口,则需要8个选能信号,此时,仅选能信号就占用了一个8位并行口,这对在I/O端口线有限的单片机系统中,如此浪费资源的现象是不能容忍的。在本次的设计中,采用芯片74HC573(带三态输出的八进制透明D型锁存器)对P1口进行了一个8位并行口的扩展,选通信号选用P3口的P3.3引脚。原理图如图1所示:
上传时间: 2013-11-18
上传用户:dbs012280