当前位置:文档之家› 南昌大学单片机实验三 定时计数器实验

南昌大学单片机实验三 定时计数器实验

南昌大学单片机实验三 定时计数器实验
南昌大学单片机实验三 定时计数器实验

实验三定时/计数器实验

一、实验目的

学习MCS-51 内部计数器的使用和编程方法。

二、实验内容

使用MCS-51 内部定时/计数器,定时一秒钟,CPU 运用定时中断方式,实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。

三、实验要求

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

四、实验说明

关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器,定时为一秒钟。定时器有关的寄存器有工作方式寄存器TMOD 和控制寄存器TCON。TMOD 用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12 个振荡器周期。

假设实验系统的晶振是12MHZ,程序工作于方式2,即8 位自动重装方式定时器, 定时器100uS中断一次, 所以定时常数的设置可按以下方法计算:机器周期=12÷12MHz=1uS(256-定时常数)×1uS=100uS定时常数=156。然后对100uS 中断次数计数10000 次,就是1 秒钟。

在本实验的中断处理程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。本实验需要用到CPU 模块(F3 区)和八位逻辑电平显示模块(B5 区)。

五、实验预习要求

学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。

六、实验步骤

1)系统各跳线器处在初始设置状态,用导线连接CPU 模块P10 到八位逻辑电平显示模块的L0。

2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。

3)运行程序观察发光二极管隔一秒点亮一次,点亮时间为一秒。

七、实验分析

Tick equ 10000 ; 10000 x 100us = 1s

T100us equ 156 ; 100us时间常数(6M)

C100us equ 30h ; 100us记数单元

LEDBuf bit 20h

org 0

ljmp Start 长跳转Start

org 000bh

T0Int:

push PSW 把PSW压入栈

mov a, C100us+1

jnz Goon 累加器非零跳到Goon

dec C100us 直接寻址字节减一

Goon:

dec C100us+1 直接寻址字节减一

mov a, C100us

orl a, C100us+1 异或

jnz Exit ; 100us 记数器不为0, 返回

mov C100us, #27H ; #high(Tick)

mov C100us+1, #10H ; #low(Tick)

cpl LEDBuf ; 100us 记数器为0, 重置记数器

; 取反LED

Exit:

pop PSW 弹出栈

reti 中断返回

Start:

mov TMOD, #02h ; 方式2, 定时器

mov TH0, #t100us 高位

mov TL0, #t100us 低位

mov IE, #10000010b ; EA=1, IT0 = 1

setb TR0 ; 开始定时

clr LEDBuf 清除累加器为0

clr P1.0

mov C100us, #27H ;#high(Tick)

mov C100us+1, #10H ;#low(Tick)

Loop:

mov c, LEDBuf

mov P1.0, c

ljmp Loop 长转移到Loop

end 结束

二极管隔一秒亮一次,点亮时间为一秒。通过设定定时器工作在方式2让其很好的实行了功能。

八、实验心得

定时器工作原理很重要,通过这次试验加深了理解,对于不同的工作方式使用,设置初始值都有了很大的进步,实验很成功。

实验三单片机定时计数器实验

实验三单片机定时/计数器实验 1、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 2、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 3、实验仪器和条件 计算机 伟福实验箱(lab2000P) 4、实验内容 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 3、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 4、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD

用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 5、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 五、思考题 1、使用其他方式实现本实验功能; 2、改为门控方式外部启动计数; 3、如果改为定时间隔为200us,如何改动程序; 4、使用其他方式实现本实验功能,例如使用方式1,定时间隔为10ms,如何改动程序。 六、源程序修改原理及其仿真结果 思考题一:使用其他方式实现本实验功能 方法一: movTMOD, #00000100b;方式0,记数器 movTH0, #0 movTL0, #0 setbTR0;开始记数;由于方式0的特点是计数时使用TL0的低五位和八位 TH0,故用加法器a用“与”(ANL)取TL0的低五位,再用yiwei子程序实现TH0的低三位变为高三位与TL0相加,这样赋给P1时就是八位计数的结果。 Loop: mova,TL0 anla,#1fh

南昌大学低电阻测量实验报告

南昌大学物理实验报告 课程名称:大学物理实验 实验名称:低电阻测量 学院:专业班级: 学生姓名:学号: 实验地点:座位号: 实验时间:

其中r1、r2 分别是连接安培表及变阻器用的两根导线与被测电阻两端接头处的接触电阻及导线本身的接线电阻,r3、r4 是毫伏表和安培表、滑线变阻器接头处的接触电阻和接线电阻。通过安培表的电流I 在接头处分为I1、I2 两支,I1 流经安培表和R 间的接触电阻再流入R,I2 流经安培表和毫伏表接头处的接触电阻再流入毫伏表。因此,r1、r2 应算作与R 串联;r3、r4 应算作与毫伏表串联。由于r1、r2 的电阻与R 具有相同的数量级,甚至有的比R 大几个数量级,故毫伏表指示的电位差不代表R 两端的电位差。也就是说,如果利用毫伏表和安培表此时所指示的值来计算电阻的话,不会给出准确的结果。 为了解决上述问题,试把连接方式改为如图2(a)所示的式样。同样用电流流经路线的分析方法可知,虽然接触电阻r1、r2、r3 和r4 仍然存在,但由于其所处位置不同,构成的等效电路改变为图2(b)。由于毫伏表的内阻大于r3、r4、R,故毫伏表和安培表的示数能准确地反映电阻R 上的电位差和通过的电流。利用欧姆定律可以算出R 的正确值。

由此可见,测量电阻时,将通电流的接头(电流接头)a、d 和测量电位差的接头(电压接头)b、c 分开,并且把电压接头放在里面,可以避免接触电阻和接线电阻对测量低值电阻的影响。 这结论用到惠斯通电桥的情况如果仍用单臂电桥测低值电阻R X,则比较臂R b 也应是低值电阻,这样才能在支路电流增大时,从而使R X 的电位差可以跟R1 上的电位差相等。设R1 和R2 都是10Ω以上的电阻,则与之有关的接触电阻和接线电阻的影响可以忽略不计。消除影响的只是跟R X、R b 有关的接触电阻和接线电阻。我们可以这样设想,如图3 所示。应用上面的结论在R X 的A 点处分别接电流接头A1 和电压接头A2;在R b 的D 点处分别接电流接头D1 和电压接头D2。则A 点对R X 和D 点对R b 的影响都已消除。关于C 点邻近的接线电阻和接触电阻同R1、R2、R g 相比可以略去不计。但B1、B3 的接触电阻和其间的接线电阻对R X、R b 的影响还无法消除。为了消除这些电阻的影响,我们把检流计同低值电阻的接头也接成电压接头B2、B4。为了使B2、B4 的接触电阻等不受影响,也象R1、R2 支路一样,分别接上电阻R3、R4 譬如10Ω,则这两支路的接触电阻等同R3、R4 相比较可略去。这样就在单电桥基础上增加两个电阻R3、R4,从而构成一个双臂电桥。但是B1、B3 的接触电阻和B1、B3 间的接线电阻无处归并,仍有可能影响测量结果。下面我们来证明,在一定条件下,r 的存在并不影响测量结果。

8254定时计数器应用实验报告

XX 大学实验报告 课程名称: 实验项目名称:8254定时/计数器应用实验学院:信息工程学院 专业:通信工程 指导教师: 报告人:学号:班级: 实验时间: 实验报告提交时间:

教务处制

单元的内容外,还可以读出状态寄存器的内容。 (6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为: n=fCLKi÷fOUTi、其中fCLKi 是输入时钟脉冲的频率,fOUTi 是输出波形的频率。 图(1)是8254 的内部结构框图和引脚图,它是由与CPU 的接口、内部控制电路和三个计数器组成。8254 的工作方式如下述:(1)方式0:计数到0 结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。 (5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式。 图(1)8254的内部借口和引脚8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表

1所示。 表1 8254的方式控制字 表2 8254 读出控制字格式 表3 8254 状态字格式 8254 实验单元电路图如下图所示:

五、实验步骤及相应操作结果 1. 计数应用实验 编写程序,将8254 的计数器0 设置为方式3,计数值为十进制数4,用单次脉冲KK1+ 作为CLK0 时钟,OUT0 连接MIR7,每当KK1+按动5 次后产生中断请求,在屏幕上显示字符“M”。 实验步骤: (1)实验接线如图2所示。 (2)编写实验程序,经编译、链接无误后装入系统。 (3)运行程序,按动KK1+产生单次脉冲,观察实验现象。(4)改变计数值,验证8254 的计数功能。

单片机实验之定时器计数器应用实验二

一、实验目的 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 三、电路原理图 六、实验总结 通过本实验弄清楚了定时/计数器计数功能的初始化设定(TMOD,初值的计算,被计数信号的输入点等等),掌握了查询和中断工作方式的应用。 七、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对 P1.0口线上波形进行计数,满50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 答:程序见程序清单。

四、实验程序流程框图和程序清单。 1、定时器/计数器以查询方式工作,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态。 汇编程序: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV IE, #00H MOV TMOD, #60H MOV TH1, #9CH MOV TL1, #9CH SETB TR1 LOOP: JNB TF1, LOOP CLR TF1 CPL P1.0 AJMP LOOP END C语言程序: #include sbit Y=P1^0; void main() { EA=0; ET1=0; TMOD=0x60; TH1=0x9C; TL1=0x9C; while(1) { TR1=1; while(!TF1); TF1=0; Y=!Y; } } 开始 TMOD初始化 计数初值初始化 中断初始化 启动定时器 计数溢出 清计数溢出标志 Y N P1.0口线取反

南昌大学单片机实验报告

实验一I/O口输入输出实验 一、实验目的 掌握单片机P1口、P3口的使用方法。 二、实验内容 以P1口为输出口,接八位逻辑电平显示,LED显示跑马灯效果。以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。 三、实验要求 根据实验内容编写一个程序,并在实验仪上调试和验证。 四、实验步骤 1)系统各跳线器处在初始设置状态。用导线连接八位逻辑电平输出模块的K0到CPU 模块的RXD(P3.0 口);用8位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块JD8(P1 口)。 2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。 3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。 五、实验参考程序 ;//****************************************************************** ;文件名: PortforMCU51 ;功能:I/O口输入、输出实验 ;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口); ; 用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。 ;//******************************************************** ********** DIR BITP3.0 ORG 0000H LJMP START ORG 0100H START: OUTPUT1: MOV A, #0FEH MOV R5, #8

LOOP1: CLR C MOV C,DIR JC OUTPUT2 MOV P1, A RL A ACALL DELAY DJNZ R5, LOOP1 SJMP OUTPUT1 OUTPUT2: MOV A, #07FH MOV R5, #8 LOOP2: CLR C MOV C,DIR JNC OUTPUT1 MOV P1, A RR A ACALL DELAY DJNZ R5,LOOP2 SJMP OUTPUT2 DELAY: MOV R6,#0 DELAYLOOP1: MOV R7,#0 DELAYLOOP2: NOP NOP DJNZ R7,DELAYLOOP2 DJNZ R6,DELAYLOOP1 RET END 六、实验结果 当八位逻辑电平的K0拨到上方,即输出高电平时,实验箱B5区的八个LED灯从左至右循环点亮,当K0拨到下方,即输出低电平时,八个LED灯从右至左循环点亮。 七、结果分析 程序通过查询方式不断检测P3.0口的输入状态,当P3.0输入为0时,由P1口通过左移指令RL轮流输出低电平驱动LED发光,在左移时通过软件延时控制LED亮的时间;当P3.0输入为1时,由P1口通过右移指令RR轮流输出低电平驱动LED发光,在右移时同样通过软件延时控制LED 亮的时间,如此循环扫描查询,便可实现流水灯的效果。

单片机 实验三中断及定时器实验

实验三:中断及定时器实验 一、实验目的: 1、弄清中断的概念、基本原理,掌握中断技术的应用 2、了解中断初始化的方法,中断向量安装和中断服务子程序的 设计方法。 3、了解定时/计数器的工作原理及MCS51单片机的定时器内 部结构 4、掌握时间常数计算方法 5、掌握定时器初始化方法和定时中断程序设计方法 二、实验内容:定时器实验 1、这个是一个电子钟走时程序,利用定时器T0产生50ms中 断,中断计数器中断20次为1秒,利用秒信号进行电子钟 计时。先读懂下面程序段,然后编辑、编译程序,并在伟福 仿真器上模拟调试该程序。 程序清单如下: COUNT EQU 7FH COUNT1 EQU 7EH S_MEM EQU 73H M_MEM EQU 72H H_MEM EQU 71H ORG 0000H LJMP MAIN ORG 000BH LJMP INT_T0 ;“*1” MAIN: MOV SP,#2FH MOV TMOD,#00000001B MOV TH0,#03CH ;50毫秒中断时间常数 MOV TL0,#0BH MOV IE,#10000010B ;开放T0 MOV IP,#0 MOV S_MEM,#0

MOV M_MEM,#0 MOV H_MEM,#0 MOV COUNT,#20 SETB TR0 ;______________________________________________________ W AIT:NOP SJMP W AIT INT_T0: MOV TL0,#0BH MOV TH0,#3CH DJNZ COUNT,EXT_T0 MOV COUNT,#20 ;恢复中断计数器 INC S_MEM ;“*2” MOV A,S_MEM CJNE A,60,EXT_T0 MOV S_MEM,#0 INC M_MEM MOV A,M_MEM CJNE A,#60,EXT_T0 MOV M_MEM,#0 INC H_MEM MOV A,H_MEM CJNE A,#13,EXT_T0 MOV H_MEM,#0 EXT_T0: RETI 2、按下列要求修改程序或回答问题。(实验报告内容) a、把程序改成T1中断计时 ORG 000H LJMP MAIN ORG 001BH

3实验三_定时计数器

实验三定时计数器实验 (实验前一定要先完成仿真电路设计,没有完成的不能进入实验室) 一、实验要求 设计一个如图所示的门铃电路,当按下按钮开关时,喇叭发出叮咚的门铃声音。 二、实验目的 掌握单片机定时计数器的定时模式及编程。 三、实验步骤 1、按实验一的方法设计电路原理图。 本实验需要选取的元器件有单片机AT89C51、瓷片电容CAP、电解电容CAP-ELEC、电阻RES、晶振CRYSTAL、按钮BUTTON、普通三极管PN2222、喇叭SPEAKER等。本实验中的元器件参数值:晶振X1频率为12MHz,瓷片电容C1、C2的值为30pF,电解电容C3的值为10uF,电阻R1为470,R2、R3的值为10K,单片机AT89c51的时钟频率12MHz。 2、编写源程序 程序设计方法 1.我们用单片机实定时/计数器T0的方式2来产生700HZ和500HZ的频率,根据定时/计数器T0,我们取定时250us,因此,700HZ的频率要经过3次250us的定时,而500HZ 的频率要经过4次250us的定时。 2.在设计过程,只有当按下k1之后,才启动T0开始工作,当T0工作完毕,回到最初状态。

3.“叮”和“咚”声音各占用0.5秒,因此定时/计数器T0要完成0.5秒的定时,对于以250us为基准定时2000次才可以。也就是前0.5秒P3.2输出700HZ的频率,后0.5秒输出500HZ的频率。 四、仿真。 在PROTEUS ISIS环境,加载.HEX文件进行仿真。 五、写入实验箱单片机测试 启动ISP在线写程序,将仿真通过的.HEX文件写入综合实验箱的单片机中进行测试。检查是否和仿真的效果相同。 #include unsigned char t500hz; unsigned char t700hz; unsigned int tcnt; bit stop; bit flag; sbit SP1=P3^3; sbit SPOUT=P3^2; void main(void) { TMOD=0x02; TH0=0x06; TL0=0x06; ET0=1; EA=1;

南昌大学单片机实验指导书(2015简化版)

微机原理与接口技术实验指导书 机电工程学院 2010年3月

实验一拼字程序(基础实验) 一、实验目的 掌握汇编语言设计和调试方法。 二、实验容 把7000H的低四位BCD数和7001H的低四位BCD数,拼成压缩BCD码的形式存放在7002H。 三、实验说明 通过本实验,掌握拼字的编程方法,同时也可以了解单片机编程、调试方法。 四、主要仪器设备及耗材 PC机、WAVE软件 五、参考程序框图 六、参考程序(略)

实验二清零实验(基础实验) 一、实验目的 1. 掌握存储器读写方法。 2. 了解存储器的块操作方法。 二、实验容 1. 指定部RAM中某块的起始地址和长度,要求能将其容清零。 2. 指定外部RAM中某块的起始地址和长度,要求能将其容清零。 3. 指定外部RAM中某块的起始地址和长度,要求能将其容置为某固定值(如0FFH)。 三、实验说明 通过本实验,学生可以了解单片机的存储器结构及读写存储器的方法,同时也可以 了解单片机编程、调试方法。 四、实验仪器和设备 PC机、WAVE软件。 五、参考程序框图 存储器块清零参考程序框图 六、参考程序(略) 实验三数据块传送程序(基础实验)

一、实验目的 1.了解存的移动方法。 2.加深对存储器读写的认识。 二、实验容 将指定源地址和长度的存储块移到指定目标位置。 三、实验说明 块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。另外,若源块地址和目标块地址有重叠,该如何避免? 四、实验仪器和设备 PC机、WAVE软件。 五、参考程序框图 存储块移动参考程序框图 六、参考程序(略)

南昌大学PLC实验报告讲解

实验一三相异步电动机接触器点动控制线路 (2) 实验二三相异步电动机的可逆运转控制 (4) 实验三通电延时型控制线路 (6) 实验四可编程控制器的基本指令编程练习 (8) 实验五喷泉的模拟控制 (10) 实验六交通灯的模拟控制 (13) 实验七液体混合的模拟控制 (16)

实验一 三相异步电动机接触器点动控制线路 一、概述 三相笼式异步电机由于结构简单、性价比高、维修方便等优点获得了广泛的应用。在工农业生产中,经常采用继电器接触控制系统对中小功率笼式异步电机进行点动控制,其控制线路大部分由继电器、接触器、按钮等有触头电器组成。 图2是三相鼠笼异步电动机接触器点动控制线路(电机为Y 接法) 起动时,合上漏电保护断路器及空气开关QF ,引入三相电源。按下起动按钮SB2时,交流接触器KM1的线圈通电,主触头KM1闭合,电动机接通电源起动。当手松开按钮时,接触器KM1断电释放,主触头KM1断开,电动机电源被切断而停止运转。 FR1 FU1KM1 QF L1 L2 L3 L KM1 M 3~ FR1 N FU2 FU2 L SB1 SB2 二、实验目的 1、 了解时间继电器的结构,掌握其工作原理及使用方法。 2、 掌握Y-Δ起动的工作原理。 3、 熟悉实验线路的故障分析及排除故障的方法。 三、实验设备 序号 设备名称 使用仪器名称 数量 1 DL-CX-001 三相交流电源 1 2 WD01G 空开、熔断器模块 1 3 WD04G 热继电器模块 1 4 WD09G 按钮模块 1 5 WD02G 接触器模块 1 6 M04 三相鼠笼式异步电动机 1 四、实验内容及步骤 1、检查各实验设备外观及质量是否良好。 2、按图2三相鼠笼式异步电动机接触器点动控制线路进行正确的接线。先接主回路,再接控制回路。自己检查无误并经指导老师检认可后方可合闸通电实验。 (1)、热继电器值调到1.0A 。 (2)、合上漏电保护断路器及空气开关QF ,调节三相电源输出220V 。 (3)、按下起动按钮SB2时,观察电机工作情况,体会点动操作。(注意,操作次数不宜频

4实验四 单片机定时器的使用

姓名:学号:日期: 实验四单片机定时器的使用 一、实验名称:单片机定时器的使用 二、实验目的 1.掌握在Keil环境下建立项目、添加、保存源文件文件、编译源程序的方法; 2.掌握运行、步进、步越、运行到光标处等几种调试程序的方法; 3.掌握在Proteus环境下建立文件原理图的方法; 4.实现Proteus与Keil联调软件仿真。 三、使用仪器设备编号、部件及备件 1.实验室电脑; 2.单片机实验箱。 四、实验过程及数据、现象记录 1.在Proteus环境下建立如下仿真原理图,并保存为文件; 原理图中常用库元件的名称: 无极性电容:CAP 极性电容:CAP-ELEC 单片机:AT89C51 晶体振荡器:CRYSTAL 电阻:RES 按键:BUTTON 发光二极管:红色LED-RED 绿色LED-GREEN 蓝色LED-BLUE 黄色LED-YELLOW 2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件; 参考程序如下: ORG 0000H LJMP MAIN ORG H ;定时器T0的入口地址 LJMP TIMER0 MAIN: MOV TMOD,#01H

MOV R0,#05H MOV TH0,# H ;定时器的初值 MOV TL0,# H SETB ;开定时器T0的中断 SETB ;开CPU的中断 SETB ;启动定时器T0 MOV A,#01H LOOP: MOV P1,A RL A CJNE R0,#0,$ MOV R0,#05H SJMP LOOP TIMER0: DEC R0 MOV TH0,# H ;重装初值 MOV TL0,# H ;重装初值 RETI END 将以上程序补充完整,流水时间间隔为250ms。 3.将.HEX文件导入仿真图,运行并观察结果; 4.利用Keil软件将程序下载至实验箱,进行硬件仿真,观察实验结果。 五、实验数据分析、误差分析、现象分析 现象:实现流水灯,时间间隔250ms,由定时器实现定时250ms。 六、回答思考题 1.定时器由几种工作模式,各种模式的最大定时时间是多少? 2.各种模式下初值怎么计算?

南昌大学单片机补考试题及答案

一、单项选择题(本大题共5小题,每小题2分,共10分) 1.MCS-51的并行I/O口读-改-写操作,是针对该口的( D ) A.引脚 B.缓冲器 C.地址线 D.内部锁存器 2.假定设置堆栈指针SP的值为36H,在执行指令PUSH 20H后SP的值为(C ) A.35H B.38H C.37H D.20H 3.若MCS-51单片机的晶振频率为6MHz,定时器/计数器作计数器使用时,其最高的输入计数频率是(C ) A.1MHz B.500KHz C.250KHz D.125KHz 4.MOVX A,@DPTR指令中源操作数的寻址方式是( B ) A.寄存器寻址 B.寄存器间接寻址 C.直接寻址 D.立即寻址 5.在远距离数据传送时,一般采用______传送方式。( D ) A.串行 B.并行 C.模拟 D.数字 二、填空题(本大题共9小题,每空1分,共10分) 6.MCS-51单片机中有两个16位寄存器,其中一个是_程序计数器PC _____,它没有地址,用户不能对其读写;另一个是_ DPTR _____,常用于存放基址地址。 7.若不使用MCS-51片内程序存储器,引脚EA必须接_地或“0”电平_____。 8.当(RS1,RS0)=(1,0)时,工作寄存器R2对应内部RAM中的__12H____字节单元。 9.执行当前指令后,PC内容为______。 10.单片机与外部数据进行信息交换时,通过__数据总线____总线交换信息的内容。 11.MCS-51响应_串行口_____中断时,其中断标志只能由软件清除。 12.汇编语言程序一般有四种结构形式,即:顺序结构、分支结构、__循环____和子程序结构。 13.用串行口扩展并行口时,串行口工作方式应选为__方式0____。 14.ADC0809是____8__位逐次逼近型A/D转换芯片。 三、名词解释(本大题共3小题,每小题3分,共9分) 15.机器语言:在单片机中,用二进制代码表示的指令、数字和符号简称为机器语言。 16.RAM:随机存储器 17.单工:信息在两点之间只能单方向发送的工作方式。 四、简答题(本大题共5小题,每小题5分,共25分) 18.若80C51的片内ROM内容已不符合要求,那么片内其它硬件如何继续使用? 答:把80C51的EA引脚接地,片外扩接EPROM芯片,就等于宣布片内ROM作废,完全执行片外EPROM中的程序。这样,片内硬件资源不受影响,可继续使用。 19.在8051扩展系统中,程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储空间不 会发生冲突? 答:这是因为外部程序存储器和外部数据存储器所使用的控制信号不同。对外部程序存储器的选读通是用PSEN控制线,而对外部数据存储器的读/写控制是用RD和WR读、写控制线,所以不会发生地址冲 1

定时器实验报告

电子信息工程学系实验报告 课程名称:单片机原理及接口应用Array实验项目名称:51定时器实验实验时间: 班级:姓名:学号: 一、实验目的: 熟悉keil仿真软件、protues仿真软件的使用和单片机定时程序的编写。了解51单片机中定时、计数的概念,熟悉51单片机内部定时/计数器的结构与工作原理。掌握中断方式处理定时/计数的工作过程,掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。 二、实验环境: 软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件 三、实验原理: 1、51单片机定时计数器的基本情况 8051型有两个十六位定时/计数器T0、T1,有四种工作方式。MCS-51系列单片机的定时/计数器有几个相关的特殊功能寄存器: 方式控制寄存器TMOD; 加法计数寄存器TH0、TH1 (高八位);TL0、TL1 (低八位); 定时/计数到标志TF0、TF1(中断控制寄存器TCON) 定时/计数器启停控制位TR0、TR1(TCON) 定时/计数器中断允许位ET0、ET1(中断允许寄存IE) 定时/计数器中断优先级控制位PT0、PT1(中断优IP) 2、51单片机的相关寄存器设置 方式控制寄存器TMOD: TMOD的低四位为T0的方式字,高四位为T1的方式字。TMOD不能位寻址,必须整体赋值。TMOD各位的含义如下: 1. 工作方式选择位M1、M0 3、51单片机定时器的工作过程(逻辑)方式一 方式1:当M1M0=01时,定时器工作于方式1。

T1工作于方式1时,由TH1作为高8位,TL1作为低8位,构成一个十六位的计数器。若T1工作于定时方式1,计数初值为a,晶振频率为12MHz,则T1从计数初值计数到溢出的定时时间为t =(216-a)μS。 4、51单片机的编程 使用MCS-51单片机的定时/计数器的步骤是: .设定TMOD,确定: 工作状态(用作定时器/计数器); 工作方式; 控制方式。 如:T1用于定时器、方式1,T0用于计数器、方式2,均用软件控制。则TMOD的值应为:0001 0110,即0x16。 .设置合适的计数初值,以产生期望的定时间隔。由于定时/计数器在方式0、方式1和方式2时的最大计数间隔取决于使用的晶振频率fosc,如下表所示,当需要的定时间隔较大时,要采用适当的方法,即将定时间隔分段处理。 计数初值的计算方法如下,设晶振频率为fosc,则定时/计数器计数频率为fosc/12,定时/计数器的计数总次数T_all在方式0、方式1和方式2时分别为213 = 8192、216 = 65536和28 = 256,定时间隔为T,计数初值为a,则有 T = 12×(T_all – a)/fosc a = T_all – T×fosc/12 a = – T×fosc/12 (注意单位) THx = a / 256;TLx = a % 256; .确定定时/计数器工作于查询方式还是中断方式,若工作于中断方式,则在初始化时开放定时/计数器的中断及总中断: ET0 = 1;EA = 1; 还需要编写中断服务函数: void T0_srv(void)interrupt 1 using 1 { TL0 = a % 256; TH0 = a / 256; 中断服务程序段} .启动定时器:TR0(TR1)= 1。 四、实验内容过程及结果分析: 利用protues仿真软件设计一个可以显示秒表时间的显示电路。利用实验板上的一位led数码管做显示,利用中断法编写定时程序,控制单片机定时器进行定时,所定时间为1s。刚开始led数码管显示9,每过一秒数码管显示值减一,当显示到0时返回9,依此反复。然后设计00-59的两位秒表显示程序。 (1)实现个位秒表,9-0

实验三单片机定时计数器实验

实验三单片机定时/ 计数器实验 1、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 2、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4 (T0) 引脚进行计数。将其数值按二进制数在P1 口驱动LED丁上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 3、实验仪器和条件 计算机 伟福实验箱( lab2000P) 4、实验内容 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0) 引脚进行计数。将其数值按二进制数在P1 口驱动LED丁上显示出来。 2、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 3、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 4、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON TMOD 用于设置定时器/ 计数器的工作方式0-3,并确定用于定时还是用于计数。TCON 主要

功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 5、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 五、思考题 1、使用其他方式实现本实验功能; 2、改为门控方式外部启动计数; 3、如果改为定时间隔为200us,如何改动程序; 4、使用其他方式实现本实验功能,例如使用方式1定时间隔为10ms,如何改动程序。 六、源程序修改原理及其仿真结果 思考题一:使用其他方式实现本实验功能 方法一: movTMOD, #00000100b方式0,记数器 movTH0, #0 movTL0, #0 setbTR0开始记数;由于方式0的特点是计数时使用TL0的低五位和八位 TH0,故用加法器a用与”(ANL)取TL0的低五位,再用yiwei子程序实现TH0 的低三位变为高三位与TL0相加,这样赋给P1时就是八位计数的结果。 Loop: mova,TL0 anla,#1fh movr1,a mova,TH0

2011南昌大学单片机期末考题

一、填空题(每空1分,共10分) 1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为___低电平__. 2.P0通常用作单片机系统的地址/数据总线. 3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为10H~17H . 4.返回地址(或断点)是_在程序中断或子程序调用时_的程序计数器的内容。 5.中央处理器CPU是单片机的核心,它完成_运算和控制功能 . 6.单片机的工作过程,实际上就是周而复始地取指令和执行指令的过程 . 7.所谓中断源即是_引起中断的原因(或能发出中断请求的来源) . 8.端口(或称口)是_接口电路中已编址并能进行读或写操作的寄存器 . 9.异步串行近程通信时的传送信号是TTL电平信号 10.若累加器A中的数据为01110010B,则PSW中的P=0. 二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共10分) 1.MCS—51单片机的复位信号是()有效。 A.高电平 B.低电平 C.脉冲 D.下降沿 2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过()。 A.2μs B.4μs C.8μs D.1ms 3.若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用()指令。 A.PUSH R0 B.PUSH @R0 C.PUSH 00H D.PUSH 08H 4.能够用紫外光擦除ROM中程序的只读存储器称为()。 A.掩膜ROM B.PROM C.EPROM D.EEPROM 5.在片外扩展一片2764程序存储器芯片要()地址线。 A.8根 B.13根 C.16根 D.20根 6.定时器/计数器工作方式1是()。 A.8位计数器结构 B.2个8位计数器结构 C.13位计数结构 D.16位计数结构 7.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为() A.2MHz B.1MHz C.500KHz D.250KHz

南昌大学传感器实验报告终稿

实验报告 实验课程:传感器与检测技术试验 学生姓名: 学号: 专业班级:

目录 实验一差动变压器的应用——电子秤 (2) 实验二热电偶的原理及分度表的应用 (6) 实验三热敏电阻测温演示实验 (10)

南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:□验证□综合□设计□创新实验日期:实验成绩: 实验一差动变压器的应用——电子秤 一、实验项目名称 差动变压器的应用——电子秤 二、实验目的 了解差动变压器的实际应用 三、实验基本原理 差动变压器是把非电量变化转换成线圈互感量的变化。这种传感器是根据变压器的基本原理制成的,并且次级绕组用差动的形式连接。 四、主要仪器设备及耗材 音频振荡器、差动放大器、移相器、相敏检波器、低通滤波器、V/F表、电桥、砝码、振动平台。 有关旋钮初始位置: 音频振荡器调至4KH Z,V/F表打到2V档。 五、实验步骤 (1)按图1接线,组成一个电感电桥测量系统,开启主、副电源,利用示波器观察调节音频振荡器的幅度旋钮,使音频振荡器的输出为V P-P值为lV。

(2)将测量系统调零,将V/F表的切换开关置20V档,示波器X轴扫描 时间切换到0.1~0.5ms(以合适为宜),Y轴CHl或CH2切换开关置5V/div, 音频振荡器的频率旋钮置5KHz,幅度旋钮置中间位置。开启主、副电源,调节 电桥网络中的W1,W2,使V/F表和示波器显示最小,再把V/F表和示波器Y 轴的切换开关分别置2V和50mv/div,细条W1和W2旋钮,使V/F表显示值最小。再用手按住双孔悬臂梁称重传感器托盘的中间产生一个位移,调节移相器的 移相旋钮,使示波器显示全波检波的图形。放手后,粱复原。 (3)适当调整差动放大器的放大倍数,使在称重平台上放上一定数量的砝码 时电压表指 示不溢出。 (4)去掉砝码,必要的话将系统重新调零。然后逐个加上砝码,读出表头读数,记下实 验数据,填入下表; Wq 0.02 0.04 0.0.6 0.08 0.10 V P-P(V)0.021 0.033 0.047 0.061 0.077 (5)去掉砝码,在平台上放一重量未知的重物,记下电压表读数,关闭主副 电源。 (6)利用所得数据,求得系统灵敏度及重物重量。 注意事项: (1)砝码不宜太重,以免粱端位移过大。 (2)砝码应放在平台中间部位,为使操作方便,可将测微头卸掉。 线性度

单片机实验 中断、定时器

大连理工大学实验报告(模板) 实验时间:年月日星期时间::~ : 实验室(房间号):实验台号码:班级:姓名: 指导教师签字:成绩: 实验三外部中断/INT0实验 一、实验目的和要求 学习、掌握单片机的中断原理。正确理解中断矢量入口、中断调用和中断返回的概念及物理过程。学习编写“软件防抖”程序,了解“软件防抖”原理。 对/int0、/int1两个外部中断进行编程,其中: ●主程序的功能:LDE灯“全亮”、“全灭”交替进行 --------(状态2); ●Int0中断服务程序功能:2个相邻的LED灯被点亮且循环左移(状态0); ●Int1中断服务程序功能:1个LED灯被点亮且循环右移 ---(状态1);【注意】:实验仪上的LED灯物理位置最左侧为d0;最右侧为d7。 二、实验算法 1 在主程序中利用CPL P3.3的指令驱动其电平不断地转换(由逻辑笔电路做程序状态监视)。 2 在中断服务程序中将P3.3置位(P3.3=1),实现对计数器“加1”并(通过P1口)显示的功能。 3 中断结束后回到主程序,程序继续对P3.3的电平不断取反。 三、实验电路图

四、实验流程图 主程序入口INT0入口 设置中断允许P3.2置1 设置中断优先级调用延时子程序 设TCON 计数器加一并显示 CLR A开中断 (P0)—(A) P3.2=0? 调用延时子程序调用延时子程序 (A)—(A) RETI INT1同理 五、程序清单 ORG 0000H LJMP START ORG 0003H LJMP INT_0 ORG 0013H LJMP INT_1 ORG 0100H ;主程序 START: MOV SP,#60H MOV IE,#85H

南昌大学单片机课程教学设计

课程设计任务书 课程名称:微机原理与接口技术 题目: B5901112154型单片机系统的设计 学院:机电工程学院系:机电工程系 专业:机械设计制造及其自动化 班级:机制124班 学号: 5901112154 学生姓名: 起讫日期: 6.16---6.23 指导教师:胡瑢华 系分管主任: 审核日期:

说明 BEIYON1 - 副本.DSN 打开上面的protus软件可以看到完整的电路图 1、课程设计任务书由指导教师填写,并经学院审定后下达给学生。 2、进度表是课程设计工作检查的主要依据。 3、学生根据指导教师下达的任务书,独立完成课程设计。 4、本任务书在课程设计完成后,与说明书、电路原理图和程序清单

等资料一并上交指导教师,作为课程设计的主要档案资料。

一、课程设计的要求和内容(包括原始数据、技术要求、工作要求) 1、工作要求 单片机系统在各行各业自动控制领域的应用越来越广泛。《微机原理与接口技术》课程设计实践教学环节要求同学们针对实际需求,灵活应用所学知识,独立进行系统综合设计,以达到巩固单片机基础知识、掌握单片机系统开发过程和提高动手实践能力的目的。 2、技术要求 每位学生应独立完整地设计一套单片机系统。该系统CPU采用AT89S51芯片,晶振为12MHz。硬件模块可包括:a)显示模块,采用串行口串接74HC164芯片控制5个7段数码管;b)键盘模块,采用2X2行列键盘;c)声音控制模块,采用蜂鸣器发声;d)A/D采集模块,采用ADC0809采集电位计的电压值;e)D/A输出模块,采用DAC0832输出某种波形。 要求实现以下功能: (1)系统上电后,按照从下进入,在数码管上显示学号的后五位12154。 (2)查询键盘,当用户按1至4号键时在数码管上显示相应数值(例如按1键数码管显示5个1,以此类推),同时伴随蜂鸣器响(只要按键处于按下的状态蜂鸣器就响,按多久就响多久,按键弹起后终止)。需编制键盘去抖动程序(按键中断接INT0,行线接P1.1,P1.2,列线接P1.5,P1.6)。 (3)按键长按(超过1.5秒)则按键可进行功能选择(1号键显示学号,3号键A/D采集,0号键D/A转换功能运行)。 (4)采用译码方式,通过D/A输出频率为500Hz梯形波 (5)采用译码方式,启动通道0的A/D转换,进行采样,A/D转换结束后(通过INT1中断),将采集到的值转换为BCD码,并予以显示(使用三个七段数码管显示例如显示3.75)。 3、此次课程设计采用分级评分,具体操作如下:

单片机实验三 定时器实验

实验三:定时器实验 一、实验要求 实验目的:了解MCS-51单片机中定时器/计数器的基本结构、工作原理和工作方式,掌握工作在定时器模式下的编程方法。 实验内容:设单片机的晶振频率f=12Mhz,使用T0定时100ms,在p1.2引脚产生周期为200ms的方波信号,并通过示波器观察P1.2的输出波形。 二、实验原理 定时器和外部计数方式选择位C/T C/T=0为定时器方式,采用晶振频率的1/12作为计数器的计数脉冲,几对及其周期进行计数。若选择12MHz晶振,则定时器的计数频率为1MHz。 C/T=1为计数方式,采用外部引脚的输入脉冲作为计数脉冲。当T0或T1输入发生由高到低的负跳变时,计数器加1,其最高计数频率为晶振频率的1/24。 工作方式2 当TMOD的M1、M0未为10是,计时器/计数器工作在工作方式2.当方式0、方式1用于循环重复定时计数时,计数器全部为0,下一次计数还得重新装入计数初值,这样编程麻烦,而且影响定时时间的精度。方式2是能自动重新装入计数初值的8位计数器,可以解决这个问题。 方式2把16位计数器分成两个8为的计数器,低8为作为计数器使用,高8位用以保存计数初值,当低8位计数产生溢出是,将TF0或TF1置1,同时又将保存在高8位的计数初值重新自动装入低8位计数器汇总,又继续计数,循环重复。 计数初值X=2^8-t*f osc/12;其中t为定时时间。 初试化编程是,TH0和TL0(或TH1和TL1)都装入次X值。方式2适用于作较为精确的脉冲信号发生器,尤其适用于串口波特率发生器。 三、程序设计 1、程序流程图

图 1 定时器实验流程图 2、程序代码 ORG 0100H MAIN: MOV A, 0H MOV TMOD, #61H ;外部引脚脉冲计数,工作方式2 MOV TL1, #0FFH MOV TH1, #0FFH ;计数1次,以CP1.0为脉冲连接计数器 CPL P1.0 SETB TR1; LP1: CPL P1.2 LP2: MOV TL0, #0B0H MOV TH0, #3CH ;一次计数50ms,P1.0的脉冲周期为100ms SETB TR0 LP3: JBC TF0, LP4 SJMP LP3 LP4: CPL P1.0 JBC TF1, LP1 SJMP LP2 END 四、程序验证 1、在Proteus中连接电路图如下:

相关主题
文本预览
相关文档 最新文档