单片机实验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-
单片机讲义第七章
一、中断的起因
什么可以引起中断? 生活中很多事件可以引起中断:有人 按了门铃了,电话铃响了,你的闹钟闹响 了,你烧的水开了….等等诸如此类的事件, 我们把可以引起中断的称之为中断源,单 片机中也有一些可以引起中断的事件, 8051中一共有5个:两个外部中断,两个 计数/定时器中断,一个串行口中断。
三、中断的响应过程
当有事件产生,进入中断之前我们必须先记住现 在看书的第几页了,或拿一个书签放在当前页的位置, 然后去处理不同的事情(因为处理完了,我们还要回 来继续看书):电话铃响我们要到放电话的地方去, 门铃响我们要到门那边去,也说是不同的中断,我们 要在不同的地点处理,而这个地点通常还是固定的。 89C51中也是采用的这种方法,五个中断源,每个 中断产生后都到一个固定的地方去找处理这个中断的 程序,当然在去之前首先要保存下面将执行的指令的 地址,以便处理完中断后回到原来的地方继续往下执 行程序。
二、中断的嵌套与优先级处理
设想一下,我们正在看书,电话铃响了,同时又 有人按了门铃,你该先做那样呢?如果你正是在等一 个很重要的电话,你一般不会去理会门铃的,而反之, 你正在等一个重要的客人,则可能就不会去理会电话 了。如果不是这两者(即不等电话,也不是等人上 门),你可能会按你通常的习惯去处理。总之这里存 在一个优先级的问题, 单片机中也是如此,也有优先级的问题。优先级 的问题不仅仅发生在两个中断同时产生的情况,也发 生在一个中断已产生,又有一个中断产生的情况,比 如你正接电话,有人按门铃的情况,或你正开门与人 交谈,又有电话响了情况。考虑一下我们会怎么办吧。
电平触发的外部中断的清除
对于电平触发的外部中断,CPU响应中断后, 虽然也是由硬件清除了相应的标志位,但是不 能对外部引脚上的电平进行处理,也就是说, 这时如果外部引脚上的低电平依然存在,会造 成重复中断,因此我们应该在电路上增加对外 部引起中断的信号进行处理。P148图7-5是一 个可行的方案之一。通过I/O口输出一个信号, 使得外部引脚上的中断请求信号变为高电平。
单片机原理与应用实验讲义
《单片机原理与应用》实验讲义实验要求及注意事项一.预习实验内容1. 明确本次实验目的及任务,了解和掌握实验所需的理论知识。
2. 通过课上老师讲解,掌握编程方法及相关技巧。
3. 对每次实验,选择一个题目自己试着独立设计编写整个程序。
二.实验过程1. 在实验箱上实验时,连接实验导线一定要关闭实验箱电源,连接好后,在检查一遍是否有误,连接正确后,再依次打开实验箱电源开关及实验底板上电源开关,进行实验。
严禁带电操作。
2. 实验箱底板上的所有芯片出厂时经过严格测试和老化,实验时切忌插拔。
3. 带上理论课教材、实验指导书及准备的实验程序。
4. 调试实验程序,记录实验结果。
5. 实验结束后,关闭实验底板上的电源开关及实验箱电源开关,确认关闭后,整理好自己的实验导线,摆放老师交代的地方。
三.编写实验报告1. 实验题目。
2. 分析设计思想,绘制实验原理图、流程图。
3. 程序清单及相关注释。
4. 分析实验结果。
5. 说明在实验过程中遇到了哪些问题,是如何处理的。
6. 收获体会,不足之处和今后应注意的问题等。
实验目录实验一、单片机P1口实验(02 广告流水灯控制实验)实验二、外部中断实验(12单一外部中断实验)实验三、单片机定时/计数器实验(14 定时器实验)实验四、单片机与与矩阵键盘接口(32 PS/2 键盘实验)实验五、单片机与A/D转换器实验(31 模/数转换器(ADC0809)实验)实验六、单片机串行口实验(16 串行通信RS232 实验)实验一、单片机P1口实验(02 广告流水灯控制实验)一.实验目的1.以P1 口为例,学会使用51 系列单片机I/O 口的基本输出功能;2.学习循环指令的用法和软件延时的编程方法;3. 掌握RR.RL 指令的用法;二.实验内容编写程序,利用单LED 灯有条件的左右扫描,八个LED 发光二极管L0-L7 分别接在单片机的P1.0-P1.7 接口上,输出“0”时,发光二极管点亮,输出”1”时,发光二极管灭,先由右至左P1.0→P1.1→P1.2→P1.3→┅→P1.7 ,再由左往右P1.7→P1.6→┅→P1.0 亮,重复循环下去。
单片机实验讲义
《微机应用实验》课程教学所做的基本实验前言需要说明的是,设置本实验课程的目的完全是为了培养读者的“计算机工程概念”,即学习如何用最短的时间和最少的花费,将实际问题转化成使计算机能够“做到并完成”的方法。
故读者在做每个实验之前,必须对所做实验的理论依据做出“形式化”的说明,只有在完全理解了这些依据的情况下,再进行实验才有意义。
以下是每个合格的计算机工程人员在工作时都必须遵守的五个基本步骤(或称为五条原则)。
步骤一.对所希望解决的问题做出“形式化”的描述(用术语说就是“无二义性”,因为早在微型计算机出现之前,就有人证明过“计算机无法解决‘二义性’的问题”这个定理);若别人已经对该问题做出了这样的描述,则应确实理解它。
步骤二.根据所解决的问题的特性与规模,建立该问题与计算机所能处理的对象(即数据)之间的相互对应关系,用术语说就是进行问题的“数据设计”。
需要特别说明的是,前两个步骤基本上与所使用的计算机系统(包括硬件和软件)无关。
步骤三.选择某一种(或几种)相应的程序设计语言(必要时还要选择或设计相应的机器硬件),将步骤一中“人对问题的形式化描述”,转化成“计算机对问题的快速处理”,而计算机的“处理对象”则由步骤二所确定。
用术语说就是进行问题的“程序代码设计”。
另外需要说明的是在动手编写具体的程序代码之前,应先做“确定设计目标”的工作。
即若编写的是子程序,就必须确定该子程序所处理的各种参数的形式和该子程序的“引用条件”;若编写的是程序,就必须确定该程序执行时所产生的现象、用户所做的操作和执行后所产生的结果等等。
步骤四.在各种特定的环境下,调试步骤三所编写的程序代码以保证其正确性。
步骤五.书写相应的“软件(或软件+硬件)使用说明”,注意这其实是步骤三中“确定设计目标”的简述。
值得注意的是,后三个步骤的“正确性”是建立在前两个步骤的“正确性”的基础之上的,没有前两个步骤,后面所做的全部工作都毫无意义(因为你的“出发点”就不对,即犯了“南辕北辙”的错误)。
单片机原理及接口技术实验报告
单片机原理及接口技术实验报告一、引言单片机(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. 单片机原理实验结果通过学习单片机的基本结构和工作原理,我们深入了解了单片机的内部组成和工作过程,为后续的接口技术实验打下了基础。
(整理)单片机学生实验资料
实验报告实验项目名称:P1口实验同组人:实验时间:实验室:K2-407单片机室指导教师:胡蔷一、实验目的:(l)学习P1口的使用方法; 熟悉Proteus软件电路设计和Keil软件程序调试方法。
(2)学习软件延时程序的编写。
重点:延时程序,P1口结构二、实验顶备知识:(l)Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
(2)Proteus软件应用,Keil软件程序调试应用。
三、实验内容:㈠模拟开关灯的Proteus仿真及C语言程序设计1、设计要求:监视开关K1(接在P3.0端口上),用发光二级管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。
2、仿真电路原理图(预习内容)元器件选取:①AT89C52:单片机;②RES:电阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤LED-GREEN:绿色发光二级管;⑥SWITCH:开关。
模拟开关灯的电路原理图3、程序设计内容①开关状态的检测过程单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨动开关K1拨上去,即输入高电平,相当开关断开,当拨动开关K1拨下去,即输入低电平,相当开关闭合。
单片机可以采用if(K1= =1)或者if(K1= =0)指令来完成对开关状态的检测。
②输出控制当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二级管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二级管L1亮。
(预习内容)模拟开关灯的程序流程图4、程序清单(预习内容)㈡广告灯(利用查表方式)的Protues仿真及程序设计1、设计要求:利用查表的方法,使端口P1作单一灯的变化;左移2次,右移2次,闪烁2次(延时的时间0.2 s)。
2、仿真电路原理图(预习内容)元器件选取:①AT89C52:单片机;②RES:电阻;③CRYSTAL:晶振;④CAP、CAP-ELEC:电容、电解电容;⑤LED-GREEN:绿色发光二级管。
单片机实验指导资料
实验一扩展存储器读写实验一.实验要求编制简单程序,对实验板上提供的外部存贮器(62256)进行读写操作。
二.实验目的1.学习片外存储器扩展方法。
2.学习数据存储器不同的读写方法。
三.实验电路及连线将P1.0接至L1。
CS256连GND孔。
四.实验说明1.单片机系统中,对片外存贮器的读写操作是最基本的操作。
用户藉此来熟悉MCS51单片机编程的基本规则、基本指令的使用和使用本仿真实验系统调试程序的方法。
用户编程可以参考示例程序和流程框图。
本示例程序中对片外存贮器中一固定地址单元进行读写操作,并比较读写结果是否一致。
不一致则说明读写操作不可靠或该存储器单元不可靠,程序转入出错处理代码段(本示例程序通过熄灭一个发光二极管来表示出错)。
读写数据的选用,本例采用的是55(0101,0101)与AA(1010,1010)。
一般采用这两个数据的读写操作就可查出数据总线的短路、断路等,在实际调试用户电路时非常有效。
用户调试该程序时,可以灵活使用单步、断点和变量观察等方法,来观察程序执行的流程和各中间变量的值。
2.在I状态下执行MEM1程序,对实验机数据进行读写,若L1灯亮说明RAM读写正常。
3.也可进入LCA51的调试工具菜单中的对话窗口,用监控命令方式读写RAM,在I状态执行SX0000↓ 55,SPACE,屏幕上应显示55,再键入AA,SPACE,屏幕上也应显示AA,以上过程执行效果与编程执行效果完全相同。
注:SX是实验机对外部数据空间读写命令。
4.本例中,62256片选接地时,存储器空间为0000~7FFFH。
五.实验程序框图六.实验程序:ORG 0000HLJMP STARTORG 0040HSTART:MOV SP,#60HMOV DPTR,#0000H ;置外部RAM读写地址 MOV A,#55H ;测试的数据一MOV B,AMOVX @DPTR,A ;写外部RAMMOVX A,@DPTR ;读外部RAMXRL A,B ;比较读回的数据JNZ ERRORMOV A,#0AAH ;测试的数据二MOV B,AMOVX @DPTR,AMOVX A,@DPTRXRL A,BJZ PASS ;测试通过ERROR: SETB P1.0 ;测试失败,点亮LED SJMP $PASS: CPL P1.0 ;LED状态(亮/灭)转换 MOV R1,#00H ;延时DELAY: MOV R2,#00HDJNZ R2,$DJNZ R1,DELAYLJMP START ;循环测试END_实验二 P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
实验七 键盘和显示实验_单片机原理及应用技术-基于Keil C和Proteus仿真_[共2页]
第13章实验31913.1.7 实验七 键盘和显示实验1.实验目的通过本次实验进一步熟悉Keil uVision4和Proteus开发环境以及它们联机调试单片机汇编语言和C语言源程序方式方法,掌握STC89C52单片机扩展可编程并行接口82C55方法,82C55连接键盘和数码管,掌握扫描键盘和驱动数码管亮灭方法。
2.实验要求在本次实验前,使用Proteus软件画电路原理图,电路如图13-18所示。
图13-18 键盘、显示实验仿真电路图3.实验器材仿真实验:装有Keil uVision4以及Proteus7.0以上版本软件的笔记本或台式PC。
元件清单:1个STC89C52、1个HC573、1个82C55、2组七段数码管7SEG-MPX2-CA、16个按键键盘BUTTON、4个4.7K电阻10WATT4K7,一个+5V稳压电源。
4.实验内容根据电路原理图编写软件实现:(1)按逐行扫描方法或反转法,编写键盘扫描子程序。
(2)编写数码管显示子程序。
(3)将从键盘输入数据送数码管显示出来。
5.设计分析分析图13-18电路82C55两侧知:CPU端:单片机数据线与82C55数据线相连,单片机地址线A7连接82C55片选,单片机地址线A1A0连接82C55的端口选择线A1A0,单片机的读写线RD、WR与82C55的读写线相连。
外设端:82C55芯片A口连接数码管段码端,B口连接数码管位码端,C口低4位连接键盘行线,C口高4位连接键盘列线。
82C55的A、B、C和控制/命令端口地址为:FF7CH、FF7DH、FF7EH、FF7FH6.程序框图方法一:逐行扫描方法,该键盘、显示实验的主程序框图如图13-19所示,键盘扫描子。
《单片机原理及应用》第7章 51及定时器计数器应用基础
中断,并在中断服务程序中对P1.0和P1.1取反。由于 采用了6MHz晶振,因此单片机的机器周期为2μs。因 此可计算TL0的初值X=156=9CH,TH0的初值X=56=38H。
【例7-3】P1.1输出周期1s的方波
• 由于定时时间较长,一个定时器不能直接实现(一个 定时器最长定时时间为65536us),可以有以下两种方 法。
• 方法1:硬件定时*软件计数 • 如硬件定时50ms,软件计数器设定为20即可。
方法2:硬件定时器*硬件计数器
• (1)T0定时器,定时器50ms,定时时间到,P1.0取反 ;
• (2)T1计数器, • 计数脉冲位P1.0, • 计数10次; • (3)计数次数到 • P1.1取反。
【例7-4】不同占空比的输出)
• 7.1.1 结构 • 7.1.2 控制寄存器 •
7.1.1 结构
• 计数功能:
• 是指对外部事件进行计数:计数信号来自T0(P3.4)、 T1(P3.5)引脚。
• 定时功能:
• 也是通过计数器的计数功能来完成的,不过此时的计 数脉冲来自单片机内部:机器周期。
7.1.2 控制寄存器
• 与定时器/计数器应用有关的控制寄存器有2个,分别 为TCON、TMOD、TH、TL。
• 1、计数器控制寄存器(TCON)
2、工作方式控制寄存器(TMOD)
• 3、TH、TL • 4、如果是中断方式,还与IE、IP寄存器有关。
7.1.3 串行通信的检错与纠错
• 1、奇偶校验 • 2、代码和校验 • 3、循环冗余校验(CRC校验)
总结:
• 7.1.4(1串)并行行接与口串芯行片;UART和USART
单片机原理实验
单片机原理实验一、实验目的本实验旨在帮助学生深入了解单片机原理,并通过实践掌握单片机的基本工作原理和应用。
二、实验设备本实验所需设备及材料如下:1. 单片机开发板2. USB数据线3. 电脑(已安装单片机开发软件)4. 电路连线板5. LED灯若干6. 电阻若干7. 杜邦线若干三、实验步骤1. 将单片机开发板和电脑通过USB数据线连接起来,确保开发板的供电和通信正常。
2. 准备一个简单的电路连线板,将LED灯和电阻连接起来,组成一个简单的电路。
3. 打开电脑上的单片机开发软件,在软件中选择合适的开发环境和单片机型号。
4. 根据实验要求,编写相应的程序代码,控制LED灯的亮灭。
5. 将编写好的程序下载到单片机开发板中,启动程序,观察LED灯的变化。
四、实验结果分析通过以上实验步骤,我们可以通过编写简单的程序代码控制单片机的输出,从而控制实验用的LED灯的亮灭。
实验结果如预期一样,我们可以通过改变代码中的逻辑关系和时序控制实现不同的效果。
五、实验应用掌握了单片机的原理和编程技巧后,我们可以将单片机应用于各种电子设备的控制。
比如智能家居系统、电子产品的自动控制、传感器系统的数据采集和处理等。
单片机的应用范围非常广泛,我们只需要根据实际需求进行相应的硬件连接和程序编写即可实现我们想要的功能。
六、实验总结通过本次实验,我们对单片机的原理有了更深入的了解,并通过实践掌握了单片机的基本工作原理和应用方法。
通过编写简单的程序代码,我们成功地控制了LED灯的亮灭,并了解了单片机的应用潜力和扩展性。
实验过程中需要注意安全,确保实验设备的正常运行。
同时,需要更多的实践和学习,才能在单片机的应用领域中取得更多的成果。
七、参考资料1.《单片机原理与应用》2.《嵌入式C语言程序设计》以上是本次单片机原理实验的实验过程和结果分析,通过实践加深对单片机原理的理解,并实现基本的控制功能。
希望本实验能够帮助读者更好地掌握单片机的原理和应用,为日后进一步的学习和实践奠定基础。
单片机实验报告(学期全部实验)
单片机程序设计实验报告姓名:学号:专业班级:第二节课:实验一:1357,2468位置的灯交替闪烁一实验要求1357,2468位置的灯交替闪烁。
二硬件连接图与结果三原理简述程序直接控制LED各位置的灯亮灭,时间间隔简单的用了一个延时的语句。
四程序#include<reg51.h>main (){int i;P0=0XAA; //1357四个灯亮for (i=0;i<=25000;i++); //延时程序P0=0X55; //2468四个灯亮for (i=0;i<=25000;i++); //延时程序}五所遇问题与解决方式程序比较简单,没有遇到问题。
实验二:流水灯一实验要求流水灯,一个接一个的灯亮,亮到最后一个后,全部的灯亮,然后重头开始。
二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。
时间间隔简单的用了一个延时的语句。
因为移位时是直接补0,发送低电平不亮,所以直接移位达到要求。
四程序//流水灯#include<reg51.h>main (){int i,j;while(1){P0=0X01; //第1个灯亮for (i=0;i<=30000;i++); //延时程序for(j=0;j<=7;j++) //移位循环程序{P0=P0<<1; //移位for (i=0;i<=30000;i++); //延时程序}P0=0xff; //全亮for (i=0;i<=30000;i++); //延时程序}}五所遇问题与解决方式程序比较简单,没有遇到问题。
实验三:跑马灯一实验要求一个接一个的灯亮,前面亮过的等依旧亮,直到最后一个灯,最后重新开始,循环。
二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。
《单片机原理及应用》实验报告
《单片机原理及应用》实验报告2017/2018学年第 1 学期系别计算机学院专业软件工程班级17软件工程班姓名XXXXXX学号8888888888授课老师******实验一:流水灯实验1.实验目的(1)学习编译和仿真环境使用(2)学习P3口的使用方法(3)学习延时子程序的编写2实验内容(1)通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的接口;(2)通过改变并行口输出电平控制LED灯的点亮与否,通过延时程序控制亮灯时间。
3.实验运行结果图4.源代码//流水灯实验#include<reg51.h>//包含单片机寄存器的头文件sfr x=0xb0; //P3口在存储器中的地址是b0H, 通过sfr可定义8051内核单片机//的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的操作/****************************************函数功能:延时一段时间*****************************************/void delay(void){unsigned char i,j;ﻩ for(i=0;i<255i++)ﻩfor(j=0;j<255j++) ﻩﻩﻩ ; //利用循环等待若干机器周期,从而延时一段时间}/***************************************** 函数功能:主函数******************************************/ void main(void){while(1){x=0xfe; //第一个灯亮ﻩﻩdelay(); //调用延时函数x=0xfd; //第二个灯亮ﻩﻩdelay(); //调用延时函数x=0xfb; //第三个灯亮delay(); //调用延时函数ﻩx=0xf7; //第四个灯亮ﻩdelay();//调用延时函数ﻩx=0xef; //第五个灯亮delay(); //调用延时函数ﻩﻩx=0xdf; //第六个灯亮ﻩdelay(); //调用延时函数ﻩx=0xbf; //第七个灯亮ﻩﻩdelay(); //调用延时函数x=0x7f;//第八个灯亮delay(); //调用延时函数}}实验二:中断实验1.实验目的(1)熟悉51单片机中断初始化编程方法。
- 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软件的使用。