单片机实验7学习资料
51单片机学习教程第7章 中断PPT课件

2020/8/20
单片机C语言程序设计
19
中断的优先原则
8051单片机中断优先级遵循以下原则:
中断 Interrupt
1
标题添加
点击此处输入相 关文本内容
标题添加
点击此处输入相 关文本内容
总体概述
点击此处输入 相关文本内容
Байду номын сангаас
点击此处输入 相关文本内容
2
中断的事例
日常生活中有很多计划任务要完成 或突发事件要处理,常用的是查询法, 但更好的处理办法是中断。
如烧开水时,水烧开后应及时切断 加热源。
RI/TI=1
10
单片机中断系统的结构
中断服务程序入口地址和中断号:
中断源
中断标志
中断服务程序入 口地址
优先级顺序
外部中断(INT0) IE0
0003H
高
定时/计数器0(T0) TF0
000BH
↓
外部中断(INT1) IE1
0013H
↓
定时/计数器1(T1) TF1
001BH
↓
串行口
RI和TI
0023H
1. 查询法:不断地检查水是否烧开 2. 中断法:在烧水的壶上装哨子,利用水
烧开后的蒸汽吹响哨子
2020/8/20
单片机C语言程序设计
3
中断的概念
计算机处理的任务按实时性要求分 为两类:
1. 非实时性任务:显示刷新、声音鸣响 2. 实时性任务:系统错误处理、实时监控
对于实时性要求高的任务,出现后 要求立即处理,采用轮询的方式容易实 现,但实时性不高,浪费CPU时间,采 用中断的方式较为适宜。
9
单片机中断系统的结构
单片机实验指导书

目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (34)实验八数码管动态显示实验 (39)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。
二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。
三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。
作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。
例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。
5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。
若实验现象有误请重复第5、6步。
六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。
单片机基础知识资料-PPT

第1、3章 单片机应用概述与开发步骤
1. 电子计算机的发展概述
2. 单片机的发展过程及产品近况
3. 单片机的特点 4. 单片机应用系统开发简介
5.1 计算机语言概述
5.2 80C51单片机寻址方式
5.3 80C51单片机指令系统
暂时不讲
5.4 80C51汇编语言程序设计
5.5 80C51单片机C51程序设计语言
5.6 C51的运算符和表达式
5.7 C51的库函数
5.8 C51的应用技巧
第5章 80C51单片机软件基础知识
单片机应用系统
大家有疑问的,可以询问和交流
可以互相讨论下,但要小声点
第1、3章 单片机应用概述与开发步骤
软件系统
• 系统资源分配 • 程序结构 • 数学模型 • 程序流程 • 编制程序
第1、3章 单片机应用概述与开发步骤
程序设计
通常是C语言或者汇编语言,在特定的集成开发环境(IDE)中编程 调试,比如应用最广泛的KEIL uVision3
通过特殊功能寄存器可实现对单片机内部资源的 操作和管理。
常用特殊功能寄存器
第4章 80C51单片机硬件基础知识
常用特殊功能寄存器
第4章 80C51单片机硬件基础知识
常用特殊功能寄存器
端口P0~P3
特殊功能寄存器P0~P3分别是I/O端口P0~P3的锁存 器。80C51单片机是把I/O当作一般的特殊功能寄存器 使用,不专设端口操作指令,使用方便。
•数据缓冲区 30H~7FH是数 据缓冲区,即 用户RAM区, 共80个单元。
单片机实验讲义

单片机实验讲义执笔人:杨晓锋DVCC单片机实验系统简介本科目实验使用的平台为启东公司的DVCC-52JH单片机仿真实验仪(带有配套试验软件)。
可基本满足MCS-51(80C51)系列单片机课程(本/专科)的实验要求。
实验平台资源:1、AT89C52单片机(6MHz晶体振荡器、256B片内RAM、8KB程序存储器(FLASH)、3个定时/计数器、6个中断源(T2))。
2、实验平台带有总线扩展有64BK片外RAM,用户可使用范围0000H~0FEFFH;64KB片外ROM,用户可使用范围0000H~0FEFFH。
3、实验平台的主要芯片有:1片8255可编程通用并行接口芯片、1片8155芯片、1片译码芯片74138、1片74393芯片、1片D/A转换芯片0832、1片A/D转换芯片0809、2片串/并转换芯片74164、若干辅助芯片74240、74373等和常用逻辑门电路芯片。
4、实验平台上的主要外设包括:K1~K10滑动开关、L1~L12发光二极管(有3种颜色)、2个LED七段数码管、1个单脉冲发生器、1个时钟频率选择器、1个步进电机(带驱动电路)、1个直流电机(带驱动电路)、2个电位器、1个继电器、1个扬声器驱动、1个双踪模拟示波器、带有总线扩展区、带有EPROM烧录区。
实验系统的使用步骤:1、在计算机、实验仪关闭时,使用实验平台自带的RS-232通用串口线连接计算机的COM口和实验箱的J2串行口。
2、启动计算机,运行“DVCC52JH实验系统”。
3、在计算机上编写并调试实验程序,在实验箱中联接实验所需连线。
4、打开试验箱电源,点击实验箱上的“复位”按钮,再点击实验箱上键盘区的“PCDBG”按钮。
5、在计算机上的“DVCC实验系统”软件中,左键单击工具栏上的“联接”按钮(或选择“动态调试”菜单下的“联接DVCC实验系统选项”)。
6、如果联接正常将弹出若干小窗口。
如果联接失败重新执行步骤3、4。
选项,将实验程序传送到实验箱。
单片机实验资料大全

一、熟悉学习工具开发板二、点亮LED1.单片机及最小系统电路1)电源电路2)晶振电路3)复位电路2.74HC245和74HC13874HC245的输入:DB_0 即P0.0DB_1 即P0.1DB_2 即P0.2DB_3 即P0.3DB_4 即P0.4DB_5 即P0.5DB_6 即P0.6DB_7 即P0.7U3 74HC138的输入:ADDR0即P1.0ADDR1即P1.1ADDR2即P1.2ADDR3即P1.3 E3ENLED即P1.4 E1 E2 3.跳线4.LED三极管基极端输入LEDS6是U3 74HC138的输出Y68个LED小灯阴极端的8个输入是74HC245的8个输出:DB 0 也就是P0.0DB 1 也就是P0.1DB 2 也就是P0.2DB 3 也就是P0.3DB 4 也就是P0.4DB 5 也就是P0.5DB 6 也就是P0.6DB 7 也就是P0.75.点亮一个LED的程序新建工程,添加.c文件,编辑编译,生成hex文件编译成功会出现reg2.h,,双击可以打开STP-ISP下载程序到板子,小灯被点亮1)点亮第1个小灯,熄灭第1个小灯2)点亮第2个小灯,熄灭第2个小灯3)点亮第3个小灯,熄灭第3个小灯4)点亮第1、2小灯,熄灭第1、2小灯5)点亮第1、3、5、7小灯,熄灭第1、3、5、7小灯三、闪烁LED修改小灯闪烁的时间:低于20ms,大于50HZ,小灯的闪烁人眼看到是连续的四、流水灯1、用P0点亮小灯2、依次点亮每个小灯,依次要赋给P0 的数值就是:0xFE、0xFD、0xFB、0xF7、0xEF、0xDF、0xBF、0x7F。
•左移<<右移>>•左移,最低位填0补充;右移,最高位填0补充•0xf0 11100000 01111000流水灯程序1.将流水灯左移理解透彻后,独立完成流水灯右移操作。
2.独立完成一个左移到头接着右移,右移到头再左移的花样流水灯程序。
单片机实验参考资料 (2)

实验一系统认识实验一、实验目的1.掌握SICElab-G2200实验/仿真系统的结构与使用方法;2.熟悉单片机系统开发软件keilC51。
二、实验设备1.G2200 实验平台 1 台 2.仿真器/ 仿真板 1 台3.连线若干根 4.计算机 1 台三、实验内容P1端口接发光二极管,加1点亮。
四、连线方案:实验箱内部已连好五、实验步骤1.仿真器与实验平台的连接将Lab51板的DC34芯插座与G6W仿真器上的DC34插座用扁平电缆连接起来。
2.仿真器与计算机的连接用随机配带的串口通讯电缆,将仿真器与计算机连接起来,串口1、串口2均可。
特别注意:在仿真器与计算机连接串口电缆时,两台机器必须都断电,否则易损坏计算机和仿真器。
3.实验连线按连线方案,用随机配带的实验连线插入孔后,轻轻转动一下锁紧插头,保证良好接触。
拆线时,应先回转一下,不要硬拨,以免损坏线路板。
不管是拆线还是插线,都应在断电的情况下进行。
实验中“连线方案”的粗线即为需用户动手接连的线。
4.检查接线是否有误,确信没有接错后,接上电源,打开电源开关。
5.在计算机上打开keil软件建立新程序ORG 0MOV P1,#0 ;熄灭发光二极管LOOP: INC P1CALL DelaySJMP LOOPDelay: MOV R2,#3 ;延时程序MOV R1,#0MOV R0,#0DLP: DJNZ R0,DLPDJNZ R1,DLPDJNZ R2,DLPRETEND6.建立新的项目7.设置项目8.编译程序选择菜单[项目 | 编译]功能或按编译快捷图标或按F9键,编译项目。
在编译过程中,如果有错可以在信息窗口中显示出来。
双击错误信息,可以在源程序中定位所在行。
纠正错误后,再次编译直到没有错误。
在编译之前,软件会自动将项目和程序存盘。
在编译没有错误后,就可以执行、调试程序了。
9.执行、调试程序六、实验结果七、实验总结实验二查表程序一、实验目的1.学习Keil uvision3单片机仿真软件的使用方法。
汽车单片机技术教案任务7 单片机并行IO口使用-授课教案

教案用纸课题;MCS-51系列单片机并行I\O口的使用教学目标(知识、能力、情感);知识目标:1、掌握P0 、P1、P2、P3口的使用2、掌握P0 、P1、P2、P3口的结构特点能力目标:培养学生的学习单片机的基本能力情感目标:通过本次课培养学生的基本能力,团队协作能力,激发学生的学习兴趣,教学重点与难点;教学重点:P0 、P1、P2、P3口的使用。
教学难点:P0 、P1、P2、P3口的结构原理。
教学方法(教具);讲授法、演示法,举例法,任务驱动法课型;1、理实一体;2、新授课课时;2课时教学步骤与内容(板书计划);组织教学:(5分钟)1、检查学生人数,强调课堂纪律和要求。
2、上节课内容回顾。
课程讲授:(70分钟)内容回顾:1、单片机复位电路与时钟电路2、单片机最小系统电路的设计课程导入:从单片机LED控制实例引出本次教学内容(举例法,讨论法)一、并行I / O端口四个端口、双向、每个口包含一个锁存器、一个输出驱动器和二个输入缓冲器。
1.P0口(1)、结构(P0口电路图)(2)、通用I / O 口1)读(端口外数据 内部寄存器)方式1(读锁存器)Q G2 D 内部总线,适于“读—修改—写” 方式2(读引脚):P0·x G1 D 内部总线。
作为通用I / O 使用, 是一个准双向口:“在输入数据时应先把口置1,使两个FET 都截止,引脚处于悬浮状态,可作高阻抗输入” 2)写(片内数据 端口)数据 锁存 MUX P0·x 3)地址/数据总线口 控制MUX写:地址/数据为1,P0·x ——高 地址/数据为0,P0·x ——低 读:经缓冲器G1读入 4)负载能力可带8个TTL 输入,驱动NMOS 时,接上拉电阻。
总结特点:(1)P0口可作通用I / O 口使用,又可作地址/数据总线口; (2)P0既可按字节寻址,又可按位寻址; (3)P0作为输入口使用时:是准双向口; (4)作通用I / O 口输出时:是开漏输出;(5)作地址/数据总线口时,P0是一真正双向口,而作通用I / O 口时,只是一个准双向口 二、P1口1、结构只能作I / O 口用,且是一个准双向口。
精品课件-新编单片机原理与应用实验-第7章

2 5 6 9 12 15 16 19
PD0 PD2 PD4
PD3 PD1
U107
D0 D1 D2 D3 D4 D5 D6 D7
34 33 32 31 30 29 28 27
D0 D1 D2 D3 D4 D5 D6 D7
A8 A9
9
8
A0 A1
RD 5
RD
WR 36
WR
Y2 6
CS
RST 35
RESET
实验7 I/O扩展与键盘接口电路
二、实验设备与器材 仿真器及其附件、图1所示的实验电路板各一套。 本实验涉及实验板上的U101、U102、U103、U104、U105、 U107、U109、U200、U203芯片,以及LED200~LED203数码管,而 与其他IC芯片无关。接通电源前,先取下U204、U205两芯片,并 按表7-1设置板上相关的跳线状态。
数字键。
实验7 I/O扩展与键盘接口电路 参考程序如下: ;功能:5×4键盘扫描程序 KEYNAME DATA 28H ;b4~b0位记录按键值b7作为按键 ;有效标志,b7为0时,表示b4~b0位中的键值无效。b7为1;时, ;表示b4~b0位记录的按键值有效,且尚未处理,不能接受新 ;按键。外部程序执行了按键功能后,将按键有效标志清零, ;允许接收新按键。b6为保留位
列 号 加 1, 扫 描 次 数 减 1
键
扫 查 表 获 取 并 记 录 键 名
N
扫描次数
减 到 0?
描 流 按 键 有 效 标 志 置 1
Y
程
退出
(a)
(b)
实验7 I/O扩展与键盘接口电路 四、实验内容、过程及要求 (1) 根据跳线,画出本实验完整的原理图。 (2) 检测按键,并在LED203~LED200数码管上显示被按下的 Nhomakorabea-
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机实验7
实验七直流数字电压表设计
姓名:田坤学号:200912512 专业:电子信息科学与技术
1.实验目的:
掌握LED动态显示和A/D 转换接口设计方法。
2.实验原理:
实验电路原理图如图A..94所示。
图中显示器采用4位共阴极数码管,并按动态显示方式接线。
A/D转换结束标志采用查询法检查,启动信号由软件模拟产生,时钟信号由Proteus的DClock信号发生器产生,频率为5kHz。
电位器的输出电压送到A/D转换器中转换,转换结果以十进制形式显示在数码管上。
调节电位器可使数码管的显示值发生相应变化。
图A.94 实验7的电路原理图
3.实验内容:
(1)、学习使用Proteus软件,掌握原理图绘图方法;
(2)、学习使用Keil C软件,掌握C51程序编写与调试方法;(3)、理解动态显示与A/D转换工作原理,完成单片机电压采集与显示程序的编写与调试。
4.实验步骤:
(1)、在Proteus中绘制电路原理图,按照表A.9将元件添加到编辑环境中;
(2)、在Keil中编写C51程序,并使之编译通过;
(3)、在Proteus中加载程序,观察仿真结果。
5.实验要求:
提交的实验报告中应包括电路原理图、含注释内容的源程序及实验结果分析。
表A.9 实验7的元器件清单
1)源程序如下:
#include <reg51.h> // 头文件
#include <absacc.h>
unsigned int tmp; //定义一个整形中间变量
sbit START=P2^5; //定义ADC0808启动位
sbit ad_busy=P2^6; //定义ADC0808转换结束标志位
sbit OE=P2^7; //定义ADC0808输出使能标志位
sbit P2_0=P2^0; //定义四个数码管
sbit P2_1=P2^1;
sbit P2_2=P2^2;
sbit P2_3=P2^3;
char led_mod[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //LED字模
void delay( unsigned int time) //延时函数
{
unsigned int j=0;
for(;time>0;time--)
for(j=0;j<125;j++) ;
}
void show () // 数码管动态显示函数
{
unsigned i,j;
P2_0=0;
j=tmp/1000;i=j%1000;P0=led_mod[i]; delay(10); // 显示千位 P2_0=1;
P2_1=0;
j=tmp/100;i=j%100;P0=led_mod[i]; delay(10); // 显示百位
P2_1=1;
P2_2=0;
j=tmp/10;i=j%10;P0=led_mod[i]; delay(10); // 显示十位
P2_2=1;
P2_3=0;
i=tmp%10; P0=led_mod[i]; delay(10); // 显示个位
P2_3=1;
}
void main() // 主函数
{
while(1){
START=0;
START=1; // 启动A/D转换
START=0;
while(ad_busy==1); //等待A/D转换结束
OE=1; // 转换结果输出
tmp=P1; // 转换结果赋给中间变量
OE=0;
show(); // 输出转换数据
}
}
2)仿真结果:
3)实验结果分析:
本实验是使用A/D转换器将模拟信号(电位器输出电压)转换为数字信号,A/D转换器与80C51接在一起,转换结果通过80C51以十进制形式动态显示在四个共阴极数码管上,通过改变模拟信号大小可以显示0~255之间任意数据。
其中A/D转换器启动信号由软件模拟产生,时钟信号由Proteus的DClock信号发生器产生。
6.实验小结:
这次实验掌握了数码管动态显示程序的编写,熟练了Proteus软件的使用。