单片机实训指导书教学文稿
单片机实训指导书

单片机实训指导书一、实训课题单片机训练二、实训时间安排时间内容第一周第一天数制转换第二天、单片机的基础知识第三天C语言基础知识第四天DVCC_52JH++仿真实验仪的使用单灯闪烁程序的制作调试第二周第一天跑马灯的制作与调试第二天广告灯的左移右移第三天按键的使用,花式的切换交通灯的制作与调试第四天数码管的静态、动态显示第三周第一天定时器/计数器的使用第二天99s计时器第三天24小时时钟设计第四天24小时时钟设计复习、实训考核三、实训目标1.知识目标掌握单片机的基础知识、DVCC_52JH++仿真试验仪的使用、掌握C语言的基础知识2.能力目标(1)能正确使用常用编程软件(2)能正确使用常用的仿真软件(3)掌握单片机的基础知识(4)掌握C语言的基础知识(5)能合理地调试程序3.情感目标(1)培养学生的学习兴趣,提高学生的动手操作能力(2)使学生养成在学习中相互配合,团结协作的习惯。
(3)加强安全教育,使学生养成良好的安全操作习惯。
四、学生技能训练知识准备1.单片机的理论知识2. C语言基础知识3.编译仿真软件的合理使用五、实训场地、设施要求配有keil c、仿真软件的电脑、DVCC_52JH仿真实验仪六、实训所需材料清单电脑、教材七、实训工艺规范要求1.电路连接布局合理、整齐美观2.程序编写符合一定的规范,排版比较合理3. 干扰信号尽量少八、技能训练步骤和操作要领1.检查电脑是否正常工作2. 编写合理地程序3. 按要求调试出合理的结果九、实训安全要求及处置预案1.佩戴鞋套2.准备好实训报告纸3.检电脑是否正常工作4.自检电路和程序6.注意事项①保护电脑及试验仪,保护好实验用的下载线和连接线②调试程序及时进行保存③注意编程调试的细节。
十、职业技能训练的反馈矫正措施在学生做的过程中,教师进行巡回指导,发现问题及时指出并加于纠正。
十一、实训报告、体会的书写要求1.条理清楚、文理通顺、语句符合技术规范、字迹工整、图表清楚。
8051单片机实训指导书

单片机实验指导书基础部分实训1 认识单片机一、单片机概述一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM (数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。
在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。
而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。
二、单片机的外部结构(1)单片机的引脚拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。
电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。
振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶振,电容,连上就可以了,按图1-1接上即可。
复位引脚:按图1-1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
EA引脚:EA引脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
图1-1(二)单片机芯片引脚功能1.主电源引脚(1)GND 接地(2)VCC正常操作时为十5V电源。
2.时钟电路引脚(1)XTAL1:(2)XTAL2:3.控制线与电源复用引脚(1)RST/VPD:RST是复位信号,高电平有效。
VPD为第二功能,即备用电源输入端。
(2)ALE/PROG:ALE为地址锁存允许信号输出引脚。
PROG为编程信号,第二功能,低电平有效。
(3)PSEN:片外ROM选通信号输出端,低电平有效。
(4)EA/VPP:EA为内部和外部ROM控制端当EA=1时,从内ROM开始访问当EA=0时,只访问外部ROMVPP是编程电源输入端4.并行输入/输出引脚(1)P0口:P0.0~P0.7统称为P0口(2)P1口:P1.0~P1.7统称为P1口(3)P2口:P2.0~P2.7统称为P2口(4)P3口:P3.0~P3.7统称为P3口P3口每一位可用作第二功能,而且P3口的每一条引脚都可以独立设置为第一功能的I/O口功能和第二功能。
蓝桥杯单片机实训指导书

蓝桥杯单片机实训指导书蓝桥杯单片机实训指导书是许多学生在学习单片机编程和应用时的重要参考资料。
在这本指导书中,详细介绍了单片机的基础知识、编程方法和实际应用案例,帮助学生快速掌握单片机技术并在实践中不断提升。
本文将围绕着蓝桥杯单片机实训指导书展开讨论,重点介绍单片机在现代科技领域的应用现状和未来发展趋势。
首先,我们需要了解什么是单片机。
单片机是一种集成了处理器、存储器和输入输出设备的微型计算机,通常用于控制和监控各种电子设备。
在蓝桥杯单片机实训指导书中,我们可以学习到单片机的基本结构和工作原理,包括CPU、存储器、定时器、中断、串口通信等重要组成部分。
通过学习这些知识,学生可以深入了解单片机的内部机制,从而更好地利用单片机实现各种功能。
蓝桥杯单片机实训指导书还介绍了单片机编程的基本方法和技巧。
学生可以通过学习汇编语言、C语言等编程语言来实现单片机程序的开发和调试。
在实际应用中,单片机可以用于控制各种设备,如 LED灯、温度传感器、电机等,实现自动化控制和数据采集。
通过对单片机编程的学习,学生可以提高自己的编程能力和创新思维,为未来的科技创新打下坚实基础。
除了基础知识和编程技巧,蓝桥杯单片机实训指导书还介绍了单片机在各个领域的实际应用案例。
例如,在智能家居领域,单片机可以用于控制家电设备的开关和调节,实现智能化管理和节能效果。
在工业自动化领域,单片机可以用于自动化生产线的控制和监控,提高生产效率和质量。
在智能交通领域,单片机可以用于交通信号灯的控制和车辆管理,实现交通流畅和安全。
这些实际案例都体现了单片机在现代社会中的重要应用意义,为我们的生活和工作带来了便利和效益。
随着科技的不断发展,单片机技术也在不断创新和突破。
未来,单片机将更加智能化、高效化和多样化,应用范围将进一步扩大。
例如,随着人工智能和物联网技术的发展,单片机将更加智能化和联网化,可以实现设备之间的互联互通和智能控制。
同时,单片机的功耗和成本将进一步降低,推动单片机技术在各个领域的广泛应用。
单片机实训指导书

实训一跑马灯实训一、实训目的1.学会使用I/O口的基本输入、输出功能。
2.了解LED显示接口技术及编程方法。
二、实训模块SCM01 单片机模块、SCM03 显示模块1。
三、实训步骤1.用2号实验导线将“单片机模块”上的P0.0~P0.7连接到“显示模块1”上的“八位逻辑电平显示模块”的L1~L8。
2.接上各模块的电源。
3.将仿真器插到“单片机模块”上的40P锁紧插座中(注意方向)。
4.打开“MedWin V3.0”软件,建立项目,输入程序。
5.将程序下载到仿真器中,全速运行程序,观察发光二极管的显示。
需在程序中将相应的I/O口置零。
实训二动态数码管显示实训一、实训目的掌握动态显示的原理和相关程序的编写。
二、实训模块SCM01 单片机模块、SCM04 显示模块2。
三、实训步骤1.用2号实验导线将“单片机模块”上的P0.0~P0.7分别连接到“显示模块2”上“数码管显示”的D0~D7;将“单片机模块”上的P2.6、P2.7、P3.6分别连接到“显示模块2”上“数码管显示”的CS1、CS2、WR。
2.接上各模块的电源。
3.将仿真器插到“单片机模块”上的40P锁紧插座中(注意方向)。
4.打开“MedWin V3.0”软件,建立项目,输入程序。
5.将程序下载到仿真器中,全速运行程序。
6.现象:八位数码管显示自己的生日。
四、数码管显示模块硬件电路数码管按各发光二极管电极的连接方式分为共阳数码管和共阴数码管两种。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到电源正极,当某一字段发光二极管的阴极为高电平时,相应字段就不亮。
当某一字段的阴极为低电平时,相应字段就点亮。
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
本装置采用的是动态式显示方式。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路(本电路采用74138译码器),位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
《单片机原理及应用》实验指导书(C语言)

《单片机原理及应用》实验指导书(C语言)《单片机原理及应用》实验指导书(C语言)某某大学物电学院微机教研室某某2022前言由于单片机具有高可靠性、超小型、低价格、容易产品化等特点,在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,具有十分广泛的用途。
由于目前在国内单片机应用中,MCS-51系列单片机仍然是一种主流单片机,所以本实验指导书为学习MCS-51单片机的学生,配合《单片机原理及应用》课程的教学,结合本学院自制单片机教学实验板编写了这本实验指导书。
《单片机原理应用及》是一门实践性很强的课程,提高教学质量的一个重要环节是上机实习和训练,无论是学习汇编语言程序设计,还是学习接口电路和外设与计算机的连接,或者软硬兼施地研制单片机应用系统,不通过加强动手是不能获得预期效果的。
本实验指导书提供多个实验的指导性材料,有些实验还有一些有一定难度的选做项目,可以根据课时的安排和教学要求进行取舍。
为了达到某些实验的目的,书中提供的参考程序与实际应用中的程序会有些差别,所以不一定是最优的。
由于时间紧迫,需要赶课程进度与实验时间的同步,加上编者学识有限,如有不妥之处,欢迎读者批评指正。
实验须知1.实验前必须阅读教科书的有关部分和本实验指导书,了解实验目的、内容、步骤,做好实验前的准备,编写好实验中要求自编或修改的程序;完成实验前要求完成的准备工作后方可以上机实验,否则不得上机操作。
2.各种电源的电压和极性不能接错,严禁带电接线和接插元器件。
通电前须经过指导教师检查认可后方能通电。
3.不准随意拨弄各种与实验无关的旋钮和开关,凡与本次实验无关的任何设备都禁止动用和摸弄,注意安全。
4.严禁用手触摸实验系统印制电路板和元器件的引脚,防止静电击穿芯片。
5.实验中若损坏仪器或元器件,应及时向指导教师报告。
6.在实验室内保持安静和卫生,不得随意走动和喧哗,集中精力完成实验。
7.实验完成后,关掉电源,及时整理实验台桌面,保持环境整洁。
《单片机原理与应用》实训指导书

佛山市顺德区郑敬诒职业技术学校《PIC单片机原理与应用》实训指导书制定:审核:审批:制定日期:二00七年九月实训项目一 熟悉实验环境及MPLAB 的使用实验目的:熟悉实验软硬件环境,能够对单片机编程并进行调试。
实验内容:了解实验平台软、硬件的构成,熟悉实验环境,掌握MPLAB 的使用方法;建立工程,编程,调试并运行程序。
基本要求:能够在计算机上使用MPLAB 建立一个工程,应用简单指令编写简单的程序进行编译,并在实验板上调试成功。
扩展要求:1、编写一段程序让PORTD 口输出二进制数‘10101010’。
2、编写跑马灯程序。
电路原理:单片机与LED:RD0RD1 RD2: RD7 程序流程:实现D 口小灯四亮四灭的程流程图单片机PORTD实验步骤:1、打开MPLAB。
双击桌面上名为“MPLAB IDE”的图标,打开MPLAB编译环境。
2、进入工程向导。
点击MPLAB上面菜单中的Project(工程),选择ProjectWizard(工程向导),通过工程向导来建立工程。
3、选择单片机。
进入欢迎界面(下图),点击下一步,在Device(设备)中选择PIC16F877A,如果该项为PIC16F877A则直接点下一步。
4、选择编译语言。
选择MPASM汇编语言编译器,如果该项为MicrochipMPASM Toolsuite,则直接点下一步。
5、创建工程文件。
请在D盘下建立一个存放工程的文件夹,文件名可以用英文、数字或英文数字混合,注意:不要用中文或标点符号,文件夹名和工程名长度不要超过8个字符。
下面以建立文件夹名为abcd , 工程名为LED 为例。
此处写入工程名字,可以和实验内容相关,如LED此处写入存放工程的路径,如D:\abcd,建议通过点击右边Browse(浏览)来选择建立好的文件夹6、添好工程名和路径后点击下一步,下图表示可以添加程序文件到工程中,如果是初次编程或没有编好的程序文件,可直接点击下一步。
单片机实验指导书
单片机实验指导书第一章实验概述本实验指导书旨在帮助学生掌握单片机基本原理和应用技巧。
通过实验的学习,学生将了解单片机的内部结构,学习单片机的编程方法,并能够用单片机实现简单的控制功能。
第二章实验准备2.1 实验器材准备本实验需要准备以下器材:- 单片机开发板- USB线- 电脑2.2 软件安装在开始实验之前,需要安装以下软件:- Keil C51开发环境- STC单片机系列驱动程序第三章实验步骤3.1 硬件连接将单片机开发板通过USB线连接到电脑上,并确保连接正常。
3.2 软件设置打开Keil C51开发环境,点击菜单栏中的“文件”选项,选择“新建”创建新的工程。
设置工程的名称和保存位置,确定后点击“保存”。
3.3 编写程序在Keil C51开发环境中,编写单片机程序。
首先需要包含相应的头文件,然后编写具体的程序逻辑,实现所需的功能。
3.4 编译和烧录程序在编写完程序后,点击菜单栏中的“编译”选项进行编译。
编译成功后,点击菜单栏中的“下载”选项将程序烧录到单片机开发板中。
3.5 实验验证将程序烧录完毕后,将开发板与外部模块连接,观察实验现象是否符合预期。
第四章实验注意事项4.1 安全注意事项在实验过程中,要注意使用安全电压和电流,避免短路和电击风险。
4.2 实验环境实验需要在安静、整洁的环境中进行,以避免干扰和误操作。
4.3 调试和故障排除如果遇到实验效果不理想或者出现故障的情况,可以参考开发板的说明书进行故障排查和调试。
第五章实验总结通过本次实验,我深入了解了单片机的基本原理和应用技巧。
通过编写程序并实际观察实验现象,我成功掌握了单片机编程的方法和技巧,并能够用单片机实现简单的控制功能。
本次实验还让我意识到了实验中的安全注意事项和环境要求的重要性。
在实验过程中,我严格遵守了安全规定,并在安静整洁的环境中进行操作,确保实验顺利进行。
通过反复实践和调试,我不断提高了自己的实验技巧和问题排查能力。
在遇到故障时,我能够通过检查并参考说明书,准确地找到并解决问题。
单片机控制应用实训指导书
单片机控制应用实训指导书一、实训目的本实训是在学习先修课程《单片机应用技术》之后,为了加强对学生系统设计和应用能力的培养而开设的综合设计训练环节。
本实训应结合《单片机应用技术》课程的基础理论,重点强调实际应用技能训练,包括单片机系统设计的软件和硬件两部分。
其实训任务是使学生通过应用单片机系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法、初步掌握并具备应用单片机进行设备技术改造和产品开发的能力,培养学生的创新意识,提高学生的动手能力和分析问题、解决问题的能力。
二、实训设备及工具电脑、万用表、开发板、转印机、钻台、电烙铁、示波器等三、实训要求1、遵守各项纪律,安全用电;2、注意安全,按照操作规程使用设备,避免不能损坏设备及工具;3、注重团体协作能力、提高严肃谨慎的工作作风;4、系统原理图设计(1)原理图设计要符合课题的工作原理,连线要正确;(2)图中所用元器件要合理选用,电阻,电容等器件的参数要正确标明;(3)原理图要完整,CPU、外围器件、扩展接口、输入/输出装置等要一应俱全。
5、程序流程图设计(1)按要求将总体功能分解成若干功能子模块,每个功能模块完成一个特定的功能。
(2)根据总体要求及分解的功能模块,确定各功能模块之间的关系,设计出完整的程序流程图。
6、程序调试-将所设计的程序输入、汇编、排除语法错误后生成*OBJ文件。
(1)按设计原理图,在印制板上连线,检查无误。
(2)将汇编后生成的*OBJ文件写入存储器,执行该程序。
检查是否达到设计要求,若未达到,修改程序,直到达到要求为止。
7、设计说明书(1)原理图设计说明:简要说明设计目的,原理图中所用元器件的功能及在原理图中的作用,各器件的工作过程及顺序。
(2)程序设计说明:对程序设计总体功能及结构进行说明,对各子模块的功能以及各子模块之间的关系作较详细的描述。
四、实训进度安排五、实训完成形式1、3-4人一组,共同分工、合作完成任务;2、完成控制系统设计、硬件电路调试成功及实训报告等任务。
【2018-2019】单片机实训指导书-优秀word范文 (12页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==单片机实训指导书篇一:单片机实训指导书单片机原理与应用实验指导书江西华忆电子工业中等专业学校电子系前言实训课是单片机课程的重要环节,从某种意义讲,它比老师课堂上讲解更为重要,因为,只有通过实验才能真正掌握和理解所学的知识,并达到应用所学知识的目的。
通过实验又可以培养学生独立分析问题和独立解决问题的能力,因此实验课对于工科学校的学生尤为重要。
一、实训课的目的1.掌握、理解并扩大所学的基本理论知识。
2.进行实验基本技能的训练,培养分析问题和解决问题的能力。
3.培养严肃认真、仔细踏实、敢于探索、勇于研究的科学态度和良好的实验工作习惯。
二、实训前的准备1.实验前要认真阅读实验指导书,明确实验目的,内容、步骤,按要求完成实验预习报告。
2.实验准备中,学生可以提出自己的想法和有关的实验内容,在条件允许的情况—下,实验室予以支持。
三、实验注意事项1.遵守作息时间,按规定时间进入实验室,不得迟到、早退。
2.要爱护实验设备,按技术规定精心使用。
3。
尊敬指导教师和实验室工作人员,尊重他们的劳动。
4.与实验无关的物品不得带入实验室。
5。
实验室内不允许吸烟、饮水、吃食物和打闹。
6.在做强电实验时,要注意人身安全,不得带电进行检查,发生故障,要立即拉闸。
7.每次实验都必须如实填写实验登记簿。
如有仪器、设备损坏,必须立即报告实验室老师或实验室工作人员确认,并做好书面记录。
实验做好后,必须整理好仪器、设备、工具、导线等, 并关闭实验台电源。
8.对违反实验室规章的学生,实验指导人员有权停止其实验。
四、实验总结报告实验总结报告是学生实验工作的总结。
报告要求规范,字迹工整,分析合理。
总结报告包括以下内容:1.实验名称、专业、班级、姓名、学号、同组者姓名、实验台号、实验日期。
2.实验设备、实验线路图、实验数据。
单片机实训指导书
单片机实训指导书一、实训目的单片机实训是一门重要的实践课程,旨在通过实际操作和项目实践,让学生深入了解单片机的工作原理、编程方法和应用开发。
通过本次实训,学生将能够掌握单片机系统的设计、调试和维护技能,提高解决实际问题的能力,为今后从事相关领域的工作打下坚实的基础。
二、实训设备1、计算机:用于编写和调试单片机程序。
2、单片机开发板:包含单片机芯片、外围电路和接口,如STC89C52 开发板。
3、编程器:用于将编写好的程序下载到单片机中。
4、示波器:用于观察电路中的信号波形。
5、万用表:用于测量电路中的电压、电流等参数。
三、实训要求1、学生应提前预习相关的理论知识,熟悉单片机的基本结构和编程方法。
2、实训过程中,要严格遵守实验室的规章制度,注意安全,爱护实验设备。
3、认真完成每个实训项目,按时提交实训报告。
4、培养团队合作精神,积极参与小组讨论和项目开发。
四、实训内容(一)单片机基础知识1、了解单片机的发展历程、应用领域和特点。
2、熟悉单片机的内部结构,包括中央处理器(CPU)、存储器(ROM、RAM)、输入输出端口(I/O 口)、定时器/计数器、中断系统等。
3、掌握单片机的指令系统和编程方法,能够使用汇编语言或 C 语言进行简单的程序编写。
(二)单片机开发环境搭建1、安装单片机编程软件,如 Keil C51。
2、学习编程软件的使用方法,包括创建工程、编写代码、编译调试等。
3、安装并使用下载软件,将编写好的程序下载到单片机开发板中。
(三)单片机 I/O 口控制实验1、学习单片机 I/O 口的工作原理和控制方法。
2、编写程序实现对单个 I/O 口的输出控制,如点亮 LED 灯。
3、实现对多个 I/O 口的组合控制,如流水灯效果。
(四)定时器/计数器实验1、了解单片机定时器/计数器的工作原理和计数模式。
2、利用定时器/计数器实现定时功能,如控制LED 灯闪烁的频率。
3、实现计数器功能,如对外部脉冲进行计数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机实训指导书一、实训的性质、目的及任务:1、课程性质:本课程属专业技能实操课。
2、课程目的:使学生熟悉单片机实用技术的开发过程,提高汇编语言的编写能力,提高对汇编语言的编辑、汇编、调试运行等技能,通过实际应用和亲身体验,加深对所学知识的理解,增强动手能力3、课程任务:通过本课程实训使学生熟悉单片机的基本知识,能利用单片机技术制作简单电子技术产品,培养和锻炼学生进行调试、检测和分析的能力。
二、适合专业:电子信息技术/生产过程自动化三、主要仪器设备:单片机仿真器一台、电脑一台、导线等。
四、实训项目与内容提要五、成绩评定:实训结束,由实训指导教师按如下几点对学生进行考核。
出勤,占总成绩的20% ;认真程度,占总成绩的20% ;实训报告,占总成绩的30% ;考核,占总成绩的30%。
评定等级分为优、良、中、合格、不合格五种。
实训参考资料任务一:单片机上电,单灯按按双灯循环,松开此键,单灯继续原来的循环。
控制程序ORG 0000HLJMP MAINORG 0003H LJMP INT_0ORG 001BH LJMP DELAYMAIN: SETB IT0 MOV TMOD,#01HMO V TL0,#00HMO V TH0,#4CHSETB PT0SETB EASETB EX0SETBET0MOV B,#20 SETB TR0MOVA,#0FE HBEGIN: MOV P1,ACJNEB,#00,$MOV B,#20RL ASJMP BEGININT_0: PUSH ACCMOV A,#0FBHLOOP: MOV P1,ACJNE B,#00,$ MOV B,#20RLAJNB P3.2,LOOPPOP ACCRETIDELAY: MOV TL0,#00H MOVTH0,#4CH DJNZB,LOOP1 LOOP1: RETIEND任务二:51 单片机秒表程序,以8 位LED 右边2 位显示秒,左边6 位显示0,实现秒表计时显示。
以4X 4矩阵键盘的KEO、KE1、KE2等3键分别实现启动、停止、清零等功能。
方法:用单片机定时器T0 中断方式,实现1 秒定时;利用单片机定时器1 方式3计数,实现6O 秒计数。
用动态显示方式实现秒表计时显示,用键盘扫描方式取得KEO 、KE1 、KE2 的键值,用键盘处理程序实现秒表的启动、停止、清零等功能。
按照上述思路可编制源程序如下:1HZ频率循环,一旦按下P3.2 所接的按键,发光二极管ORGAJMPMAINOOOOH;主程序5――初始化程序―MAIN : MOVTMOD ,#61H ;置 T0 方式1 定时,T1 方式 2 计数MOV TH0, #3CH5T 0 置初值MOV TL0,#0B0HMOV TH1, #0C4H5T 1 置初值MOV TL1,#0C4HMOV DPTR ,#4400H 58155 控制口地址送 DPTRMOVA ,#43H5设置 8155 工作方式字MOVX @DPTR , A 5设置 PA 、PB 口输出, PC 口输入MOV 20H, #00H560 秒计数单元置初值MOV 21H,#14H550ms 计数单元置初值MOV SP , #3FH 5堆栈指针置初值MOVR2, #08H 5L ED 待显示位数送 R2MOVR0, #30H5显示缓冲区首址送 R0 STAR : MOV@R0, #00H ;显示缓冲区清零INCR0DJNZR2, STARCLR A5累加器清零 ――――――键盘查询程序――――――――――KEY : ACALL KS ;调按键查询子程序判是否有键按下JNZ K1ACALL AJMP;有键按下转移DISP ;无键按下,调显示子程序延时 KEY ;继续查询按键键盘扫描程序ACALLDISP ACALL KS JNZ K2 ;再次判别是否有键按下 ;有键按下转移;无按键,误读,继续查询按键AJM PKEYK2: MOVR3 , #0FEH;首列扫描字送 R3MOVR4, #00H ; 首列号送 R4K3:MOVDPTR , #4401H;PA 口地址送DPTR ,开始列扫描MOVA , R3MOVX @DPTR , A ;列扫描字送 PA 口INC DPTR;指向 PC 口INCDPTRMOVX A , @DPTR ;读取行扫描值JB ACC.0 , L1;第 0 行无键按下,转查第 1 行MOVA , #00H;第 0 行有键按下,行首键号送 AAJMP LK;转求键号K1:ACALL DISP ;键盘去抖延时ORG AJMP000BH CONT5 ―――――――键盘处理程序―――――――――――――――PR :CJNE A , #00H ,PR01 ;不是 KE0 键码,转 KE1 键AJMP KE0;转 KE0 键处理程序 PR01:CJNE A , #01H,PR02;不是 KE1 键码,转 KE2 键AJMP KE1;转 KE1 键处理程序 PR02:CJNE A , #02H ,PR03 ;不是 KE2 键码,返回按键查询AJMP KE2;转 KE2 键处理程序 PR03: AJMP KEYKE0:SETB TR0;启动定时器 T0SETB TR1;启动定时器 T1SETBET0;允许定时器 T0 中断SETBEA;开中断AJMPKEY5 返回键盘查询状态KE1:CLR EA;关中断CLR ET0;禁止定时器 T0 中断CLR TR1;关定时器 T1CLR TR0;关定时器 T0AJMPKEYKE2:CLR EA;关中断AJMP MAIN;返回主程序进行初始化按键查询子程序L1:JB A CC.1 , L 2 ;第 1 行无键按下,转查第 2 行MOV A ,#08H ;第 1 行有键按下,行首键号送AJMPLK ;转求键号L2:JB ACC.2 , L 3;第 2 行无键按下,转查第 3 行MOV A ,#10H ;第 2 行有键按下,行首键号送AJMPLK ;转求键号L3:JB ACC.3 , N EXT;第 3 行无键按下,转查下一列MOVA ,#18H;第 3 行有键按下,行首键号送AJMPLKLK :ADD A, R4 ;形成键码送 APUSHACC;键码入栈保护K4:ACALL DISPACALLKS;等待键释放JNZ K4;未释放,等待POP ACC;键释放,弹栈送 AAJMPPR;转键盘处理程序NEXT :INC R4;修改列号MOVA ,R3JNB ACC.3 , KEY ; 4 列扫描完返回按键查询状态RLA ;未扫描完,改为下列扫描字MOVR3,A;扫描字暂存 R3AJMP K3;转列扫描程序 AA A KS :MOV DPTR , #4401H;置 8155PA 口地址MOV A ,#00HMOVX @DPTR ,A5全扫描字#00H 送PA 口INC DPTR ;指向PC 口INC DPTRMOVX A ,@DPTR 5 读入PC 口状态CPL A 5 变正逻辑,高电平表示有键按下ANL A ,#0FH ;屏蔽高4 位RET ;返回,A工0表示有键按下LED 动态显示子程序―――――――――――――DISP:PUSH ACCSETB; A 入栈保护RS0 ;保护第0 组工作寄存器, 启用第1 组工作寄存器MOV R2, #08H ;LED 待显示位数送R2MOV R1,#00H ;设定显示时间MOV R3,#7FH ;选中最右端LEDMOV R0,#30H ;显示缓冲区首址送R0MOV A ,@R0 ;秒显示个位送ADISP1 :MOV DPTR ,#TAB ;指向字形表首址MOVC A ,@A+DPTR ;查表取得字形码MOV DPTR ,#4402H ;指向8155PB 口(段码口)MOVX @DPTR ,A ;字形码送PB 口MOV A ,R3 ;取位选字MOV DPTR ,#4401H ;指向8155PA 口(位选口)MOVX @DPTR ,A ;位码送PA 口DJNZ R1,$ ;延时0.5msDJNZ R1,$ ;延时0.5msRR A ;位选字移位MOV R3,A ;移位后的位选字送R3INC R0 ;指向下一位缓冲区地址MOV A,@R0 ;缓冲区数据送ADJNZ R2,DISP1 ;未扫描完,继续循环CLR RS0 ;恢复第0 组工作寄存器POP ACC 5A 弹栈,恢复现场RETTAB :DB 3FH,06H,5BH ,4FH,66H ;共阴极LED 字形表DB 6DH ,7DH ,07H,7FH ,6FH; ------------------- 定时器中断服务程序--------CONT:PUSH ACC ;保护现场MOV TH0 ,#3CH ;定时器T1 重置初值MOV TL0 ,#0B0HMOV A ,20H ;秒计数器送AAJMP CONT1REN:AJMP REN1CONT1 :DJNZ 21H,REN ;1 秒定时未到,中断返回MOV 21H,#14HCLR P3.5NOPNOPSETB P3.5INC ADA AJBC TF1 ,CONT2 CONT3 :MOV 20H ,AANL A ,#0FHMOV 30H ,MOV A,20HSWAP AANL A ,#0FHMOV 31H,AAJMPREN1;重置50ms 计数初值;软件产生定时器T1 计数脉冲;1 秒计数值加 1 ;换算为10 进制计数;60 秒到,转清零;计数值送60 秒计数单元20H;屏蔽高4 位A ;秒表个位待显示数据送显示缓冲区;60 秒计数单元高、低4 位数据互换;屏蔽高4 位;秒表十位待显示数据送显示缓冲区CONT2 :MOV A ,#00HAJMPCONT3REN1:POP ACC;恢复现场RET ;中断返回END任务三:由点阵显示汉字并轮回滚动,的汉字代码,显示不同的汉字。
接线:最小系统的P0 口接显示程序字库中的汉字杭州西湖,浙江天煌!库中P3 口接JD14,P1.0~P1.3 分别接A~DORG 0000HSTART: MOV A,#0FFH ;开机初始化,清除MOV P0,A ;清除P0 口ANL P3,#00 ;清除P2 口MOV R2,#200D1: MOV R3,#248 ;延时DJNZ R3,$DJNZ R2,D1MOV 20H,#00H ;取码指针的初值L1: MOV R1,#100 ;每个字的停留时间L2: MOV R6,#16 ;每个字16 个码MOV R4,#00H ;扫描指针清零MOV R0,20H ; 取码指针存入R0 L3: MOV A,R4 ;扫描指针存入A MOV P1,A ;开三极管扫描输出INC R4 ;扫描下一个MOV A,R0MOV DPTR,#TABLE ; 取数据代码上半部MOVC A,@A+DPTRJD15,MOV P0,A ;查表送P0 口INC R0MOV A,R0MOV DPTR,#TABLE ; 取数据代码下半部分MOVC A,@A+DPTRMOV P3,A ;查表送P2 口INC R0MOV R3,#02D2: MOV R5,#248DJNZ R5,$DJNZ R3,D2MOV A,#00HMOV P0,AANL P3,#00HDJNZ R6,L3 ;16 个码是否完成?DJNZ R1,L2 ;每个字的停留时间是否到了?MOV 20H,R0CJNE R0,#0FFH,L1 ;8 个字的256 个码检测是否送完?JMPSTARTTABLE:DB 08H,20H,08H,0C0H,0BH,00H,0FFH,0FFH ; 杭DB 09H,01H,08H,82H,10H,04H,13H,0F8HDB 92H,00H,72H,00H,12H,00H,17H,0FCHDB 32H,02H,10H,02H,00H,0EH,00H,00HDB 01H,00H,0EH,02H,00H,0CH,0FFH,0F0H ;州DB 00H,00H,08H,00H,06H,00H,00H,00HDB 7FH,0FCH,00H,00H,08H,00H,06H,00HDB 00H,00H,0FFH,0FFH,00H,00H,00H,00HDB 20H,00H,23H,0FFH,22H,02H,22H,0AH ;西DB 22H,12H,3FH,0E2H,22H,02H,22H,02HDB 22H,02H,3FH,0E2H,22H,12H,22H,12HDB 22H,02H,67H,0FFH,22H,00H,00H,00HDB 08H,20H,84H,3FH,46H,40H,68H,80H ;湖DB 09H,0FEH,09H,04H,0FFH,04H,09H,04HDB 0BH,0FDH,09H,02H,7FH,0FCH,44H,42HDB 44H,41H,0FFH,0FEH,40H,00H,00H,00HDB 08H,20H,44H,20H,26H,7FH,30H,80H ;浙DB 09H,42H,08H,41H,0FFH,0FEH,08H,82HDB 09H,04H,3FH,0F8H,22H,00H,22H,00HDB 43H,0FFH,46H,00H,02H,00H,00H,00HDB 08H,20H,84H,20H,46H,7FH,60H,80HDB 01H,04H,20H,04H,20H,04H,20H,04HDB 20H,04H,3FH,0FCH,20H,04H,20H,04H DB 60H,04H,20H,0CH,00H,04H,00H,00HDB 02H,01H,42H,01H,42H,02H,42H,04HDB 42H,08H,42H,30H,42H,0C0H,7FH,00H DB 42H,0C0H,42H,30H,42H,08H,42H,04HDB 0C2H,02H,46H,03H,02H,02H,00H,00HDB 01H,02H,0EH,04H,00H,08H,0FFH,0F0H DB 08H,0AH,10H,86H,3EH,92H,2AH,92HDB 6AH,92H,0AAH,0FEH,2AH,92H,2AH,0B2H DB 7EH,92H,20H,86H,00H,02H,00H,00HEND ;江;天;煌。