单片机接口技术第四次实验

合集下载

《单片机原理及接口技术》课程实验大纲

《单片机原理及接口技术》课程实验大纲

《单片机原理及接口技术》课程实验大纲课程名称:《单片机原理及接口技术》实验英文名称:《MCU principles and interface technologies》experiment课程性质:专业选修课程课程编号:0510085所属系部:机电工程学院总学时:14学时预备知识:电路、数字电子技术课程在教学计划中的地位作用:本课程是机械电子工程专业的一门重要专业选修课程。

目前单片机技术开发和应用水平已成为一个国家工业化发展水平的标志之一。

单片机原理及其应用已成为从事电子技术的工程技术人员必须掌握的基础理论和基本技能之一。

通过本课程的学习使学生实践上掌握单片计算机的基本组成、工作原理及常用接口技术,建立单片机系统整体概念,使学生具备单片机应用系统软、硬件开发的初步能力。

教学方式:理论与实践相结合教学的目的与要求:通过本课程的学习,使学生掌握单片机的硬件结构、MCS-51的指令系统、MCS-51汇编语言程序设计、MCS-51的中断系统、MCS-51的定时器/计数器、MCS-51的串行口、MCS-51单片机扩展存储器的设计、MCS-51扩展I/O接口的设计、MCS-51 与键盘、显示器的接口设计、MCS-51单片机与D/A转换器和A/D转换器的接口、MCS-51的功率接口、MCS-51的串行通信技术及其扩展接口。

进一步理解MCS-51单片机的开发装置、工作原理、编程方法,学会使用开发机进行程序。

课程教材:《单片机原理及接口技术》蔡美琴主编高等教育出版社参考书目:1.《单片机程序设计基础》周航慈主编北京航天航空大学出版社2. 《单片机原理及其接口技术》胡汉才主编清华大学出版社编写日期:2012年6月制定课程内容及学时分配:发光二极管显示各相状态。

要求:掌握步进电机控制系统的硬件设计方法;熟悉步进电机驱动程序的设计与调试,提高单片机应用系统设计和调试的能力。

正确连接电路,编写程序,调试运行。

实验一P1口亮灯实验一、实验目的1.学习P1口的使用方法;2.学习延时子程序的编写。

单片机原理及接口技术第四版答案

单片机原理及接口技术第四版答案

单片机原理及接口技术第四版答案【篇一:《单片机原理及接口技术(第2版)张毅刚》第4章习题及答案】第4章 at89s51单片机的中断系统思考题及习题41.外部中断1的中断入口地址为 ,定时器1的中断入口地址为。

答:0013h;001bh2.若(ip)=00010100b,则优先级最高者为,最低者为。

答:外部中断1,定时器t13.中断服务子程序与普通子程序有哪些相同和不同之处?答:reti指令在返回的同时自动清除相应的不可寻址的优先级触发器,以允许下次中断,而ret指令则没有这个操作。

除了这一点两条指令不同外,其它操作都相同。

4.下列说法正确的是。

答:da. 各中断源发出的中断请求信号,都会标记在at89s51的ie寄存器中b. 各中断源发出的中断请求信号,都会标记在at89s51的tmod寄存器中c. 各中断源发出的中断请求信号,都会标记在at89s51的ip寄存器中d. 各中断源发出的中断请求信号,都会标记在at89s51的tcon与scon寄存器中5.at89s51单片机响应外部中断的典型时间是多少?在哪些情况下,cpu将推迟对外部中断请求的响应?答:在一个单一中断的系统里,at89s51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。

在下述三种情况下,at89s51将推迟对外部中断请求的响应:(1)at89s52正在处理同级或更高优先级的中断。

(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。

(3)正在执行的指令是reti或是访问ie或ip的指令。

如果存在上述三种情况之一,at89s52将丢弃中断查询结果,将推迟对外部中断请求的响应。

6.中断查询确认后,在下列各种at89s51单片机运行情况下,能立即进行响应的是。

a. 当前正在进行高优先级中断处理b. 当前正在执行reti指令c. 当前指令是div指令,且正处于取指令的机器周期d. 当前指令是mov a,r3答:d7. at89s51单片机响应中断后,产生长调用指令lcall,执行该指令的过程包括:首先把的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送,使程序执行转向中的中断地址区。

单片机原理及其接口技术王敏课后作业答案

单片机原理及其接口技术王敏课后作业答案

第二章作业(P40)2-4 MCS-51单片机中执行程序的地址放在哪由几个位组成最大寻址范围是多少答:放在程序计数器PC中,16位,64KB。

2-5 在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元有什么特定的含义答: 0000H 复位后,PC=0000H,开始执行程序的地址0003H 外部中断0 (INT0)入口地址000BH 定时器0中断(TF0)入口地址0013H 外部中断1(INT1)入口地址001BH 定时器1中断( TF1)入口地址0023H 串行口中断TI/RI入口地址2-10 开机复位以后,CPU使用哪一组工作寄存器它们的地址是什么如何改变当前工作寄存器答:使用第0组工作寄存器,00H-07H,通过修改PSW中的RS1和RS0两位来改变当前的工作寄存器。

第三章作业(P75)3-7 指出指令中的50H或66H个代表什么解:① MOV A, #50H 立即数MOV A, 50H 直接地址MOV 50H, #20H 直接地址MOV C, 50H 位地址MOV 50H, 20H 直接地址② MOV @R0, #66H 立即数MOV R6, #66H 立即数MOV 66H, #45H 直接地址MOV 66H, C 位地址MOV 66H, R1 直接地址3-9 写出能完成下列数据传送的指令:解:① R1中内容传送到R0;MOV A, R1MOV R0,A②内部RAM 20H单元中的内容送到30H单元;MOV 30H, 20H③外部RAM 20H单元中的内容送到内部RAM 20H单元;MOV R0, #20HMOVX A, @R0MOV 20H, A④外部RAM 2000H单元中的内容送到内部RAM 20H单元;MOV DPTR, #2000HMOVX A, @DPTRMOV 20H, A⑤外部ROM 2000H单元中的内容送到内部RAM 20H单元;MOV DPTR, #2000HMOV A, #00HMOVC A, @A+DPTRMOV 20H, A⑥外部2000H单元中的内容送到外部RAM 3000H单元;MOV DPTR, #2000HMOVX A, @DPTRMOV DPTR, #3000HMOVX @DPTR, A3-11 已知:(20H)=X;(21H)=Y;(22H)=Z,请用图示说明下列程序执行后堆栈的内容是多少① MOV SP, #70H ② MOV SP, #60HPUSH 20H PUSH 22HPUSH 21H PUSH 21HPUSH 22H PUSH 20H解:(73H)=Z;(72H)=Y;(71H)=X;(63H)=X;(62H)=Y;(61H)=Z;3-20 试编出能完成如下操作的程序:解:①使20H单元中数的高两位变“0”,其余位不变;ANL 20H, #3FH②使20H单元中数的高两位变“1”,其余位不变;0RL 20H, #0C0H③使20H单元中数的高两位变反,其余位不变;XRL 20H, #0C0H④使20H单元中数的高四位变“1”,低四位变“0”;MOV 20H, #0F0H⑤使20H单元中数的所有位变反。

单片机课程设计 报告

单片机课程设计 报告

《单片机应用设计报告》系别电子信息与电气工程系专业自动化班级 09 级 (1) 班姓名王杰王典老师储忠完成时间 2012年5月18日单片机原理及接口技术课程设计报告摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

MCS-51单片机是使用极为广泛的一款8位单片机,在此次实训中所用的单片机是美国Atmel公司生产的以8031为内核的AT89S52单片机。

实训分别以构建单片机最小系统版、74HC138流水灯、8255交通灯、8253方波、6N137光耦控制继电器等几个实验关键词:AT89S52 74HC138 8255A 8253 6N137 交通灯目录单片机原理及接口技术课程设计报告 (1)实验一构建单片机最小系统和实验环境熟悉 (3)1.1单片机的工作原理 (3)1.1.1单片机最小系统图 (3)1.1.2运算器简介 (4)1.1.3控制器简介 (5)1.1.4实验解析与总结 (7)实验二跑马灯实验及74HC138译码器 (7)2.1实验内容 (7)2.1.1实验原理 (8)2.1.2实验原理图 (8)2.1.3实验程序流程图 (9)2.1.4实验程序代码 (9)2.1.5完成后的效果图 (10)2.2实验总结 (10)实验三8255控制交通灯实验 (11)3.1实验内容 (11)3.1.3实验原理 (11)3.1.2实验原理电路图 (12)3.1.3程序流程图 (13)3.1.4实验程序代码 (13)3.1.5系统实现图 (15)3.2 8255A寻址原理 (15)3.3实验总结 (16)实验四8253方波实验 (17)4.1实验内容 (17)4.1.1实验原理图 (17)4.1.2实验原理电路图 (17)4.1.3程序流程图 (18)4.1.4程序流程代码 (19)4.1.4系统仿真 (20)4.2实验总结 (21)实训总结 (21)附录 (22)1 实验源程序 (22)2仿真系统电路原理图 (27)3硬件实物照片 (27)实验一构建单片机最小系统和实验环境熟悉1.1单片机的工作原理1.1.1单片机最小系统图单片机最小系统主要有外部晶振电路,系统复位电路以及供电电源组成。

单片机原理及接口技术

单片机原理及接口技术

单片机原理及接口技术在当今数字化时代,单片机已经成为嵌入式系统设计中不可或缺的重要组成部分。

本文将介绍单片机的工作原理以及与外部设备进行通信的接口技术。

单片机工作原理单片机是一种集成了处理器、存储器和输入输出设备等功能模块的微型计算机系统。

它通常由中央处理器(CPU)、存储器(RAM和ROM)、计时器(Timer)、串行通信接口(UART)和引脚(Port)组成。

单片机的工作原理可以简要描述为以下几个步骤:1.初始化:单片机在上电时会执行初始化程序,设置各种工作模式、配置寄存器等。

2.执行程序:单片机会根据存储器中存储的程序指令序列来执行相应的操作,包括算术逻辑运算、控制流程等。

3.输入输出操作:单片机通过输入输出接口与外部设备进行通信,如传感器、执行器等。

4.中断处理:单片机可以在特定条件下触发中断请求,暂停当前执行的程序,转而执行中断服务程序,处理相应的事件或信号。

单片机接口技术单片机与外部设备的通信主要依赖于接口技术,包括数字输入输出接口、模拟输入输出接口以及通信接口等。

数字输入输出接口数字输入输出接口用于与二进制设备进行通信,通过配置相应的引脚工作在输入或输出模式,实现信号的采集与输出。

常用的数字输入输出方式包括GPIO口、SPI接口、I2C接口等。

模拟输入输出接口模拟输入输出接口用于处理模拟信号,包括模拟输入端口和模拟输出端口。

模拟输入端口通过模数转换器将模拟信号转换为数字信号,模拟输出端口则通过数模转换器将数字信号转换为模拟信号。

通信接口通信接口是单片机与外部设备进行数据交换的重要手段,主要有串行通信接口(UART)、并行通信接口(Parallel)、CAN接口等。

通过这些通信接口,单片机可以实现与其他设备的数据交换与通信。

结语单片机原理及接口技术是嵌入式系统设计的基础知识,通过深入了解单片机的工作原理和接口技术,可以更好地应用单片机进行系统设计与开发。

希望本文对读者有所帮助,谢谢!以上是关于单片机原理及接口技术的简要介绍,希望能对读者有所启发。

单片机原理与接口技术实验教学改革与实践

单片机原理与接口技术实验教学改革与实践

单 片 机 原 理 与 接 口技 术 实验 教 学 改革 与 实践
丁保 华 ,张 有 忠 ,陈 军 ,孟 凡喜
( 国矿 业 大 学 机 电 X 程 学 院 ,江 苏 徐 州 2 1 1 ) 中 - 2 1 6
接 口技 术 课 程 中 占有 非 常重 要 的 地 位 , 何 切 实 提 高实 验 教 学 质 量 一 直 是 实 如
( h lo e ha c la e toni Sc oo fM c nia nd Elc r c Engi e i ne rng , Chi nie st i i d Te hn o na U v r iy ofM nng an c olgy,
Xuz u 221 6,Chi a ) ho 11 n
二 C N 1 — 2 4 T 1 O3 /






第 2 7卷
第 1期
21 0 0年 1 月
Ex e i e a e h o o y a d M a a e e t p rm nt lT c n l g n n g m n
Vo . 7 No 1 J n 2 0 12 . a . 01
地 掌 握 单 片 机 , 了 具 有 单 片 机 、 子 技 术 的 基 本 知 识 除 电
与接 口技 术课 程开 设 多年来 , 问虽 然也进 行 过改革 , 期 但 也仅 仅 是 内容 、 时上 的调 整 , 学 比如 增 加 实 验学 时 、
t lt ac ng n u t e s ud e a l l g. T h a b c a out CU xpe i e a e c ng i s us e a e hi l s b t id l on a e dr w a k b M e rm nt lt a hi s dic s d, ide n — pe nde e e pe i e t e t r s gve n he p a tc s ha e c r id ou . The e e i e a e hi g s a di nc x rm n allc u ei i n a d t r c ie v a re t xp rm nt lt ac n t n ng a d s ud nt ’ pr c ia biiy a e i pr e nd e n e eor sa e p o ot d n t e s a tc la lt r m ov d i e d a d de p r f m r r m e . Ke r y wo ds:e pe i e t lt a hi e o m ;nde en nc x rm e t; ir o r lr u t M CU ) x rm n a e c ng r f r i p de e e pe i n m co c ntole ni(

实验四 LED数码管显示实验报告

实验四 LED数码管显示实验报告

实验名称 LED数码管显示实验指导教师曹丹华专业班级光电1202班姓名陈敬人学号联系电话一、任务要求实验目的:理解LED七段数码管的显示控制原理,掌握数码管与MCU的接口技术,能够编写数码管显示驱动程序;熟悉接口程序调试方法。

实验内容:1.基础部分:利用C8051F310单片机控制数码管显示器。

利用末位数码管循环显示数字0-F,显示切换频率为1Hz。

2.提高部分:在数码管上显示0→199计数,计数间隔为0.5秒。

二、设计思路1.基础部分C8051F310单片机片上晶振为24.5MHz,采用8分频后为3.0625MHz ,输入时钟信号为48个机器周期,T1采用定时器工作方式1,单次定时最长可达1.027s,可以实现1s定时要求。

定时采用软件查询工作方式,利用JNB TF0, HERE实现。

置P0.6和P0.7端口为0,位选信号选定末位数码管。

通过MOVC A, @A+DPTR指令,利用顺序查表法取出显示段码数据。

寄存器R0自增1,并赋给A以取出下一个显示段码数据。

为减短代码长度,利用CJNE指令实现循环结构。

当寄存器R0增至0FH后,跳转至开头,重新开始下一轮显示。

2.提高部分定时方式及查表方式同基础部分,由于要实现三个数码管同时显示,因此采用动态扫描显示法。

三、资源分配1.基础部分P0.6: 位选信号端口P0.7:位选信号端口P1:输出段码数据R0:存放显示数据DPTR:指向段码数据表首 2.提高部分P0.6:位选信号端口P0.7:位选信号端口R0:存放个位显示数据 R5:存放十位显示数据 R6:存放百位显示数据 P1:输出段码数据DPTR: 指向段码数据表首四、流程图1.基础部分2.提高部分五、源代码(含文件头说明、语句行注释)1.基础部分;******************基础部分源代码***************************;Filename: test.asm;Decription: 末位数码管循环显示数字0-F,显示切换频率为1Hz。

单片机及其接口技术实验报告

单片机及其接口技术实验报告

单片机及接口技术实验报告实验一数据传送程序一、实验目的1、掌握汇编语言设计和调试方法。

2、掌握DVCC实验系统的操作步骤。

二、实验内容1、编程实现,把7000H~70FFH单元的内容清零。

2、编程实现,把源地址为6000H开始的单元内容,传送到目的地址7000H开始的单元中,传送个数为0FFFH个。

三、DVCC实验系统操作说明1、接通DVCC实验系统电源,在DVCC实验箱上应显示闪动的“P”,否则按Reset键。

2、运行DVCC软件。

(程序DVCC598H实验系统DVCC实验系统)3、单击工具栏上“新建”或“打开”按钮,编写源程序。

单击“编译”按钮,使其形成可执行文件。

4、单击工具栏上“联接”按钮,同时按下DVCC实验箱上PCDBG键(键盘上最右边第2个),实现PC机和实验箱的联接。

联机成功,屏幕上出现:.反汇编窗口、寄存器标示位窗口。

5、在成功联机后,单击工具栏上“调试”按钮,把最终目标文件装载到实验系统RAM区;或者通过单击菜单栏中的“动态调试”,选择“传送(.EXE)文件”来实现。

6、单击工具栏上“运行”或“单步”按钮,运行实验程序。

7、单击工具栏上“窗口”,选择“显示内部数据窗口”或“显示外部数据窗口”可显示数据窗口。

鼠标右击数据窗口的数据,可设置数据块新地址;鼠标左键单击数据,可修改数据数值。

8、运行完毕,先按实验箱上的复位按钮Reset键,再按PCDBG键,并且点击屏幕上OK,即可退出运行状态。

四、实验程序代码1、把7000H~70FFH单元的内容清零。

程序代码:ORG 0000HAJMP STARTORG 70HSTART: MOV P2, #70H ;送地址高8位到P2端口MOV R0, #00H ;R0=00H,表地址低8位CLR A ;将累加器A清0LOOP: MOVX @R0, A ;将A送入以R0内容为地址的外部RAM.INC R0 ;R0+1-->R0CJNE R0,#00H,LOOP;比较条件转移指令,若R0不等于0,则跳转到LOOPAJMP $ ;暂停END2、编程实现,将源地址为6000H开始的单元,传送到目的地址7000H开始的单元,传送个数为0FFFH个。

计算机组成原理及接口技术实验报告

计算机组成原理及接口技术实验报告
掌握静态随机存取存储器RAM工作特性及数据的读写方法
二实验步骤
(1)连接实验线路,仔细检查无误后接通电源。
(2)形成时钟脉冲信号T3。在时序电路模块中有两个二进制开关“运行控制”和“运行方式”。将运行控制开关设置为运行状态,运行方式设置为连续状态,按动运行启动开关,则T3有连续的放信号输出,此时调节电位器W1,用示波器观察,使T3输出实验要求的脉冲信号。
DR1
加数2
DR2
S3 S2 S1 S0
M=0(算术运算)
M=1
(逻辑运算)
Cn=1无进位
Cn=0有进位
35
35
48
48
0 0 0 0
F=00010011
F=00100100
F=11011100
0 0 0 1
F=00110011
F=00110100
F=11001100
0 0 1 0
F=11101111
(3)移位,改变S0,S1,M,299B的状态,按动手动脉冲开关以产生时钟脉冲T4,观察移位结果。
三实验结果
35H(00110101)
299B S1 S0 M
0 1 0 0
0 1 0 1
0 0 1 1
0 0 1 0
功能
循环右移
带进位循环右移
CY
带进位循环左移
CY
循环左移
第一次
10011010
00011010
(3)送数据63到寄存器,数据20送地址寄存器,然后将R0寄存器内的数送人存储器,最后将存储器的内容输出到LED上显示。数据开关置数(KD0~KD7=01100011),开输入三态门(SWB=0),存入寄存器R0,按下LDR0。数据开关置数(KD0~KD7=00100000),开输入三态门(SWB=0),存入寄存器R0,按下LDAR。关输入三态门,开R0三态门(SWB=1,ROB=0),R0寄存器的数存入存储器AR(CE=0,WE=1),关R0三态门,关存储器(CE=1,ROB=1),存储器输出到LED显示(WE=0,CE=0,LEDB=0,OUTWR=0)。

单片机与接口技术实验报告冒泡排序实验

单片机与接口技术实验报告冒泡排序实验

单片机与接口技术实验报告冒泡排序实验本实验旨在通过单片机的接口技术,实现冒泡排序算法的实践与理解。

通过实际操作,掌握单片机与接口技术的基本应用,理解冒泡排序算法原理,提升实践能力和编程技能。

冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。

走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

在单片机与接口技术的实验中,我们可以使用LED灯等外部设备来模拟冒泡排序的过程。

通过改变LED灯的亮灭状态,反映出排序过程中数据的交换结果。

确定单片机型号并连接硬件电路。

选择合适的单片机,如8051系列,并搭建相应的硬件电路。

主要包括电源、晶振、输入输出端口、LED灯等。

编写程序代码。

根据冒泡排序算法,编写适用于所选单片机的程序代码。

代码应该能够控制LED灯,根据排序结果改变其亮灭状态。

调试与运行程序。

将程序下载到单片机中,开启电源,观察LED灯的亮灭情况。

检查程序是否能够正确地实现冒泡排序。

记录与分析实验结果。

详细记录LED灯的亮灭状态,分析排序结果是否正确。

同时,对程序进行优化,提高排序效率。

经过实验,我们成功地在单片机上实现了冒泡排序算法。

观察LED灯的亮灭情况,我们可以看到排序过程中的数据交换过程。

通过对比理论结果与实际结果,我们发现二者基本一致,说明我们的程序正确地实现了冒泡排序。

在实验过程中,我们遇到了一些问题,如初始时端口设置不正确导致LED灯无法正常显示、数据交换过程中出现异常等。

针对这些问题,我们通过查阅资料和讨论,对程序进行了相应的修改和优化,最终解决了问题。

通过本实验,我们不仅加深了对冒泡排序算法的理解,还掌握了单片机与接口技术的应用。

同时,实验过程中的问题也锻炼了我们的解决问题的能力。

本实验还提高了我们的实践能力和编程技能,为后续的学习和实践打下了坚实的基础。

课程思政在“单片机原理与接口技术”课程教学中探究与实践

课程思政在“单片机原理与接口技术”课程教学中探究与实践

课程思政在“单片机原理与接口技术”课程教学中探究与实践摘要:针对当前单片机原理与接口技术课程在教学过程中存在的问题,采用以课程思政的理念和课程标准相结合为指导,设计出在课程思政环境下的教学模式和教学目标,以课程思政元素为切入点,采用专业知识和课程思政进课堂的教学模式。

探索新型的课程思政化教育模式,以立德树人为宗旨,在每个教学课堂、教学环节充分体现课程思政的思政育人功能,扎实有效地对学生进行思想政治和专业课程相融合的教育。

关键词:课程思政、单片机、课程教学引沿“课程思政”是党中央推动新时代教育事业深化发展的一项重大战略部署,是高校在思想政治工作质量中落实“立德树人”的一项重要战略举措,对培养社会主义事业合格建设者和接班人有着十分重要的作用。

单片机原理与接口技术在实际授课中依托学院应用电子技术高水平省级专业群建设,紧紧围绕“立德树人”及单片机原理与接口技术课程教学标准和课程培养目标,依据当今高等职业教育发展目标,在培养工程技术应用型人才模式的引领下,实际教学过程融入课程思政元素与真实工程项目相结合,在项目实施过程中运用任务项目驱动式教学模式旨在培养职业学生操作实践能力为核心,通过该课程的学习使得应用电子技术专业、电气自动化技术专业等相关专业学生能够掌握单片机的基本原理,通过知识的学习并进一步具备单片机系统开发的能力,培养学生独立分析问题和解决项目工程中的问题的能力,为后续职业发展提供有力保障。

融入思政元素旨在培养学生具有爱国情怀,激发学生不辞辛苦奋斗的精神,鼓励学生在项目中要有一丝不苟的精神,努力成为大国工匠。

一、课堂教学思路探究教学实施过程中探索新的课程思政化教学模式,结合职业教育精神以立德树人为根本宗旨,在教学过程中要做到教书育人相统一,言传身教相统一,争取每个教学活动都能够体现出课程思政的功能,通过专业课程的学习既能够让学生学到专业知识又能够学到思想政治教育。

充分理解课程思政的教育理念,在实际课堂教学过程中把思政教育充分有机分解融合到每个章节的知识点中,既能充分体现思政教育在专业课程中的育人功能,又能体现出专业老师的育人责任。

单片机原理与接口技术课后答案

单片机原理与接口技术课后答案

单片机原理与接口技术课后答案以下为单片机原理与接口技术课后答案:1. 什么是单片机?单片机是一种高度集成的计算机内核,具有处理器、内存、输入/输出接口等元件,可以用于控制、处理和操作外部设备。

2. 单片机的工作原理是什么?单片机的工作原理是通过执行存储在其内部存储器中的指令,来控制外围设备的操作。

它具有时钟、ALU、寄存器和一个指令集,通过时钟信号的控制,按照程序指令的顺序进行执行。

3. 单片机与外部设备的连接方式有哪些?单片机与外部设备的连接方式有并行接口、串行接口、通信总线接口等。

4. 并行接口是如何工作的?并行接口是使用多个传输线同时传输数据的接口。

单片机通过并行接口的数据总线,向外部设备发送数据或接收数据,同时通过控制线发送控制信号。

5. 串行接口是如何工作的?串行接口是使用单个传输线逐位传输数据的接口。

单片机通过串行接口的发送线发送数据,通过接收线接收数据,并且通过控制线发送控制信号。

6. 通信总线接口是如何工作的?通信总线接口通过将单片机与外部设备连接到同一总线上,实现它们之间的通信。

单片机可以通过总线向外部设备发送数据或接收数据。

7. 单片机的输入接口如何实现?单片机的输入接口可以通过输入寄存器、输入缓冲器和输入/输出控制电路等,将外部设备的信号输入到单片机中。

8. 单片机的输出接口如何实现?单片机的输出接口可以通过输出寄存器、输出缓冲器和输出/输入控制电路等,将单片机中的数据发送到外部设备。

9. 单片机的中断技术是什么?单片机的中断技术是在执行程序的过程中,根据一定的条件发生中断,暂停当前的程序执行,转而处理中断服务程序,然后再返回到原来的程序继续执行。

10. 单片机的定时器/计数器是什么?单片机的定时器/计数器是一种可编程的设备,可用于产生定时延迟、计数外设事件等。

它可以通过编程设置计数范围和工作方式,在给定的时钟信号下进行计数操作。

以上为单片机原理与接口技术课后答案。

单片机原理及接口技术实验报告

单片机原理及接口技术实验报告

单片机原理及接口技术实验报告一、引言单片机(Microcontroller)是一种集成为了处理器、存储器和各种接口电路的微型计算机系统。

它具有体积小、功耗低、成本低等优点,广泛应用于嵌入式系统、自动化控制、电子设备等领域。

本实验旨在深入了解单片机的原理和接口技术,并通过实验验证相关理论。

二、实验目的1. 理解单片机的基本原理和结构。

2. 掌握单片机与外部器件的接口技术。

3. 进一步培养实际操作能力和解决问题的能力。

三、实验仪器与材料1. 单片机开辟板2. 电脑3. 串口线4. LED灯5. 蜂鸣器6. 数码管7. 按键开关8. 电阻、电容等元件四、实验内容与步骤1. 单片机原理实验1.1 单片机的基本结构单片机由中央处理器(CPU)、存储器(RAM、ROM)、输入输出接口(I/O)、定时器/计数器、串行通信接口等组成。

通过学习单片机的基本结构,我们可以了解各个部份的功能和作用。

1.2 单片机的工作原理单片机的工作原理是指单片机在不同工作模式下的内部状态和运行规律。

通过学习单片机的工作原理,我们可以更好地理解单片机的工作过程,为后续的实验操作提供基础。

2. 单片机接口技术实验2.1 LED灯接口实验将LED灯与单片机相连,通过控制单片机的输出口电平,控制LED灯的亮灭。

通过实验,我们可以学习到单片机的输出接口的使用方法。

2.2 蜂鸣器接口实验将蜂鸣器与单片机相连,通过控制单片机的输出口电平和频率,控制蜂鸣器的声音。

通过实验,我们可以学习到单片机的输出接口的使用方法。

2.3 数码管接口实验将数码管与单片机相连,通过控制单片机的输出口电平和数据,显示不同的数字。

通过实验,我们可以学习到单片机的输出接口和数码管的使用方法。

2.4 按键开关接口实验将按键开关与单片机相连,通过检测单片机的输入口电平,实现按键的功能。

通过实验,我们可以学习到单片机的输入接口的使用方法。

五、实验结果与分析1. 单片机原理实验结果通过学习单片机的基本结构和工作原理,我们深入了解了单片机的内部组成和工作过程,为后续的接口技术实验打下了基础。

单片机实验的实验心得8篇

单片机实验的实验心得8篇

单片机实验的实验心得8篇(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作计划、工作总结、心得体会、条据文书、汇报材料、规章制度、合同协议、教学资料、作文大全、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays for everyone, such as work plans, work summaries, reflections, written documents, reporting materials, rules and regulations, contract agreements, teaching materials, essay summaries, other sample essays, etc. If you want to learn about different sample essay formats and writing methods, please stay tuned!单片机实验的实验心得8篇真实的感受和深入的思考是我们获得优秀心得体会的必要条件,心得体会是通过实际经验的积累而得出的,本店铺今天就为您带来了单片机实验的实验心得8篇,相信一定会对你有所帮助。

单片机原理及接口技术课程实验教学改革

单片机原理及接口技术课程实验教学改革

( )现 状分 析 一
单 片 机 的 出现 是 近 代 计 算 机 技 术 发 展 史 上 的一 个 重 要 里 程 碑 ,其 诞 生 标 志 着 计 算 机 正式 形 成 了 通 用 计 算 机 系 统 和 嵌
图 2 下载线原理 图
入式计算机 系统两大分支 。但 目前的理工科教育存在着 重知
1具有 自开发功能实验系统 . 系统组成如图 1所 示,主要包括 计算机 与单片机 实验系
统两大部分。单片机 实验 系统 采用 A M L公司的 A 8 S 2单 TE T95
片 机 ,以 8 5 0 1为 内核 ,它 在 存 储 器 容 量 、 中 断源 和 1 定 6位 时 / 数 器 都 较 A 8 S 1有 所 增 加 ,还 具 有 在 线 下 载 功 能 ,可 计 T 95 实 现 下 载 和 在 线 编 程 功 能 , 所 以只 要 有 了 计 算 机 和 A 8 S 2 T 9 5 最 小 系 统板 就 可 开 始 实验 。
【 摘 要 】通过对单片机原理及接 口技 术课 程的教 学改革 实践 ,在教 学体 系中设计 了具有 自开发功能 的单 片机 实验 系统 ,
引导学生 自学 ,培 养 了学生的动手能力 ,提 高 了单片机 原理 及接 口技 术课 程的教 学质量和学生的 实验技 能。
【 关键词 】单片机 实验 系统 ;自开发 功能 ;教 学改革
图 3 A 8 S 2最 小 系统 板 框 图 T95
2 学习兴趣的培养 .
在 实验 教 学 改 革 过 程 中 ,课 题 组 通 过 组 建 电子 兴 趣 小 组 , 吸 引 大 学 新 生 加 入 ,然 后 有 组 织 有 计 划 地 对 他 们 进 行 培 训 , 让 他 们 在 开放 实验 室 学 习基 本 理 论 知识 ,掌 握 一 些 基 本 技 能 。 还 开 设 了 综 合 开 放 实 验 室 , 在 课 余 、双 休 日及 寒 暑 假 对 学 生

单片机实验报告范文

单片机实验报告范文

单片机实验报告范文
一、实验目的
通过本次实验,掌握单片机的基本原理与编程方法,熟悉单片机的开发环境,技能,了解单片机的必要电路原理。

二、实验器材和软件
器材:STC89C52单片机板、开发环境、PC机、线路板、电源、按钮开关、LED灯、蜂鸣器等。

软件:Keil uVision4编译器。

三、实验内容
1.点亮一个LED灯
将LED灯连接到单片机的1号引脚,通过编写程序点亮LED灯。

2.使用按钮开关控制LED灯
将按钮开关连接到单片机的2号引脚,编写程序使按钮开关控制LED 灯的亮灭。

3.通过串口将数据发送给PC机
设置单片机与PC机进行串口通信,通过编写程序将单片机中的数据发送给PC机。

四、实验步骤
1.按照实验器材和软件的要求搭建实验电路。

五、实验结果与分析
实验中点亮一个LED灯、使用按钮开关控制LED灯、通过串口将数据发送给PC机的实验均取得了预期的结果,显示出了单片机的基本原理与编程方法。

六、实验总结
通过这次实验,我深入了解了单片机的工作原理和编程方法,掌握了单片机的开发环境和技能,学会了使用单片机将数据发送到PC机,并能通过编程控制LED灯的亮灭。

实验过程中也遇到了一些问题,如电路连接不正确、程序代码错误等,但通过仔细排查和调试,最终解决了问题。

这次实验使我对单片机的实际应用有了更深的认识,也为今后进一步学习和应用提供了基础。

参考资料:
无。

单片机原理及接口技术课后答案

单片机原理及接口技术课后答案

单片机原理及接口技术课后答案一. 单片机原理答案:1. 单片机是一种集成电路,内部集成了处理器、存储器、输入输出接口、定时器等功能部件,可作为微型计算机独立运行。

2. 单片机是指在一个芯片上集成了微处理器和其他功能部件的集成电路。

3. 单片机通常由中央处理器(CPU)、存储器(RAM和ROM)、输入输出(I/O)端口和定时/计数器组成。

二. 接口技术答案:1. 并行接口:数据同时传输多个位,可实现高速数据传输,例如并口打印机接口。

2. 串行接口:数据逐位传输,可以减少传输线路的数量,适用于长距离传输和高速传输,例如串口通信接口。

3. USB接口:通用串行总线接口,可同时传输数据和供电,适用于各种外部设备的连接。

4. 显示接口:用于连接显示器和单片机,例如VGA接口和HDMI接口。

5. 通信接口:用于与其他设备进行数据通信,例如以太网接口、无线通信接口等。

三. 单片机接口技术答案:1. 数字输入输出(GPIO):用于控制外部数字设备的输入和输出,可进行数据采集、信号发送等操作。

2. PWM输出:通过调节输出信号的占空比来实现模拟输出,适用于控制电机转速、LED亮度等场景。

3. ADC输入:用于对模拟信号进行数字量化转换,实现对外部模拟信号的采样和处理。

4. UART串口通信:通过串口接口进行数据的传输和通信,可连接其他设备进行数据交互。

5. I2C总线:用于连接多个器件,实现器件之间的通信和控制。

四. 其他接口技术答案:1. SPI总线:用于连接外部器件,支持全双工通信和高速数据传输。

2. CAN总线:用于工业控制系统中的设备之间进行通信和数据交换。

3. Ethernet接口:用于连接网络,实现本地网络和互联网的通信。

4. GPIO扩展:通过扩展芯片或寄存器实现更多的GPIO管脚,扩展单片机的输入输出能力。

5. 定时/计数器:通过定时器和计数器实现对时间的计数和控制,用于生成精确的时钟信号和进行定时操作。

单片机原理及接口技术4(邱彬老师)

单片机原理及接口技术4(邱彬老师)
单片机原理及接口技术——自动化系
第4章 MCS-51汇编语言程序设计
(1)标号字段 是语句所在地址的标志符号 ★标号后边必须跟以冒号“:” ★由1-8个ASCII字符组成 ★同一标号在一个程序中只能定义一次 ★不能使用汇编语言已经定义的符号作为标号。 (2)注释字段 必须以“;”开头,可换行书写,但必须注意也要以 分号“;”开头。 汇编时,注释字段不会产生机器代码。 (3)操作码字段 是汇编语言指令中唯一不能空缺的部分。汇编程序就 是根据这一字段来生成机器代码的。
+
A
PC
单片机原理及接口技术——自动化系
第4章 MCS-51汇编语言程序设计
例:根据R7的内容,转向各自对应的操作程序,(R7)=0 转入OPR0;(R7)=1转入OPR1 … (R7)=n转入OPRn
JMP1: MOV DPTR , #TAB1 MOV A , R7 ADD A , R7 JNC NOAD INC DPH NOAD: JMP @A+DPTR TAB1: AJMP OPR0 AJMP OPR1 . . . AJMP OPRn ;转移表首地址送入DPTR ;键号送入A ;R7×2→A(修正变址值) ;判断是否有进位 ;有进位则加到高字节地址 ;转向形成散转地址入口
散转程序
★散转程序是指通过修改某个参数以后,程序可以有三个 以上的流向,多用于键盘程序。 ★常用的指令是:JMP @ A+DPTR,该指令是把16位数 据指针DPTR的内容与累加器A的8位无符号数相加,形 成地址,装入程序计数器PC,形成散转的目的地址。 A中内容为8位 无符号数 16位地址 DPTR
单片机原理及接口技术——自动化系
第4章 MCS-51汇编语言程序设计
数据比较大小程序 方法一:两个数据做减法SUBB,可根据借位CY来判断两 个数的大小。 方法二:两个数据做比较CJNE,再根据是否相等和借位CY来 判断两个数的大小。 例题:设内部RAM的20H、30H单元中分别存放两个8 位的无符号数X、Y,若X≥Y则让P1.0管脚连接的LED亮;若X <Y则让P1.1管脚连接的LED亮。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

I²C总线应用实验一、I²C总线介绍1.1 I²C总线的特性在单片机应用系统中推广I²C总线后将会大大改变单片机应用系统结构、性能,对单片机的应用开发带来以下好处。

1、可最大限度地简化结构,二线制的I²C串行总线使得各电路单元之间只需最简单的2线连接,而且总线接口都已集成在器件中,不需另加总线接口电路,这样减少电路板面积,提高了可靠性,降低了成本。

2、可实现电路系统的模块化、标准化设计。

在I²C总线上各单元电路相互之间没有其它连线,用户常用的单元电路基本上与系统电路无关,故极易形成用户自己的标准化、模块化设计。

3、I²C总线各节点具有独立的电气特性,各节点单元电路能在相互不受影响的情况下,甚至在系统供电情况下接入或撤出,且系统可方便地对某一节点电路进行故障诊断与跟踪,有极好的可维护性。

4、I²C总线系统构成具有最大的灵活性、系统改型设计、或对已加工好的电路板需扩展功能时,对原有设计及电路板系统影响最小,同时标准I²C总线模块的组合开发大大地缩短了新品的开发周期。

1.2 标准模式I²C总线规范I²C总线通过2根线——串行数据(SDA)和串行时钟(SCL)线连接到总线上的任何一个器件,每个器件都应有一个唯一的地址,而且都可以作为一个发送器或接收器。

此外,器件在执行数据传输时也可以被看作是主机或从机。

发送器:本次传送中发送数据(不包括地址和命令)到总线的器件。

接收器:本次传送中从总线接收数据(不包括地址和命令)的器件。

主机:初始化发送、产生时钟信号和终止发送的器件,它可以是发送器或接收器。

主机通常是微控制器。

从机:被主机寻址的器件,它可以是发送器或接收器。

I²C总线是一个多主机的总线,也即可以连接多于一个能控制总线的器件到总线。

当2个以上能控制总线的器件同时发动传输时,只能有一个器件能真正控制总线而成为主机,并使报文并不被破坏,这个过程叫做仲裁。

与此同时,能使多个能控制总线的器件产生时钟信号的同步。

SDA和SCL都是双向线路,连接到总线的器件的输出级必须是漏极开路或集电极开路,都通过一个电流源或上拉电阻连接到正的电源电压,这样才能够实现线与功能。

当总线空闲时,这2条线路都是高电平。

在标准模式下,数据传输的速度为0~100Kbit/s。

1、位传输I²C总线上每传输一个数据位必须产生一个时钟脉冲。

(1)数据的有效性SDA线上的数据必须在时钟线SCL的高电平周期保持稳定,数据线的电平状态只有在SCL 线的时钟信号是低电平时才能改变,如图(31-1)所示。

在标准模式下,高低电平宽度必须不小于4.7Ns。

图 (31-1) I²C总线的位传输(2)起始和停止条件在I²C总线中,唯一违反上述数据有效性的是起始(S)和停止(P)条件,如图(31-2)所示。

起始条件(重复起始条件);在SCL线是高电平时,SDA线从高电平向低电平切换。

停止条件:在SCL线是高电平时,SDA线由低电平向高电平切换。

图 (31-2) 起始和停止条件起始和停止条件一般由主机产生。

起始条件作为一次传送的开始,在起始条件后总线被认为处于忙的状态。

停止条件作为一次传送的结束,在停止条件的某段时间后,总线被认为再次处于空闲状态。

重复起始条件既作为上次传送的结束,也作为下次传送的开始。

2、数据传输(1)字节格式发送到SDA线上的每个字节必须为8位。

每次传输可以发送的字节数量不受限制。

每个字节后必须跟一个应答位。

首先传输的是数据的最高位(MSB),见图(31-3)所示。

图 (31-3) I²C总线的数据传输(2)应答相应的应答时钟脉冲由从机产生。

在应答的时钟脉冲期间,发送器释放SDA线(高)。

在应答的时钟脉冲期间,接收器必须将SDA线拉低,使她在这个时钟脉冲的高电平期间保持稳定的低电平。

如图3. 3中时钟信号SCL的第9位。

一般说来,被寻址匹配的从机或可继续接收下一字节的接收器将产生一个应答。

若作为发送器的主机在发送完一个字节后,没有收到应答位(或收到一个非应答位),或作为接收器的主机没有发送应答位(或发送一个非应答位),那么主机必须产生一个停止条件或重复起始条件来结束本次传输。

若从机—接收器不能接收更多的数据字节,将不产生这个应答位:主机—接收器在接收完最后一个字节后不产生应答,通知从机—发送器数据结束。

3、仲裁与时钟发生(1)同步时钟同步通过各个能产生时钟的器件线与连接到SCL线上来实现的,上述的各个器件可能都有自己独立的时钟,各个时钟信号的频率、周期、相位和占空比可能都不相同,由于“线与”的结果,在SCL线上产生的实际时钟的低电平宽度由低电平持续时间最长的器件决定,而高电平宽度由高电平持续时间最短的器件决定。

(2)仲裁当总线空闲时,多个主机同时启动传输,可能会有不止一个主机检测到满足起始条件,而同时获得主机权,这样就要进行仲裁。

当SCL线是高电平时,仲裁在SDA线发生,当其他主机发送低电平时,发送高电平的主机将丢失仲裁,因为总线上的电平与它自己的电平不同。

仲裁可以持续多位,它的第一个阶段是比较地址位,如果每个主机都尝试寻址相同的器件,仲裁会继续比较数据位,或者比较响应位。

因为I²C总线的地址和数据信息由赢得仲裁的主机决定,在仲裁过程中不会丢失信息。

(3)用时钟同步机制作为握手器件可以快速接收数据字节,但可能需要更多时间保存接收到的字节或准备一个要发送的字节。

此时,这个器件可以使SCL线保持低电平,迫使与之交换数据的器件进入等待状态,直到准备好下一字节的发送或接收。

4、传输协议(1)寻址字节主机产生起始条件后,发送的第一个字节为寻址字节,该字节的头7位(高7位)为从机地址,最低位(LSB)决定了报文的方向,“0”表示主机写信息到从机,“1”表示主机读从机中的信息,如图(31-4)所示。

当发送了一个地址后,系统中的每个器件都将头7位与它自己的地址比较。

如果一样,器件会应答主机的寻址,至于是从机—接收器还是从机—发送器都由R/W位决定。

图 (31-4) 起始条件后的第一个字节从机地址由一个固定的和一个可编程的部分构成。

例如:某些器件有4个固定的位(高4位)和3个可编程的地址位(低3位),那么同一总线上共可以连接8个相同的器件。

I²C 总线委员会协调I²C地址的分配,保留了2组8位地址(0000XXXX和1111XXXX),这2组地址的用途可查阅有关资料。

(2)传输格式主机产生起始条件后,发送一个寻址字节,收到应答后跟着就是数据传输,数据传输一般由主机产生的停止位终止。

但是,如果主机仍希望在总线上通讯,它可以产生重复起始条件(Sr)和寻址另一个从机,而不是首先产生一个停止条件。

在这种传输中,可能有不同的读/写格式结合。

可能的数据传输格式有:主机—发送器发送数据到从机—接收器。

见图(31-5),寻址字节的“R/W”位为0,数据传输的方向不改变。

寻址字节后,主机—接收器立即读从机—发送器中的数据,见图(31-6)。

寻址字节的“R/W”位为1。

在第一次从机产生的响应时,主机—发送器变成主机—接收器,从机—接收器变成从机—发送器。

之后,数据由从机发送,主机接收,每个应答由主机产生,时钟信号CLK仍由主机产生。

若主机要终止本次传输,则发送一个非应答信号(/A),接着主机产生停止条件。

复合格式,见图(31-7)。

传输改变方向的时候,起始条件和从机地址都会被重复。

但R/W位取反。

如果主机—接收器发送一个重复起始条件,它之前应该要发送一个非应答信号(/A)。

图 (31-5) 主机—发送器发送数据到从机—接收器,传输方向不变。

图 (31-6) 寻址字节后,主机—接收器立即读从机—发送器中的数据图 (31-7) 复合格式1.3 虚拟I²C总线汇编程序软件包(V1.1)为了非常方便地对I²C从器件进行快速的、正确的读写操作,为此我们设计了硬件I²C 总线操作平台软件包。

本软件包是字节方式下的硬件I²C总线软件包,只要用户给子程序提供几个主要的参数,即可轻松地完成任何I²C总线外围器件的应用程序设计。

I²C总线是PHILIPS公司推出的芯片间串行数据传输总线,2根线(SDA、SCL)即可实现完善的全双工同步数据传输,能够十分方便地构成多机系统和外围器件扩展系统。

I²C器件是把I²C的协议植入器件的I/O接口,使用时器件直接挂到I²C总线上,这一特点给用户在设计应用系统时带来了极大的便利。

I²C器件无须片选信号,是否选中是由主器件发出的I²C从地址决定的,而I²C器件的从地址是由I²C总线委员会实行统一发配。

我们推出的I²C 总线的操作平台软件包,只要你给出器件从地址,即可进行字节读、字节写、多字节读、多字节写,能够非常方便地使用I²C器件,无须你介入底层的I²C操作协议。

1.4 A51软件包概述此软件包是用在单主I²C总线上,硬件接口是SDA、SCL,使用MCU的I/O来模拟SDA/SCL 总线。

设计有/无子地址的子程序是根据I²C器件的特点,目的在于将地址和数据彻底分开。

软件包的接口界面为:IRDBYTE (无子地址)读单字节数据(现行地址读)IWRBYTE (无子地址)写单字节数据(现行地址写)IRDNBYTE (有子地址)读N字节数据IWRNBYTE (有子地址)写N字节数据IRDNBYTEEXT (无子地址)读N字节数据IWRNBYTEEXT (无子地址)写N字节数据说明:现行地址读/写即专指无子地址的器件,不给定子地址的读/写操作。

软件包占用内部资源: R0,R1,R2,R3,ACC,Cy。

使用前须定义变量:SLA器件从地址,SUBA器件子地址,NUMBYTE读/写的字节数,位变量ACK。

使用前须定义常量:SDA、SCL总线位,MTD发送数据缓冲区首址接口子程序出口参数ACK为0时表示器件无应答1.4.1 软件包清单……………………………………………………………………………………………MCS-51单片机模拟I²C软件包(V1.1)文件名:V I²C_ASM.INC功能说明:本模拟I²C软件包包含了I²C操作的底层子程序,使用前要定义好SCL和SDA。

在标准8051模式(12Clock)下,对主频要求是不高于12MHz(即1个机器周期1us);若Fosc>12 MHz则要增加相应的NOP指令数。

(总线时序符合I²C标准模式,100Kbit/S)……………………………………………………………………………………………启动I²C总线子程序:START: SETB SDANOPSETB SCL ;起始条件建立时间大于4.7 usNOPNOPNOPNOPNOPCLR SDANOP ;起始条件锁定时大于4 usNOPNOPNOPNOPCLR SCL ;钳住总线,准备数据NOPRET结束总线子程序:STOP: CLR SDANOPSETB SCL ;发送结束条件的时钟信号NOP ;结束总线时间大于4 usNOPNOPNOPNOPSETB SDA ;结束总线NOP ;保证一个终止信号和起始信号的空闲时间大于4.7us NOPNOPNOPRET发送应答信号子程序:MACK: CLR SDA ;将SDA置0NOPNOPSETB SCLNOP ;保持数据时间,即SCL为高时间大于4.7 usNOPNOPNOPNOPCLR SCLNOPNOP发送非应答信号:MNACK: SETB SDA ;将SDA置1NOPNOPSETB SCLNOPNOP ;保持数据时间,即SCL为高时间大于4.7 usNOPNOPNOPCLR SCLNOPNOPRET检查应答位子程序(返回值,ACK=1时表示有应答):CACK: SETB SDANOPNOPSETB SCLCLR ACKNOPNOPMOV C, SDAJC CENDSETB ACK ;判断应答位CEND: NOPCLR SCLNOPRET发送字节子程序(字节数据放入ACC, 每发送一字节要调用一次CACK子程序,取应答位): WRBYTE: MOV R0, #08HWLP: RLC A ;取数据位JC WR1SJMP WR0 ;判断数据位WLP1: DJNZ R0, WLPNOPRETWR1: SETB SDA ;发送1NOPSETB SCLNOPNOPNOPNOPCLR SCLSJMP WLP1WR0: CLR SDA ;发送0NOPSETB SCLNOPNOPNOPNOPNOPCLR SCLSJMP WLP1读取字节子程序(读出的值在ACC, 每取一字节要发送一个应答/非应答信号): RDBYTE: MOV R0,#08HRLP: SETB SDANOPSETB SCL ;时钟线为高,接收数据位NOPNOPMOV C, SDA ;读取数据位MOV A, R2CLR SCL ;将SCL拉低,时间大于4.7 usRLC A ;进行数据位的处理MOV R2, ANOPNOPNOPDJNZ R0, RLP ;未够8位,再来一次RET以下是用户接口子程序:无子地址器件写字节数据入口参数:数据为ACC、器件从地址SLA占用:A、 R0、 CYIWRBYTE : PUSH ACCIWBLOOP: LCALL START ;启动总线MOV A, SLALCALL WRBYTE ;发送器件从地址LCALL CACKJNB ACK, RETWRB ;无应答则跳转POP ACC ;写数据LCALL WRBYTELCALL CACK’LCALL STOPRETRETWRB: POP ACCLCALL STOPRET无子地址器件读字节数据入口参数:器件从地址SLA出口参数:数据为ACC占用: A、 R0、 R2、 CYIRDBYTE: LCALL STARTMOV A, SLA ;发送器件从地址INC ALCALL WRBYTELCALL CACKJNB ACK, RETRDBLCALL RDBYTE ;进行读字节操作LCALL MNACK ;发送非应答信号RETRDB: LCALL STOP ;结束总线RET向器件指定子地址写N字节数据入口参数:器件从地址SLA、器件子地址SUBA、发送数据缓冲区MTD、发送字节数NUMBYTE 占用:A、 R0、 R1、 R3、 CYIWRNBYTE: MOV A, NUMBYTEMOV R3, ALCALL START ;启动总线MOV A, SLALCALL WRBYTE ;发送器件从地址LCALL CACKJNB ACK, RETWRN ;无应答则退出MOV A,SUBA ;指定子地址LCALL WRBYTELCALL CACKMOV R1, #MTDWRDA: MOV A,@R1LCALL WRBYTE ;开始写入数据LCALL CACKJNB ACK, IWRNBYTEINC R1DJNZ R3, WRDA ;判断写完没有RETWRN: LCALL STOPRET向器件指定子地址读取N字节数据入口参数:器件从地址SLA、器件子地址SUBA、接收字节数NUMBYTE出口参数:接收数据缓冲区MTD占用:A、 R0、 R1、 R2、 R3、 CYIRDNBYTE: MOV R3, NUMBYTELCALL STARTMOV A, SLALCALL WRBYTE ;发送器件从地址LCALL CACKJNB ACK, RETRDNMOV A, SUBA ;指定子地址LCALL WRBYTELCALL CACKLCALL START ;重新启动总线MOV A, SLAINC A ;准备进行读操作LCALL WRBYTELCALL CACKJNB ACK, IRDNBYTEMOV R1, #MRDRDN1: LCALL RDBYTE ;读操作开始MOV @R1, ADJNZ R3, SACKLCALL MNACK ;最后一字节发非应答位RETRDN: LCALL STOP ;并结束总线RETSACK: LCALL MACKINC R1SJMP RDN1无子地址器件写N字节数据入口参数:器件从地址SLA、发送数据缓冲区MTD、发送字节数NUMBYTE 占用:A、 R0、 R1、 R3、 CY不发送子地址SUBA,直接发送多个数据IWRNBYTEEXT:MOV A, NUMBYTEMOV R3, ALCALL START ;启动总线MOV A, SLALCALL WRBYTE ;发送器件从地址LCALL CACKJNB ACK, RETWRNE ;无应答则退出MOV R1, #MTDWRDAE: MOV A, @R1LCALL WRBYTE ;开始写入数据LCALL CACKJNB ACK, RETWRNEINC R1DJNZ R3, WRDAE ;判断写完没有RETWRNE: LCALL STOPRET无子地址器件读取N字节数据入口参数:器件从地址SLA、器件子地址SUBA、接收字节数NUMBYTE出口参数:接收数据缓冲区MTD占用:A、 R0、R1、 R2、 R3、 CY说明:此函数不发送子地址,也不重新启动总线,而是直接读取多个数据IRDNBYTEEXT:MOV R3, NUMBYTELCALL STARTMOV A, SLAINC ALCALL WRBYTE ;发送器件从地址LCALL CACKJNB ACK, RETRDNEMOV R1, #MRDRDNE1: LCALL RDBYTE ;读操作开始MOV @R1, ADJNZ R3, SACKELCALL MNACK ;最后一字节发非应答位RETRDNE: LCALL STOP ;并结束总线RETSACKE: LCALL MACKINC R1SJMP RDNE1(一) 串行E²PROM的读写实验一、实验目的1、了解掌握I²C总线的原理和应用。

相关文档
最新文档