钟楠楠单片机实验二

合集下载

单片机实验二

单片机实验二

南昌航空大学实验报告二0一一年 9月28 日课程名称:单片微型机实验名称:实验一软件实验9、10班级: 080611 姓名:吴智丽学号: 08061103指导教师评定:签名:一、实验目的1、熟悉8031定时/计数功能,掌握定时/计数初始化编程方法。

2、熟悉MCS—51定时器、串行口和中断初始化编程方法,了解定时器应用在实时控制中程序的设计技巧。

二、实验内容1、对定时器0外部输入的脉冲进行计数,并送显示器显示。

2、编写程序,从DVCC系列单片机实验仪键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送数码管显示。

三、实验步骤脉冲计数1、实验程序框图2 、实验操作(1)把8032CPU的P3.4插孔接T0—T7任一根信号线或单脉冲输出空“SP”。

(2)用连续方式从起始地址02A0H开始运行程序(按02A0后按EXEC键)。

(3)观察数码管显示的内容应为脉冲个数。

(4)脉冲计数程序CONT: MOV SP,#53HMOV TMOD,#05H;初始化定时/计数器MOV TH0,#00HMOV TL0,#00HSETB TR0;允许定时/计数中断CONT1: MOV R2,TH0;取计数值MOV R3,TL0LCALL CONT2;调二转十进制子程序MOV R0,#79HMOV A,R6LCALL PWORMOV A,R5LCALL PWORMOV A,R4LCALL PWORLCALL DISP;调显示子程序SJMP CONT1;循环CONT2: CLR A;清R4、R5、R6MOV R4,AMOV R5,AMOV R6,AMOV R7,#10HCONT3: CLR C;R2、R3左移,移出的位送CYMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,AMOV A,R6ADDC A,R6;R4、R5、R6×2 + CY送R4、R5、R6 DA AMOV R6,A;十进制调整MOV A,R5ADDC A,R5DA AMOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,ADJNZ R7,CONT3;循环16次RETPWOR: MOV R1,A ;;拆送显示缓冲区LCALL PWOR1MOV A,R1SWAP APWOR1: ANL A,#0FHMOV @R0,AINC R0RETDISP: SETB 0D4H;显示子程序MOV R1,#7EHMOV R2,#20HMOV R3,#00HDISP1: MOV DPTR,#0FF21HMOV A,R2MOVX @DPTR,AMOV DPTR,#CDATAMOV A,@R1MOVC A,@A+DPTRMOV DPTR,#0FF22HMOVX @DPTR,ADISP2: DJNZ R3,DISP2DEC R1CLR CMOV A,R2RRC AMOV R2,AJNZ DISP1MOV A,#0FFHMOV DPTR,#0FF22HMOVX @DPTR,ACLR 0D4HRETCDATA: DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H, 90HDB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0D EH电脑时钟1、实验程序框图2、实验操作(1) 用连续方式从起始地址0340H开始执行程序(输入0340后按EXEC键)。

中南大学单片机实验报告中南大学嵌入式系统实验报告

中南大学单片机实验报告中南大学嵌入式系统实验报告

实验报告课程名称:嵌入式系统开发姓名:任课教师:学院:信息科学与工程学院专业班级:物联网工程2016年12月目录实验一ARM汇编指令 (1)1.实验目的 (1)2.实验设备 (1)3.实验内容 (1)1)实验A--------完成运算x+y,把结果存入堆栈寄存器(R13)中 (1)2)实验A运行截图 (1)3)实验B-----完成运算8x+y/2 orr 0x01+ (z and 0xFF+y/2)/2,将结果保存在R2中 (6)4)实验B运行截图 (6)实验二 ARM处理器工作模式 (13)1 实验目的 (13)2 实验设备 (13)3实验内容 (13)4 实验截图 (14)1)进入系统模式 (17)2)初始化系统模式下的R0-R14寄存器 (18)3)切换到FIQ模式 (19)4)初始化FIQ模式下特有的寄存器R8-R14 (19)5)切换到中止模式 (20)7)切换到管理模式 (22)8)初始化管理模式下特有的寄存器R13-R14 (22)9)切换到IRQ模式 (23)10)初始化IRQ模式下的R13-R14 (23)11)J进入未定义模式 (24)12)初始化未定义模式下的寄存器R13-R14 (24)5 实验心得 (25)实验三 C语言程序(一) (26)1 实验目的 (26)2 实验设备 (26)3 实验内容 (26)4 实验截图 (26)实验四 C语言程序实验(二) (35)1 实验目的 (35)2 实验设备 (35)3 实验内容 (35)4 实验截图 (35)5 实验心得 (45)实验五汇编和C语言的相互调用实验 (46)1 实验目的 (46)2 实验设备 (46)3 实验内容 (46)4 实验截图 (46)5 实验心得 (56)实验六综合编程实验 (57)1 实验目的 (57)2 实验设备 (57)3 实验内容 (57)4 实验截图 (57)5 实验心得 (66)实验一 ARM汇编指令1.实验目的(1)初步学会使用ADS1.2集成开发环境及ARM软件模拟器;(2)通过实验掌握简单ARM汇编指令的使用2.实验设备(1)硬件:PC机(2)软件:ADS1.2集成开发环境,Windows98/2000/NT/XP3.实验内容(1)熟悉ADS开发环境,并使用LDR/STR和MOV等指令访问寄存器或存储单元;(2)使用ADD/SUB/LSL/LSR/AND/ORR/等指令完成基本数学逻辑运算。

单片机第二次实验

单片机第二次实验

VCC 0.1uF
CAP 10K RES2
S? SW-PB
12MHz
四. 软件设计
CRYSTAL
30pF 30pF
CAP CAP
AT89C52 P1.0 P1.0 P1.1 P1.1 P1.2 P1.2 P1.3 P1.3 P1.4 P1.4 P1.5 P1.5 P1.6 P1.6 P1.7 P1.7
RST RXD TXD INT0 INT1 T0 T1 WR RD XTAL1 XTAL2 GND
VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/Vdd ALE/PROG PSEN P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7
三. 硬件设计
P1 口:P1 口的结构最简单,用途也最单一。仅仅只作为普通的 数据输入/输出(I/O)端口使用。
外部中断 0: 在不同型号的片子上引脚不同,但符号是 INT0 的 取非(中断源低电平有效),在主程序中打开中断 0 后,只要这个引脚 来低电平,就会触发中断。
1、仿真模式设置:8752 模式。
P1.0 R? RES2
P1.1 R? RES2
P1.2 R? RES2
P1.3 R? RES2
P1.4 R? RES2
P1.5 R? RES2
P1.6 R? RES2
P1.7 R? RES2
D?
D? LED D? LED D? LED D? LED D? LED D? LED D? LED
VCC LED
2. 由于中断服务程序要使用有关的寄存器,因此CPU 在
中断之前要保护此寄存器的内容,即保护现场,而在中断返回
时又要使它们恢复原值,即恢复现场。

2012秋单片机实验

2012秋单片机实验

《单片机原理》实验指导书高林湖北民族学院2012年11月实验系统概述一、单片机仿真实验仪简介:《单片机原理》课程实验采用由江苏启东达爱思计算机有限公司生产的596H+型单片机仿真教学实验仪器。

实验仪通过RS-232串口与微机(上位机)进行通信,可完成MCS-51系列8位单片机和MCS-196系列16位单片机的实验,功能较强大。

实验仪电路板采用模块化设计,使实验连线简捷明了,免去了学生调试实验线路的工作。

整个实验电路面板的硬件布局如图1.1所示:图1.1 实验电路面板硬件布局图对所标注部件说明如下:1.串行通信波特率选择开关。

其中左边一位用于做8251串行通信实验,右边两位为系统与PC 机串行通信波特率选择位。

在PC机配置较低的场合或DOS操作系统下通常采用中间的9600bps常规波特率;而如果在windows环境或PC机能承受的情况下,选择右边的57600bps波特率较为适宜。

2.CPU选择开关。

可在通电或断电情况下改变当前的 CPU,该开关包含三档,左、右两档均用来选择51系列单片机,而中间一挡用来选择196系列单片机,注意在实验之前要选择正确的单片机进行实验。

3.复位按钮。

一般用作程序执行过程中,按下该按钮后,程序停止运行,所有设备回复初始状态。

4.暂停按钮。

可以暂停当前程序的执行,以便查看单片机的运行状态。

打开实验仪电源开关,系统应显示闪动“P.”,处于待命状态;否则按下RESET键,如仍再不显示,应立即切断电源,检查后重新进行或向实验教师提问。

二、实验仿真软件介绍:运行“MCS-51单片机实验系统”,会出现选择微机与实验仪进行串行通信的对话框,如图1.2所示:图1.2 选择通信端口对话框在上图所示的对话框中,主要是进行通信端口的选择和波特率选择这两项设置。

由于上位机只有最多两个RS-232串行通信端口,因而端口选择只可能是串口1或串口2,其他并未用到。

而具体是串口1、2中的哪一个则由实验仪与上位机的通信连线有关。

dd中南大学单片机实验报告..

dd中南大学单片机实验报告..

微控制器技术实验报告专业班级:自动化0903 学号: 0909091123 姓名:何久帅指导老师:李志明目录一、实验目的及要求 (1)二、实验基本内容 (1)三、实验设备 (3)四、实验设计思想和结果分析 (6)4.1清零程序与拆字程序设计 (6)4.2拼字程序与数据传送程序 (7)4.3 排序程序与散转程序 (10)4.4 数字量输入输出实验 (15)4.5定时器/计数器实验 (17)4.6 A/D、D/A转换实验 (20)4.7 串行通讯实验 (25)五、结束语 (29)一、实验目的及要求:1.熟练掌握Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;2.熟练使用SST89C554RC单片机核心板及I/O扩展实验系统;3.熟练掌握在Keil C51与Proteus仿真软件虚拟联机环境下,基于51单片机控制器数字接口电路的硬件、软件设计与功能调试;4.完成MCS51单片机指令系统软件编程设计和硬件接口功能设计题;二、基本实验内容(SST89E554RC单片机实现)实验一清零程序与拆字程序设计根据实验指导书之“第二章单片机原理实验”(P17~P23页)内容,熟悉实验环境及方法,完成思考题1、2(P23)基础实验项目。

实验二拼字程序与数据传送程序设计汇编语言完成实验指导书P24思考题3、4题的基础实验项目。

实验三排序程序与散转程序设计汇编语言完成实验指导书P24思考题5、6题的基础实验项目。

实验四数字量输入输出实验基本部分:阅读、验证C语言程序功能。

使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目(P36),。

提高部分:(任选一题)题目一:LED交通灯控制(使用8255接口芯片)要求:使用汇编语言编程,功能为:通过开关实现LED灯工作方式即时控制,完成LED交通灯的开关控制显示功能和LED交通灯自动循环显示功能。

题目二:LED灯控制(使用8255接口芯片)要求:使用汇编语言编程,功能为:通过KK1实现LED灯工作方式即时控制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。

《单片机技术应用》(MCS51)实验指导书

《单片机技术应用》(MCS51)实验指导书

实验一LED控制程序设计一、实验目的:1.掌握单片机单片机学习板和软件的使用。

2.掌握单片机程序的调试方法。

二、实验设备:单片机学习板、PC机三、实验内容:1.掌握C51程序的编辑、汇编、仿真调试的操作。

2.掌握目标程序的下载。

3.P1口输出控制LED的实验。

(1)编写控制8个LED巡回点亮的程#include<reg52.h>#define uint8 unsigned charunsigned char code seg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0x00,0,0x55,0x55,0xaa,0xaa};void Delayms(uint8);void main(){unsigned char i;while(1){P1=0xfe; //流水灯右循环for(i=0;i<8;i++){Delayms(100);P1 <<=1;P1 |=0x01;}}}void Delayms(uint8 Tms){uint8 i,j; for( ; Tms > 0; Tms--)for(i=5;i>0;i--)for(j=98;j>0;j--);}(2)改为流水灯效果或其他显示效果,说明方法;(3)修改延时时间并计算具体的时间;(4)自行设计LED点亮效果。

实验二数码管显示程序设计一、实验目的:1.了解七段数码显示数字的原理。

2.掌握数码管显示程序的设计。

二、实验设备:单片机学习板、PC机三、实验内容:1.在4位数码管上显示“1234”。

#include<reg52.h> //包含头文件,对IO进行定义,可以选中后右击,查看里面具体定义。

#define uint8 unsigned charsbit dula=P2^6; //段选信号的锁存器控制sbit wela=P2^7; //位选信号的锁存器控制unsigned char code value[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void Delayms(uint8);void main(){P0=value[1];dula=1;P0=0xfe;//选择第一个数码管wela=1;wela=0;Delayms(3);P0=0xff; //消除串显wela=1;wela=0;P0=value[2];dula=1;dula=0;P0=0xfd;//选择第二个数码管wela=1;wela=0;Delayms(3);P0=0xff; //消除串显wela=1;wela=0;P0=value[3];dula=1;dula=0;P0=0xfb;//选择第三个数码管wela=1;wela=0;Delayms(3);P0=0xff; //消除串显wela=1;wela=0;P0=value[4];dula=1;dula=0;wela=1;wela=0;Delayms(3);P0=0xff;wela=1;wela=0;}void Delayms(uint8 Tms){uint8 i,j;for( ; Tms > 0; Tms--)for(i=5;i>0;i--)for(j=98;j>0;j--);}“12.34”。

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

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

微机原理与接口技术实验指导书机电工程学院2010年3月实验一拼字程序(基础实验)一、实验目的掌握汇编语言设计和调试方法。

二、实验内容把7000H的低四位BCD数和7001H的低四位BCD数,拼成压缩BCD码的形式存放在7002H。

三、实验说明通过本实验,掌握拼字的编程方法,同时也可以了解单片机编程、调试方法。

四、主要仪器设备及耗材PC机、W A VE软件五、参考程序框图六、参考程序(略)实验二清零实验(基础实验)一、实验目的1. 掌握存储器读写方法。

2. 了解存储器的块操作方法。

二、实验内容1. 指定内部RAM中某块的起始地址和长度,要求能将其内容清零。

2. 指定外部RAM中某块的起始地址和长度,要求能将其内容清零。

3. 指定外部RAM中某块的起始地址和长度,要求能将其内容置为某固定值(如0FFH)。

三、实验说明通过本实验,学生可以了解单片机的存储器结构及读写存储器的方法,同时也可以了解单片机编程、调试方法。

四、实验仪器和设备PC机、W A VE软件。

五、参考程序框图存储器块清零参考程序框图六、参考程序(略)实验三数据块传送程序(基础实验)一、实验目的1.了解内存的移动方法。

2.加深对存储器读写的认识。

二、实验内容将指定源地址和长度的存储块移到指定目标位置。

三、实验说明块移动是计算机常用操作之一,多用于大量的数据复制和图象操作。

本程序是给出起始地址,用地址加一方法移动块,请思考给出块结束地址,用地址减一方法移动块的算法。

另外,若源块地址和目标块地址有重叠,该如何避免?四、实验仪器和设备PC机、W A VE软件。

五、参考程序框图存储块移动参考程序框图六、参考程序(略)实验四P3.5口输入,P1口输出(基础实验)一、实验目的1、掌握P3口、P1口简单使用。

2、学习延时程序的编写和使用。

二、实验内容1、P3.5口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。

2、P1口做输出口,编写程序,使P1口接的8个发光二极管D1—D8按16进制加一方式点亮发光二极管。

单片机实验报告(闹钟)

单片机实验报告(闹钟)

单片机实验(闹钟部分修改版)注:第一个是利用延时程序做的定时,循环太多定时不够精确;这一个用的是出栈和入栈的算法进行的定时,可以增加定时的精度。

程序目的说明:这是一个闹钟程序,当按下K1的时候,开始计时(说明:为了方便观察,我以10s 中作为基本定时进行演示,如果需要其他定时可以通过修改部分程序得到),时间达到后,7段显示器和LED 灯同时闪烁,若序号归零,则按下K2计时则停止。

然后再按下K1计时又从新开始,以此类推。

电路图:LED6位七段码显示灯,从左到往右两位一组,分别显示HOUR, MINUTE,SECOND.因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻。

排阻就是好多电阻连载一起,他们有一个公共端.由于是上拉电阻,所以1接VCC 。

晶振电路,帮助减小计时过程中产生的误差。

K1开关和P1.1口相连,K2和P2.2口相连,分别用于控制计时的开启和关闭LED 灯,计时到达的时候LED 灯闪烁,计时t 停止时LED 灯熄灭。

程序段:程序说明:1.直接将开关定义为各个接口,可以方便之后程序中利用各个开光的状态进行跳转。

2.利用了计数/定时器0作为外部中断,当中断产生,自动跳入计时状态;3.此段定义的是而二进制的时间存储单元。

4.此段定义的是需要计时(亮灯)的时间,我设定的10s亮灯,所以s为0ah,其他的均为00h5.此段定义的是BCD码得时间,为了可以在七段显示器上面显示6.主程序中要调用闹钟程序timebear检测设定时间是否到达和显示时间的子程序display1.7.timebear程序段用于检测闹铃设定的时间是否达到,依次从second(s),minute(m),hour (h)检测,出现不匹配的就不再向下执行,若时间匹配就跳转至timecome。

8.timecome程序段主要控制P3.7口,时间达到的时候,使LED灯和7短码显示器点亮并闪烁,如果要不要灯和七段码显示器闪烁则删除:mov r7,#250t2:mov r6,#124t3:djnz r6,t3djnz r7,t2setb p3.7这一段程序即可,这一段相当于机器周期,是灯的闪亮延时,就出现了闪烁的状态。

单片机原理与应用实验指导书(含参考程序)

单片机原理与应用实验指导书(含参考程序)

单片机实验实验说明:实验一和二做一次实验三和四做一次实验五和六分别做一次实验一 P1口实验一一、实验目的:1.学习P1口的使用方法。

2.学习延时子程序的编写和使用。

二、实验设备:EL-MUT-II型实验箱,8051CPU板三、实验内容:1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

2.P1口做输入口,接八个按纽开关,以实验箱上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。

四、实验原理:P1口为准双向口,P1口的每一位都能独立地定义为输入位或输出位。

作为输入位时,必须向锁存器相应位写入“1”,该位才能作为输入。

8031中所有口锁存器在复位时均置为“1”,如果后来在口锁存器写过“0”,在需要时应写入一个“1”,使它成为一个输入。

可以用第二个实验做一下实验。

先按要求编好程序并调试成功后,可将P1口锁存器中置“0”,此时将P1做输入口,会有什么结果。

再来看一下延时程序的实现。

现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。

在系统时间允许的情况下可以采用后一种方法。

本实验系统晶振为6.144MHZ,则一个机器周期为12÷6.144us即1÷0.512us。

现要写一个延时0.1s的程序,可大致写出如下:MOV R7,#X (1)DEL1:MOV R6,#200 (2)DEL2:DJNZ R6,DEL2 (3)DJNZ R7,DEL1 (4)上面MOV、DJNZ指令均需两个机器周期,所以每执行一条指令需要1÷0.256us,现求出X值:1÷0.256+X(1÷0.256+200×1÷0.256+1÷0.256)=0.1×10⁶指令(1)指令(2)指令(3)指令(4)所需时间所需时间所需时间所需时间X=(0.1××10⁶-1÷0.256)/(1÷0.256+200×1÷0.256+1÷0.256)=127D=7FH经计算得X=127。

黄楠楠单片机课程设计数字电压表

黄楠楠单片机课程设计数字电压表

科技大学课程设计说明书课程名称_单片机原理_____________题目__数字电压表设计____________院系_电子信息工程学院_____________班级自动化085班______________学生黄楠楠______________指导教师叶宇程______________日期2011年5月20日______________课程设计名称单片机原理学生黄楠楠专业班级自动化085设计题目数字电压表设计一、课程设计目的1、培养学生文献检索的能力,如何利用Internet检索需要的文献资料。

2、培养学生综合分析问题、发现问题和解决问题的能力。

3、培养学生综合运用知识的能力和工程设计的能力。

4、培养学生理论联系实际的能力。

5、提高学生课程设计报告撰写水平。

二、设计容和设计要求1、设计容利用51单片机与ADC0808或ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示或LM1602液晶显示,但要求使用的元器件数目最少。

(1)使用ADC0808或ADC0809芯片做为电压输入的AD模块;(2)使用外部按键控制方式读取电压信号;(3)使用4位共阴极动态LED数码管或LM1602液晶显示屏作为输出显示部分;(4)软件可用C语言或汇编语言,硬件可用实验箱或Protues仿真软件实现功完整的能演示。

2、设计要求(1)设计单片机最小系统(包括复位按钮、晶振电路等);(2)共阴极LED数码管或LM1602液晶显示。

(3)用定时器中断方式定时刷新或按键控制读取方式显示,使用按键控制时要求使用外部中断方式。

(4)绘制实现本设计容的硬件电路(原理图),系统的组成框图。

(5)给出ADC0808或ADC0809的功能说明与使用方法;(6)编写本课程设计容的软件设计(包含程序流程图和对程序注释)。

三、硬件设计原理模数转换原理:试验中,我们选用ADC0809作为模数转换的芯片,其为逐次逼近式AD 转换式芯片,其工作时需要一个稳定的时钟输入,根据查找资料,得到ADC0809的时钟频率在10khz~1200khz,我们选择典型值640khz。

中南大学单片机实验报告

中南大学单片机实验报告

单片机原理及应用系统设计实验报告学院:信息科学与工程学院班级:学号:姓名:指导老师:目录第一章综述 0第二章实验要求 (1)第三章软件设计 (2)1 清零程序 (2)2 拆字程序 (3)3 拼字程序 (4)4 数据传送程序设计 (5)5 排序程序 (7)6 散转程序 (8)第四章硬件设计 (10)1 数字量输入输出实验 (10)1)硬件构造: (10)2)程序代码: (10)2 定时器/计数器实验 (12)1)硬件构造: (13)2)程序代码: (14)3 A/D、D/A转换实验 (15)1)硬件构造: (15)2)程序代码: (15)4 串行通信软件设计 (19)1)硬件构造: (20)2)程序代码: (20)第五章调试过程及体会 (24)1 调试过程 (24)2 收获体会 (24)第一章综述单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

单片机是靠程序运行的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。

一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。

1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。

单片机实验指导书

单片机实验指导书

目录实验一P1口输入、输出实验 (2)实验二继电器控制实验 (8)实验三音频控制实验 (11)实验四程序调试 (14)实验五5LED静态串行显示实验 (16)实验六6LED动态扫描显示实验 (21)实验七查询式键盘实验 (28)实验八阵列式键盘实验 (36)实验九计数器实验 (47)实验十定时器实验 (49)实验十一外部中断实验 (54)实验一P1口输入、输出实验一、实验目的1、学习P1口的使用方法2、学习延时子程序的编写和使用二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。

由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。

三、实验内容及步骤实验(一):用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮流循环点亮。

1、使用单片机最小应用系统1模块。

关闭该模块电源,用扁平数据线连接单片机P1口与八位逻辑电平显示模块。

2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加P1_A.ASM源程序,进行编译,直到编译无误。

4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。

5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序,观察发光二极管显示情况。

发光二极管单只从右到左轮流循环点亮。

实验(二):用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。

程序读取开关状态,并在发光二极管上显示出来。

1、用导线分别连接P1.0、P1.1到两个拨断开关,P1.2、P1.3到两个发光二极管。

2、添加 P1_B.ASM源程序,编译无误后,运行程序,拨动拨断开关,观察发光二极管的亮灭情况。

向上拨为熄灭,向下拨为点亮。

四、流程图及源程序1.流程图2.源程序:(一)实验一ORG 0000HLJMP STARTORG 0030HSTART: MOV A, #0FEHMOV R2,#8OUTPUT: MOV P1,ARL AACALL DELAYDJNZ R2,OUTPUTLJMP STARTDELAY: MOV R6,#0MOV R7,#0DELAYLOOP:;延时程序DJNZ R6,DELAYLOOPDJNZ R7,DELAYLOOPRETEND(二)实验二KEYLEFT BIT P1.0 ;定义KEYRIGHT BIT P1.1LEDLEFT BIT P1.2LEDRIGHT BIT P1.3ORG 0000HLJMP STARTORG 0030HSTART: SETB KEYLEFT ;欲读先置一SETB KEYRIGHTLOOP: MOV C,KEYLEFTMOV LEDLEFT,CMOV C,KEYRIGHTMOV LEDRIGHT,CLJMP LOOPEND五、思考题(1)对于本实验延时子程序Delay: MOV R6,0MOV R7, 0DelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET如使用12MHz晶振,粗略计算此程序的执行时间为多少?六、电路图实验二继电器控制实验一、实验目的1、学习I/O端口的使用方法2、掌握继电器的控制的基本方法3、了解用弱电控制强电的方法二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全。

单片机实验二

单片机实验二

天津理工大学计算机与通信工程学院实验报告2016-2017学年第一学期课程名称单片机原理与应用学号20145475 学生姓名吴延昌年级2014级专业计算机科学与技术课程代码0660226 实验地点7-215实验名称实验二并口实验主讲教师王晓晔试验时间2016年10月14日12:30-3:30成绩实验(二)实验名称并口实验软件环境Keil一、实验目的1.熟悉和掌握AT89C51单片机的并口工作原理;2.了解和掌握单片机的并口输入输出应用。

3.掌握数码管的使用方法。

二、实验内容一、LED模拟交通灯说明:东西向绿灯亮若干秒,黄灯闪烁5次后红灯亮,红灯亮后,南北向由红灯变为绿灯,若干秒后南北向黄灯闪烁5此后变红灯,东西向变绿灯,如此重复。

Proteus设计的仿真电路如图所示。

(1)运行下述程序,并在电路上验证。

(2)如果要求黄灯闪烁3次后红灯亮,应该怎么该写程序?#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit RED_A=P0^0; //东西向灯sbit YELLOW_A=P0^1;sbit GREEN_A=P0^2;sbit RED_B=P0^3; //南北向灯sbit YELLOW_B=P0^4;sbit GREEN_B=P0^5;uchar Flash_Count=0,Operation_Type=1; //闪烁次数,操作类型变量//延时void DelayMS(uint x){uchar i;while(x--) for(i=0;i<120;i++);}//交通灯切换void Traffic_Light(){switch(Operation_Type){case 1: //东西向绿灯与南北向红灯亮RED_A=1;YELLOW_A=1;GREEN_A=0;RED_B=0;YELLOW_B=1;GREEN_B=1;DelayMS(2000);Operation_Type=2;break;case 2: //东西向黄灯闪烁,绿灯关闭DelayMS(300);YELLOW_A=~YELLOW_A;GREEN_A=1;if(++Flash_Count!=10) return; //闪烁5次Flash_Count=0;Operation_Type=3;break;case 3: //东西向红灯,南北向绿灯亮RED_A=0;YELLOW_A=1;GREEN_A=1;RED_B=1;YELLOW_B=1;GREEN_B=0;DelayMS(2000);Operation_Type=4;break;case 4: //南北向黄灯闪烁5次DelayMS(300);YELLOW_B=~YELLOW_B;GREEN_B=1;if(++Flash_Count!=10) return;Flash_Count=0;Operation_Type=1;}}//主程序void main(){while(1) Traffic_Light();}修改:#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit RED_A=P0^0; //东西向灯sbit YELLOW_A=P0^1;sbit GREEN_A=P0^2;sbit RED_B=P0^3; //南北向灯sbit YELLOW_B=P0^4;sbit GREEN_B=P0^5;uchar Flash_Count=0,Operation_Type=1; //闪烁次数,操作类型变量//延时void DelayMS(uint x){uchar i;while(x--) for(i=0;i<120;i++);}//交通灯切换void Traffic_Light(){switch(Operation_Type){case 1: //东西向绿灯与南北向红灯亮RED_A=1;YELLOW_A=1;GREEN_A=0;RED_B=0;YELLOW_B=1;GREEN_B=1;DelayMS(2000);Operation_Type=2;break;case 2: //东西向黄灯闪烁,绿灯关闭DelayMS(300);YELLOW_A=~YELLOW_A;GREEN_A=1;if(++Flash_Count!=6) return; //闪烁5次Flash_Count=0;Operation_Type=3;break;case 3: //东西向红灯,南北向绿灯亮RED_A=0;YELLOW_A=1;GREEN_A=1;RED_B=1;YELLOW_B=1;GREEN_B=0;DelayMS(2000);Operation_Type=4;break;case 4: //南北向黄灯闪烁5次DelayMS(300);YELLOW_B=~YELLOW_B;GREEN_B=1;if(++Flash_Count!=6) return;Flash_Count=0;Operation_Type=1;}}//主程序void main(){while(1) Traffic_Light();}2、开关控制用AT89C51单片机控制四个按键K1到K4和四个发光二极管D1到D4,要求当按下K1或K2键时D1或D2点亮,松开时对应的发光二极管熄灭,当按下K3或K4后,D3或D4不停地闪烁。

单片机技术实验指导书2012(精)

单片机技术实验指导书2012(精)

《单片机技术》实验指导书刘宝成内蒙古民族大学物理与电子信息学院2011年3月前言单片机技术课程是一门实践性很强的理论与实践相结合的课程,实践教学环节是单片机课程不可缺少的重要环节。

单片机技术课程安排的实验旨在培养学生的实际动手能力,锻炼学生的软件编程、调试能力,提高学生对单片机的软、硬件综合开发能力。

单片机技术实践教学环节安排30学时,包括10个实验项目。

项目1 P1口输入/输出实验、项目2 简单I/O口扩展实验、项目3 LED数码管动态显示实验、项目4 LCM液晶模块显示实验、项目5 外部中断实验、项目6 定时器/计数器应用实验、项目7 八位并行A/D 转换器实验、项目8 八位并行D/A转换器实验、项目9 12位串行A/D转换器实验、项目10 12位串行D/A转换器实验。

实验设备采用安装有Keil μVision4 C51集成开发环境的计算机和配有E-lab-Keil C51 CPU板的EL-MUT-III单片机实验挂箱。

实验要求学生在EL-MUT-III单片机实验挂箱及相应的扩展模块上设计与连接电路,利用Keil μVision4 C51集成开发环境采用汇编语言或C语言编写程序,实现单片机系统方案设计、硬件电路连接、软件程序编写、在线仿真调试以及程序下载运行等单片机系统开发的全部过程,让学生从实验中体会具体硬件接口的应用技巧,进一步理解单片机外围接口芯片使用方法,逐步掌握单片机系统的开发和应用方法。

书后附有Keil μVision4 C51集成开发环境的简单使用说明。

通过单片机技术实验的学习,学生可以掌握80C51系列单片机的输入/输出接口、定时器/计数器、中断系统等内部模块的应用方法,熟悉各种类型的外围接口芯片的使用,提高使用汇编语言或C语言编写单片机程序的能力,锻炼发现问题、分析问题、解决问题的能力,初步具备能够独立进行单片机控制系统开发的工作能力。

本书中的参考程序都经过调试和使用,所以正确性是有保证的,但是不是唯一的,也不一定是最优的。

华中科技大学单片机实验二报告

华中科技大学单片机实验二报告

《单片机实验》报告实验名称分支程序设计指导教师刘冬生专业班级学号联系方式一. 任务要求熟练掌握KeilC 环境下汇编语言程序的调试方法,加深对汇编语言指令、机器码、寻址方式等基本内容的理解,掌握分支程序和简单程序的设计与调试方法,了解并行IO 口的使用。

1. 设有8bits 符号数X 存于外部RAM 单元,按以下方式计算后的结果Y 也存于外部RAM 元,请按要求编写程序。

240/2204020X X Y X X XX ⎧≥⎪=<<⎨⎪≤⎩当当当2.利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD 码的形式)。

为低电平时开始计时,为高电平时停止计时。

提高部分(选做):a. 实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。

利用状态选择加、减计数方式。

b. 利用P3口低四位状态控制开始和停止计数,控制方式自定。

二. 设计思路1.分段函数设计对于第一个任务,根据变量X 的值的不同进行相应的计算。

所以我们首先要判断X 的值属于那个范围。

我们可利用比较转移指令CJNE 来判断X 是否等于临界值20,40,若不等,再根据执行CJNE 指令后的进位位CY 的值来判断X 与临界值的的大小关系,如:CY=0则X 大于临界值,CY=1则X 小于临界值;然后根据X 的值所在的区间进行相应的计算。

应该注意的是,除法计算中可能产生余数,商和余数应该分开存储,若乘方运算结果大于255,高八位与低八位应分开存储2.24进制时钟本程序须可以构建两部分循环。

首先构建一个三重循环实现“一秒延时”,循环体利用NOP 指令(单字节指令,1µs )经多次循环达到延时一秒的效果。

再利用已经构建好的“一秒延时”部分,设计计时系统的三重循环,秒(0-59)、分(0-59)、时(0-23)。

秒和分计60次,小时计24次,但,是从0开始计,所以在分、秒达到59,小时达到23时,下一次应该为零。

北京化工大学单片机原理实验指导书

北京化工大学单片机原理实验指导书

单片机原理及应用实验指导书马静韩建国郭青编林伟国修订北京化工大学信息科学与技术学院2007年6目录实验规则 (140)安全须知 (3)第一章 AEDK5196ET实验系统简介 (4)一、工作方式 (4)二、地址空间分配 (4)三、开关和插座说明 (5)四、系统快速入门 (6)第二章 MCS51系列单片机实验 (8)实验一认识实验 (8)实验二P1口输入、输出实验 (8)实验三P3口输出控制继电器实验 (10)实验四简单I/O实验(交通灯控制) (11)实验五定时器实验 (13)实验六计数器实验 (14)实验七外部中断实验(急救车与交通灯) (15)实验八扩展存储器读写实验 (16)实验九A/D转换实验 (18)实验十D/A转换实验 (19)实验十一8255扫描键盘,显示实验 (20)实验十二智能控制器的研制与调试-设计性实验(一) (22)实验十三网络型智能仪表基础部件研制-设计性实验(二) (23)实验十四可显示与对话的数字仪表基础部件研制-综合型实验(三) (24)实验十五基于单片机系统的闭环控制器的研制-设计性实验(四) (25)2实验规则1、实验前要对实验进行充分的理论知识、技术要求、操作规则、实验条件与环境、内容与基本过程、安全条款、可能出现的问题等方面的思考与准备;2、实验中要认真、严肃、积极、主动,联系课堂知识来分析、解决实验中的问题;3、师生共同在实验室中保持一个安静、卫生、整齐有序、祥和而又活跃的学习与科研的气氛;4、节省用料、爱护工具、注意环境是否正常、警惕以外事故的发生,以主人翁姿态操作实验并关心全室工作的进行;5、按时参加实验,不得拖延结束时间,在结束前提前清点实验物品;课前已由教师交代清楚的问题,不得在课上再以此打扰教师;6、按教师要求认真作好实验报告并按时上交。

安全须知1、使用任何一件工具、设备、元器件时,要注意务必使电源极性、功率范围、电源电压与电流的极性与量值、元件接查方向符合设计标准;2、对各种未曾在以往课程中学过的仪器、设备、器件、元件,必须首先认真学习、研究其技术说明,经主讲教师或实验指导教师检查认可,方可独立使用;3、随时注意所使用的物品和环境有无异常温升、亮光与气味;4、当连接及修改实验线路时,应先关闭实验机电源。

中南大学微控制器技术实验报告

中南大学微控制器技术实验报告

中南大学微控制器技术实验报告目录实验目的和要求 0硬件、软件环境要求 0实验一、清零程序与拆字程序设计 (1)实验二、拼字程序与数据传送程序设计 (3)实验三、散转与排序程序设计 (6)实验四、数字量的输入输出实验 (8)实验五、定时器\计数器实验 (12)实验六A/D、D/A转换实验 (16)实验七、串行通信实验 (19)总结 (23)实验目的和要求1熟练掌握Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;2熟练使用SST89C554RC单片机核心板及I/O扩展实验系统;3熟练掌握在Keil C51与Proteus仿真软件虚拟联机环境下,基于51单片机控制器数字接口电路的硬件、软件设计与功能调试;4完成MCS51单片机指令系统软件编程设计和硬件接口功能设计题;硬件、软件环境要求软件环境描述该实验使用Keil C51集成开发环境作为实验设计、调度工具。

Keil C51提供了强大的调度功能,可单步、断点、全速运行程序,可观察寄存器区、ROM变量区、RAM变量区等的内容。

支持汇编语言和C语言的源程序语言调试。

硬件环境本实验采用开放的系统板结构,可以灵活地配合各型号接口实验平台开展单片机的应用教学。

其提供了丰富的原理及接口应用实验。

配合接口实验平台可完成数字量输入/输出、中断、定时器/计数器、看门狗、低功耗、PCA、串口通讯、静态存储器、FLASH、A/D、D/A、键盘及数码显示、电子音响、点阵LED、LCD、步进电机、直流电机、温度控制等实验内容。

TD-51系统板上提供了一片SST89E554RC,该器件是SST公司推出的8位微控制器FlashFlex51家族中的一员,具有如下特征:与8051兼容,嵌入SuperFlash存储器;工作电压5V,工作时钟0~40MHz;1Kbyte内部RAM;两块SuperFlash EEPROM,主块32Kbyte,从块8Kbyte,扇区为128Byte;有三个高电流驱动端口(每个16mA);三个16位的定时器/计数器;全双工、增强型UART; 八个中断源,四级优先级;可编程看门狗定时器(WDT);可编程计数阵列(PCA);双DPTR寄存器;低EMI模式(可禁止ALE);SPI串行口;标准每周期12个时钟,器件提供选项可使速度倍增,达到每周期6个时钟;低功耗模式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

钟楠楠-单片机实验二
————————————————————————————————作者:————————————————————————————————日期:
西安邮电大学430单片机实验报告
实验二
定时器实验
学院:ﻩ自动化学院
班级:ﻩ自动1102
姓名:ﻩ钟楠楠
学号:06111051
实验二 定时器实验
一、实验目的:
1、熟悉MSP430定时器Timer_A 的组成、工作原理;
2、掌握T imer_A的编程实现。

二、实验要求:
1、通过T ime r_A 来产生一个脉冲信号,信号频率为1Hz,占空比为1:1;
2、采用中断方式工作,定时器每10ms中断一次;
3、以1S 为周期,点亮接在P1.2的L ED 灯;
三、实验步骤:
(1)工作原理
主计定时计数器单元包括:时钟源选择、预分频器、计数器(TAR )和计数模式选择4个部分。

定时器支持多种类型时钟源,包括:S MCL K、ACLK 、TA CLK(外部引脚)、INCLK (TA CLK 取反),类型选择由位域TA SSE LX 控制。

时钟源经过预分频器分频后作为16位定时器TAR 输入,在时钟信号的上升沿,T AR可递增或者递减计数(由计数器工作模式而定),计数器溢出后可产生中断,TAR 可以通过软件进行读或写。

置位TACLR,可以复位T AR 、预分频器和计数方向。

(2)工作模式
定时器有四种工作模式:停止、增计数、连续计数、增/减计数模式。

工作模式由
00 011011
TACLK ACLK SMCLK INCLK 1/2/4/8分频TASSELx
IDx
16位定时器TAR 15
Clear 计数
模式Time Clock
EQU0RC 捕获模式CMx 00
011011CCI2A CCI2B GND VCC logic Sync 01
TACCR2比较器2
1
SCS
COV
CAP Y A
EN SCCI 输出
单元EQU0
OUT
OUTMODX
POR
D Set Q Reset OUT2 Signal
Set TACCR2CCIFG
Timer Block
CCR2
150CCI EQU2
TACLR CCR0MCx
Set TAIFG CCISx Timer Clock Timer Clock
MCx位域控制。

(3)比较模式
当CAP=0时选择比较模式,比较模式主要用来产生PWM信号或者用于产生特定时间间隔的中断。

当计数器TAR的值计数到TACCRx的值时:
◆中断标志CCIFG置位:
◆内部信号EQU
➢独立的输出模块被分配给各个捕获/比较寄存器的每一个,输出模块可以独
立运行于比较功能,或以各种方式触发;
➢当 T ACCTLx 中的CAP=0, 该模块工作在比较模式。

这时与捕获有关的
硬件停止工作,在计数器 TAR中计数值等于比较器中的值时设置标志位,产
生中断请求;也可结合输出单元产生所需要的信号;
➢三个捕获/比较器在比较模式时设置 EQUx 信号有差别:当 T AR 的值大于等于 T ACCR0 中的数值时,EQU0=1;
当TAR 的值等于相应的T ACCR1 或 T ACCR2 的值时,EQU1=1 或 EQU2=1。

2. 中断及中断嵌套
中断响应后,自动关闭总中断,此时不会响应高优先级中断,除非在中断程序中打开总中断,即产生了中断嵌套。

实现中断嵌套需要注意以下几点:
(1)默认的是关闭中断嵌套的,除非中断程序中再次开总中断EINT;
(2)多个中断同时到来,按优先级来执行,即中断优先级只有在多个中
断同时到来时才起做用,中断服务不执行抢先原则。

(3)对于单源中断,只要响应中断,系统硬件自动清中断标志位,对于定
时器的比较/捕获中断,只要访问TAIV/TBIV,标志位倍被自动清除。

四、实验流程及代码
#include<msp430x16x.h>
#define uintunsigned int
#define CLK_OUT BIT2
#define uchar unsigned char
static uchar flag = 0;
void int_clk()
{
uchari;
BCSCTL1&=~XT2OFF;ﻩﻩ//打开XT振荡器
BCSCTL2|=SELM1+SELS; //MCLK为8 MHz,SMCLK为1 MHz
do
{
IFG1&=~OFIFG;ﻩ//清除震荡错误标志
for(i=0;i<100;i++)
_NOP();ﻩﻩﻩ//延时等待
}
while((IFG1&OFIFG)!=0);//如果标志位1,则继续循环等待
IFG1&=~OFIFG;
}
voidint_timer()
{
TACTL|=TASSEL1+TACLR+ID0+ID1;
//选择SMCLK作为定时器的时钟,8分频
TACTL|=MC0+TAIE; //增加模式,并且使能中断
TACCR0=5000; ﻩ //中断周期为?ms

}
#pragma vector = TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
switch(TAIV)
{
case 2:break;
case 4:break;
case 10:flag =1;break; //10ms中断标志加1
}

int main(void )
{
uchar time=0;
WDTCTL=WDTPW+WDTHOLD; //关看门狗
int_clk();ﻩ //初始化时钟
int_timer();ﻩﻩ//初始化定时器
P1DIR|=OUT;ﻩﻩ //设置P12为输出脚
_EINT(); ﻩﻩ//开中断
while(1)
{
ﻩwhile(flag) ﻩ//查询中断标志

fl ag=0;ﻩ ﻩ //清中断标志 ﻩ t ime++;ﻩﻩ //时间标量家1
ﻩﻩ ﻩif(t ime==50)ﻩﻩ //等于500ms 取反
ﻩ {
ﻩﻩ P1OU T=(~P1OUT &OUT); //改变输出状态
ﻩ time=0; ﻩﻩ} }
} }
五、实验心得
此次实验主要内容是熟悉MSP 430定时器Timer _A 的组成、工作原理并掌握T imer_A 的编程实现。

因为实验开始前进行过预习,对于其工作原理及工作模式的选择和运用中断和中断嵌套比较熟悉,实验过程相对顺利,对MSP430定时器有了新的认识。

开始
管看门狗,初始化时钟
初始化定时器
设置定时器中断为10ms
开总中断
判断中断标志是否被置位
时间加1中断标志清零
判断时间是否为500ms
输出取反
定时器中断入口
判断是否为
定时器中断
标志位置
中断返回



是。

相关文档
最新文档