首页 单片机实验报告

单片机实验报告

举报
开通vip

单片机实验报告重庆三峡学院 课 程 设 计 报 告 书 题目: 基于单片机的智能数字        电压表设计 学院(系):      应用技术学院    年级专业:     08级电信(仪表)  学    号:       2008151941174    学生姓名:       杨    小    枚   指导教师:       谢          辉    教师职称:       副    教    授                                    完成日期 2010年1月7日 目 ...

单片机实验报告
重庆三峡学院 课 程 设 计 报 告 书 题目: 基于单片机的智能数字        电压表 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 学院(系):      应用技术学院    年级专业:     08级电信(仪表)  学    号:       2008151941174    学生姓名:       杨    小    枚   指导教师:       谢          辉    教师职称:       副    教    授                                    完成日期 2010年1月7日 目   录 摘要………………………………………………………………………………………………2 第一章 引言……………………………………………………………………………………2 1.1 设计目的………………………………………………………………………………2 1.2 设计任务及要求………………………………………………………………………2 1.3 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 ………………………………………………………………………………2  第二章 数字电压表简介………………………………………………………………………3 2.1 数字电压表的介绍……………………………………………………………………3 2.2 数字电压表工作原理…………………………………………………………………3 第三章 硬件部分的设计………………………………………………………………………4 3.1    AT89S52 控制电路的设计……………………………………………………………4         3.1.1 AT89S52单片机的介绍………………………………………………………4         3.1.2 晶振电路和复位电路…………………………………………………………5         3.1.2 数据地址总线的扩展介绍……………………………………………………5 3.2    ADC0809数模转换电路设计…………………………………………………………6         3.2.1 ADC090809介绍………………………………………………………………6 3.2.2 ADC0809与单片机的接线图…………………………………………………7 3.2.3 74LS90的介绍…………………………………………………………………8 3.3    82C55控制显示电路的设计…………………………………………………………8 3.4    数码管显示电路………………………………………………………………………9 3.5外加键盘电路…………………………………………………………………………10 第四章 系统软件的设计………………………………………………………………………10 4.1 KEIL软件的介绍……………………………………………………………………10 4.2 Proteus仿真软件简介……………………………………………………………10 4.3 程序框图……………………………………………………………………………11 第五章 系统的调试……………………………………………………………………………11   5.1 硬件调试………………………………………………………………………………11    5.2 软件调试………………………………………………………………………………12 第六章  心得体会 决胜全面小康心得体会学党史心得下载党史学习心得下载军训心得免费下载党史学习心得下载 ………………………………………………………………………………12 第七章 参考文献………………………………………………………………………………12 第八章 附录……………………………………………………………………………………13 附录1原理图…………………………………………………………………………14 附录2 PCB图…………………………………………………………………………14 附录3实验程序………………………………………………………………………14 附录4元器件清单……………………………………………………………………21 基于单片机的数字电压表的设计 重庆三峡学院应用技术学院  杨小枚 摘要:    本次课程设计主要是应用单片机AT89S52进行控制与ADC0809进行数模的转换的连接来实现电压测试后在LED数码管以及键盘的扫描显示。SN74LS245N和SN74LS373N进行数据地址的总线扩展,用82C55对数码管进行位控和段控。显示采用六位数码管显示,精度要求小于等于20mv,因此此显示中只使用了三个数码管显示一定精度的数字电压值,其他三只显示用户自定值。加上中断延时程序在对应的时间里面反映正确的数字电压值,数字电压表可以测量0~5V的输入电压值,测量误差为±0.02V。 关键字:AT89S52控制电路、ADC0809数模转换、SN74LS245N和SN74LS373数据地址总线扩展、数码管、测量误差±0.02V。 第一章        引言 1.1    设计目的 通过此次基于单片机的数字电压表的设计,熟悉和掌握单片机的结构及工作原理、相关外围电路的设计。这次的课程设计是基于我们学习单片机级应用理论课程的基础之上开展的,应用我们所学的理论知识和编程的掌握设计数字电压表不仅硬件方面的实现还有软件的实现,初步了解单片机在日常生活中的一些应用。 通过本次设计,培养学生的动手能力和 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 能力以及团队的分工合作精神,掌握编程的技巧,解决设计中遇到的一系列问题。 1.2    设计任务及要求     基本要求:以单片机及A/D转换器为核心,设计一个智能数字电压表。可以测量0~5V的直流电压,并实时显示在LED或LCD显示器上。第一位显示定时时间的采样值,第二、三位屏敝,第四、五、六位显示电压值,在第四位后加小数点。转换精度≤20mV。     扩展要求:有适当的抗干扰能力措施,设计一个液晶显示电压的电压表。 1.3    设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载     根据设计所要达到的要求,采用AT89S52单片机作为控制系统,经过A/D转换之后送到LED数码管显示。     采用AT89S52单片机作为控制系统时,必须对数据/地址总线进行扩展,我们选用的是SN74LS245N和SN74LS373N作为数据/地址的扩展,由SN74LS245N送出的数据送到82C55后对数码管的的段控和位控口进行控制,控制时采用SN74LS240N同向驱动段控口,SN74F00D反向驱动控制位控口。 第二章        数字万用表的简介 2.1    数字万用表的介绍     数字电压表采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式加以显示的仪表。     智能数字电压表采用微处理器进行控制运算,配合不同的互感器可满足可各种测量量程的要求,可对电压进行高精度的显示、控制及变送输出。 2.2数字万用表的结构及工作原理 数字万用表的基本组成:     A/D转换器:将输入的模拟信号转换成数字信号。 基准电源:提供精密电压,供A/D转换器作参考电压。 标度变换:将十六-十进制(BCD)码转换成七段信号。 驱动器:驱动显示器的a、b、c、d、e、f、g七个发光段,驱动发光数码管(LED)    进行显示。 显示器:将译码输出的七段信号进行数字显示,读出A/D转换结果。     数字万用表的工作原理:直流数字电压表的核心器件是一个间接型A/D转换器,主要采用逐次逼近式ADC转换。在始终脉冲的同步下,控制逻辑先使N位寄存器的最高位置1(其余各位为0),此值经DAC转换为模拟输出两VN,与待转换的模拟输入信号VIN进行比较,若VIN大于等于VN,该位1被保留,否则被清楚。然后再置逐次逼近寄存器的次高位为1,所得值再经ADC转换得到新的VN,再与VIN比较,重复前述过程,直到比较完毕,控制逻辑使EOC变为高电平,表示A/D转换结束,经过标度变换之后数码管上显示所测的电压。 第三章        硬件系统的设计 3.1    AT89S52控制电路的设计     3.1.1    AT89S52单片机的介绍         AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。 引脚结构如下所示:     3.1.2    晶振电路和复位电路         3.1.2.1晶振电路:晶振电路又为时钟电路,包括内部时钟电路和外部时钟电路,在此次设计过程中采用内部时钟电路。如下图所示:         3.1.2.2复位电路:复位电路分为上点复位和按键复位,一般采用按键复位,这样比较容易控制。电路图如下所示:     3.1.3    数据地址总线的扩展介绍         3.1.3.1单片机与地址总线的接线图                 3.1.3.2数据总线扩展:74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据74LS245还具有双向三态功能,既可以输出,也可以输入数据。端子和功能表如下图所示: 图中为允许端,DIR为方向控制端。 74LS245的固定接地,其DIR端由单片机的和相“与”后控制。当CPU执行读外部数据存储器(=0)或访问外部程序存储器(=0)时,DIR=0,驱动器导通方向为从外部到内部总线;否则,=1,=1,使DIR=1,驱动器导通方向为从内部总线向外,可供CPU向外传送数据。         3.1.3.3地址总线的扩展:74LS373为常用的地址锁存器,是8D三态同相锁存器,端子和功能表如下图所示: 当门控端G输入正脉冲,且输出控制低电平有效时,D端的数据被锁存到锁存器的输出端,当G为低电平时,输出Q保持不变;当为高电平时,输出Q是高阻态。 3.2    ADC0809数模转换电路设计 3.2.1    ADC090809介绍    A/D转换由集成电路0809完成。0809具有8路模拟输入端口,地址线(23~- 25脚)可决定对哪一路模拟(IN0-IN7)输入作A/D转换。22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出。10脚为0809的时钟输入端,利用单片机AT89S52的30脚6分频晶振频率再通过74LS90五分频得到500KHz时钟。8255的PA0-PA5端口作为六位LED数码管显示控制。P0端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制。 ADC0809是8位逐次逼近型A/D转换器,它是由一个8路的模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。A/D转换器的特点是8位精度,属于并行口,如果输入的模拟量变化大快,必须在输入之前增加采样电路。如下图所示: 3.2.2    ADC0809与单片机的接线图 3.2.3    74LS90的介绍:74LS90为中规模TTL集成计数器,可实现二分频、五分频和十分频等功能,它由一个二进制计数器和一个五进制计数器构成。对实验箱上提供的12MKz的晶振进行分频之后作为ADC0809的时钟输入。管脚图和真值表如下:     3.3    82C55控制显示电路的设计     82C55介绍:    82C55有3个8位的数据端口,即端口A、端口B、端口C。端口A对应一个8位输入锁存器和一个8位数据输出锁存器/缓冲器。82C55是一种可编程多功能借口芯片,内部包括三个并行口,256B×8位的静态RAM和一个十四位的减法定时器/计数器。管脚图如下: 3.4    数码管显示电路     3.4.1 数码管动态显示电路             3.4.2    74LS240是八三态反相缓冲器/线驱动器/线接收器,在此次设计中作为段控口驱动数码管显示。接线图如下:     3.4.3    74F00作为数码管的位控驱动控制数码管的动态显示,为反相驱动,接线图如下: 3.5    外加键盘电路 第四章        软件系统的设计 4.1        KEIL软件的介绍         Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。         单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。 4.2   Proteus仿真软件简介           Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。 4.3        程序框图         系统采用INT0通道进行模拟数据的采样,设置中断延时方式每个电压值变换数码管在延时时间之后显示调节后的电压值。主要流程框图如下: 第五章        系统的调试 5.1        硬件的调试         系统的硬件调试运用DICE-51仿真系统讲源程序下载进入实验箱上,其中包括一下几个步骤:     (1)按照正确的连线图将其正确的连接。     (2)打开DICE-51仿真系统新建工程文件添加ASM文件并保存。     (3)装载并编译该程序,运行该程序。     (4) 在实验箱上观察运行的结果,调节电位器,是电压变化,在设置的延时之后立马显示调节后的电压,说明该程序无误,能够正确的实现该功能。 5.2        软件调试         软件调试利用KEIL软件和Proteus软件进行程序的调试和结果的仿真。 第六章        总结及心得体会     通过这两周课程设计,我们团队齐心协力的完成了智能数字电压表的设计以及外加键盘的设计。在这两周里,我们团队齐心协力,设计只能数字电压表的设计程序以及外加键盘的设计程序和完整的调试过程。最终圆满的完成此次课程设计的要求。     在本次的课程设计中,在老师的带领和知道下,我们学习到了很多的知识:在软件上:发现和寻找程序中的问题,如何改正程序中出现的问题,在KEIL软件中逐个的进行调试,观察各个寄存器的值和程序的运行,改正程序出现错误的地方;学会使用DXP画图工具,绘制正确的原理图和PCB图,学会寻找原理图中的错误并加以修正。在硬件上:熟悉了我们新进的实验仪器,连接实物图,每个部分的连接和程序的入口地址。要设计一个成功的电路,必须要有耐心,要有坚持的毅力。在整个电路的设计过程中,花费时间最多的是各个单元电路的连接及电路的细节设计上,我们仔细比较分析其原理以及可行的原因。这就要求我们对硬件系统中各组件部分有充分透彻的理解和研究,并能对之灵活应用。通过这次实训,我在书本理论知识的基础上又有了更深层次的理解。 在整体设计过程中,了解到了电压表的基本结构和工作原理和设计方案。掌握单片机AT89S52的使用,ADC0809的使用方法,地址数据总线扩展是如何扩展的,82C55芯片的工作原理,数码管的动态扫描显示。 通过这次的课程设计,我们不仅仅是完成老师交给我们的任务,我们还培养了自己独立思考的能力,经过查询大量的资料和请教老师,使得我们的独立动手能力增强。在今后的学习中我们灵活运用学习中积累的经验,可突破面临的挑战。 第七章        参考文献 1、谢辉                  单片机原理与应用                 化学工业出版社    2010年 2、刘海宽                单片机实验与实训教程            东南大学出版社    2009年 3、李海滨 片春媛 许瑞雪    单片机技术课程设计与项目实例    中国电力出版社    2009年 4、李平 杜涛 王靖        单片机入门与开发                机械工业出版社    2008年 5、欧阳文                ATMEL89系列单片机原理与开发应用    中国电力出版社    2007年 第八章        附录 附录1:原理图 附录2:PCB图 附录3:程序清单         EOC         BIT         P1.0                ;A/D转换标志     VIH         DATA         51H     VIL         DATA         52H     ADDATA     DATA         50H     ZSD         BIT         P1.1                ;定时指示灯显示       ORG    0       LJMP  MAIN       ORG    001BH       LJMP  AD_INT       ORG  0100H MAIN: MOV    40H,        #1     MOV     SP,        #53H     MOV     P2,        #0FFH     MOV     A,        #81H     MOV     DPTR,        #0FF23H     MOVX     @DPTR,    A     MOV     7EH,        #01H     MOV     7DH,        #09H     MOV     7CH,        #09H     MOV     7BH,        #02H     MOV     7AH,        #05H     MOV     79H,        #0H                  ;显示缓冲区初置 ;------采样单元及标度变换单元清0-----------------     MOV     VIH,         #0     MOV     VIL,         #0     MOV     ADDATA,     #0                  ;边度变换清0 ;----------中断定时器程序---------------         MOV     R7 ,         #1    ;数据采集次数     MOV  R4 ,         #20        ;R4为“50ms”计数器,置入初值20(计1s)     MOV      R6 ,         #1        ;R6为秒计数器,置入初值1(计1s)     MOV     TMOD ,     #10H        ; T1方式1,定时50ms     MOV  TH1 ,     #3CH        ;定时器初值,定时50ms     MOV  TL1 ,     #0B0H            MOV  IE ,         #0        ;关闭中断     SETB  ET1                    ;定时器T1允许中断     SETB  EA                    ;CPU开放中断     SETB  TR1                    ;启动T1中断 ;---------主程序-------------     LCALL  SSEE1          ;初始化显示子程序 LOOP:     LCALL  BIAODU          ;标度变换     LCALL  PTDS              ;拆字程序     LCALL  SSEE              ;动态扫描     LCALL  KEY              ;键盘扫描     LCALL  KEYPD            ;键盘判断       SJMP  LOOP            ;等待中断 ;----------拆字子程序--------------        ORG     05D0H PTDS:    MOV     A ,     VIL     ANL     A,     #0FH     MOV     R0,    #79H                    ; 保存VIL低4位     MOV     @R0,     A     MOV     A,     VIL     SWAP     A     ANL    A ,     #0FH     MOV     R0,     #7AH                    ; 保存VIL高4位     MOV     @R0,     A     MOV     A,     VIH     ANL     A ,     #0FH     MOV     R0,     #7BH                      ; 保存VIH高4位     MOV     @R0,     A   INC     R0                          ;7CH和7DH两位不显示     MOV     A ,     #10H     MOV     @R0,     A     INC    R0     MOV     A ,     #10H     MOV        @R0,     A     INC     R0     MOV     A ,     7EH                      ;7EH位显示“1”     MOV     @R0,     A     RET ;------动态扫描子程序-------------------------     ORG     1D50H SSEE:    SETB     RS1                      ;换工作区     MOV     R5,        #05H SSE2:    MOV     30H,    #20H     MOV     31H,    #7EH     MOV     R7,        #06H SSE1:    MOV     R1,        #20H     MOV     A,        30H     CPL     A     MOVX     @R1,    A                    ;字位送入     MOV     R0,        31H     MOV     A,        @R0     MOV     DPTR,    #DDFF     MOVC     A,        @A+DPTR     MOV     3FH,     A                      ; 暂存显示码     MOV     A ,     30H     CJNE     A ,     #04H ,    SSE3      ;小数点显示     MOV     A ,     3FH     CLR     ACC.7     SJMP     SSE4 SSE3:    MOV     A ,     3FH SSE4:    MOV     R1,        #21H     MOVX     @R1,    A     MOV     A,        30H     RR     A                ;右移     MOV     30H,    A     DEC     31H     MOV     A,        #0FFH     MOVX     @R1,    A          ;关显示     DJNZ     R7,        SSE1            DJNZ     R5,        SSE2        ;显示完没?     CLR     RS1     RET              ;-------初始化显示子程序--------------------------     ORG     0D50H SSEE1:    SETB    RS1                          ;换工作区     MOV     R5,        #05H SSE12:    MOV     30H,    #20H     MOV     31H,    #7EH     MOV     R7,        #06H SSE11:    MOV     R1,        #20H     MOV     A,        30H     CPL     A     MOVX     @R1,    A                            ;字位送入   MOV     R0,        31H     MOV     A,        @R0     MOV     DPTR,    #DDFF     MOVC     A,        @A+DPTR     MOV     R1,        #21H     MOVX     @R1,    A     MOV     A,        30H     RR     A                                ;右移     MOV     30H,    A     DEC     31H     MOV     A,        #0FFH     MOVX     @R1,    A                          ;关显示     DJNZ     R7,        SSE11                          DJNZ     R5,        SSE12                        ;显示完没?     CLR     RS1     RET ;---------显示代码表------------------------- DDFF:    DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H     DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH  ;数码管扫描代码表 ;-----------AD转换子程序----------------------------------- AD_INT:     PUSH         DPL         PUSH         DPH         MOV        TH1 ,     #3CH        ;中断服务程序,重新赋定时器初值           MOV        TL1 ,     #0B0H                DJNZ          R4 ,         RETURN        ;1S未到,返回         MOV          R4 ,         #20            ;重新置“50ms”计数器初值         DJNZ          R6 ,         RETURN        ;1s未到,返回         MOV          R6 ,         40H            ;重新置“5s”计数器初值         CPL          ZSD                ;5s指示灯变换         MOV          DPTR ,     #0FF80H    ;IN0通道地址 AD_LP2:    MOVX          @DPTR,        A        ;启动A/D转换       JNB        EOC ,        $        ;转换是否结束?         MOVX          A ,         @DPTR            ;读取A/D转换结果         MOV         ADDATA ,     A RETURN:    POP          DPH        ;恢复通道地址         POP          DPL         RETI    ;-------标度变换----------------------------- BIAODU:    MOV         A,        ADDATA         MOV         B,        #5         MUL         AB         MOV         VIH,        B         MOV         B,        #100         MUL         AB         MOV         A,        #10         XCH         A,        B         DIV         AB         SWAP         A         ORL         A,        B         MOV         VIL,        A         RET                              ;将16进制转换成10进制输出 ;------键盘扫描-------- LS3:    DB 07H,04H,08H,05H,09H,06H,0AH         DB 0BH,01H,00H,02H,0FH,03H,0EH         DB 0CH,0DH                      ;出口:(A)=键码值 KEY:    SETB         RS1         MOV         R2,        #0FEH         MOV         R3,        #08H         MOV         R0,        #00H LP1:    MOV         A,        R2         MOV         R1,        #20H         MOVX         @R1,    A                      ;8255PA口         RL         A                            ;扫描码左移一位         MOV         R2,        A         MOV         R1,        #22H         MOVX         A,        @R1                      ;从PC口转入         CPL         A         ANL         A,        #0FH         JNZ         LP0         INC         R0         DJNZ         R3,        LP1         MOVX         A,        @R1         JB         ACC.4,    XP33         MOV         A,        #20H         SJMP         XP3 XP33:  MOV        A,        #20H XP3:    CLR         RS1                            ;恢复工作区         RET LP0:    CPL         A                              ;恢复         JB         ACC.0,    XP0         MOV         A,        #00H         SJMP         LPP XP0:    JB         ACC.1,    XP1         MOV         A,        #08H         SJMP         LPP XP1:    JB         ACC.2,    XP2         MOV         A,        #10H         SJMP         LPP XP2:    JB         ACC.3,    XP33         MOV         A,        #18H LPP:    ADD         A,        R0                            ;求段码值         CLR         RS1         CJNE         A,        #10H,    LX0                    LX0:    JNC         XP35         MOV         DPTR,    #LS3         MOVC         A,        @A+DPTR XP35:  RET ;---------键盘判断----------     KEYPD:    SETB     RS1     CJNE     A,        #01H,        k1     MOV     7EH,    #01H          ;判断键码值是否等于1?     CLR     TR1                  ;关闭定时器T1     MOV     40H,    #1                ;修改延时时间     SETB     TR1                  ;再次启动T1     SJMP     RET1 k1:     CJNE     A,        #02H,        K2            MOV     7EH,    #02H     CLR     TR1     MOV     40H,    #2     SETB     TR1     SJMP    RET1          k2:      CJNE     A,        #03H,    k3     MOV     7EH,    #03H     CLR     TR1         MOV        40H,    #3     SETB     TR1     SJMP     RET1            k3:      CJNE     A,        #04H,    k4     MOV     7EH,    #04H     CLR        TR1     MOV     40H,    #4     SETB     TR1     SJMP     RET1 k4:        CJNE     A,        #05H,    k5     MOV     7EH,    #05H     CLR     TR1     MOV     40H,    #5     SETB     TR1     SJMP     RET1 k5:        CJNE     A,        #06H,     k6     MOV     7EH,    #06H     CLR     TR1     MOV     40H,    #6     SETB     TR1     SJMP     RET1 k6:  CJNE     A,        #07H,    k7     MOV     7EH,    #07H     CLR     TR1     MOV     40H,    #7     SETB     TR1     SJMP     RET1 k7:      CJNE     A,        #08H,    k8     MOV     7EH,    #08H     CLR     TR1     MOV     40H,    #8     SETB     TR1     SJMP     RET1 k8:        CJNE     A,        #09H,    RET1     MOV     7EH,    #09H     CLR     TR1     MOV     40H,    #9     SETB     TR1 RET1:    RET END                  ; 结束程序 附录4:元件清单 种类 型号 数量 备注 集成块 AT89S52 1块 ADC0809 1块 74LS90 1块 82C55 1块 74LS245 1块 74LS373 1块 74LS02 1块 74LS240 1块 电位器 10KΩ 1个 电容器 20PF 3只 晶振 12MHZ 1只 与门 7个 数码管 共阴 6支 电阻 1K 1个 导线 无数 文档已经阅读完毕,请返回上一页!
本文档为【单片机实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_637320
暂无简介~
格式:doc
大小:702KB
软件:Word
页数:23
分类:生活休闲
上传时间:2017-09-19
浏览量:31