杭电自动化单片机实验报告

合集下载

杭电单片机实验报告六(优秀范文5篇)

杭电单片机实验报告六(优秀范文5篇)

杭电单片机实验报告六(优秀范文5篇)第一篇:杭电单片机实验报告六单片机原理与应用技术实验报告实验题目: :A D/A 转换器得接口与应用姓名: :* **学号: :*** *** * **实验日期: :17 7、6 6、6 6指导教师: :高惠芳1、实验内容、1波得波齿锯现实程编请,V01—为压电考参,接所上堂课如线接得机片单与2380CADﻩ形,锯齿波得周期为20+作业号,单位就是ms。

我得作业号就是6,所以周期就就是26ms。

经过计算后时间应为0、102ms左右。

1)程序代码:H0000 GROﻩ WASAD PMJAﻩ H0020 GROﻩDASAW:CLR A LOOP1:MOV P1,A DELAY: 61#,7R VOMﻩDLY1: MOV R6,#1 DLY2: DJNZ R6,DLY2PONﻩ DJNZ R7,DLY1INC A1POOL PMJSﻩEND 2)软件程序截图3)编译通过截图4)调试截图时间满足 0 0、s 102ms 左右5)仿真电路图6)仿真波形图2、DAC0832 与单片机得接线如课堂上所接,参考电压为—10V,请编程实现三角波得波形,三角波得周期为 20+作业号,单位就是ms。

我得作业号就是6,所以周期就就是26ms。

经过计算后时间应为0、102ms 左右。

1)程序代码:ORG 0000HWASAD PMJAﻩORG0200HDASAW:CLRA LOOP 1:MOV P1,A; DELAY: 61#,7R VOMﻩDLY1:1#,6R VOMﻩDLY2: DJNZ R6,DLY2PONﻩ 1YLD,7R ZNJDﻩ A CNIﻩCJNE A,#00H,LOOP1 LOOP2:MOV P1,A;DEC A2POOL,H00#,A ENJCﻩ SJMP DASAWEND 2)代码程序截图3)编译通过截图4)仿真电路图5)仿真结果3、实验心得通过以上得实验,对DAC 得转换原理有了比较深刻得了解,也对D/A 转换器有了一定得了解,DAC得基本原理就是把数字量得每一位按照权重转换成相应得模拟分量,然后根据叠加定理将每一位对应得模拟分量相加,输出对应得电流或电压。

单片机实验报告

单片机实验报告

单片机实验报告第一篇:单片机实验报告单片机实验报告一、实验目的1.熟练使用Keil、Protues两款软件2.通过上机操作,增强个人动手实践能力3.加深对理论知识的理解4.培养运用汇编语言进行初步编写程序的能力二、实验内容1.将片外RAM3050-306FH中数据转移至片内70-8FH中。

要求:可以从Keil或Protues上看到RAM的数据转移结果。

2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮。

要求:开发板或Prrotues演示3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术。

要求:在Keil或Protues上看到数据转换结果。

4.各使用中断方式和查询方式设计一个方波发生器,频率为50HZ。

要求:Protues使软件间示波器显示方波。

三、实验程序1.将片外RAM3050-306FH中数据转移至片内70-8FH中ORG 0000H AJMP MAIN 上电,转向主程序ORG 0030H 主程序入口MAIN: MOV DPTR,#3050H 数据指针指向地址3050H MOV A,#04H 将立即数04H送A寄存器MOV R0,#20H NEXT: MOVX @DPTR,A INC DPTR 数据指针DPTR自加一DJNZ R0,NEXT 判断是否跳转到NEXT或继续向下执行MOV DPTR,#3050H MOV R0,#70H MOV R2,#20H NEXT1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R2,NEXT1SJMP $ 等待END 2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮ORG 0000H SJMP MAIN 上电,转向主程序ORG 0003H 外部中断0向量入口AJMP INSER ORG 0030H 主程序入口MAIN: SETB EX0 SETB IT0SETB EA CPUHERE: SJMP HERE ORG 0200H INSER: MOV R2,#08H MOV A,#01H NEXT: MOV P2,A LCALL DELAY RL A DJNZ R2,NEXT NEXT或继续向下执行RETI DELAY: MOV R3,#0FFH DEL2: MOV R4,#0FFH DEL1: NOP 允许外部中断0中断选择边沿触发方式开中断等待中断设置循环次数赋初值,设置高电平亮将初值送往P2口延时左移一位判断循环次数,是否跳转到中断返回延时程序DJNZ R4,DEL1 DJNZ R3,DEL2 RET END 3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术 ORG 0000H LJMP MAIN ORG 0030H主程序起始地址 MAIN: MOV 80H,#05H 将立即数50H转送内存单元80H MOV A,80H 将内存单元80H中的内容送寄存器A MOV DPTR,#TAB MOVC A,@A+DPTR A寄存器内容加指针偏移量后送A寄存器 MOV 80H,A RET TAB: DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H 4.1中断方式产生50HZ方波ORG 0000HAJMP MAINORG 0030H 主程序入口 MAIN: MOV TMOD,#10H 设置定时器工作模式为模式1 MOV TH1,#0D8H 装入T1计数初值MOV TL1,#0F0HSETB ET1 开中断SETB EA CPU开中断SETB TR1 启动定时器T1 HERE: SJMP HERE 等待中断ORG 001BH T1中断向量地址CLR TF1 将TF1清零CPL P2.0 P2.0取反输出MOV TH1,#0D8H 重装初值MOV TH0,#0F0HRETI;中断返回END 4.2 查询方式产生50HZ方波ORG 0000HAJMP MAINORG 0030H 主程序入口MAIN: MOV TMOD,#10H 设置定时器的工作模式为模式1 SETB TR1 启动定时器T1 LOOP: MOV TH1,#0D8H 装入T1计数初值MOV TH0,#0F0H JNB TF1,$ T1没有溢出则等待CLR TF1产生溢出,清标志位CPL P2.0 P2.0取反输出SJMP LOOP 循环END四、实验结果截图1.23.4.14.2第二篇:单片机实验报告实验四、中断交通灯实验林立强1000850116一、实验目的1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。

单片机实验报告

单片机实验报告

单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。

二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。

这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。

2、数码管显示利用单片机驱动数码管,实现数字的显示。

需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。

3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。

例如,通过按键切换不同的显示模式或控制其他外部设备。

4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。

例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。

5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。

四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。

2、编程语言本次实验采用 C 语言进行编程。

C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。

3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。

通过对这些引脚的合理配置和控制,可以实现各种功能。

4、数码管驱动原理数码管分为共阴极和共阳极两种类型。

通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。

5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。

单片机实验报告(相当不错,有具体实验结果分析哦)

单片机实验报告(相当不错,有具体实验结果分析哦)

学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:实验一 I/O 口输入、输出实验地点:基础实验大楼A311一、实验目的掌握单片机P1口、P3口的使用方法。

二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。

以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。

因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区)。

2学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:五、实验步骤1)系统各跳线器处在初始设置状态。

用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。

六、实验参考程序本实验参考程序:;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);;用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。

单片机实验报告

单片机实验报告

单片机实验报告1. 实验背景单片机(Microcontroller Unit,简称MCU)是一种集成了微处理器核心、内存、计时器、I/O接口等功能的集成电路芯片。

它具有体积小巧、功耗低、性能高等优点,在嵌入式系统中应用广泛。

本实验旨在通过对单片机的实际操作,加深对单片机原理及应用的理解。

2. 实验目的本次实验的主要目的是:- 掌握单片机的基础知识,包括单片机的结构、工作原理等;- 学习单片机的编程方法,初步掌握单片机的编程技巧;- 进行简单的单片机应用实验,提高对实际应用的理解。

3. 实验设备与材料实验所需的设备和材料包括:- 单片机开发板;- 计算机;- 连接线等。

4. 实验过程与结果在本实验中,我们使用XXX型单片机开发板作为实验平台,通过连接计算机进行编程。

具体的实验过程如下:4.1 硬件连接将单片机开发板与计算机通过连接线连接,并确保连接正常。

接下来,将我们设计好的电路按照要求连接到开发板的相应引脚上。

4.2 编程使用XXX软件对单片机进行编程。

根据实验要求,编写相应的程序代码,并将代码下载到单片机开发板中。

验证代码是否编译通过,并将运行结果显示在数码管、液晶显示屏等外设上。

4.3 实验结果实验结果根据不同的实验要求而定,可以是对某个外设的控制、信号的采集、数据的处理等。

在实验过程中需记录实验结果,并进行分析。

5. 实验总结通过本次实验,我对单片机的基本原理及应用有了更深入的了解。

掌握了单片机的硬件连接方法和编程技巧,并成功完成了实验要求。

实验结果表明,单片机在各个领域都有广泛的应用前景,对于嵌入式系统的开发起着重要作用。

当然,本次实验只是单片机应用的初步探索,还有很多更深入的研究和应用值得去探索。

在今后的学习与实践中,我将进一步深化对单片机的理解,并将其灵活应用于各种项目中。

6. 参考文献[参考文献1][参考文献2][参考文献3](文章内容仅供参考,具体实验过程和结果以实际情况为准。

)。

杭电单片机实验报告

杭电单片机实验报告

单片机技术与应用实验报告实验名称:单片机技术与应用实验班级: 10062813 学号: 10061314 姓名:陆维俊指导老师:朱胜利实验一 P1口、P3口输入输出实验一.实验目的1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

二.实验代码P1口输出程序ORG 0000HAJMP MAINORG 0100HMAIN: MOV A,#0FEH LOOP1: MOV P1,AACALL DELAYRL ACJNE A,#0FEH,LOOP1AJMP MAIN DELAY: MOV R7,#10H DELAY0: MOV R6,#7FH DELAY1: MOV R5,#7FH DELAY2: DJNZ R5,DELAY2DJNZ R6,DELAY1DJNZ R7,DELAY0RETEND P1口输入程序ORG 0000HAJMP MAINORG 0100HMAIN: MOV P1,#0FFHMOV A,p1MOV DPTR,#0F200HMOVX @DPTR,AAJMP MAINEND三.实验说明1.P1口是准双向口。

它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。

因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS 管导通,读入的数据是不正确的。

2.延时子程序的延时计算问题对于程序 DELAY:MOV R0,#00HDELAY1:MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知 MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为:((0B3+1)×256+1)×2×12÷11059200=100.002mS四.心得体会这次实验让我了解了P1口和P3口作为普通I/O口的使用方法,并通过编程将P1口作为输入输出口进行简单的发光二极管的点亮和开关状态的读取,这在单片机学习中是及为基础的练习。

杭电自动化单片机实验报告

杭电自动化单片机实验报告

杭电自动化单片机实验报告单片机原理与应用及 C51程序设计实验报告实验名称:单片机技术实验实验一继电器控制输出实验一、实验目的1.掌握STC12C5A16S2单片机的最基本电路的设计;2.了解单片机I/O端口的使用方法;3.了解继电器和蜂鸣器控制电路以及小电压控制大电压的方法。

二、实验要求1.利用STC12C5A16S2单片机的P1.2、P1.3口作按钮S9和S10输入,P1.0和P1.1口作开关量输出,并分别控制一个5V的继电器和蜂鸣器。

2.当S9闭合时,P1.0控制继电器闭合并控制灯泡闪亮;当S9断开时,继电器触电断开,灯泡不亮;3.当S10闭合时,P1.1控制蜂鸣器闭合并发出声音;当S10断开时,蜂鸣器不响。

三、电路四、原理说明Q1、Q2为9012三极管即PNP型,低电平导通,当S9或S10按下时,相应的IO口拉低,当P1.0或P1.1赋0时即可控制继电器的吸合活着蜂鸣器的发声。

五、程序代码#includesbit L1=P1^1;sbit L2=P1^2;sbit L3=P1^3;sbit L0=P1^0;//定义位变量void delay(){int i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);//利用系统时钟,定义延时函数}void main (){int n=20;while(1) //不断循环检测{if(L2==0) //判断S9输入{while(n--){L0=0;delay();L0=1;delay(); //灯泡以2*delay为周期闪亮}n=20;}if(L3==0) //判断S10闭合{while(n--){L1=0;delay();delay(); //蜂鸣器以2*delay为周期发声}n=20;}}}实验二 LED轮换点亮实验一、实验目的1.掌握STC12C5A16S2单片机的I/O电路设计;2.学习SN74HC573数据锁存输出方法。

杭电单片机实验报告四

杭电单片机实验报告四

单片机原理与应用技术实验报告实验题目:定时/计数器应用姓名:* * *学号:********实验日期: 2017.5.28指导教师:高惠芳1.实验内容1、已知震荡频率为12MHz,用定时/计数器T0,实现从P2.0口产生周期为100ms的方波。

要求用汇编语言和C语言编程实现,编程方法分别用中断方法和查询方法。

用中断方式:C语言代码://从P2.0引脚输出周期为100ms的方波//由定时器T0产生50ms的定时//T0工作于方式1可以实现50ms的定时//X=65536-50/0.001=15536=3CB0H#include <reg51.h>sbit p2_0 = P2^0;void main(void){TMOD=0X01;EA=1;ET0=1;TH0=(65536-50000)/256;//TH0=0x3C;TL0=(65536-50000)%256;//TL0=0xB0;TR0=1;while(1);}void timer0(void) interrupt 1 using 1{TH0=(65536-50000)/256;//TH0=0x3C;TL0=(65536-50000)%256;//TL0=0xB0;p2_0=!p2_0;}汇编语言代码:ORG 0000HLJMP MAINORG 000BHAJMP SER_T0ORG 0100HMAIN: MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HSETB E T0SETB TR0SJMP $SER_T0: MOV TH0,#3CHMOV TL0,#0B0HCPL P2.0RETIEND用查询方式:C语言程序代码://从P2.0引脚输出周期为100ms的方波//由定时器T0产生50ms的定时//T0工作于方式1可以实现50ms的定时//X=65536-50/0.001=15536=3CB0H#include <reg51.h>sbit p2_0 = P2^0;void main(void){TMOD=0X01;TH0=(65536-50000)/256;//TH0=0x3C;TL0=(65536-50000)%256;//TL0=0xB0;TR0=1;while(1){TH0=(65536-50000)/256;TL0=(65536-50000)%256;while(!TF0);p2_0=!p2_0;}}汇编语言:ORG 0000HLJMP MAINORG 0100HMAIN: MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HLOOP: JBC TF0,NEXTSJMP LOOPNEXT: MOV TH0,#3CHMOV TL0,#0B0HCPL P2.0SJMP LOOPEND2、已知震荡频率为6MHz,用定时/计数器T0,实现从P1.0口产生周期为1s,占空比为30%波形。

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇实训报告是展示自身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。

单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。

通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。

凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。

可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。

第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。

比如:小灯得点亮就没有用到中断可以先不用看。

这样可以避免知识过多记不住的麻烦。

对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。

第三:程序不要只是看别人得,一定要自己写过才是自己的。

开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。

明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。

当你自己能写出来的时候说明你真懂了。

第四:一定要学会程序调试的方法。

有时候把程序写完了然后运行时不能实现理想的现象。

这时有人就晕了不知该怎么办,然后就去问别人。

当别人找出问题出在哪里时就会恍然大悟。

其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。

自己一定要掌握解决问的方法和思路。

第五:在学习初期看别人的代码,学习别人的思路这个很有用。

通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。

也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。

单片机电子实习实验报告

单片机电子实习实验报告

一、实验目的1. 掌握单片机的基本工作原理和编程方法。

2. 熟悉常用单片机的硬件结构和接口。

3. 学习使用单片机进行简单的电子系统设计。

4. 培养动手能力和解决实际问题的能力。

二、实验仪器与设备1. 单片机实验板(含8051单片机、电源、按键、LED灯等)2. 示波器3. 万用表4. 电阻、电容、二极管等电子元件5. 编译器及调试软件三、实验内容1. 单片机最小系统搭建- 目的:学习单片机最小系统的构成和作用。

- 实验步骤:1. 将单片机插入实验板。

2. 连接电源、按键、LED灯等元件。

3. 使用示波器检测单片机的时钟信号。

- 实验结果:成功搭建单片机最小系统,时钟信号正常。

2. 按键控制LED灯- 目的:学习按键的读取和LED灯的控制。

- 实验步骤:1. 编写程序实现按键的读取。

2. 根据按键读取结果控制LED灯的亮灭。

- 实验结果:按键按下时LED灯亮,松开时LED灯灭。

3. 定时器中断控制LED闪烁- 目的:学习定时器中断的应用。

- 实验步骤:1. 编写程序设置定时器中断。

2. 在中断服务程序中控制LED灯闪烁。

- 实验结果:LED灯按照设定的频率闪烁。

4. 串口通信实验- 目的:学习串口通信的原理和应用。

- 实验步骤:1. 编写程序实现串口发送和接收。

2. 使用串口调试助手进行数据传输。

- 实验结果:成功实现串口通信,发送和接收数据。

5. 温度检测实验- 目的:学习使用温度传感器进行温度检测。

- 实验步骤:1. 连接温度传感器。

2. 编写程序读取温度传感器数据。

3. 将温度数据显示在LCD显示屏上。

- 实验结果:成功读取温度数据,并在LCD显示屏上显示。

四、实验总结通过本次单片机电子实习实验,我掌握了以下知识和技能:1. 单片机的基本工作原理和编程方法。

2. 常用单片机的硬件结构和接口。

3. 使用单片机进行简单的电子系统设计。

4. 串口通信、定时器中断、温度检测等应用。

在实验过程中,我遇到了一些问题,如程序调试、硬件连接等,通过查阅资料和请教老师,最终成功解决了这些问题。

单片机电子综合实训报告

单片机电子综合实训报告

一、实训背景与目的随着科技的不断发展,单片机技术作为电子技术领域的一个重要分支,已经成为现代工业、消费电子以及智能控制等领域不可或缺的核心技术。

为了提高我们的实践能力,加深对单片机理论知识的理解,我们进行了单片机电子综合实训。

本次实训旨在通过实际操作,掌握单片机的基本原理、编程方法和应用技术,培养学生的动手能力和创新意识。

二、实训内容与过程1. 实训内容本次实训主要围绕单片机最小系统搭建、LED流水灯设计、温度传感器应用、无线通信模块使用等几个方面展开。

2. 实训过程(1)单片机最小系统搭建首先,我们学习了单片机最小系统的组成,包括单片机、晶振、复位电路、电源电路等。

在指导老师的帮助下,我们动手搭建了一个基于AT89C51单片机的最小系统,并成功实现了上电复位。

(2)LED流水灯设计接着,我们学习了LED流水灯的设计原理,并利用C语言编程实现。

通过编写程序,我们控制单片机输出高低电平,从而驱动LED灯依次点亮,形成流水灯效果。

(3)温度传感器应用在了解了温度传感器的工作原理后,我们学习了如何使用DS18B20温度传感器读取环境温度。

通过编程,我们将读取到的温度值显示在LCD显示屏上,实现了温度的实时监测。

(4)无线通信模块使用最后,我们学习了无线通信模块的原理和编程方法。

通过使用无线通信模块,我们实现了单片机之间的数据传输,实现了远程控制功能。

三、实训成果与心得1. 实训成果通过本次实训,我们成功搭建了单片机最小系统,实现了LED流水灯、温度传感器应用、无线通信模块等功能。

以下是部分实训成果展示:单片机最小系统搭建LED流水灯效果温度传感器实时监测无线通信模块数据传输2. 实训心得(1)理论联系实际本次实训使我们深刻体会到理论联系实际的重要性。

在实训过程中,我们将所学理论知识应用于实际操作,不仅加深了对单片机原理的理解,还提高了动手能力。

(2)团队协作实训过程中,我们充分发挥团队协作精神,共同解决遇到的问题。

杭电单片机实验报告一

杭电单片机实验报告一
uVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。
uVision4在μVision3 IDE的基础上,增加了更多大众化的功能:
·多显示器和灵活的窗口管理系统
·系统浏览器窗口的显示设备外设寄存器信息
·调试还原视图创建并保存多个调试窗口布局
·多项目工作区简化与众多的项目
JMP START
ORG 0800H
START:MOV A,#01H;即将0000 0001存入A,后面会将最右边1循环左移。
SJMP DELAY;进入延时段起点
LOOP:
RL A;从此处开始跑马灯模块。先将A循环左移
MOV P1,A;将A的值赋给端口P1的8位
SJMP DELAY;从56ms的延迟程序段再跑一遍
⑥、单击点击下图所示圆圈圈起的部分建立一个文件。也可以点击菜单“File”下面的“NEW”来新建一个文件。
⑦、之后输入程序的代码后,单击File—Save as,根据代码语言的格类型,可保存为后缀为.asm(汇编语言)和.c(C语言)的文件。
⑧、单击“Target1”前面的“+”号,并用鼠标右键点击“SourceGroup1”,界面如图10所示。在用鼠标左键点击“AddFiles to Group Source Group1...”即可把刚刚的代码文件添加到工程。最后点击左上角的编译按钮即可完成编译。之后即可进行程序的调试了。
2.实验内容
使用汇编语言完成课本P95的(2)、(5)、(8)三道题以及一个跑马灯程序。
2.1 P95-(2)
设内部RAM 5AH单元中有一个变量X,请编写计算下述函数式的程序,结果存入5BH。
设计思路:显然本题要使用分支语句,不妨使用JZ, JNB等,并通过X-10,X-15综合判断X处于哪个区间。

杭电单片机实验报告六

杭电单片机实验报告六

杭电单片机实验报告六
实验名称:杭电单片机实验报告六
实验目的:
1. 了解单片机的串行通信;
2. 掌握单片机与电脑之间的串口通信;
3. 实现单片机与电脑的数据传输。

仪器设备:
1. STC89C52RC单片机开发板;
2. USB转串口模块;
3. 电脑。

实验步骤:
1. 将STC89C52RC单片机开发板连接至电脑的USB接口;
2. 打开串口调试助手软件,并选择正确的串口通信设置,如波特率为9600;
3. 在单片机程序中初始化串口,并设置波特率为9600;
4. 在单片机程序中实现数据的收发功能,通过串口将接收到的数据发送至电脑,并将
电脑发送过来的数据在单片机上显示;
5. 运行单片机程序,观察串口调试助手软件中的接收和发送数据情况。

实验结果:
在串口调试助手软件中,可以看到单片机发送的数据和接收到的数据,数据传输正常。

实验总结:
通过本次实验,我了解了单片机的串行通信原理和如何与电脑进行串口通信。

掌握了初始化串口和设置波特率的方法,并成功实现了数据的收发功能。

在今后的单片机应用中,串口通信将会是一个常用的功能,我会进一步深入学习和应用串口通信。

单片机自动化实习报告

单片机自动化实习报告

一、实习背景随着科技的不断发展,单片机技术在自动化领域的应用越来越广泛。

为了深入了解单片机在自动化领域的应用,提高自身的实践能力,我于2023年7月至9月参加了单片机自动化实习。

二、实习目的1. 掌握单片机的基本原理和编程方法;2. 熟悉自动化控制系统的组成和运行原理;3. 学会使用单片机进行自动化控制系统的设计与调试;4. 提高实际操作能力和团队协作能力。

三、实习内容1. 理论学习在实习期间,我首先学习了单片机的基本原理,包括单片机的结构、工作原理、指令系统等。

同时,了解了常用的单片机系列,如51、AVR、PIC等。

此外,还学习了嵌入式C语言编程,掌握了Keil、IAR等开发工具的使用。

2. 硬件实验在硬件实验方面,我学习了如何使用单片机控制各种外围设备,如LED、继电器、传感器等。

通过实验,我掌握了单片机与外围设备之间的接口电路设计,以及如何通过编程实现对外围设备的控制。

3. 软件编程在软件编程方面,我学习了如何使用C语言编写单片机程序,实现各种控制功能。

通过编程,我掌握了单片机程序的结构、算法设计、数据结构等知识。

4. 自动化控制系统设计在自动化控制系统设计方面,我学习了如何使用单片机进行各种自动化控制系统的设计。

例如,设计一个基于单片机的温度控制系统,通过温度传感器采集温度数据,并根据设定温度进行控制。

5. 系统调试与优化在系统调试与优化方面,我学会了如何使用调试工具对单片机程序进行调试,查找并修复程序中的错误。

同时,我还学习了如何对系统进行优化,提高系统的稳定性和可靠性。

四、实习收获1. 理论知识得到了巩固和提高;2. 掌握了单片机编程和自动化控制系统设计的基本技能;3. 提高了实际操作能力和团队协作能力;4. 增强了独立解决问题的能力。

五、实习总结通过这次单片机自动化实习,我对单片机技术在自动化领域的应用有了更深入的了解。

在实习过程中,我不仅学到了专业知识,还锻炼了自己的实际操作能力和团队协作能力。

单片机自动化实习报告

单片机自动化实习报告

单片机自动化实习报告随着科技的不断发展,单片机技术在自动化领域的应用越来越广泛,为了更好地了解和掌握单片机自动化技术,提高自己的实际操作能力,我参加了为期两周的单片机自动化实习。

在这段时间里,我学到了很多关于单片机和自动化的知识,也积累了宝贵的实践经验。

一、实习内容本次实习主要涉及单片机的基本原理、编程、硬件连接以及自动化应用等方面。

实习内容包括以下几个方面:1. 单片机的基本原理:学习单片机的结构、工作原理和性能特点,了解单片机在不同领域的应用。

2. 单片机编程:学习单片机的编程语言,如C语言和汇编语言,掌握基本编程技巧和算法。

3. 硬件连接:学习如何将单片机与各种外围设备(如传感器、执行器等)连接,并进行硬件调试。

4. 自动化应用:学习单片机在自动化系统中的应用,如控制系统、数据采集和处理等。

二、实习过程在实习过程中,我按照指导老师的安排,逐步完成了各项任务。

1. 学习单片机的基本原理:通过阅读教材和网上资料,了解单片机的结构、工作原理和性能特点,掌握了单片机在不同领域的应用。

2. 学习单片机编程:在老师的指导下,学习C语言和汇编语言,通过编写程序,掌握了基本编程技巧和算法。

3. 硬件连接和调试:在实验室里,我学会了如何将单片机与传感器、执行器等外围设备连接,并进行了硬件调试,解决了部分硬件问题。

4. 自动化应用实践:结合所学知识,我设计了一个简单的自动化控制系统,实现了对某个物理量的实时监测和控制。

三、实习收获通过本次实习,我收获颇丰,具体表现在以下几个方面:1. 提高了自己的理论水平:通过学习单片机的基本原理和编程知识,使我对单片机技术有了更深入的了解。

2. 增强了实践操作能力:在实习过程中,我亲自进行了硬件连接和调试,解决了实际问题,提高了自己的动手能力。

3. 学会了团队合作:在实习过程中,我与同学们一起探讨问题、分享经验,学会了团队合作的重要性。

4. 拓宽了视野:通过实习,我了解了单片机在自动化领域的广泛应用,为今后的工作和进一步学习打下了基础。

单片机实验报告总结

单片机实验报告总结

单片机实验报告总结
《单片机实验报告总结》
在本次单片机实验中,我们学习了单片机的基本原理和应用,并进行了一系列的实验操作。

通过这些实验,我们对单片机的工作原理有了更深入的了解,同时也掌握了一些基本的单片机编程技巧。

在第一个实验中,我们学习了单片机的基本结构和工作原理,了解了单片机的各个部分的功能和作用。

我们通过实际操作,对单片机的输入输出端口、定时器、中断等功能有了更直观的认识。

在接下来的实验中,我们学习了单片机的编程方法和技巧。

我们掌握了单片机的汇编语言和C语言编程方法,学会了如何编写简单的单片机程序,包括IO 口控制、定时器中断、串口通信等功能的实现。

通过这些实验,我们不仅学会了单片机的基本原理和编程方法,还掌握了一些实际应用技巧。

我们能够利用单片机实现一些简单的控制功能,比如LED灯的控制、蜂鸣器的控制、数码管的显示等。

总的来说,本次单片机实验让我们对单片机有了更深入的了解,提高了我们的动手能力和实际操作能力。

希望在今后的学习和工作中,能够将所学到的知识和技能应用到实际中,为我们的科研和工程项目提供有力的支持。

单片机实验报告

单片机实验报告

单片机实验报告《单片机系统实验》实验报告院系:学号:姓名:2017年12月一、实验目的1.了解32位单片机(STM32系列)原理及其应用,熟悉单片机的资源,掌握单片机的最小系统设计及扩展技术,掌握单片机的编程语言。

2.通过本实验了解LCD液晶工作原理,能通过编程操作液晶的显示。

二、实验设备STM32实验系统一套,PC机一台。

三、实验原理(1)I/O口及定时器实验:STM32的GPIO口控制4个发光二极管,了解其硬件连接方式,学会使用STM32的一个定时器,掌握对定时器计时方式的编程。

编写程序循环点亮4个发光二极管,控制点亮时间为1秒钟闪烁。

(2)外部中断实验:掌握STM32单片机外部中断的用法,学会设置中断优先级,在实验(1)的基础上完成,如果有外部中断发生改变发光二极管的发光规律。

(如,仅其中2个灯亮,再次触发外部中断后,发光二极管重新变成4个灯循环点亮。

)(3)串行口通信实验:掌握STM32单片机与计算机之间的硬件连接方式,了解二者之间的传输协议,进行数据传输。

(4)LCD实验:掌握STM32单片机与液晶之间的硬件连接方式,单片机如何驱动液晶进行显示。

四、内容与步骤1.学会使用IAR或KEIL的编译链接调试环境,熟悉有关STM32使用到的库,并能顺利建立包含各种库文件的工程。

(2学时)2.I/O口实验:在建立工程的基础上能点亮发光二极管。

(2学时)3.定时器实验:循环定时(用定时器做)点亮4个灯,即每1秒闪烁点亮一个灯,循环往复(或叫跑马灯实验)。

(2学时)4.外部中断实验:按键作为触发外部中断的条件,中断发生时,改变发光二极管的点亮规律。

(2学时)5.串行口通信实验:编写串行口通信实验程序,能在计算机与STM32系统间进行ASCII码的传输。

(2学时)6.LCD实验:通过自行编写库文件和了解液晶显示字库,能在液晶上显示“北京航空航天大学机械工程及自动化学院”字样。

(6学时)五、关键代码1.I/O口及定时器实验/*通过定时器3中断函数实现跑马灯,现象为每个LED灯依次点亮1秒后熄灭*/void TIM3_IRQHandler(void){extern uint8_t LED_Status[5];if(TIM3->SR&0X0001)//溢出中断{if(LED_Status[1]==0){LED1_ON;LED2_OFF;LED3_OFF;LED4_OFF;LED_Status[1]=1;}else if(LED_Status[1]==1){LED1_OFF;LED2_ON;LED3_OFF;LED4_OFF;LED_Status[1]=2;}else if(LED_Status[1]==2){LED1_OFF;LED2_OFF;LED3_ON;LED4_OFF;LED_Status[1]=3;}else if(LED_Status[1]==3){LED1_OFF;LED2_OFF;LED3_OFF;LED4_ON;LED_Status[1]=0;}}TIM3->SR&=~(1<<0);//清除中断标志位}2.外部中断实验/*LED灯的发光规律有两种:一种是每个LED灯依次点亮1秒后熄灭,另一种是每次2个LED灯同时点亮,持续1秒后向前移动1个LED灯的位置。

单片机课程设计实验报告

单片机课程设计实验报告

单片机课程设计实验报告一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握其内部结构及工作流程。

2. 使学生掌握单片机编程的基本语法和编程技巧,能独立完成简单的程序编写。

3. 帮助学生了解单片机在现实生活中的应用,提高对新技术、新领域的认识。

技能目标:1. 培养学生运用单片机进行实验设计和实践操作的能力。

2. 培养学生分析问题、解决问题的能力,提高创新思维和动手实践能力。

3. 提高学生的团队协作和沟通能力,学会在实验过程中相互交流、共同进步。

情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养主动学习的习惯。

2. 培养学生严谨、细致的实验态度,养成良好的实验操作习惯。

3. 增强学生的自信心和责任感,使他们认识到学习单片机对国家科技发展的意义。

课程性质分析:本课程为单片机课程设计实验,侧重于实践操作和实际应用。

课程要求学生具备一定的电子技术基础和编程能力,通过实验深入了解单片机的工作原理和应用领域。

学生特点分析:本课程面向高年级学生,他们在之前的学习中已掌握了基本的电子技术和编程知识,具备一定的自学能力和动手实践能力。

但学生在单片机应用方面的实践经验不足,需要通过本课程加强实践锻炼。

教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力。

2. 注重启发式教学,引导学生主动思考、探索,培养学生的创新精神和实践能力。

3. 关注学生的个体差异,给予个别辅导,确保每位学生都能达到课程目标。

二、教学内容1. 单片机基础知识:- 单片机原理与结构- 单片机内部资源及功能- 单片机编程语言(汇编语言、C语言)2. 单片机编程与实验:- 基本输入输出编程- 定时器、中断编程- 模数转换、串行通信编程3. 单片机应用案例:- 实例分析:温度控制器、智能小车等- 创新设计:学生自主选题,设计单片机应用项目4. 实验操作与调试:- 实验步骤与方法- 常用工具与仪器的使用- 故障分析与调试技巧教学大纲安排:第一周:单片机基础知识学习,包括原理、结构、编程语言等第二周:基本输入输出编程,实验一:LED灯控制第三周:定时器、中断编程,实验二:简易电子时钟第四周:模数转换、串行通信编程,实验三:温度传感器数据采集第五周:单片机应用案例分析,学生自主选题,设计单片机应用项目第六周:实验操作与调试,完成设计项目,撰写实验报告教材章节关联:教学内容与教材《单片机原理与应用》相关章节紧密关联,具体包括:- 第一章:单片机概述- 第二章:单片机的结构与原理- 第三章:单片机编程语言- 第四章:单片机内部资源及应用- 第五章:单片机实验与调试教学内容确保科学性和系统性,以培养学生的实际操作能力为目标,注重理论与实践相结合,提高学生的创新能力和实践技能。

HDU杭电单片机技术与应用实验指导书

HDU杭电单片机技术与应用实验指导书

单片机技术与应用实验指导书王俊宏周洪波暨仲明编杭州电子科技大学自动化学院二零零五年十月目录第一章系统安装和启动 (1)第二章调试软件LCA51界面介绍 (2)1.主界面 (2)2.菜单介绍................................................................................................................ 错误!未定义书签。

3.热键表. (11)第三章LCA51软件调试 (12)1.调试界面 (12)2.调试主要方法和技巧 (13)实验一扩展存储器读写实验 (15)实验二P1口、P3口输入、输出实验 (17)实验三定时器实验 (20)实验四外部中断实验(急救车与交通灯) (22)实验五8279显示实验................................................................................................. 错误!未定义书签。

实验六8255扫描键盘、显示实验 (24)实验七D/A和A/D转换实验 (27)实验八步进电机控制实验 (31)实验九压力测量显示实验.......................................................................................... 错误!未定义书签。

实验十单片机串行口与PC机通讯实验 (34)第一章系统安装和启动1.实验系统工作在51串口实验/仿真方式(1)实验台上开关选择51(2)打开电源,在PC机上打开LCA51软件,运行实验程序。

2.实验系统工作在MCS51方式下开关初始状态●XB、XB1 : 短路套全插上。

●XB2,XB5 : 短路套向上插(SPEAK端),第10模块处于放音功能。

●第○4模块中:多位开关K3拨向最左(温度控制)端,做温度控制实验用。

单片机的自动化实训报告

单片机的自动化实训报告

一、实训背景与目的随着科技的飞速发展,单片机技术已成为自动化领域不可或缺的一部分。

为了使同学们更好地掌握单片机在自动化控制中的应用,提升实践操作能力,我们开展了单片机自动化实训课程。

本次实训旨在通过实际操作,使同学们深入了解单片机的工作原理,掌握其编程方法,并学会运用单片机实现自动化控制。

二、实训内容与过程1. 实训内容本次实训主要包括以下几个方面:(1)单片机基本原理与硬件结构;(2)Keil C51开发环境的使用;(3)单片机编程基础;(4)单片机与外围设备接口技术;(5)基于单片机的自动化控制系统设计。

2. 实训过程(1)理论学习:首先,我们对单片机的基本原理、硬件结构、编程方法和接口技术进行了系统学习,为后续实践操作打下坚实基础。

(2)软件编程:在掌握编程基础后,我们使用Keil C51开发环境进行单片机程序编写。

通过实际编程,同学们熟悉了编程语言和开发工具,提高了编程能力。

(3)硬件搭建:根据实训要求,我们搭建了单片机最小系统,并连接了外围设备,如LED、按键、传感器等。

通过实际操作,同学们掌握了单片机与外围设备的连接方法。

(4)系统设计:结合所学知识,我们设计了一个基于单片机的自动化控制系统。

系统主要包括以下功能:a. 传感器采集数据;b. 单片机处理数据;c. 控制执行机构动作;d. 显示系统状态。

(5)系统调试与优化:在系统设计完成后,我们对系统进行了调试和优化,确保其稳定运行。

三、实训成果与心得1. 实训成果通过本次实训,我们取得了以下成果:(1)掌握了单片机的基本原理和编程方法;(2)熟悉了Keil C51开发环境和单片机与外围设备的接口技术;(3)设计并实现了一个基于单片机的自动化控制系统。

2. 实训心得(1)理论联系实际:通过本次实训,我们深刻体会到理论联系实际的重要性。

只有将所学知识应用于实践,才能真正掌握单片机技术。

(2)团队合作:在实训过程中,我们分工合作,共同完成系统设计和调试任务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机原理与应用及 C51程序设计实验报告实验名称:单片机技术实验实验一继电器控制输出实验一、实验目的1.掌握STC12C5A16S2单片机的最基本电路的设计;2.了解单片机I/O端口的使用方法;3.了解继电器和蜂鸣器控制电路以及小电压控制大电压的方法。

二、实验要求1.利用STC12C5A16S2单片机的P1.2、P1.3口作按钮S9和S10输入,P1.0和P1.1口作开关量输出,并分别控制一个5V的继电器和蜂鸣器。

2.当S9闭合时,P1.0控制继电器闭合并控制灯泡闪亮;当S9断开时,继电器触电断开,灯泡不亮;3.当S10闭合时,P1.1控制蜂鸣器闭合并发出声音;当S10断开时,蜂鸣器不响。

三、电路四、原理说明Q1、Q2为9012三极管即PNP型,低电平导通,当S9或S10按下时,相应的IO口拉低,当P1.0或P1.1赋0时即可控制继电器的吸合活着蜂鸣器的发声。

五、程序代码#include <reg52.h>sbit L1=P1^1;sbit L2=P1^2;sbit L3=P1^3;sbit L0=P1^0;//定义位变量void delay(){int i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);//利用系统时钟,定义延时函数}void main (){int n=20;while(1) //不断循环检测{if(L2==0) //判断S9输入{while(n--){L0=0;delay();L0=1;delay(); //灯泡以2*delay为周期闪亮}n=20;}if(L3==0) //判断S10闭合{while(n--){L1=0;delay();L1=1;delay(); //蜂鸣器以2*delay为周期发声}n=20;}}}实验二 LED轮换点亮实验一、实验目的1.掌握STC12C5A16S2单片机的I/O电路设计;2.学习SN74HC573数据锁存输出方法。

二、实验要求1.利用SN74HC573对STC12C5A16S2单片机的P0进行扩展,驱动LED控制输出;2.编写程序,使P0.0~P0.7上的发光二极管循环点亮;P2.7控制SN74HC573芯片的使能;三、电路四、原理说明1.数码管低电平有效;2.SN74HC573芯片,当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。

当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。

五、程序代码#include<reg52.h>void delay(){int i,j;for(i=0;i<500;i++)for(j=0;j<500;j++);} //延时函数void main(){unsigned int i=1;P0=0xfe; //P0初始为1111 11110,也可定义为0000 0001,左移后取反 while(1){i++;if(i<=8)P0=P0<<1; //左移一位P0=P0+1; //末尾补一,从1111 1100变为1111 1101,从而不断循环 if(i>8) //八位循环完毕,进行下一轮初始化{i=1;P0=0xfe;}delay(); //延时}}实验三 LED数码管显示实验一、实验目的1.了解八段共阴极LED工作动态显示原理;2.掌握单片机LED工作动态显示的方法。

二、实验要求1.P0口的2个扩展口作为段控口和位控口,通过使用P2.6和P2.7对SN74HC573芯片的使能。

并在数码管上显示1~8.2.完成全部程序和电路调试工作。

三、电路四、原理说明1.U9 作为数码管的段选,U7 作为数码管的位选;2.SN74HC573 锁存芯片使用详见实验六。

3.LED 采用的是七段共阴极数码管,显示器由 8 个发光二极管 LED 组成,其中包括7 个细长型的 LED 和 1 个小数点型的 LED。

分别为 a、b、c、d、e、f、g、dp 共 8 段,其中 dp 为小数点。

补充:数码管的位选:即位置选择的意思,比如1-8个,选择哪一个使能数码管的段选:即选择数码管的那一段,从而控制输出数字五、程序设计#include<reg52.h>sbit duan=P2^6; //定义段控位sbit wei=P2^7; //定义位控位unsigned char code table[]= //控制字无规律,建表查询{0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f} ;void delay(){int i,j;for(i=0;i<5;i++)for(j=0;j<50;j++);} //延时void main(){unsigned char m=0x01;//m0000 0001unsigned char h;unsigned int n=0;while(1){h=~m; //m取反wei=0; //位控位关,段控位开duan=1;P0=table[n]; //显示段wei=1; //锁存段duan=0;P0=h;wei=0; //锁存位delay();n++; //在表中依次查询if(n<=7) //1-8共八个数码管循环使能{m=m<<1;//}else //循环一遍后则初始化{n=0;m=0x01;}}}实验四 24小时时钟显示控制实验一、实验目的1.掌握定时器工作原理和使用方法;2.掌握单片机外部中断和定时中断的控制方法;二、实验要求1.P0口的2个扩展口作为段控口和位控口,通过使用P2.6和P2.7对SN74HC573芯片的使能,设计一个24小时时钟显示控制电路,时间显示时只用左边6个LED数码管;2.利用INT0按钮作为启动/停止键,INT1按钮作为清0键,并按键采用中断响应;3.系统复位时,显示“000000”,当第一次按下启动/停止键时,开始计时,再按一次时钟停止,再按又从原来时间的基础上继续计时........;当按下清0键时,停止计时并将时间恢复到“000000”4.完成全部程序和电路调试工作;三、电路四、原理说明1.U9 作为数码管的段选,U7 作为数码管的位选;2.SN74HC573芯片,当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。

当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。

五、程序代码#include<reg51.h>sbit duan=P2^6; //定义段控位,位地址P2.6sbit wei=P2^7; //定义位控位unsigned char code table[]= //数码管0~9的段表{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} ;void delay(){int i,j;for(i=0;i<5;i++)for(j=0;j<50;j++);} //延时unsigned int h=0; //hourunsigned int m=0; //minuteunsigned int s=0; //secondunsigned int flag=0; //判断INT0的标志flagvoid main(){unsigned int num=0,i;unsigned int zi[6]={0}; //用于存储时间的时、分、秒的6个数int k=0x01h,n;TMOD=0x01; //定时器1工作在方式1(2^16=65536)TH0=0xD8; //65536-10000=1101 1000 1111 0000B(D8 F0) TL0=0xF0;EA=1; //开总中断ET0=1; //定时器1中断允许EX0=1; //外部中断0、1允许EX1=1;IT0=1; //外部中断0、1选择边沿触发IT1=1;TR0=0; //开始不启动,按下INT0后启动while(1){if(s==60) //秒向分进位,并归零{s=0;m++;}if(m==60) //分向时进位{m=0;h++;}zi[0]=h/10; //存入hour高位zi[1]=h%10; //存入hour低位zi[2]=m/10;zi[3]=m%10;zi[4]=s/10;zi[5]=s%10;for(i=0;i<6;i++) //显示{wei=0;duan=1;num=zi[i];P0=table[num]; //显示一位wei=1;duan=0;n=~k;P0=n;wei=0;k=k<<1; //左移取反If(i==5){ k=0x01h;} //位循环使能,共6个delay();}}}void time0_int(void) interrupt 1 //定时器1中断函数{TH0=0XD8;TL0=0XF0; //定时工作方式1,需要重新装入初值i++;if(i==100) //1000ms,second+1{i=0;s++;}}void int0() interrupt 0 //外部中断0函数{flag=flag%2;if(flag==0) TR0=0; //按偶数次,计数暂停if(flag==1) TR0=1; //按奇数次,计数启动}void int1() interrupt 2 //外部中断1函数,清零{h=m=s=i=0;}。

相关文档
最新文档