




已阅读5页,还剩161页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理与应用考试大纲 第一章 微型计算机基础 一、 考核知识点: 1、 计算机的数据表示和数据运算 2、 计算机的各种编码 3、 计算机的组成及工作过程 二、 考核要求: 1、识记计算机的各种编码 2、领会计算机的组成及工作过程 3、简明应用计算机的数据表示和数据运算 第二章 51 单片机的硬件结构和原理 一、考核知识点: 1、 单片机的发展史及各方面的应用 2、 51 单片机的分类和内部结构 3、 单片机的引脚和功能 4、 单片机工作的时序 二、 考核要求: 1、 识记单片机的发展史及各方面的应用 2、识记单片机的引脚和功能 3、领会单片机工作的时序 4、简明应用 51 单片机的分类和内部结构 第三章 51 单片机指令系统 一、 考核知识点: 1、 单片机的寻址方式 2、 单片机的指令系统 3、 助记符指令和二进制代码指令的异同 二、 考核要求: 1、领会助记符指令和二进制代码指令的异同 2、综合应用单片机的寻址方式 3、综合应用单片机的指令系统 第四章 汇编语言程序设计 一、考核知识点: 1、 伪指令 2、 汇编语言设计技巧 3、 汇编语言到机器语言的编译过程 二、考核要求: 1、领会伪指令 2、简明应用汇编语言设计技巧 3、综合应用汇编语言到机器语言的编译过程 第五章 51 单片机的中断系统 一、 考核知识点: 1、 中断基本概念 2、 中断系统的程序编制 3、 中断系统的初步应用 二、 考核要求: 1、领会中断基本概念 2、简明应用中断系统解决工程问题 3、综合简明应用中断系统的程序编制 第六章 51 单片机的内部定时器/计数器及串行接口 一、考核知识点: 1、 单片机内部定时器/计数器的结构及工作原理 2、 定时器/计数器的程序编制 3、 定时器/计数器的初步应用 4、 串行口的基本概念 5、 串行口的程序编制 6、 串行口的初步应用 二、考核要求: 1、识记串行口的基本概念 2、领会单片机内部定时器/计数器的结构及工作原理 3、简明应用定时器/计数器解决工程问题 4、简明应用串行口的程序编制 5、简明应用串行口解决工程问题 6、综合应用定时器/计数器的程序编制 第七章 单片机的系统扩展与接口技术 一、 考核知识点: 1、 单片机外部总线的扩展 2、 外部存储器的扩展 3、 I/O 接口的扩展 4、 管理功能部件的扩展 5、 A/D 和 D/A 接口功能的扩展 二、 考核要求: 1、识记单片机外部总线的扩展 2、识记管理功能部件的扩展 3、简明应用 A/D 和 D/A 接口功能的扩展 4、综合应用外部存储器的扩展 5、综合应用 I/O 接口的扩展 第八章 单片机应用系统设计 一、 考核知识点: 1、 单片机应用系统的开发过程 2、 单片机开发工具的分类和使用 3、 单片机应用系统的软件和硬件调试过程 二、 考核要求: 1、识记单片机应用系统的软件和硬件调试过程 2、领会单片机应用系统的开发过程 3、领会单片机开发工具的分类和使用 第九章 单片机系统的抗干扰技术 一、考核知识点: 1、 单片机干扰源与分类 2、 干扰对单片机系统的影响 3、 硬件抗干扰技术 4、 软件抗干扰技术 5、 数字滤波 二、考核要求: 1、识记单片机干扰源与分类 2、识记干扰对单片机系统的影响 3、识记数字滤波 4、简明应用硬件抗干扰技术 5、简明应用软件抗干扰技术 第十章 其它单片机简介 一、考核知识点: 1、 AT89C 系列单片机的特点与性能 2、 其它 8 位单片机的特点与性能 3、 16 位、32 位单片机的特点与性能 二、考核要求: 1、识记其它 8 位单片机的特点与性能 2、识记 16 位、32 位单片机的特点与性能 3、领会 AT89C 系列单片机的特点与性能 单片机原理及应用技术考试大纲 单片机原理及应用技术课程是一门面向应用的专 业技术课。单片机原理与应用介绍了单片机的基本知识和 单片机技术的应用,其内容与工程实际紧密联系,实用性 很强,是一门在理论指导下, 偏重于实际应用的课程。本 课程具有实用性强、理论和实践结合、软硬件结合等特点。 本课程围绕使用较为广泛的 MCS-51 系列单片机进行学习。 本课程已成为理、工科电子类专业的一门基础课程,这是 从电子系统设计角度考虑的,它体现了电子系统设计的方 法和硬件结构的变化。通过该课程的学习,要求学生掌握 80C51 单片机的工作原理、编程技术,掌握单片机应用系统 的扩展方法和实际应用。因此,以单片机为内核,分析和 设计一个简单的计算机应用系统是我们学习本课程要达到 的目的。 第一部分 考试大纲 1 单片机概述 本章为单片机的基本概念。 1.掌握有关单片机的基本概念、单片机的特点、单片 机的应用。 2.理解单片机的总体组成。 3.了解单片微型计算机的产生、发展历史、主要品种 及系列。 2 单片机结构和原理 本章以 80C51 单片机为例介绍了主要硬件结构和主要 功能,着重掌握系统所提供的资源特性及其功能特性。 1.掌握 80C51 的内部结构。 2.掌握 80C51 单片机的存储器组成。 3.掌握单片机并行输入/输出端口结构及功能。 4.了解单片机的时序概念和复位工作方式。 5.掌握单片机引脚功能 3 指令系统 1.掌握指令与伪指令的正确格式。 2.掌握七种寻址方式的使用及寻址方式的含义。 3.掌握五类指令的功能和使用,特别是传送指令。 4.理解书中所列例题与习题。 4 汇编语言程序设计举例 本章为 MCS-51 的一些常用伪指令,介绍顺序结构程序 设计、分支结构程序设计、循环结构程序设计和子程序的 设计。 1.程序设计的基本步骤、各种基本的结构化程序设计 方法;读懂较复杂的常用程序。 2.掌握数据传送指令的编写。 3. 理解算术运算程序设计。 4. 理解数码转换程序设计。 5. 理解查表程序设计。 6. 理解子程序设计和参数传递。 7. 理解逻辑运算程序设计 5 中断系统 1.掌握有关中断、中断源、中断优先级等概念。 2.掌握中断响应过程。 3.掌握中断优先级排列。 4.掌握中断允许寄存器 IE、中断优先级寄存器 IP 各位 的含义及设置。 5.掌握外部中断的两种触发方式:电平触发、边沿触 发。 6 定时/计数器 1.掌握定时器/计数器的四种工作方式及有何不同。 2.掌握 TMOD 和 TCON 中各位的含义、作用。 4.掌握不同工作方式计数初值与定时时间的关系,即 能根据定时时间算出计数初值,完成定时器的初始化编程 和简单应用编程。 7 串行通信 1.理解有关通信、协议的概念。 2.理解串行口的四种工作方式。 3.掌握 SBUF 的含义及作用。 4.了解串行口的工作原理。 5.了解 SCON 中每一位的含义及 SMOD 位的作用。 6.掌握串行通信总线 RS-232C 标准、RS-232C 电平转换。 7.了解 RS-232C 与 MCS-51 的接口。 8 系统扩展技术 1.掌握总线、驱动、锁存和译码、地址重叠的概念。 2.掌握程序存储器的扩展:EPROM 程序存储器及其扩展 方法。 3.掌握数据存储器的扩展:静态存储器 SRAM 及其扩展 方法。 4.掌握简单 I/O 口的扩展。 5.掌握 8255A 可编程并行接口:结构、控制字、工作 方式、与 8255A 的接口方法。 9 A/D 和 D/A 转换器接口技术 1.掌握 DAC0832 与单片机的接口方法与编程。 2.掌握 ADC0809 与单片机的接口方法与编程。 10 键盘/显示接口技术 1.掌握 LED 显示器结构、工作原理和显示方式。 2.掌握键盘接口原理。 3.理解 LED 显示器与 80C51 单片机接口。 4.理解键输入程序设计方法。 5.了解行列式键盘与 80C51 单片机接口。 11、功率接口技术 1.掌握简单开关量接口、光电耦合接口和继电器接口。 2.晶闸管与故态继电器的应用接口。 12、单片机系统设计技术 掌握单片机系统的设计、开发、调试的原则、步骤及 方法。 13、实用举例 了解一两个典型的单片机开发应用系统的设计思想和 实现方法。 14、新型单片机介绍 了解 MCS-51 常见 8 位单片机。 第二部分 考试考核改革方案 一、考试考核要求 单片机技术及应用选择具有代表性的、使用较为 广泛的 MCS-51 系列单片机进行学习,介绍了 80C51 单片机 的硬件组成、软件编程及一般应用系统组成。通过本课程 的学习,要求掌握 80C51 单片机的系统结构、指令系统、 程序设计方法、系统扩展方法、单片机常用接口等应用技 术。本课程的教学过程由面授辅导、自学、实验及作业四 个环节组成,因此本课程考试考核要求为: 1.作业、实验成绩与期末考试成绩共同评定为课程总 成绩。 2.作业、实验占课程总分的 60%,期末理论考试占总分 的 40%。 为使学生不把注意力仅仅放在期末考试上,培养学生 系统学习的能力,加强学生各方面能力的培养,平时、实 验课、作业、考试都纳入本课程的成绩评定。平时的成绩 包括出勤、课堂提问和随堂测试。期末考试可以选择笔试、 口试和进行实际实验、设计等多种形式。 二、平时成绩考核要求及说明 1.每章作业按要求完成后交教师批改,完成作业 80% 为 12 分;所有作业均完成,且质量较好者,20 分。中间情 况酌情给分。 2.每次实验均能按照教师安排进行,实验态度好,至 少完成 5 个实验且实验报告完整,为 18 分;能基本独立完 成 6 个或以上实验,实验报告完整、无误,实验质量高, 30 分。中间情况酌情给分。如果实验有创新的特点,酌情 加分。 3.作业与实验的平均分为平时成绩,满分 50 分。 4.课程设计单独计算成绩,考评方法见其大纲。 三、理论考试说明 1.单片机技术及应用理论考试,采用闭卷笔试形式, 考试时间 120 分钟。 2.期末考试试题根据教学大纲,其范围和难度按照本 方案中制订的考试考核内容和要求确定。考试命题覆盖考 试大纲要求范围。 3.期末考试试题类型有以下几种: 填空题; 选择题; 判断题; 简答题 综合应用题。 四、考试考核要求层次 按照教学大纲的要求,理论考试要求分为掌握、理解 和了解三个层次。 掌握: 对于本课程的重点内容要求学生达到掌握的程度。即 能够全面、深入理解和熟练掌握所学内容,并能够用其分 析、初步设计和解答与应用相关的问题,能够举一反三。 要求学生掌握的内容也就是考试的主要内容,在考试中所 占比例约 70%。 理解: 对于本课程的一般内容要求学生能够理解。即要求学 生能够较好地理解所学内容,并且对所涉及的内容能够进 行简单分析和判断。要求学生理解的内容也是考试的内容, 在考试中所占比例约 25%。 了解: 对于本课程的次要内容要求学生能够了解。要求学生 了解的内容,一般是指在眼下不必进一步深入和扩展,有 些也许需要学生自己今后在工作中进行深入研究。对要求 了解的内容,在考试中占较小比例,不超过 5%。 实验五:按键电路、显示电路实验 一、实验目的: 1.掌握独立式按键电路与矩阵式按键电路的设计方法。 2.掌握数码管显示电路的工作原理 3. 掌握源程序编辑软件 Ultra Edit,编译软件 Keil C51、仿真软件 Proteus 的使用方法 4. 掌握硬件仿真器 ME-52A 的使用方法 二、实验器材: 1.单片机实验板 2.单片机硬件仿真器 ME-51A 3.计算机 4.电源 三、实验要求: 1电路如图 5 所示,用单片机的 P3 口所接的四个独 立式按键控制 p1 口流水灯花样的方法;具体表现为: p3.0、P3.1、 P3.2、 P3.3 四个小按键分别实现了四个控 制: (1) 跑灯:即 P1.0-1.7 亮点流动: (2) 流水灯:即 P1.0-1.7 依次点亮 (3) 交叉闪烁:即 P0.0,P0.2,P0.4,P0.6 和 P0.1,P0.3,P0.5,P0.7 轮流点亮 (4) 停止;在任何状态下按此键程序停止运行. 2. 电路如图 6 所示,用 P2 口所接的 44 矩阵式键盘 作为输入,在 P1 口所接的数码管上显示出每个按键的 0F 序号,键盘的布局如下表所示: F E D C B A 9 8 7 6 5 4 3 2 1 0 四、实验原理: 1.独立式按键电路显示如图 5 所示,从图中可看出, 判断有无键按下,只要检测 P3.0P3.3 相应端口的高低电 平即可,若检测有某一端口为低电平,表明该端口有按键 按下,经延时消抖后转去执行相应的功能子程序。若为高 电平,表明无键按 1.独立式按键电路如图 5 所示,下,继 续检测。 示例程序如下: ORG 000H LJMP STAR1 ORG 0030H STAR1: MOV P3,#0FFH ;置 P3 口为输入态 JNB P3.0,FUN0 ;判别 P3.0 是否有键按下,是,则转 FUN0 JNB P3.1,FUN1 ;判别 P3.1 是否有键按下,是,则转 FUN1 JNB P3.2,FUN2 ;判别 P3.2 是否有键按下,是,则转 FUN2 JNB P3.3,FUN3 ;判别 P3.3 是否有键按下,是,则转 FUN3 JNB F0,STAR1 ;曾经有键按下 F0 置 1 RET 图 5 FUN0: LCALL DL10MS ;消岸抖动 JB P3.0,STAR1 WAITL0: JNB P3.0,WAITL0 ;等待键释放 SETB F0 FUN01: LCALL FUN00 LCALL STAR1 LJMP FUN01 FUN1: LCALL DL10MS ;消岸抖动 JB P3.1,STAR1 WAITL1: JNB P3.1,WAITL1 ;等待键释放 SETB F0 FUN10: LCALL FUN11 LCALL STAR1 LJMP FUN10 FUN2: LCALL DL10MS ;消岸抖动 JB P3.2,STAR1 WAITL2: JNB P3.2,WAITL2 ;等待键释放 SETB F0 FUN20: LCALL FUN22 LCALL STAR1 LJMP FUN20 FUN3: LCALL DL10MS ;消岸抖动 JB P3.3,STAR1 WAITL3: JNB P3.3,WAITL3 ;等待键释放 CLR F0 MOV P1,#0FFH ;关显示 LJMP STAR1 FUN00: MOV A,#0FEH ;跑灯子程序 FUN000: MOV P1,A LCALL DL05S JNB ACC.7,OUT RL A AJMP FUN000 OUT: RET FUN11: MOV A,#0FEH ;流水灯子程序 FUN111: MOV P1,A LCALL DL05S JZ OUT RL A ANL A,P1 AJMP FUN111 FUN22: MOV A,#0AAH ;交叉点亮子程序 MOV P1,A LCALL DL30S CPL A MOV P1,A LCALL DL30S RET ;*; ; 延时程序 ; ;*; DL512: MOV R2,#0FFH LOOP1: DJNZ R2,LOOP1 RET DL10MS:MOV R3,#14H LOOP2: LCALL DL512 DJNZ R3,LOOP2 RET DL05S: MOV R4,#0AH LOOP3: LCALL DL10MS DJNZ R4,LOOP3 RET DL30S: MOV R5,#03H LOOP4: LCALL DL05S DJNZ R5,LOOP4 RET END 2. 矩阵式按键电路显示如图 6 所示。采用扫描方式进 行按键的识别检测,并将对应按键的键号用查表指令将对 应的代码显示在数码管上。 图 6 参考程序如下: ORG 0000H LJMP START ORG 0030H START: MOV SP,#60H ;设置堆栈指针 SCAN: MOV R3,#0F7H ;置行扫描初值 MOV R1,#00H ;到 TABLE 表中取码的指针 SCAN1: MOV A,R3 MOV P2,A ;扫描输出 MOV A,P2 ;重读 P2 口状态 MOV R4,A ;暂存于 R4 吕中 SETB C ;C=1 MOV R5,#03H ;扫描 4 列初值 L1: RLC A ;A 中内容循环左移 JNC KEYIN ;C=0,有键按下,转消抖 INC R1 ;取码指针加 1 DJNZ R5,L1 ;无键按下,继续检测 MOV A,R3 ;扫描下一行 SETB C RRC A MOV R3,A JC SCAN1 ;4 行是否扫描完,未完,继续 LJMP SCAN KEYIN: MOV R7,#10 ;削除抖动 D2: MOV R6,#248 DJNZ R6,$ DJNZ R7,D2 D3: MOV A,P2 ;按键放开否? XRL A,R4 JZ D3 MOV A,R1 MOV DPTR,#TABLE ;到 TABLE 中取码 MOVC A,A+DPTR MOV P1,A LJMP SCAN TABLE: DB 0C0H,0F9H,0A4H,0B0H,80H,90H,88H,83H, 0C6H,0A1H,86H,8EH END DB 80H,90H,88H,83H DB 0C6H,0A1H,86H,8EH END 五、实验步骤: 1. 运行 UltraEdit-32 源程序编辑软件,输入、编辑 汇编语言源程序。 2运行 Keil uVision2 源程序编译软件,对源程序进 行编译,得到目标代码文件。 3.运行 Proteus 模拟仿真软件,打开已绘制好的仿真 电路原理图,进行模拟仿真。 4. 把硬件仿真器 ME-52A 与单片实验板连接好,再用 硬件仿真器进行仿真验证。 六、实验分析与总结 1.用仿真系统调试简单程序结构、分支程序结构、循 环程序结构、子程序结构和中断结构的关键在于,如何将 对程序的分析理解和开发系统提供的基本功能有机地结合 起来,其前提条件是必须对源程序的作用、结构特点、运 行过程与结果有较全面的认识,并能根据程序运行过程中 出现的现象和结果分析并判断产生各种故障现象的原因, 再运用排除法逐一检验各种判断是否准确。 2.掌握程序结构特点的基础上,合理选择观测点,通 过观察在观测点处参数及路径的变化检验程序运行的结果。 3.高调试程序的效率,应对单片机开发系统所提供的 几种程序运行调试方式有足够的了解并能熟练地运用。例 如,在调试过程中,若要观察最终结果,则可选择全速运 行调试;若要观察相关指令的运行结果或运行路径的变化 过程,则可选择单步运行;若要检查子程序的运行过程, 则可选择跟踪运行调试;若要检查循环程序或中断服务程 序,则可选择断点运行调试;若要定点检查程序运行到某 处的结果时,则可选择快速运行到光标处调试。但实际中 究竟选用哪种方法更适宜或哪几种方法结合使用更快捷, 将随着分析能力与操作的熟练程度逐步提高。 4.程序运行结果是否正确时,应运用单片机开发系统 所提供的交互界面,将程序运行过程中程序计数器 PC(地址)的 变化、各单元(内部 RAM 和外部 RAM)内容的变化、特殊功能 寄存器内容的变化、堆栈指针 SP 内容的变化与程序的理论 分析结果相对照。 5.程序和调试程序时,需要多次反复的过程,并非一 次就能排除全部故障,特别是单片机应用系统的硬件电路 和汇编程序相结合的综合调试就更加复杂,因此,必须通 过反复调试,不断修改硬件和软件,直到最终符合设计要 求为止。如果在调试中能够根据实验现象预先对产生故障 的原因加以判断和分析,并制定出相应的调试方法和步骤, 可缩小排除故障的范围,提高调试效率。 七、思考与练习 填空题 1、设 X=5AH,Y=36H,则 X 与 Y“或”运算为 _7EH_,X 与 Y 的“异或”运算为_6CH_。 2、若机器的字长为 8 位,X=17,Y=35,则 XY=_110100_,XY=_11101110_。 3、单片机的复位操作是_高电平_,单片机复 位后,堆栈指针 SP 的值是_07h_。 4、单片机中,常用作地址锁存器的芯片是 _74HC373_,常用作地址译码器芯片是 _74HC138_。 5、若选择内部程序存储器, 应该设置为_高 _,那么,PSEN 信号的处理方式为_不用 _。 6、单片机程序的入口地址是_0000H_, 外部中断 1 的入口地址是_0013H_。 7、若采用 6MHz 的晶体振荡器,则 MCS-51 单片机的振 荡周期为_0.5us_,机器周期为 _2us_。 8、外围扩展芯片的选择方法有两种,它们分别是_ 线选法_和_译码法_。 9、单片机的内部 RAM 区中,可以位寻址的地址范围是 _20H2FH_,特殊功能寄存器中,可位寻 址的地址是_是能被 8 整除的地址_。 10、子程序返回指令是_ret_,中断子程序返 回指令是_ reti 。 11、8051 单片机的存储器的最大特点是 内部 RAM 与 外部 RAM 分开编址。 12、8051 最多可以有 32 个并行输入输出口,最少也 可以有 8 个并行口。 13、 函数 是 C 语言的基本单位。 14、串行口方式 2 接收到的第 9 位数据送 SCON 寄存 器的 RB8 位中保存。 15、MCS-51 内部提供 3 个可编程的 16 位定时/计数 器,定时器有 4 种工作方式。 16、一个函数由两部分组成,即 说明部分 和 语句部 分 。 17、串行口方式 3 发送的第 9 位数据要事先写入 SCON 寄存器的 TB8 位。 18、利用 8155H 可以扩展 3 个并行口, 256 个 RAM 单元。 19、C 语言中输入和输出操作是由库函数 scanf 和 printf 等函数来完成。 二、选择题 1、C 语言中最简单的数据类型包括。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、 字符型 2、当 MCS-51 单片机接有外部存储器,P2 口可作为 ( C )。 A、数据输入口 B、数据的输出口 C、准双向输入输出口 D、输出高 8 位地址 3、下列描述中正确的是。 A、程序就是软件 B、软件开发不受计算机系统的限制 C、软件既是逻辑实体,又是物理实体 D、软件是程序、 数据与相关文档的集合 4、下列计算机语言中,CPU 能直接识别的是。 A、 自然语言 B、 高级语言 C、 汇编语言 D、机器 语言 5、MCS-5l 单片机的堆栈区是设置在( C )中。 A、片内 ROM 区 B、片外 ROM 区 C、片内 RAM 区 D、片 外 RAM 区 6、以下叙述中正确的是。 A、用 C 语言实现的算法必须要有输入和输出操作 B、用 C 语言实现的算法可以没有输出但必须要有输入 C、用 C 程序实现的算法可以没有输入但必须要有输出 D、用 C 程序实现的算法可以既没有输入也没有输出 7、定时器/计数器工作方式 1 是( D )。 A、8 位计数器结构 B、2 个 8 位计数器结构 C、13 位计数结构 D、16 位计数结构 8、C 语言提供的合法的数据类型关键字是。 A、Double B、short C、integer D、Char 9、片内 RAM 的 20H2FH 为位寻址区,所包含的位地 址是( B )。 A、00H20H B、00H7FH C、20H2FH D、00HFFH 10、以下能正确定义一维数组的选项是。 A、int a5=0,1,2,3,4,5; B、char a =0,1,2,3,4,5; C、char a=A,B,C; D、int a5=“0123“; 11、数据的存储结构是指。 A、存储在外存中的数据 B、数据所占的存储空间量 C、数据在计算机中的顺序存储方式 D、数据的逻辑结 构在计算机中的表示 12、下列关于栈的描述中错误的是。 A、栈是先进后出的先性表 B、栈只能顺序存储 C、栈具有记忆作用 D、对栈的插入和删除操作中,不 需要改变栈底指针 13、在寄存器间接寻址方式中,间址寄存器中存放的 数据是( B )。 A、参与操作的数据 B、操作数的地址值 C、程序的转换地址 D、指令的操作码 14、MCS-51 单片机的复位信号是( A )有效。 A、高电平 B、低电平 C、脉冲 D、下降沿 15、为了使模块尽可能独立,要求。 A、模块的内聚程度要尽量高,且各模块间的耦合程度 要尽量强 B、模块的内聚程度要尽量高,且各模块间的耦合程度 要尽量弱 C、模块的内聚程度要尽量低,且各模块间的耦合程度 要尽量弱 D、模块的内聚程度要尽量低,且各模块间的耦合程度 要尽量强 16、若 MCS-51 单片机使用晶振频率为 6MHz 时,其复 位持续时间应该超过( B )。 A、2s B、4s C、8s D、1ms 17、以下选项中可作为 C 语言合法常量的是 A、80 B、080 C、8e1.0 D、80.0e 18、能够用紫外光擦除 ROM 中程序的只读存储器称为( C )。 A、掩膜 ROM B、PROM C、EPROM D、EEPROM 19、以下不能定义为用户标识符是。 A、Main B、_0 C、_int D、sizeof 20、下选项中,不能作为合法常量的是。/幂不能为 小数 A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e0 21、以下叙述中错误的是 A、对于 double 类型数组,不可以直接用数组名对数 组进行整体输入或输出 B、数组名代表的是数组所占存储区的首地址,其值不 可改变 C、当程序执行中,数组元素的下标超出所定义的下标 范围时,系统将给出“下标越界”的出错信息 D、可以通过赋初值的方式确定数组元素的个数 22、以下与函数 fseek(fp,0L,SEEK_SET)有相同作用的 是 A、feof(fp) B、ftell(fp) C、fgetc(fp) D、rewind(fp) 23、存储 1616 点阵的一个汉字信息,需要的字节数 为 A、 32 B、 64 C、 128 D、 256 24、已知 1 只共阴极 LED 显示器,其中 a 笔段为字形 代码的最低位,若需显示数字 1,则它的字形代码应为( B )。 A、06H B、F9H C、30H D、CFH 25、在 C 语言中,合法的长整型常数是 A、 OL B、 4962710 C、 324562 MOV A,R1 SETB C RLC A JC NEXT2 NEXT3: MOV R0,#00H RET KCODE: MOV B,#0FBH NEXT4: RRC A INC B JC NEXT4 MOV A,R1 SWAP A NEXT5: RRC A INC B INC B INC B INC B JC NEXT5 NEXT6: MOV A,P1 ANL A,#0FH CJNE A,#0FH,NEXT6 MOV R0,#0FFH RET 键盘处理程序就作这么一个简单的介绍,实际上,键 盘、显示处理是很复杂的,它往往占到一个应用程序的大 部份代码,可见其重要性,但说到,这种复杂并不来自于 单片机的本身,而是来自于操作者的习惯等等问题,因此, 在编写键盘处理程序之前,最好先把它从逻辑上理清,然 后用适当的算法表示出来,最后再去写代码,这样,才能 快速有效地写好代码。 到本课为止,本站教程暂告一个段落!感谢大家的关 心和支持! 矩阵按键部分由 16 个轻触按键按照 4 行 4 列排列, 连接到 JP50 端口。将行线所接的单片机的 I/O 口作为输出 端,而列线所接的 I/O 口则作为输入。这样,当按键没有 按下时,所有的输出端都是高电平,代表无键按下。行线 输出是低电平,一旦有键按下,则输入线就会被拉低,这 样,通过读入输入线的状态就可得知是否有键按下了。确 定矩阵式键盘上何键被按下,介绍一种“行扫描法”。 行 扫描法 行扫描法又称为逐行扫描查询法,是一种最常用的 按键识别方法.判断键盘中有无键按下: 将全部行线置低 电平,然后检测列线的状态。只要有一列的电平为低,则 表示键盘中有键被按下,而且闭合的键位于低电平线与 4 根行线相交叉的 4 个按键之中。若所有列线均为高电平, 则键盘中无键按下。 判断闭合键所在的位置: 在确认有 键按下后,即可进入确定具体闭合键的过程。其方法是: 依次将行线置为低电平,即在置某根行线为低电平时,其 它线为高电平。在确定某根行线位置为低电平后,再逐行 检测各列线的电平状态。若某列为低,则该列线与置为低 电平的行线交叉处的按键就是闭合的按键。 下面给出一个具体的例子: 电路图路径:G:图片电路图片xl100097.jpg 8031 单片机的 P1 口用作键盘 I/O 口,键盘的列线 接到 P1 口的低 4 位,键盘的行线接到 P1 口的高 4 位。列 线 P1.0-P1.3 设置为输入线,行线 P1.4-P.17 设置为输出 线。4 根行线和 4 根列线形成 16 个相交点。 1.检测当前是否有键被按下。检测的方法是 P1.4-P1.7 输出全“0”,读取 P1.0-P1.3 的状态,若 P1.0-P1.3 为全 “1”,则无键闭合,否则有键闭合。 2.去除键抖动。当检测到有键按下后,延时一段时间 再做下一步的检测判断。 3. 若有键被按下,应识别出是哪一个键闭合。方法是 对键盘的行线进行扫描。P1.4-P1.7 按下述 4 种组合依次输 出: P1.7 1 1 1 0 P1.6 1 1 0 1 P1.5 1 0 1 1 P1.4 0 1 1 1 在每组行输出时读取 P1.0-P1.3,若全为“1”, 则表示为“0”这一行没有键闭合,否则有键闭合。由此得 到闭合键的行值和列值,然后可采用计算法或查表法将闭 合键的行值和列值转换成所定义的键值。 4. 为了保证键每闭合一次 CPU 仅作一次处理,必须去 除键释放时的抖动。 实验目的: 通过 XL1000 的 16 位矩阵按键, 在数码 管上分别显示 0-9,A,B,C,D,E,F。 接线方法: 1 用一条 8PIN 数据排线,把矩阵按键部份 的 JP50,接到 CPU 部份的 P1 口 JP44. 2 接 8 位数码管的数据线。将数码管部份的数据口 JP5 接到 CPU 部份的 P0 口 JP51. 3 接 8 位数码管的显示位线。将数码管部份的显示位 口 JP8 接到 CPU 部份的 P2 口 JP52. 参考程序: ;本程序实现扫描按键显示功能. ;分别按 16 个键盘显示分别显示数字 123A456B789C*0#D ;键盘口 P1,数码管显示第二位 p21, 数码管段位 p0 口 org 0000h ajmp main org 0030h main: mov dptr,#tab ;将表头放入 DPTR lcall key ;调用键盘扫描程序 movc a,a+dptr ;查表后将键值送入 ACC mov p0,a ;将 Acc 值送入 P0 口 CLR P2.1 ;开显示 ljmp main ;返回反复循环显示 KEY: LCALL KS ;调用检测按键子程序 JNZ K1 ;有键按下继续 LCALL DELAY2 ;无键按调用延时去抖 AJMP KEY ;返回继续检测按键 K1: LCALL DELAY2 LCALL DELAY2 ;有键按下延时去抖动 LCALL KS ;再调用检测按键程序 JNZ K2 ;确认有按下进行下一步 AJMP KEY ;无键按下返回继续检测 K2: MOV R2,#0EFH ;将扫描值送入 R2 暂存 MOV R4,#00H ;将第一列值送入 R4 暂存 K3: MOV P1,R2 ;将 R2 的值送入 P1 口 L6: JB P1.0,L1 ;P1.0 等于 1 跳转到 L1 MOV A,#00H ;将第一行值送入 ACC AJMP LK ;跳转到键值处理程序 L1: JB P1.1,L2 ;P1.1 等于 1 跳转到 L2 MOV A,#04H ;将第二行的行值送入 ACC AJMP LK ;跳转到键值理程序进行键值处理 L2: JB P1.2,L3 ;P1.2 等于 1 跳转到 L3 MOV A,#08H ;将第三行的行值送入 ACC AJMP LK ;跳转到键值处理程序 L3: JB P1.3,NEXT ;P1.3 等于 1 跳转到 NEXT 处 MOV A,#0cH ;将第四行的行值送入 ACC LK: ADD A,R4 ;行值与列值相加后的键值送入 A PUSH ACC ;将 A 中的值送入堆栈暂存 K4: LCALL DELAY2 ;调用延时去抖动程序 LCALL KS ;调用按键检测程序 JNZ K4 ;按键没有松开继续返回检测 POP ACC ;将堆栈的值送入 ACC RET NEXT: INC R4 ;将列值加一 MOV A,R2 ;将 R2 的值送入 A JNB ACC.7,KEY ;扫描完至 KEY 处进行下一扫描 RL A ;扫描未完将 A 中的值右移一位进行下一列的扫 描 MOV R2,A ;将 ACC 的值送入 R2 暂存 AJMP K3 ;跳转到 K3 继续 KS: MOV P1,#0FH ;将 P1 口高四位置 0 低四位值 1 MOV A,P1 ;读 P1 口 XRL A,#0FH ;将 A 中的值与 A 中的值相异或 RET ;子程序返回 DELAY2: ;40ms 延时去抖动子程序 MOV R5,#08H L7: MOV R6,#0FAH L8: DJNZ R6,L8 DJNZ R5,L7 RET tab: db 28h,34h,28h,34h,0a9h,60h,20h,7ah, 20h,21h,61h,74h,30h,62h,0a2h,7eh ;0h0hc9878654a321 轮流显示键盘因为无法表达*# 就 用 H 表示,B 用 8 表示 end 这是我做成功的 4X4 键盘扫描源程序,P1.0-P1.3 做四 根列线,P1.4-P1.7 做四根行线。 数码管的字型表是按照标准接法做的,按对应的按键 数码管显示对应的数字。 以下是源程序: KEYBUF EQU 30H ORG 00H START: MOV KEYBUF,#2 MOV P2,#00001111B WAIT: MOV P1,#0FFH CLR P1.4 MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY1 LCALL DELY10MS MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY1 MOV A,P1 ANL A,#0FH CJNE A,#0EH,NK1 MOV KEYBUF,#0 LJMP DK1 NK1: CJNE A,#0DH,NK2 MOV KEYBUF,#1 LJMP DK1 NK2: CJNE A,#0BH,NK3 MOV KEYBUF,#2 LJMP DK1 NK3: CJNE A,#07H,NK4 MOV KEYBUF,#3 LJMP DK1 NK4: NOP DK1: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A DK1A: MOV A,P1 ANL A,#0FH XRL A,#0FH JNZ DK1A NOKEY1: MOV P1,#0FFH CLR P1.5 MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY2 LCALL DELY10MS MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY2 MOV A,P1 ANL A,#0FH CJNE A,#0EH,NK5 MOV KEYBUF,#4 LJMP DK2 NK5: CJNE A,#0DH,NK6 MOV KEYBUF,#5 LJMP DK2 NK6: CJNE A,#0BH,NK7 MOV KEYBUF,#6 LJMP DK2 NK7: CJNE A,#07H,NK8 MOV KEYBUF,#7 LJMP DK2 NK8: NOP DK2: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A DK2A: MOV A,P1 ANL A,#0FH XRL A,#0FH JNZ DK2A NOKEY2: MOV P1,#0FFH CLR P1.6 MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY3 LCALL DELY10MS MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY3 MOV A,P1 ANL A,#0FH CJNE A,#0EH,NK9 MOV KEYBUF,#8 LJMP DK3 NK9: CJNE A,#0DH,NK10 MOV KEYBUF,#9 LJMP DK3 NK10: CJNE A,#0BH,NK11 MOV KEYBUF,#10 LJMP DK3 NK11: CJNE A,#07H,NK12 MOV KEYBUF,#11 LJMP DK3 NK12: NOP DK3: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A DK3A: MOV A,P1 ANL A,#0FH XRL A,#0FH JNZ DK3A NOKEY3: MOV P1,#0FFH CLR P1.7 MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY4 LCALL DELY10MS MOV A,P1 ANL A,#0FH XRL A,#0FH JZ NOKEY4 MOV A,P1 ANL A,#0FH CJNE A,#0EH,NK13 MOV KEYBUF,#12 LJMP DK4 NK13: CJNE A,#0DH,NK14 MOV KEYBUF,#13 LJMP DK4 NK14: CJNE A,#0BH,NK15 MOV KEYBUF,#14 LJMP DK4 NK15: CJNE A,#07H,NK16 MOV KEYBUF,#15 LJMP DK4 NK16: NOP DK4: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A DK4A: MOV A,P1 ANL A,#0FH XRL A,#0FH JNZ DK4A NOKEY4: LJMP WAIT DELY10MS: MOV R6,#10 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET TABLE: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H ;0-9 DB 088H,083H,0C6H,0A1H,086H,08EH,089H,0CFH,0C7H,0C8H ;A,B,C,D,E,F,H,I,L,N, END ; P3.1 数据采集控制 ; P2.6 P2.7 个位 十位显示转换控制 ; P1 口接 8 个开关模拟数据 ; P1.0 - P1.3 为个位开关量输入 ; P1.4 - P1.7 为十位开关量输入 ; 此程序仅供参考 ; 功能 P1 口接 8 个开关输入量 4 个一组,分别为个 位,十位输入 ; P0 口接一个数码管,依次显示输入量。P3.1 控制是 否读入 ; 开关量。 P2.6 P2.7 控制是否显示 个位 或十位 ORG 100h LJMP STAR STAR: MOV P1,#0FFH SETB P3.1 数据读入标志 MOV R0,#100 ,循环工作次数 LOOP:JB P3.1, $ P3.1 低电平时,采集 P1 口数据开关 量 处理显示阶段不再应答 P3.1 MOV A,P1 PUSH ACC ANL A,#0FH 取个位数值 MOV R1,A 个位数值保存到 R1 POP ACC ANL A,#0F0H SWAP A 高 4 位转成字节信息 MOV R2,A 十位数值保存到 R2 MOV DPTR,#TABLED MOV A,R1 MOVC A,A+DPTR MOV P0,A CLR P2.6 个位显示 ACALL DELAY500MS SETB P2.6 MOV A,R2 MOVC A,A+DPTR MOV P0,A CLR P2.7 十位显示 ACALL DELAY500MS SETB P2.7 DJNZ R0,LOOP DELAY500MS: 延时 500 毫秒子程略 RET TABLED: DB 0c0h,0f9h,0a4h,0b0h,99h, 92h, 82h,0f8h DB 80H, 90H, 88h, 83h, 0c6h,0a1h,86h,8eh END #include typedef unsigned char BYTE ; BYTE code TABLED16=0Xc0,0Xf9,0Xa4,0Xb0,0X99, 0X92, 0X82,0X0f8,0X80,0X90,0X88,0X83,0Xc6,0Xa1,0X86,0X8e ; BYTE DATled ; sbit P26=P26 ; sbit P27=P27 ; sbit P31=P31 ; int TIME ; void timedelay(DTIME) int DTIME ; int I ; for(I=0 ;I 4 ; P0=TABLEDTEMP ; P27=0 ; timedelay(TIME) ; P27=1 ; 1 实验任务 在 8X8 LED 点阵上显示柱形,让其先从左到右平滑移 动三次,其次从右到左平滑移动三次,再次从上到下平滑 移动三次,最后从下到上平滑移动三次,如此循环下去。 2 电路原理图 图 4.24.1 3 硬件电路连线 (1) 把“单片机系统”区域中的 P1 端口用 8 芯排芯 连接到“点阵模块”区域中的“DR1DR8”端口上; (2) 把“单片机系统”区域中的 P3 端口用 8 芯排芯 连接到“点阵模块”区域中的“DC1DC8”端口上; 4 程序设计内容 (1) 8X8 点阵 LED 工作原理说明 8X8 点阵 LED 结构如下图所示 图 4.24.2 从图 4.24.2 中可以看出,8X8 点阵共需要 64 个发光二 极管组成,且每个发光二极管是放置在行线和列线的交叉 点上,当对应的某一列置 1 电平,某一行置 0 电平,则相 应的二极管就亮;因此要实现一根柱形的亮法,如图 49 所 示,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际贸易大客户货物进出口代理合同
- 交通运输机械伤害事故调查报告及责任认定合同
- 2025公务员社区面试题及答案
- 校验码标准化研究-洞察及研究
- 音乐专业加试题库及答案
- 戏曲专业考博试题及答案
- 文书专业面试题目及答案
- 胆囊结石患者的护理
- 春的教学课件
- 员工团队精神培训
- 华北理工大学2016年《互换性及技术测量》期末考试复习题
- 医院普通外科病史采集、查体及病历书写要点精讲课件
- 食品执行标准对照新版表
- 大班科学《神奇的洞洞》课件
- 第二次全国陆生野生动物资源调查技术规程
- 控制计划CP模板
- 最新苏教牛津译林版英语五年级上册Unit 4《Hobbies》Grammar time 公开课课件
- 路面压浆施工方案
- 第8课时 主题阅读《雨的四季》-2022-2023学年七年级语文上册(部编版)
- Linux基础入门培训
- 现场技术服务报告模版
评论
0/150
提交评论