当前位置:文档之家› 微控制器实验

微控制器实验

微控制器实验
微控制器实验

南京晓庄学院

信息工程学院

计算机组成原理课程

实验名称:微控制器实验

年级专业班级:14 级计算机专业专本1班班级

学号: 14131521 姓名:殷宇翔

学号:姓名:

时间: 2016 年 12 月 3 日一、实验目的、要求:

1、掌握时序信号发生电路组成原理。

2、掌握微程序控制器的设计思想和组成原理。

3、掌握微程序的编制、写入,观察微程序的运行。

二、实验仪器设备、器件及环境:

仪器设备名称规格型号编号备注

计算机组成原理系统DWCC-C8JH 20112055

三、实验方法、原理:

实验所用的时序电路原理如图2.6.1所示,可产生4个等间隔的时序信号TS1~TS4 ,其中SP为时钟信号,由实验机上时钟源提供,可产生频率及脉宽可调的方波信号。学生可根据实验要求自行选择方波信号的频率及脉宽。为了便于控制程序的运行,时序电路发生器设计了一个启停控制触发器UN1B,使TS1~TS4信号输出可控。图中“运行方式”、“运行控制”、“启动运行”三个信号分别是来自实验机上三个开关。当“运行控制”开关置为“运行”,“运行方式”开关置为“连续”时,一旦按下“启动运行”开关,运行触发器UN1B的输出QT一直处于“1”状态,因此时序信号TS1~TS4将周而复始地发送出去;当“运行控制”开关置为“运行”,“运行方式”开关置为“单步”时,一旦按下“启动运行”开关,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机。利用单步方式,每次只运行一条微指令,停机后可以观察微指令的代码和当前微指令的执行结果。另外,当实验机连续运行时,如果“运行方式”开关置“单步”位置,也会使实验机停机。

(1)微程序控制电路

微程序控制器的组成如图2.6.2,其中控制存储器采用3片E2PROM 2816芯片,具有掉电保护功能,微命令寄存器18位,用两片8D触发器74LS273(U23、U24)和一片4D触发器74LS175(U27)组成。微地址寄存器6位,用三片正沿触发的双D触发器74LS74(U14~U16)组成,它们带有清“0”端和预置端。在不判别测试的情况下,T2时刻打入微地址寄存器的内容即为下一条微指令地址。当T4

时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。 在该实验电路中设有一个编程开关,它具有三种状态:写入、读出、运行。当处于“写”状态时,学生根据微地址和微指令格式将微指令二进制代码写入到控制存储器2816中。当处于“读”时,可以对写入控制存储器中的二进制代码进行验证,从而可以判断写入的二进制代码是否正确。当处于“运行”状态时,只要给出微程序的入口微地址,则可根据微程序流程图自动执行微程序。图中微地址寄存器输出端增加了一组三态门(U12),目的是隔离触发器的输出,增加抗干扰能力,并用来驱动微地址显示灯。 (2)微指令格式 微指令长共24位,其控制位顺序如下:

其中UA5~ UA0为6位的后续微地址,A 、B 、C 三个译码字段,由三组译码控制电路译码产生各控制信号。C 字段中的P (1)~P (4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图2.6.3所示,图中I7~I2为指令寄存器的第7~2位输出,SE5~SE1为微控器单元微地址锁存器的强置端输出。AR 为算术运算是否影响进位及判零标志控制位,低电平有效。B 字段中的RSB 、RDB 、RIB 分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作

寄存器R0、R1及R2的选通译码,其原理如图2.6.4,图中I0-I4为指令寄存器的第0~4位,LDRI 为 打入工作寄存器信号的译码器使能控制位。

24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6

5

4

3

2

1

S3 S2 S1 S0 M Cn WE B1 B0

A

B

C

uA5 uA4 uA3 uA2 uA1 uA0

C 字段 B 字段 15 14 13 选择 0 0 0 0 0 1 LDRi 0 1 0 LDDR1 0 1 1 LDDR2 1 0 0 LDIR 1 0 1 LOA

D 1 1

LDAR

12 11 10 选择 0 0 0 0 0 1 RS-B 0 1 0 RD-B 0 1 1 RI-B 1 0 0 299-B 1 0 1

ALU-B 1 1

PC-B

9 8 7 选择 0 0 0 0 0 1 P(1) 0 1 0 P(2) 0 1 1 P(3) 1 0 0 P(4) 1 0 1 AR 1 1

LDPC

A 字段

表2.6.1 控制位顺序

四、实验内容、步骤:

⑴根据机器指令画出对应的微程序流程图,如图2.6.5所示;

⑵根据微程序流程图设计微指令,并按微指令格式转换成二进制代码,如表

2.6.2所示。

表2.6.2 二进制微代码表

微地址S3 S2 S1 S0 M CN WE B1 B0 A B C UA5…UA0

00 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0

0 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0

0 2 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0

0 3 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0

0 4 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1

0 5 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0

0 6 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1

07 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1

08 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1

09 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1

0 A 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1

0 B 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0

0 C 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 0

0 D 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1

0 E 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1

0 F 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1

10 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0

1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 0 0

1 2 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 1

1 3 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

1 4 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0

1 5 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1

1 6 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1

1 7 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0

18 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1

⑶连接实验线路,仔细查线无误后接通电源。

⑷观测时序信号

用双踪示波器(或用PC示波器功能)观察方波信号源的输出。方法如下:将“运行控制”开关置为“运行”、“运行方式”开关置为“连续”。按动“启动运行”开关,从示波器上可观察到TS1(J20)、TS2(J21)、TS3(J22)、TS4(J23)各点的波形,比较它们的相互关系,画出其波形,并标注测量所得的脉冲宽度,如图2.6.6。

图2.6.5 微程序流程图

图2.6.6 方波信号源的时序图

⑸进一步了解微程序控制器的工作原理

①写微程序

A. “编程开关”置为“写入”状态。

B. “运行控制”开关置为“运行”,“运行方式”开关置为“单步”状态。

C. 用二进制模拟开关UA0~UA5置6位微地址,UA0~UA5的电平由LK0~LK5显示,高电平亮,低电平灭。

D. 用二进制模拟开关MK1~MK24置24位微代码,24位微代码由LMD1~LMD24显示灯显示,高电平亮,低电平灭。

E. 按动“启动运行”开关,启动时序电路,即可将微代码写入到E2PROM 2816的相应地址单元中。

F . 重复C-E步骤,将表3-5的微代码全部写入E2PROM 2816中。

②读微程序

A. 将“编程开关”设置为“读”状态。

B. “运行控制”开关置为“运行”,“运行方式”开关置为“单步”状态。

C. 用二进制模拟开关UA0~UA5置6位微地址。

D. 按动“启动运行”开关,启动时序电路,读出微代码,观察显示灯LMD1~LMD24的状态,检查读出的微代码是否与写入的相同,如果不同,则将“编程开关”置为“写入”状态。重新执行①即可。

③单步运行

A. “编程开关”置于“运行”状态。

B. “运行控制”开关置为“运行”,“运行方式”开关置为“单步”状态。

C. 系统总清,即“总清”开关拨0→1。使微地址寄存器U14~U16清零,从

而明确本机的运行入口微地址为000000(二进制)。

D. 按动“启动运行”开关,启动时序电路,则每按动一次,读出一条微指令后停机,此时实验机上的微地址显示灯和微程序显示灯将显示所读出的一条指令。注意:在当前条件下,可将6芯排座“JSE1”和“UJ2”相连,可通过强置端SE1~SE6人为设置微地址,从而改变下一条微指令的地址。设置方法如下:先将微地址开关置“1”,再将UJ1上的排线换插到“JSE1”,然后将某个或几个二进制开关置为“0”,相应的微地址位即被强置为“1”,从而改变下一条微指令的地址。

④连续运行

A. 将“编程开关”置为“运行”状态。

B. “运行控制”开关置为“运行”,“运行方式”开关置为“连续”状态。

C. 系统总清,即“总清”开关拨0→1。使微地址寄存器U14~U16清零,从而明确本机的运行入口微地址为000000(二进制)。

D. 按动“启动运行”开关,启动时序电路,则可连续读出微指令。

五、实验现象、结果:

单步运行结果:

010000 0

010010 20

010111 22

010000 27

010000 0

010010 20

010111 22

010000 27

连续运行:

发现几乎所有的LED都在不停地闪烁,无规律,说明输入的程序转化为指令正在被执行。

六、实验体会

本次实验难度较高,而且实验量大,所以首先预习工作要做好,否则很难按时按要求完成实验。实验分两部分进行,前面部分是微程序的编制、写入、观察微程序的运行,学习基本指令的执行流程。在这过程中,难点就是要掌握如何通过强制端设置分支地址,在实验过程中,不知道是因为接线的问题还是仪器的问题一度不能成功,录入了数据但是跳转不到要去的地方。我们以为是输入数据时

出错,重新输了好多遍,但是都还是一样的结果。经过请教同学的帮助之后终于得出了正确的结果。后半部分就是用联机软件的逻辑示波器观察时序信号。这个相对简单,连接好操作起来也很快。从实验中总结出的几点:(1)这次实验最重要的是如何执行五条机器指令,分别是IN(输入),ADD(二进制加法),STA (存数),OUT(输出),JMP(无条件转移)。(2)S3、S2、S1、S0、M、CN 是算术逻辑运算器ALU的运算选择控制信号,选择ALU执行哪种运算。通过改变S3、S2、S1、S0、M、CN控制信号,能够实现操作数与被操作数的算术运算或逻辑运算。(3)WE信号是写命令信号。

单片机实训心得体会

单片机实训心得体会 篇一: 通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。 由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。 踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。 但在这次实训中同时使我对汇编语言有了更深的认识。当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。 这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过

程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。 篇二:单片机实验心得 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去,我想做类似实习就为我们提供了良好的实践平台 学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累单片机是一门应用性和实践性很强的学科,要多动手,多做实验。 (4)要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。 (5)碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日

一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:

3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P4DIR |= BIT5; // 设置4.5口为输出模式 P4OUT |= BIT0; // 选中P4.0为输出方式 P4REN |= BIT0; // P4.0使能 while (1) // Test P1.4 { if (P4IN & BIT0) //如果P4.0为1则执行,这是查询方式按下去后是低,否则为高

微控制器实验报告

微控制器技术实验报告 班级: 姓名: 学号:

微控制器技术实验说明 一、实验目的及要求: 1、学习Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试 与脱机运行间的切换方法; 2、熟悉TD-51单片机系统板及实验系统的结构及使用; 3、进行MCS51单片机指令系统软件编程设计与硬件接口功能设计; 4、学习并掌握Keil C51与Proteus仿真软件联机进行单片机接口电路的设 计与编程调试; 5、完成指定MCS51单片机综合设计题 二、实验基本内容(TD-51单片机实验系统实现) 实验一清零程序与拆字程序设计 根据实验指导书之“第二章单片机原理实验”(P17~P23页)内容,熟悉实验环境及方法,完成思考题1、2(P23)基础实验项目。 实验二拼字程序与数据传送程序设计 汇编语言完成实验指导书P24思考题3、4题的基础实验项目。 实验三排序程序与散转程序设计 汇编语言完成实验指导书P24思考题5、6题的基础实验项目。 实验四静态存储器扩展实验 基本部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.1 静态存储器扩展实验”基本实验项目(P57)。 提高部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.2 FLASH存储器扩展实验”实验项目(P60)。 实验五数字量输入输出实验 基本部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目(P36),。 提高部分:(任选一题) 题目一:LED交通灯控制(使用8255接口芯片) 要求:使用汇编语言编程,功能为:通过开关实现LED灯工作方式即时控 制,完成LED交通灯的开关控制显示功能和LED交通灯自动循环显示功能。 题目二:LED灯控制(使用8255接口芯片) 要求:使用汇编语言编程,功能为:通过KK1实现LED灯工作方式即时控 制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。 题目三:键盘扫描与数码管显示设计( 要求:阅读、验证P69上的C 语言参考程序功能。使用汇编语言完成编程与功能调试。

单片机实验总结

单片机实验总结

程序由410出品,与老师的不大一样,此处省去1万字-----最终解释归410所有 1.试编写程序。统计片内RAM 30H~50H单元中FFH的个数,并将统计结果存51H。 mov r0,#30h //把30h赋给R0 mov r1,#00h //把00h赋给R1 loop: cjne @r0,#0ffh,next //把R0所指的地址里的数(地址30h中的数)与0ffh比较 inc r1 //若为0ffh则R1加1(计算0ffh的个数) next: inc r0 //若不一样则R0加1(即把R0里的地址加1,R0将指向下一个地址) cjne r0,#51h,loop //比较R0所存的地址与51h,若不等则跳回loop 继续执行 mov 51h,r1 //若相等(R0里的数就为51h,完成30h到50h的计数)将R1里的值赋到地址51h里,即地址51h 中存储着0ffh的个数 sjmp $ //等待 end 2、从片内RAM 30H单元开始存放着一组无符号数,其个数存在21H单元中。试编写程序,找出其中最小的数,并将其存入20H单元中。 mov r0,#30h //把30h赋给R0 mov a,@r0 //把R0所指30H中的数赋给a(a中就是地址30h中的无符号数) mov r1,21h //把21h中的数赋给R1 loop: inc r0 //R0加1(即R0将指向下一个地址) mov 30h,@r0 //把R0所指地址的数给到地址30h中 cjne a,30h,chk //比较a中的数与地址30h中的数的大小,若a中的数>30H中的数,则Cy=0;否则相反 chk: jc lop //判断Cy是否为1,若是,则执行下面程序,否则跳至lop 继续执行 mov a,@r0 //把R0所指地址中的数给a,即把最小数赋给了a lop: djnz r1,loop //R1减一,程序跳至loop继续执行,循环直至R1减到0 mov 20h,a //把a中的数赋到地址20h中 end 3、设片外RAM 2000H单元中有一个8位二进制数,试编程将该数的低四位屏蔽掉,并送回原存储单元。 mov dptr,#2000h //将片外地址2000h给dptr movx a,@dptr //将片外地址2000h中的数赋给a anl a,#0f0h //将a中的数与0f0h与下,屏蔽低四位的数 movx @dptr,a //将屏蔽好的数送回到片外地址2000h中 end

实验报告(单片机实验报告)

1 双字节无符号数加法 例1: 双字节无符号数加法(R0 R1)+(R2 R3) → (R4 R5), R0、 R2、 R4存放16位数的高字节, R1、 R3、 R5存放低字节。已知(R0 R1)=(93h,79h);(R2 R3)=(25h,a4h) 假设其和不超过16位。请编程。 org 0000h Ljmp start org 0050h start: mov R0,#93h mov R1, #79h mov R2,#25h mov R3, #0a4h mov A,R1 ADD A,R3 mov R5,A mov A,R0 ADDC A,R2 mov R4,A ss: jmp ss end 2双字节无符号数减法

例2: 双字节无符号数相减(R0 R1)-(R2 R3) → (R4 R5)。R0、 R2、R4存放16位数的高字节, R1、 R3、 R5存放低字节,已知(R0 R1)=(93h,79h);(R2 R3)=(25h,a4h);请编程。同学自己可以设置被减数与减数数值 org 0000h Ljmp start org 0050h start: mov R0,#93h mov R1,#79h mov R2,#25h mov R3,#0a4h mov A,R1 CLR C SUBB A,R3 mov R5,A mov A,R0 SUBB A,R2 mov R4,A ss: jmp ss end 3双字节数乘以单字节数

例3: 利用单字节乘法指令,进行双字节数乘以单字节数运算。若被乘数为16位无符号数, 地址为M1(30H) 和M1+1(31H)(低位先、高位后), 乘数为8位无符号数, 地址为M2(32H), 积由高位到低位存入R2、 R3和R4三个寄存器中。 30H,31H,32H内容 12H,34H,56H ; org 0000h Ljmp start org 0050h start: mov 30h,#12h mov 31h,#34h mov 32h,#56h mov a,(30h) mov b,(32h) mul ab mov R3,b mov R4,a mov a,(31h) mov b,(32h) mul ab add A,R3 mov R3,A

单片机实验报告书

并行I/O接口实验 一、实验目的 熟悉掌握单片机并行I/O接口输入和输出的应用方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。https://www.doczj.com/doc/508765158.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管延时(0.5-1秒)循环点亮。实验原理图如图3.2-1所示。 图3.2-1单片机并行输出原理图 实验程序及仿真 ORG 0000H LJMP START ORG 0100H START:MOV R2,#8 MOV A,#0FEH LOOP:MOV P1,A LCALL DELAY RL A

DJNZ R2,LOOP LJMP START DELAY:MOV R5,#20 D1:MOV R6,#20 D2:MOV R7,#248 D3:DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 RET END 中断实验 一、实验目的 熟悉并掌握单片机中断系统的使用方法,包括初始化方法和中断服务程序的编写方法。 二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。 https://www.doczj.com/doc/508765158.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (2)用P1口输出控制8个发光二极管LED1~LED8,实现未中断前8个LED闪烁,响应中断时循环点亮。 实验程序及仿真 ORG 0000H LJMP MAIN ORG 0003H LJMP INT00 ORG 0010H MAIN: A1:MOV A,#00H MOV P1,A MOV A,#0FFH MOV P1,A SETB EX0 JB P3.2,B1 SETB IT0 SJMP C1 B1:CLR IT0 C1:SETB EA NOP SJMP A1 INT00:PUSH Acc PUSH PSW MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A DJNZ R2,LOOP

单片机实验总结

程序由410出品,与老师的不大一样,此处省去1万字-----最终解释归410所有 1.试编写程序。统计片RAM 30H~50H单元中FFH的个数,并将统计结果存51H。 mov r0,#30h //把30h赋给R0 mov r1,#00h //把00h赋给R1 loop: cjne r0,#0ffh,next //把R0所指的地址里的数(地址30h中的数)与0ffh比较 inc r1 //若为0ffh则R1加1(计算0ffh的个数)next: inc r0 //若不一样则R0加1(即把R0里的地址加1,R0将指向下一个地址) cjne r0,#51h,loop //比较R0所存的地址与51h,若不等则跳回loop 继续执行 mov 51h,r1 //若相等(R0里的数就为51h,完成30h到50h 的计数)将R1里的值赋到地址51h里,即地址51h中存储着0ffh的个数 sjmp $ //等待 end 2、从片RAM 30H单元开始存放着一组无符号数,其个数存在21H单元中。试编写程序,找出其中最小的数,并将其存入20H单元中。 mov r0,#30h //把30h赋给R0

mov a,r0 //把R0所指30H中的数赋给a(a中就是地址30h中的无符号数) mov r1,21h //把21h中的数赋给R1 loop: inc r0 //R0加1(即R0将指向下一个地址) mov 30h,r0 //把R0所指地址的数给到地址30h中 cjne a,30h,chk //比较a中的数与地址30h中的数的大小,若a 中的数>30H中的数,则Cy=0;否则相反 chk: jc lop //判断Cy是否为1,若是,则执行下面程序,否则跳至lop 继续执行 mov a,r0 //把R0所指地址中的数给a,即把最小数赋给了a lop: djnz r1,loop //R1减一,程序跳至loop继续执行,循环直至R1减到0 mov 20h,a //把a中的数赋到地址20h中 end 3、设片外RAM 2000H单元中有一个8位二进制数,试编程将该数的低四位屏蔽掉,并送回原存储单元。 mov dptr,#2000h //将片外地址2000h给dptr movx a,dptr //将片外地址2000h中的数赋给a anl a,#0f0h //将a中的数与0f0h与下,屏蔽低四位的数 movx dptr,a //将屏蔽好的数送回到片外地址2000h中 end 4、试编写程序,求出片RAM20H单元中“1”的个数,并将结果存入21H单

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

单片机实验6

实验十一键盘与数码管显示 一、实习目的 掌握用单片机的键盘输入和数码管显示技术,编写程序实现键盘输入数据并在显示器上正确显示。 二、实验内容 1、端口按键判断技术(按键显示数字) 通过按键盘上的K02,K03,K04,K05四个按键,实现数码管显示0,1,2,3; (1)硬件连接:按键接到P3口。用一条8PIN数据排线,把按键部份 的JP48,接到CPU部份的P3口JP53,接8位数码管的数据线。将数码管部 份的数据口 JP5接到CPU部份的P0口JP51,接8位数码管的显示位线。将 数码管部份的显示位口 JP8接到CPU部份的P2口JP52. (2)参考程序 org 0000h ljmp start org 0030h start:mov p2,#0ffh CLR P2.6 ;选中最右边的七段码。 mov p3,#0ffh ;初始化,P3口置高; l1: j nb p3.2,l2 ; jnb p3.3,l3 ; jnb p3.4,l4 ; jnb p3.5,l5 ;检测按键 ljmp l1 ;循环检测 l2: m ov p0,#28H ;显示'0'; ljmp l1 l3: m ov p0,#7EH ;显示'1'; ljmp l1 l4: mov p0,#0A2H ;显示'2'; ljmp l1 l5: mov p0,#62H ;显示'3' ljmp l1 end 2、矩阵按键识别技术 本实验实现扫描按键显示功能,分别按16个键盘显示分别显示数字

123A456B789C*0#D;键盘口P1,数码管显示第二位p21, 数码管段位p0口(1)接线方法:用一条8PIN数据排线,把矩阵按键部份的JP50,接到CPU部份的P1口JP44,接8位数码管的数据线。将数码管部份的数据口JP5接到CPU部份的P0口JP51,接8位数码管的显示位线。将数码管部份的显示位口 JP8接到CPU部份的P2口JP52. (2)参考程序 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 ;跳转到键值理程序进行键值处理

微控制器技术实验报告

《微控制器技术》 实验报告 指导老师: 专业: 班级: 姓名: 学号:

“微控制器技术”实验任务说明 实验目的与要求: 1、熟练掌握Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法; 2、熟练使用SST89C554RC单片机核心板及I/O扩展实验系统; 3、熟练掌握在Keil C51与Proteus仿真软件虚拟联机环境下,基于51单片机控制器数字接口电路的硬件、软件设计与功能调试; 4、完成MCS51单片机指令系统软件编程设计和硬件接口功能设计题;

实验一数字量输入输出实验 基本部分:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目(P36)。 提高部分:(任选一题) 题目一:LED交通灯控制(使用8255接口芯片) 要求:使用汇编语言编程,功能为:通过开关实现LED灯工作方式即时控制,完成LED交通灯的开关控 制显示功能和LED交通灯自动循环显示功能。 题目二:LED灯控制(使用8255接口芯片) 要求:使用汇编语言编程,功能为:通过KK1实现LED灯工作方式即时控制,完成LED开关控制显示和LED灯左循环、右循环、间 隔闪烁功能。 题目三:键盘扫描与数码管显示设计(使用8255接口芯片)要求:阅读、验证C语言参考程序功能。使用汇编语言完成编程与功能调试(P69)。 1、实验目的 了解P1口作为输入输出方式使用时,CPU对P1口的操作方式。 2、实验内容: P1口是8位准双向口,每一位均可独立定义为输入输出。编 写实验程序,将P1口的低4位定义为输出,高4位定义为输 入,数字量从P1口的高4位输入,从P1口的低4位输出控 制发光二极管的亮灭。

单片机实验心得体会3篇

单片机实验心得体会一:单片机实验心得体会 时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。 在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。 这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。将所学知识运用到实践中,在实践中发现问题,强化理论知识。 现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。 第一次是借点亮led灯来熟悉keil软件的使用和试验箱上器材。第一次实验体现了一个人对新事物的接受能力和敏感度。虽然之前做过许多种实验。但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。所以第一次试验相对失败。鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。 在做实验中,第二个问题应该是准备不充分吧。一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。于是我便在上机之前把程序编好,拷到u盘,这样上机时只需调试,解决出现的问题。这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。 三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。但是编程是一件很严肃的事情,容不得半点错误。于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。这也能激发了学习的兴趣。 还有一次实验是调出电脑里的程序,让它在试验箱上实现其功,让我们去体会别人编程的技巧和程序逻辑美感。看了之后,不得不说我目前的水平简直太小儿科了。还有连线也是个问题,

单片机实验报告

南京晓庄学院电子工程学院 实验报告 课程名称:单片机系统设计与应用 姓名:森 专业:电子信息科学与技术 年级:14级 学号:05 2016年12 月1 日

实验项目列表 序号实验项目名称成绩指导教师 1 单片机仿真软件的使用 2 单片机I/O接口应用实验——流水灯 3 外部中断实验——工业顺序控制模拟 4 定时/计数器实验——矩形波 5 定时/计数器实验——计数器 6 综合实验 7 8 9 10 注: 1、实验箱端口为com6。 2、芯片选择切换到51 3、停止运行使用实验箱上的复位按钮

实验室号:___ 实验时间:成绩: 实验一仿真软件的使用 1.实验目的和要求 1)熟悉Keil C51软件界面,以及编辑、编译、运行程序的步骤; 2)掌握单片机仿真软件使用和调试的方法。 2.实验原理 Keil C51软件使用 在Keil C51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。 3.主要仪器设备(实验用的软硬件环境) 安装有Keil C51软件的PC机1台 4.操作方法与实验步骤 Keil C51软件使用 (1)建立用户文件夹 (2)建立工程 (3)建立文件并编码。输入以下源程序,并保存在项目所在的目录中 (4)把文件加入工程中 (5)编译工程。编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。 (6)调试。利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。 (7)目标代码文件的生成。运行生成相应的.HEX文件。 5.实验内容及程序 1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。 注意:DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。 P83-5源程序 #include #define uchar unsigned char xdata unsigned char buffer1[10]_at_ 0x2000; //在xdata区定义数组变量BUF1,首地址为2000H data unsigned char buffer2[10]_at_ 0x40; //在data区定义数组变量BUF2,首地址为40H void main(void)

大学生单片机实习总结

大学生单片机实习总结 ,我们将为大家提供关于20XX年实习报告的信息,敬请期待! :xx :实习报告范文| 实习报告模板| 会计实习报告 | 大学生实习报告 | 顶岗实习报告 | 金工实习报告 | 毕业实习报告 | 土木工程实习报告 | 生产实习报告 |实习周记 | 3000字范文 大学生单片机实习总结 随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。本学期我们就学习了单片机这门课程,感觉是有点难呢。也不知道整个学习过程是怎么过来得,可是时间不等人。 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机实习课题也在一周内完成了。俗话说“好的开始是成功的一半”。说这次实习,我认为最重要的就是做好程序调试,认真的研究老师给的题目。其次,老师对实验的讲解要一丝

不苟的去听去想,因为只有都明白了,做起产品就会事半功倍,如果没弄明白,就迷迷糊糊的去做,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的实习算起来在实验室的时间只有几天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

单片机实验报告一

单片机实验报告 1 姓名 陈奋裕 时间 2014/10/30 地点 机电实验大楼B526 实验题目 软件开发环境和简单程序设计 一、实验目的 1. 熟悉WAVE 软件使用 2. 学习简单程序的调试方法 二、实验主要仪器及环境 PC 机、WA VE 软件、仿真器+仿真头、实验板、电源等。 三、实验内容及步骤 1.启动PC 机,打开WAVE 软件,软件设置为模拟调试状态。在所建的项目文件中输入源程序,进行编译,编译无误后,执行程序,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,点击复位按钮,可再次运行程序。 2.打开CPU 窗口,选择单步或跟踪执行方式运行程序,观察CPU 窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。 四、流程图及参考程序 实验1 1)参考程序 2)流程图 ORG 0000H START EQU 30H MOV R0, #START MOV R2, #10 mov a,#01h Loop: MOV @R0,A NOP LJMP $ END

五、实验及程序的分析和讨论 (1)第一个程序是将地址为30H到39H的寄存器的内容全部置1。先在R0中存放内部存储器的起始地址30H,R2中存放内部存储器的长度10个,累加器置1,然后利用循环控制指令DJNZ R2,Loop控制10次循环给上述10个单元赋值1.最后,使单片机自身跳转。 (2)实验得到全速执行后相应的测试结果: (3)实验得到30H到39H寄存器执行后的内容: 从该表中也可以看出该程序的功能,即将30H到39H的寄存器内容置1,说明自己的分析是对的。 六、实验小结 1、汇编语言的结果在软件里面全部都是黑色字体,无法编译,在老师的 提醒下,知道了WAVE软件只能执行ASM文件,所以实验前要先将文件 的类型改为.ASM。 2、程序中的逗号要在英文的状态下面编写;若提示有空余符号,则是分 号后面直接写注释,不要添加空格 七、思考题 1、软件开发环境提供了哪些调试手段?各有何特点? 答: 1.伟福仿真器为我们的调试提供了多种方法,它可以编译,以便查 找语法错误; 2.单步执行,来检查每句程序的功能; 3.全速执行程序,来检查整段程序要完成的功能; 4.还可以设置断点进行调试,以便分段执行程序。 2、如何将存储器块的内容移动到另一位置? 答:借助指针和寄存器,利用转移类指令即可将存储器块的内容移动到 另一位置。

单片机实验六-中断系统实验

信息工程系实验报告 课程名称:单片微型计算机与接口技术 实验项目名称:实验六 中断系统实验 实验时间:2013-12-02 班级:电信*** 姓名:*** 学号:110706 实 验 目 的: 熟悉keil 仿真软件、proteus 仿真软件的使用和单片机外部中断的使用。了解并熟悉51单片机中中断的概念,中断处理系统的工作原理。理解51单片机中断管理系统处理五种中断源,特别是对外部中断的设置与控制方法。熟悉中断处理特别是外部中断处理的过程,掌握中断处理子程序的书写格式和使用方法。 实 验 原 理: 现代的计算机都具有实时处理功能,能对外部发生的事件如人工干预、外部事件及意外故障做出及时的响应或处理,这是依靠计算机的中断系统来实现的。 51单片机内部有一个中断管理系统,它能对内部的定时器事件、串行通信的发送和接收事件及外部事件(如键盘按键动作)等进行自动的检测判断,当有某个事件产生时,中断管理系统会置位相应标志通知CPU ,请求CPU 迅速去处理。CPU 检测到某个标志时,会停止当前正在处理的程序流程,转去处理所发生的事件(针对发生的事件,调用某一特定的函数,称为该事件的中断服务函数),处理完以后,再回到原来被中断的地方,继续执行原来的程序。 外部中断 内部 定时 外部中断 内部 定时内部 T 源允 总允 允许中断寄存中断优先级 中断源 中断源 高优中断 中断 低优中断 中断T —发送 I I 查询 成 绩: 指导教师(签名):

MCS-51单片机最典型的有5个中断源(外部中断0、1,内部定时器中断0、1,串口中断),具有两个中断优先级。两个外部中断:(— INT0、— INT1)上输入的外部中断源,低电平或负跳变有效,置位TCON中的IE0和IE1中断请求标志位。通过外部中断源触发方式控制位IT可以使外部中断为电平触发方式(=0)或边沿触发方式(=1)。另外控制中断允许寄存器IE可以开放中断。 使用MCS-51的中断,要为使用到的中断源编写中断服务程序。C51为中断服务程序的编写提供了方便的方法。C51的中断服务程序是一种特殊的函数,它的说明形式为: void 函数名(void) interrupt n using m { 函数体语句 } 这里,interrupt和using是为编写C51中断服务程序而引入的关键字,interrupt表示该函数是一个中断服务函数,interrupt后的整数n表示该中断服务函数是对应哪一个中断源。 实验环境: 硬件:微机、单片机仿真器、单片机实验板、连线若干 软件:KEIL C51单片机仿真调试软件,proteus系列仿真调试软件 实验内容及过程: 一、利用外部中断INT1控制数码管显示0到9。 二、利用外部中断INT1控制两个数码管显示00到99。 1、打开Proteus,绘制电路图,如图6-1,6-2所示: 图6-1实验1整体电路图

单片机实验--LCD显示实验

实验19L C D显示实验 一、实验目的: 学习液晶显示的编程方法,了解液晶显示模块的工作原理。 掌握液晶显示模块与单片机的接口方法。 二、所需设备 CPU挂箱、8031CPU模块 三、实验内容 编程实现在液晶显示屏上显示中文汉字“北京理工达盛科技 有限公司”。 四、实验原理说明 五、实验步骤 1、实验连线 8255的PA0~PA7接DB0~DB7,PC7接BUSY,PC0接REQ,CS8255 接CS0。 2、运行实验程序,观察液晶的显示状态。 六、程序框图 八、附:点阵式LCD 模块 点阵式LCD模块 由一大一小两块液晶 模块组成。两模块均 由并行的数据接口和 应答信号接口两部分 组成,电源由接口总 线提供。 (1)OCMJ2×8液晶 模块介绍及使 用说明 OCMJ中文模块系列液晶显示器内含 GB 2312 16*16点阵国标一级简体汉字和 ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。 OCMJ中文模块系列液晶显示器也可用作一般的点阵图形显示器

之用。提供有位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。完全兼容一般的点阵模块。 OCMJ中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。 本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。一改传统的使用大量的设置命令进行初始化的方法,OCMJ 中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY 握手协议,简单可靠。 硬件接口 接口协议为请求/应答(REQ/BUSY)握手方式。应答BUSY 高电平(BUSY =1)表示 OCMJ 忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。发送命令到 OCMJ可在BUSY =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ 信号(REQ =1)通知OCMJ请求处理当前数据线上的命令或数据。OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其他工作,也可不断地查询应答线BUSY是否为低(BUSY =0?),如果BUSY =0,表明模块对用户的写操作已经执行完毕。可以再送下一个数据。如向模块发出一个完整的显示汉字的命令,包括坐标及汉字代码在内共需5个字节,模块在接收到最后一个字节

单片机实验报告

课程设计课程名称单片机原理及应用 课题名称基于1602电子时钟设计 专业电子信息工程 班级 学号 姓名 指导老师 2017年12月21日 电气信息学院

课程设计任务书 课题名称基于1602电子时钟设计 姓名专业电子信息工程班级学号 指导老师 课程设计时间2017年12月4日-2017年12月15日(14、15周) 教研室意见意见:审核人: 一、任务及要求 设计任务: 以单片机为核心设计一个电子时钟。能焊接开发板的同学,在开发板上进行调试。 (1)时间显示在1602液晶上,并且按秒实时更新。 (2)使用按键随时调节时钟的时、分、秒,按键可设计三个有效键,分别为功能选择键、数值增大键和数值减小键。 (3)每次有键按下时地,蜂鸣器都以短“滴”声报警。 (4)如何继续断电前的时间。 设计要求: (1)确定系统设计方案; (2)进行系统的硬件设计; (3)完成必要的参数计算与元器件选择; (4)开发板焊接及测试 (5)完成应用程序设计; (6)应用系统的硬件和软件的调试。

二、进度安排 第一周: 周一:集中布置课程设计相关事宜,并查阅、收集相关设计资料。 周二:系统方案设计。 周三~周五:实验室进行硬件设计,软件设计及调试。 第二周: 周一~周二:实验室系统仿真及硬件调试。 周三:实验室检查调试结果。 周四:撰写设计报告。 周五:进行答辩和上交设计说明书。 三、参考资料 1、周向红.51系列单片机应用与实践教程.北京航空航天大学出版社.2008.5 2、周向红.51单片机课程设计.华中科技大学出版社.2011.1 3、王迎旭.单片机原理及应用(第2版).机械工业出版社.2012.2 4、郭天祥.51单片机C语言教程(入门提高开发拓展全攻略).电子工业出版社.2012.1 5、樊思奇.80C51单片机C语言程序设计完全手册.电子工业出版社.2014.5 6、彭伟.单片机C语言程序设计实训100例基于8051+Proteus仿真.电子工业出版社.2009.6 7、孙安青.MCS-51单片机C语言编程100例(第二版).中国电力出版社.2017.6 8、赵建领.零基础学单片机C语言程序设计.机械工业出版社.2012.9

单片机实训心得体会

单片机实训心得体会 导读:本文是关于单片机实训心得体会,希望能帮助到您! 单片机实训心得体会一 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。 俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的课程设计算起来在实验室的时间只有三天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。 硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,

有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。 再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。 单片机实训心得体会二 这个学期的单片机课已经早早的上完了,但是理论纯属理论,没有与实践的结合总让我们学的不踏实,感觉没有达到学以致用的效果。所庆幸的是在课程介绍考试完之后,老师给我们安排了这次单片机课程设计,给了我们学以致用的做好的实践。 关于这次课程设计,我们花费了比较多的心思,既是对课程理论内容的一次复习和巩固,还让我们丰富了更多与该专业相关的其他知识,比如软件应用等,在摸索中学习,在摸索中成长,在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获,在真正设计之前我们做了相当丰富的准备,首先巩固一下课程理论,再一遍熟悉课程知识的构架,然后结合加以理论分析、总结,有了一个清晰的思路和一个完整的的软件流程图之后才着手设计。在设计程序时,我们不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;养成注释程序的好习惯是非常必要的,一个程序的完美与否不仅仅是实现功能,而应

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