当前位置:文档之家› 单片机接口技术与实验附原理图及源程序

单片机接口技术与实验附原理图及源程序

单片机接口技术与实验附原理图及源程序
单片机接口技术与实验附原理图及源程序

《单片机接口技术与实验》

姓名:

学号:

年级:

专业:电子信息科学与技术

实验二并行口输入输出实验——循环彩灯控制

一、实验功能

(1).P1 口接8 个开关,P0 口接8 个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。开关断开时,灯灭。

二、实验原理图

注意:因为P0口作为输出口时必须接上拉电阻,为简化起见,此处接到P2口上

三、实验程序

org 0000h

ljmp main

org 0100h

main: mov p1,#0ffh

mov p2,p1

ajmp main

end

(2)

一、实验功能

用5 个开关K0~K4,控制P0 口所接8 个灯的循环,各开关的功能要求如下:

(1)K1~K2 分别选择灯的四种闪动方式;

(2)K3 用于控制灯的循环方式(顺时针或逆时针);

(3)K4 用于选择灯的两种循环速度

(4)K0 用于引发外部中断,在外部中断子程序中,读取通过K1-K4 所设定的循环彩灯的工作方式,并按所设定的工作方式控制彩灯运行。

二、实验原理图

单片机实验

实验一P1口亮灯实验 实验目的 ⑴学习P1口的使用方法; ⑵学习延时子程序的编写。 实验预备知识 ⑴P1口对准双向口,每一位都可独立地定义为输出线或输入线。 ⑵本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。 实验内容 P1作为输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 程序流程 实验电路 实验步骤 P1.0~P1.7用插针连至L1~L8,运行程序后,观察发光二极管闪亮移位情况。 思考 改变延时常数,使发光二极管闪亮时间改变。 修改程序,使发光二极管闪亮移位方向改变。

实验二 P3.3口输入,P1口输出 实验目的 掌握P3口P1口简单使用。 实验内容 P3.3口输入一脉冲,P1口按位加一方式点亮发光二极管。程序流程 实验电路

实验步骤 ⑴P3.3用插针连至K1,P1.0~P1.7用插针连至L1~L8。 ⑵编译、装载、连续运行。 ⑶开关K1每拨动一次,L1~L8发光二极管按位加一点亮。 思考 修改程序,使发光二极管左移方式点亮。

实验三工业顺序控制(中断控制) 实验目的 掌握工业顺序控制程序的简单编程:中断的使用。 实验预备知识 在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律地完成预定的动作,对这类继续生产过程的控制称顺序控制,倒注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机最易实现。 实验内容 MCS-51的P1.0~P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,低电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平启动。P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。 程序流程

最新单片机原理实验教案参考程序

单片机原理实验教案 参考程序

广东松山职业技术学院《MCS-51单片机原理》实验指导书 宁玉珊黄晓林 使用Proteus辅助设计与仿真

实训项目1 Proteus辅助设计与仿真的使用 一、实训目的 学习并熟练掌握PROTEUS辅助设计与仿真软件的使用。通过使用Proteus的ISIS组件绘制AT89C51功能接口原理图,并对原理图编写程序和调试程序,观察在仿真条件下的实现功能的效果。 二、实训内容 在PROTEUS仿真环境下实现一个发光二极管(LED)闪烁。要求LED亮0.5s灭1s,并绘制原理图和编写实现程序,同时用虚拟的示波器观察硬件和软件实现的效果。 三、实训器材 安装有Proteus7软件的计算机 1 台。 四、实训步骤 1)在硬盘建立文件夹用来保存新建项目的所有文件。如在D盘建立PROJECT文件夹。 2)选择‘开始→程序→Proteus7 professional→ISIS professional(或者双击桌面图标ISIS)’,进入Proteus仿真环境,如图P1_1和P1_2所示。 图P1-1

图P1-2 3)选择菜单【File/New Design】创建一个新的设计项目,如图P1_3所示。 图P1-3 4)此时系统会弹出模板选择窗口,选择‘DEFAULT’点击【OK】即可,如图P1_4所示。

图P1_4 5)点击界面左侧工具栏中的图标,接着点击元件池上方的按钮,将要用到的元器件从系统库调到当前设计文件库中。在弹出的Pick Devices对话框左上角的‘Keywords’文本框中键盘输入元件名(或元件的其它关键词)搜索到需要的元器件。双击‘Results’栏下的目标元件,该元件即调出到当前设计文件库的元件列表中,如图P1_5所示。本实训中所要用到的元件如表PS1_1所示。 图P1_5 元件名称搜索关键词元件序 数值备注 号 电阻器Resistor R1 10k 电阻器Resistor R2 1k 电解电容器MINELECT1U63V C1 4.7μ 陶瓷电容器CERAMIC22P C2、C3 22p 晶振CRYSTAL X1 12MHz 单片机AT89C51 U1

中山大学左明老师单片机实验七共20页

实验七 D/A与A/D转换 一、实验目的 1、学习D/A转换的基本原理和D/A转换芯片DAC0832的性能及篇程方法 2、了解单片机系统中扩展D/A转换芯片的基本方法 3、学习A/D芯片ADC0809的转换性能及编程方法 4、了解A/D芯片与写单片机的接口方法 5、通过实验掌握单片机进行数据采集的方法 二、实验说明 1、D/A转换是把数字量转换成模拟量的变换。从D/A输出的是模拟信号。实验程序一是通过在D/A的输入端送入有一定规律的数字量,在输出端产生锯齿波、三角波、正弦波的波形,通过示波器观察来直观地了解D/A的转换功能。 要把一个数据通过0832输出,要经过两次锁存。典型的程序如下: MOV DPTR,#PORT MOV A,#DATA MOVX @DPTR,A INC DPTR MOVX @DPTR,A 2、A/D转换是把模拟量转换成数字量的变换。启动A/D采样转换只需要两条指令: MOV DPTR,#PORT MOVX @DPTR,A

三、实验内容 内容一:利用DAC0832编程产生锯齿波、三角波、正弦波。三种波形轮流显示 一、连线方法:0832的CS0832接CS0。输出DAOUT接示波器探头,示波器探头地线接实验板地线 二、代码 ;D61.ASM ORG 4000H LJMP MAIN ORG 401BH LJMP DELAY PORT EQU 0CFA0H ORG 4100H MAIN: MOV TMOD,#10H SETB EA SETB ET1 MOV TL1,#0AFH MOV TH1,#3CH SETB TR1 DISP: MOV R1,#50H

重庆大学 单片机实验

实验一系统认识及基本程序设计实验 四、实验内容 1. 将BCD 码整数0~255 存入片内RAM 的20H、21H、22H 中,然后转换为二进制整数00H~FFH,保存到寄存器R4 中。修改20H、21H、22H 单元的内容,如:00H,05H,08H;观察实验结果。 参考程序: ;============================================================== ; 文件名称: Asm2-1.asm ; 功能描述: BCD整数转换为二进制整数(8位, 范围从00H--FFH) ;============================================================== ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R0, #20H ;BCD存放高位地址 MOV R7, #03H ;BCD码0--255, 最多3位 CLR A MOV R4, A LP1: MOV A, R4 MOV B, #0AH MUL AB ;乘10 ADD A, @R0 ;加下一位的值 INC R0 ;指向下一单元 MOV R4, A ;结果存入R4 DJNZ R7, LP1 ;转换未结束则继续 SJMP MAIN ;设置断点, 观察实验结果R4中的内容 END 2. 将16 位二进制整数存入R3R4 寄存器中,转换为十进制整数,以组合BCD 形式存储在RAM 的20H、21H、22H 单元中。 参考程序: ;============================================================= ; 文件名称: Asm2-2.asm ; 功能描述: 二进制整数(16位)转换为十进制整数(组合BCD) ;============================================================= ; 0--FFFFH(R3R4)==>0--65535 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R0, #22H ;转换结果低位地址 MOV A, R0 PUSH ACC ;ACC表示累加器A的直接地址 MOV R7, #03H

单片机实验7学习资料

单片机实验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 // 头文件 #include 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字模

单片机实验指导书

实验一KEIL 51软件实验 实验目的: 1、掌握KEIL集成开发环境的使用 2、掌握算术运算程序 实验设备:计算机、KEIL51软件 实验内容: 编程实现把片人RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。在KEIL51编译、连接、仿真调试。 实验步骤: 一、运行KEIL51软件,出现图1所示KEIL 51主界面。 图1 KEIL 51主界面 首先用Project菜单下的New Project命令建立项目文件,过程如下。 (1) 选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。 图2 Create New Project对话框 (2) 在Create New Project对话框中选择新建项目文件的位置(最好一个项目建立一个文件夹如E:\project), 输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的Select Device for Target ‘Target 1’对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支持

所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。 图3 Select Device for Target ‘Target 1’对话框 (3) 这里选择atmel公司的A T89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。 单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。 这时只有一个框架,紧接着需向项目文件中添加程序文件内容。 图4 Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框 二、给项目添加程序文件 当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。 (1) 选择文件菜单上的new命令,出现新建文本窗口,如图5所示。

单片机U盘读写参考程序

/*******************************************************/ #include"reg52.h" #include"stdio.h" #include "string.h" #include "intrins.h" #include"CH375INC.H" /*******************************************************/ #define uchar unsigned char #define uint unsigned int /*******************************************************/ sbit CH375_INT=P3^3; sbit CH375_A0=P3^4; sbit CH375_RD=P3^5; sbit CH375_WR=P3^6; sbit CH375_CS=P3^7; /*******************************************************/ uchar xdata my_buf[512]; /*******************************************************/ void uart_init() { TMOD=0X20; TH1=TL1=0XFD; TR1=1; REN=1; SM0=0;SM1=1; EA=1; ES=1; } /*******************************************************/ void uart_send_pc(uchar *s) //串口监视//void uart_send_pc(uchar a[20]) { //{ uchar len=strlen(s); // uchar i; uchar i; // for(i=0;i<20;i++) for(i=0;i

51单片机实验程序

3 3 3 用查表方式编写y=x1 +x2 +x3 。(x 为0~9 的整数) #include void main() { int code a[10]={0,1,8,27,64,125,216,343,512,729}; //将0~9 对应的每位数字的三次方的值存入code中,code为程序存储器,当所存的值在0~255 或-128~+127 之间的话就用char ,而现在的值明显超过这个范围,用int 较合适。int 的范围是0~65535 或-32768~32767 。 int y,x1,x2,x3; //此处定义根据习惯,也可写成char x1,x2,x3 但是变量y 一定要用int 来定义。 x1=2; x2=4; x3=9; //x1,x2,x3 三个的值是自定的,只要是0~9 当中的数值皆可,也可重复。 y=a[x1]+a[x2]+a[x3]; while(1); //单片机的程序不能停,这步就相当于无限循环的指令,循环的内容为空白。 } //结果的查询在Keilvision 软件内部,在仿真界面点击右下角(一般初始位置是右下角)的watch 的框架内双击“double-click or F2 to add”文字输入y 后按回车,右侧会显示其16 进制数值如0x34,鼠标右键该十六进制,选择第一行的decimal,可查看对应的10 进制数。 1、有10 个8 位二进制数据,要求对这些数据进行奇偶校验,凡是满足偶校验的 数据(1 的个数为偶数)都要存到内RAM50H 开始的数据区中。试编写有关程序。 #include void main() { int a[10]={0,1,5,20,24,54,64,88,101,105}; // 将所要处理的值存入RAM 中,这些可以根据个人随意设定,但建议不要超过0~255 的范围。 char i; // 定义一个变量 char *q=0x50; // 定义一个指针*q 指向内部0x50 这个地址。 for(i=9;i>=0;i--) //9~0 循环,共十次,也可以用for(i=0;i<10;i++) { ACC=a[i]; //将a[i] 的值赋给累加器ACC if (P==0) //PSW0 位上的奇偶校验位,如果累加器ACC 内数值1 的个数为偶数那么P 为0,若为奇数,P 为1。这里的P 是大写的。 { *q=a[i]; q++; // 每赋一个值,指针挪一个位置指向下一个。 } } while(1); //同实验一,程序不能停。 }

单片机实验模版

单片机实验模版 本科实验报告 课程名称:单片机综合设计学院(系): 专业:电子 班级: 学号: 学生姓名: 2018 年月日

实验项目列表 注意:独立完成预习报告和实验操作。 专业:班级:学号: 学生签字: 联系:

《单片机原理及应用实验》报告填写要求依照《大连理工大学本科实验报告规范(试行)》提出的各项要求,现规定《单片机原理及应用实验》报告填写要求如下: 一、每次实验前必须完成预习报告。注意:预习报告中的回答问题必须手写,且由 学生本人签名。第一次实验时,课前将预习报告与《实验项目列表》一同交给 实验老师。每次实验时,课前提交预习报告,没有完成预习报告者不得进行实 验。 二、每一个实验项目均须撰写一份实验报告,最后按顺序装订、上交。 三、实验报告内容: 1、实验目的和要求:写明实验的目的和任务要求; 2、实验原理和内容:与实验内容相关的算法描述、程序的结构类型,与实验相关的 接口模块功能描述。 3、算法流程:使用流程图对算法进行描述。流程图应当逻辑正确、简单清晰。流程 图能够采纳打印或手工绘制。 4、使用protel等工具绘制实验系统电路图(也可手工绘制)。系统电路图应正确、 工整。系统电路中应包含单片机以及单片机工作时所必需的外围相关器件(晶 体、上电复位电路等); 5、程序清单:程序清单一律采纳打印的方式,源程序文件的格式要整齐、规范(语 句的标号、指令及注释应在不同列中)。在程序的关键语句上加注释。相关子程 序要在凝视中进行功能说明; 6、实验结果与分析:明确地写出最后结果(是否实现设计要求等),对实验中所遇 到的问题以及解决的方法加以描述; 7、实验体会、建议:通过实验所体会的收成。针对实验内容、教学方法、考核方法 等提出需要解决的问题,提出改进建议; 8、全部文字叙述内容要求简明扼要,思路清晰、用词规范; 9、要紧仪器设备:记录要紧仪器的名称、型号(包括实验运行软件名称)等 10、实验时刻:报告中应标明实验的日期(年、月、日;星期;组号)。 四、要求实验报告字迹工整,文字简练,数据齐全,图表规范,运算正确,分析充分、具体、定量。

单片机设计实例

应用程序设计实例 浙江海洋学院楼然苗6.1 闪烁LED小灯的设计 6.2 六位数码管时钟电路的设计 6.3 LED广告显示电路的设计 6.4 8路输入模拟信号的数值显示电路 6.5 单键学习型遥控器的设计 6.6 十六路遥控电路的设计 6.7 遥控码的仿真应用设计 6.8 自行车里程\速度计的设计 6.9 自动往返行驶小汽车的设计 6.10 遥控小汽车的设计 6.11 汽车行驶信息的发送与接收

;************; ;亮灯控制程序; ;************; ; ;************; ;中断入口程序; ;************; ; ORG 0000H LJMP START ORG 0003H RETI ORG 000BH RETI ORG 0013H RETI ORG 001BH RETI ORG 0023H RETI ; ;************; ; 初始化程序 ; ;************; ; CLEAR: RET ; ;************; ; 主程序 ; ;************; ;

START:ACALL CLEAR STAR1:MOV P3,#0FFH JNB P3.0,FUN0 JNB P3.1,FUN1 JNB P3.2,FUN2 JNB P3.3,FUN3 ;关闭按纽 JNB F0,STAR1 ;曾经有键按下F0置1 RET ; FUN0:LCALL DL10MS ;消岸抖动 JB P3.0,STAR1 WAITL0:JNB P3.0,WAITL0 ;等待键释放 SETB F0 FUN01:LCALL FUN00 LCALL STAR1 LJMP FUN01 ; FUN1:LCALL DL10MS ;消岸抖动 JB P3.1,STAR1 WAITL1:JNB P3.1,WAITL1 ;等待键释放 SETB F0 FUN10:LCALL FUN11 LCALL STAR1 LJMP FUN10 ; FUN2:LCALL DL10MS ;消岸抖动 JB P3.2,STAR1 WAITL2:JNB P3.2,WAITL2 ;等待键释放 SETB F0 FUN20:LCALL FUN22 LCALL STAR1 LJMP FUN20 ; FUN3:LCALL DL10MS ;消岸抖动 JB P3.3,STAR1 WAITL3:JNB P3.3,WAITL3 ;等待键释放 CLR F0 MOV P1,#0FFH ;关显示 LJMP STAR1 ; FUN00:MOV A,#0FEH FUN000:MOV P1,A LCALL DL05S JNB ACC.7,OUT

单片机实验参考程序

实验一键盘输入实验 参考程序: ;4*4矩阵键盘读取程序,利用P0口,列线左起P0.0-P0.3 ;行线上起P0.4-P0.7,行线默认接高电平, ;P3.7作为键盘被读取的提示灯 ; 0 1 2 3 ; 4 5 6 7 ; 8 9 A B ; C D E F ;不考虑有两个或以上按键同时按下的情况, ;每次扫描到一个有按下则结束本次扫描 SETB P3.7 ;确认关闭键盘响应指示灯 MAIN: MOV R0,#0EFH ;用于给键盘行列线确定的电平 MOV R1,#0H ;循环次数,R1=0对应第一行,=1为第二行,以此类推SMAIN: MOV P0,R0 ;改变行线的状态,列线全处于高电平 NOP NOP MOV A,P0 JB ACC.0,L1 ;判断某行的第一列是否按下,按下则P0.0为低电平 MOV R2,#0H ; 将某行的列码保存至R2,显示程序会根据此值和R1的值计算具体为何按键按下 ACALL DISP SJMP MAIN ; 每次扫描到一个有按下则结束本次所有扫描

L1: JB ACC.1,L2 ;判断某行的第二列是否按下,按下则P0.1为低电平MOV R2,#01H ACALL DISP SJMP MAIN L2: JB ACC.2,L3 ;判断某行的第三列是否按下,按下则P0.2为低电平MOV R2,#02H ACALL DISP SJMP MAIN L3: JB ACC.3,SKIP ;判断某行的第四列是否按下,按下则P0.3为低电平MOV R2,#03H ACALL DISP SJMP MAIN ; SKIP: INC R1 ;R1加1,共计4行, MOV A,R0 RL A ;左移R0内的值,以并扫描下一行 MOV R0,A CJNE R1,#04H,SMAIN ;若四行扫描完毕,则跳转至程序最初,相关参数为初始值NO: MOV P2,#0FFH ;程序能执行到此说明四行扫描完毕并且一个按键都没按下,关闭数码管和指示灯 SETB P3.7 SJMP MAIN DISP: CLR P3.7 ;点亮键盘响应指示灯 MOV A,R1 RL A RL A ;R1对应行,具体的按键计算为R1*2+R2 ADD A,R2 ADD A,#3H ;下列指令与表格见有3字节的距离 MOVC A,@A+PC MOV P2,A ;十六进制的高位用数码管L1显示 RET ;共阳数码管0-F的显示码 DIS: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH DELAY: m ov r7,#255;延时 del1: mov r6,#255; del2: djnz r6,del2 djnz r7,del1 ret END

单片机实验七-外部中断

实验七外部中断 1:在P1.0上产生周期为10ms的方波,设晶振频率12MHz.(要求分别以查询方式和中断方式设计程序) 查询: ORG 0000H MOV TMOD,#10H MOV TH1,#0CEH MOV TL1,#78H SETB TR1 WAIT:JBC TF1,NX SJMP WAIT NX:CPL P1.0 MOV TH1,#0CEH MOV TL1,#78H SJMP WAIT END 中断: ORG 0000H MOV TMOD,#10H MOV TH1,#0CEH MOV TL1,#78H MOV IE, #88H SETB TR1 WAIT: SJMP WAIT ORG 001BH CPL P1.0

MOV TH1,#0CEH MOV TL1,#78H RETI END 例2按照按键次序,先后依次点亮8盏灯中的一盏,要求采用中断方式编程。 案例一: ORG 0000H LJMP MAIN ORG 0013H ; 中断矢量 LJMP INT ORG 040H MAIN:SETB EX1 ; 开外部中断允许 CLR PX1 ; 外部中断低优先级 SETB IT1; 边沿触发 SETB EA; 开中断总允许 MOV A,#01H; 给A寄存器赋初值 HERE:SJMP HERE; 原地等待中断申请 INT: MOV P1,A ; 输出到P1口显示 RL A ; 左环移一次,准备下次显示的数据 RETI ; 中断返回 END 案例二: ORG 0000H LJMP MAIN ORG 0013H ; 外部中断1矢量 LJMP INT ORG 030H MAIN: MOV R0,#09

《单片机系统设计技术》实验指导

《单片机系统设计技术》 实验指导书 适用专业: 电气、自动化、信息等 编写单位: 电气信息学院 编写人: 曹 林 审核人: 审批人: 批准时间:年月日

目 录 实验1 IO控制LED流水灯实验 (3) 实验2 IO控制数码管动态扫描实验 (5) 实验3 外部中断实验 (8) 实验4 定时器应用控制实验 (10) 实验5 UART实验 (12) 实验6 键盘扫描输入编程 (14) 实验7 UART与PC对话实验 (17) 实验8 ADC数据采集实验 (19)

实验1 IO控制LED流水灯实验 1.实验目的 1)、熟悉KEIL编程环境和调试环境。 2)、掌握单片机汇编语言和指令的用法。 3)、理解简单的IO控制程序,延迟子程序,并对其修改,使其功能改变。 2.实验设备 硬件: PC 机,单片机教学实验开发平台; 软件: KEIL集成开发环境、STC ISP程序下载软件。 3.实验内容 使用P0口控制8个LED 进行流水灯显示。 4.实验预习要求和实验准备要求 预习教科书关于单片机硬件架构内容、IO口的内容,特殊寄存器内容。 预习汇编程序编写、MCS-51指令表。 带上教科书、U盘、具备二进制和十六进制转换的科学计算器。 5.实验原理和步骤 1)实验原理 (1)实验原理图 图1 P0口连接的8盏LED灯 从图1中可以看出:如果需要把LED点亮有两个条件,其一是需要用短接帽把J1的2脚和3脚短接,在PCB上就是将电路板左上角LED和VCC短接起来;其二是P0.X口给出低电平,让电流从VCC开始流经限流电阻、LED后进入单片机的P0.X口,最后到单片机内部的地线上。因此,简单地说就是在短接帽接好的前提下,向P0.X口写0则LED将点亮,写1则LED将熄灭。图中网络标识PORT0_0、PORT0_1……PORT0_7和单片机P0.0、P0.1……P0.7连接,可观察原理图上单片机P0口的网络标识也是PORT0_0、 PORT0_1……PORT0_7。

实验七 单片机串口通信

实验七串口通信实验 【实验目的】 1、理解单片机串行口的工作原理; 2、学习使用单片机的TXD、RXD口; 3、学习PC机的串口通讯原理。 【实验内容】 任务: 1.单片机与电脑串口通讯,将单片机与电脑相连,借助串口调试助手,单片机发送“Everything is possible ^_^”。 2.串口调试助手中输入“turnonled1”、“turnonled2”、“turnonled3”中一个,相应的led点亮,单片机再发送“Turn on LED1 has been executed!”消息提示输入下一个需要点亮的灯。通讯波特率:9600bps,信息格式:无校验位+8个数据位+1个停止位,传送方式,单片机采用中断方式接收信息。 原理: SM0、SM1:由软件置位或清零,用于选择串行口四种工作方式。 SM2:多机通信控制位。在方式2和方式3中,如SM2=1,则接收到的第9位数据(RB8)为0时不启动接收中断标志RI(即RI=0),并且将接收到的前8位数据丢弃;RB8为1时,才将接收到的前8位数据送入SBUF,并置位RI,产生中断请求。当SM2=0时,则不论第9位数据为0或1,都将前8位数据装入SBUF 中,并产生中断请求。在方式0时,SM2必须为0。 REN:允许串行接收控制位。若REN=0,则禁止接收;REN=1,则允许接收,该位由软件置位或复位。 TB8:发送数据D8位。在方式2和方式3时,TB8为所要发送的第9位数据。在多机通信中,以TB8位的状态表示主机发送的是地址还是数据:TB8=0为数据,TB8=1为地址;也可用作数据的奇偶校验位。该位由软件置位或复位。 RB8:接收数据D8位。在方式2和方式3时,接收到的第9位数据,可作为奇偶校验位或地址帧或数据帧的标志。方式1时,若SM2=0,则RB8是接收到的停止位。在方式0时,不使用RB8位。 TI:发送中断标志位。在方式0时,当发送数据第8位结束后,或在其它方式发送停止位后,由内部硬件使TI置位,向CPU请求中断。CPU在响应中断后,必须用软件清零。此外,TI也可供查询使用。 RI:接收中断标志位。在方式0时,当接收数据的第8位结束后,或在其它方式接收到停止位的中间由内部硬件使RI置位,向CPU请求中断。同样,在CPU 响应中断后,也必须用软件清零。RI也可供查询使用。

单片机实验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个字节,模块在接收到最后一个字节后才开始执行整个命令的内部操作,因此,最后一个字节的应答BUSY 高电平(BUSY =1)持续时间较长,具体的时序图和时间参数说明查阅相关手册。

35个单片机设计应用实例

1.闪烁灯 1.实验任务 如图 4.1.1 所示:在 P1.0 端口上接一个发光二极管 L1,使 L1 在不停地一亮一灭,一亮一灭的时间间隔为 0.2 秒。 2.3.电路原理图 系统板上硬件连线 图 4.1.1 把“单片机系统”区域中的 P1.0 端口用导线连接到“八路发光二极管指示模块”区域中的 L1 端口上。 4.程序设计内容 (1).延时程序的设计方法 作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要 求的闪烁时间间隔为 0.2 秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程 序是如何设计呢?下面具体介绍其原理:

如图 4.1.1 所示的石英晶体为 12MHz,因此,1 个机器周期为 1 微秒机器周期微秒 MOV R6,#20 2 个机器周期 2 D1: MOV R7,#248 2 个机器周期DJNZ R7,$ 2 个机器周期 DJNZ R6,D1 2 个机器周期2 2×248 2×20=40 2+2×248=498 20× 498 10002 因此,上面的延时程序时间为 10.002ms。 由以上可知,当 R6=10、R7=248 时,延时 5ms,R6=20、R7=248 时, 延时 10ms,以此为基本的计时单位。如本实验要求 0.2 秒=200ms, 10ms×R5=200ms,则 R5=20,延时子程序如下: DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET (2).输出控制 如图 1 所示,当 P1.0 端口输出高电平,即 P1.0=1 时,根据发光二极管 的单向导电性可知,这时发光二极管 L1 熄灭;当 P1.0 端口输出低电平, 即 P1.0=0 时,发光二极管 L1 亮;我们可以使用 SETB P1.0 指令使 P1.0 端口输出高电平,使用 CLR P1.0 指令使 P1.0 端口输出低电平。 5.程序框图 如图4.1.2所示

单片机原理实验指导书(2012.10)

《单片机原理》实验指导书 计算机科学与技术系2012年8月

目录 第一部分单片机仿真实验 (1) 实验一:流水灯实验 (1) 实验二:中断实验 (4) 实验三:定时器中断实验 (6) 实验四:串行口实验 (9) 实验五:矩阵式键盘输入识别 (13) 实验六:LCD循环显示设计 (19) 第二部分单片机硬件实验............................错误!未定义书签。第一章试验箱系统概述 ...................................错误!未定义书签。 一、系统地址分配........................................... 错误!未定义书签。 二、系统接口定义........................................... 错误!未定义书签。 三、通用电路简介........................................... 错误!未定义书签。第二章实验指导...............................................错误!未定义书签。实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。实验八简单I/O口扩展(选作).................. 错误!未定义书签。实验九8255控制交通灯................................ 错误!未定义书签。实验十128*64LCD液晶显示 .......................... 错误!未定义书签。

第一部分单片机仿真实验 实验一:流水灯实验 一、实验目的: 通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。 二、实验原理图 实验参考电路图如下: 三、参考实验程序 //流水灯实验 #include //包含单片机寄存器的头文件 sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的

单片机试验源程序文件

单片机实验指导书(实验源程序)

实验二、三 I/O接口实验 1、输出实验 例1: ORG 0000H AJMP START ;跳转到初始化程序 ORG 0033H ;----- 主程序开始 ----- START: MOV P1,#0FFH ;是所有LED熄灭 ACALL DELAY ;调用延时子程序 CLR P1.0 ;P1.0输出低电平,使LED3点亮 ACALL DELAY ;调用延时子程序 SETB P1.0 ;P1.0输出高电平,使LED3熄灭 CLR P1.1 ;P1.1输出低电平,使LED4点亮 ACALL DELAY ;调用延时子程序 SETB P1.1 ;P1.1输出高电平,使LED4熄灭 CLR P1.2 ;P1.2输出低电平,使LED5点亮 ACALL DELAY ;调用延时子程序 SETB P1.2 ;P1.2输出高电平,使LED5熄灭 CLR P1.3 ;P1.3输出低电平,使LED6点亮 ACALL DELAY ;调用延时子程序 MOV P1, #0F0H ;LED3~LED6全部发光 ACALL DELAY ;调用延时子程序 AJMP START ;返回到标号START处再循环 ;----- 延时子程序 ----- DELAY: MOV R5,#10 LOOP: MOV R6,#200 LOOP1: MOV R7,#250 LOOP2: DJNZ R7,LOOP2 DJNZ R6,LOOP1 DJNZ R5,LOOP RET 例2: ORG 0000H AJMP START ;跳转到初始化程序 ORG 0033H ;----- 主程序开始 ----- START: MOV P1,#0FFH ;是所有LED熄灭 ACALL DELAY ;调用延时子程序 MOV ACC,#0FEH ;ACC中先装入LED3亮的数据(二进制的11111110) MOV P1,ACC ;将ACC的数据送P1口 ACALL DELAY ;调用延时子程序 MOV R0,#03H ;上句送到P1口的数据就点亮了LED1,所以将数据再移

单片机实验答案

前言 由于单片机具有高可靠性、超小型、低价格、容易产品化等特点,在仪器仪表智能化、实时工业控制、实时数据采集、智能终端、通信设备、导航系统、家用电器等控制应用领域,具有十分广泛的用途。目前在国内单片机应用中,MCS-51系列单片机仍然是一种主流单片机。为配合《单片机应用技术》课程的教学,使学生尽快了解、掌握89C51单片机的使用,特编写了这本上机指导书(基础篇)。 《单片机》是一门实践性很强的课程,提高教学质量的一个重要环节是上机实习和训练,无论是学习汇编语言程序设计,还是学习接口电路和外设与计算机的连接,或者软硬兼施地研制单片机应用系统,不通过加强动手是不能获得预期效果的。本实验指导书提供了9个实验的指导性材料,实验还有一些思考题,可以根据课时的安排和教学要求进行取舍。为了达到某些实验的目的,书中提供的参考程序与实际应用中的程序会有些差别,所以不一定是最优的。 由于时间紧迫,加上编者学识有限,如有不妥之处,欢迎读者批评指正。 编者

实验须知 1. 实验前必须阅读教科书的有关部分和本实验指导书,了解实验目的、内容、步骤,做好实验前的准备工作,编写好实验中要求自编或修改的程序;完成实验前要求完成的准备工作后方可以上机实验,否则不得上机操作。 2. 各种电源的电压和极性不能接错,严禁带电接线和接插元器件。通电前须经过指导教师检查认可后方能通电。 3. 不准随意拨弄各种与实验无关的旋钮和开关,凡与本次实验无关的任何设备都禁止动用和摸弄,注意安全。 4. 严禁用手触摸实验系统印制电路板和元器件的引脚,防止静电击穿芯片。 5. 实验中若损坏仪器或元器件,应及时向指导教师报告,听候处理。 6. 在实验室内保持安静和卫生,不得随意走动和喧哗,集中精力完成实验。 7. 实验完成后,关掉电源,及时整理实验台桌面,保持环境整洁。 8. 按规定认真完成实验报告,对实验中出现的现象进行分析,在规定的时间内交上实验报告。 9. 凡实验或实验报告未能按规定完成的学生,不能参加本课程的考试或考查。

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