单片机实验5

合集下载

单片机实验报告

单片机实验报告

单片机实验报告实验一:存储器块清零或赋值一、实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。

2 熟悉循环结构程序的编写。

3 熟悉编程环境和程序的调试。

二、实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。

例如将4000H开始的10个字节内容清零或全部赋值为33H。

注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。

2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。

5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。

三、实验仪器微机、VW,WA VE6000编程环境软件,(单片机实验箱)Lab6000/Lab6000通用微控制器MCS51实验四、实验步骤1、新建工程文件。

(注意:文件不要用中文名称保存时不要用中文路径)2、编写程序。

3、运行和调试过程。

外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):单步执行程序,观察SFR中外部地址指针的变化;全速执行程序,可以看到外部数据存储器已赋值33H:五、实验结果可以看到外部数据存储器已赋值33H:六、问题讨论本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。

同时,学习掌握汇编程序的编写和调试过程。

实验二:存储块移动一、实验目的1 熟悉51汇编语言程序结构。

2 熟悉循环结构程序的编写,进一步熟悉指令系统。

3 熟悉编程环境和程序的调试。

二、实验内容将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。

单片机实验指导书

单片机实验指导书

目录实验一系统认识实验 (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其他点亮功能。

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

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

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

2)实验步骤(1)启动KEIL集成开发环境,按照《KEIL使用方法》中描述步骤进行工程建立、汇编源程序文件添加。

单片机原理与应用实验报告5——秒表定时器实验

单片机原理与应用实验报告5——秒表定时器实验

大连理工大学软件学院《单片机原理与应用》实验报告姓名:学号:班级:姓名:学号:班级:组号:实验箱编号:实验时间:月日实验室:嵌入式实验室实验台:Embest Edukit-III平台指导教师:侯刚成绩:实验五:秒表定时器实验一、实验目的和要求题目:秒表定时器实验实验目的1. 学习单片机的基本接口技术。

2. 学习74HC595、74HC138使用及与51单片机的控制方法。

实验要求1.通过按键控制,完成数码管的显示计数控制。

2. 用汇编语言设计程序,完成8个数码管的显示控制。

当按下INT 按钮时,数码管开始快速计时,高五位为秒数,低三位为ms 数,每1ms 刷新一次显示内容。

当再次按下INT 按钮时,停止计数。

二、实验原理和内容实验内容:用汇编语言设计程序,完成8个数码管的显示控制。

当按下INT 按钮时,数码管开始快速计时,高五位为秒数,低三位为ms 数,每1ms 刷新一次显示内容。

当再次按下INT 按钮时,停止计数。

实验原理:1.根据原理图,分析工作原理,有P0进行取段码,P2.0 P2.1 P2.2进行取位码。

2.使用定时器进行计时。

根据所给开发板上的晶振频率,计算出计时器所付初值,设置计时器TO在模式下工作,每次计时100ms后,转入数码管显示中断处理程序。

3.实验板为共阴极数码管显示,将对应的显示0~9的电信号依次存储在“数组表”中。

4.使用key1,key2两个按键,按下key1,开始计时。

按下key2,计时停止。

5.根据实验要求,采用T0,T1两个定时器,其中T0用来增加时间显示,T1为按暂停键时为LED显示管循环上电所用。

6.每部分中断程序用寄存器间接寻址的方式获取显示数字的电信号量。

并进行循环上电,保证数字的亮度。

三、主要仪器设备及软件编程环境主要仪器:计算机编程软件,51电路开发板编程环境:uVision2 ,progisp烧写软件四、实验步骤与编程实验步骤:编写代码,编译,调试,烧写,完成实验。

单片机实训心得5篇

单片机实训心得5篇

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

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的实用资料,如工作总结、工作报告、工作计划、心得体会、讲话致辞、教育教学、书信文档、述职报告、作文大全、其他资料等等,想了解不同资料格式和写法,敬请关注!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 practical materials for everyone, such as work summaries, work reports, work plans, reflections, speeches, education and teaching, letter documents, job reports, essay summaries, and other materials. If you want to learn about different data formats and writing methods, please stay tuned!单片机实训心得5篇通过与他人分享心得体会,可以促进交流和合作,共同探讨问题和解决挑战,心得体会是我们的财富,它们可以指导我们的决策和行动,本店铺今天就为您带来了单片机实训心得5篇,相信一定会对你有所帮助。

51单片机项目教程项目 5 蜂鸣器实验

51单片机项目教程项目 5  蜂鸣器实验

图5- 9蜂鸣器实物结果
当SM0、SM1=01时,串行口设为方式1的双机串行通信。TXD脚和 RXD脚分别用于发送和接收数据。
5.2技术准备
方式1发送时,数据位由TXD端输出,发送一帧信息为10位:1位起始 位0,8位数据位(先低位)和1位停止位1。当CPU执行一条数据写 SBUF的指令,就启动发送。发送开始时,内部发送控制信号变为有 效,将起始位向TXD脚(P3.0)输出,此后每经过一个TX时钟周期, 便产生一个移位脉冲,并由TXD引脚输出一个数据位。8位数据位全部 发送完毕后,中断标志位TI置1。 方式1接收时(REN = 1),数据从RXD(P3.1)引脚输入。当检测到 起始位的负跳变,则开始接收。当一帧数据接收完毕后,同时满足以 下两个条件,接收才有效。 (1)RI = 0,即上一帧数据接收完成时,RI = 1发出的中断请求已被 响应,SBUF中的数据已被取走,说明“接收SBUF”已空。 (2)SM2 = 0或收到的停止位 = 1(方式1时,停止位已进入RB8), 则将接收到的数据装入SBUF和RB8(装入的是停止位),且中断标 志RI置“1”。
5.2技术准备
5.2.2 了解实验板蜂鸣器电路
图5- 3蜂鸣器电路
5.2技术准备
5.2.3 蜂鸣器驱动电路
蜂鸣器驱动电路如图5-4所示。
图5- 4蜂鸣器驱动电路
5.2技术准备
5.2.4串行口的结构
单片机串口结构如图5-5所示。有两个物理上独立的接收、发送缓冲器 SBUF(属于特殊功能寄存器),可同时发送、接收数据。控制寄存器共 有两个:特殊功能寄存器SCON和PCON。发送和接收引脚分别是TXD (P3.0)和RXD(P3.1)。
SM0 0 0 1 1 SM1 0 1 0 1 工作 方式 0 1 2 3 功能简介 移位寄存器 8位UART 9位UART 9位UART 比特率 OSC/12 可变 OSC/32或 OSC/64 可变

单片机实验报告实验5行列式键盘实验

单片机实验报告实验5行列式键盘实验

学号姓名专业电气工程及其自动化班级实验5 行列式键盘实验一、实验目的(1)、学习掌握行列式键盘接口方法(2)、学习掌握行列式键盘编程方法。

二、实验内容用单片机P1口接4*4键盘,P0口接共阳数码管,编程实现键字的显示。

P1.0-P1.3为行,P1.4-P1.7为列。

先给端口设处置FEH,相当于给第一行置0,然后分写列值,如果对应的列值为0,说明该行与该列交叉处的键是按下的,接下来扫描第二行,与第一行的操作相同。

这就是行列式键盘扫描原理。

当扫描到某行的键按下时,就退出扫描,然后取键值,再将键值对应的额编码送P0端口显示。

三、实验设备计算机(已安装Keil和Proteus软件)元器件:A T89C51, CAP, CAP-ELEC, CRYSTAL, RES, 7SEG-COM-AN-GRN, RESPACK-7, BUTTON四、实验硬件电路实验源程序:#include<reg51.h>charled_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x7 1};charkey_buf[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x 77};char getkey(void){char key_scan[]={0xef,0xdf,0xbf,0x7f};char i=0,j=0;for(i=0;i<4;i++){P1=key_scan[i];if((P1&0x0f)!=0x0f){for(j=0;j<16;j++){if(key_buf[j]==P1)return j;}}}return -1;}void main(void){char key=0;P0=0x00;while(1){key=getkey();if(key!=1)P0=~led_mod[key]; }}五、实验要求(1)、根据实验内容设计相应的调试程序,并通过仿真,运行正确。

单片机实验五报告_单片机键盘实验

单片机实验五报告_单片机键盘实验

单片机实验五报告_单片机键盘实验一、实验目的本次单片机键盘实验的主要目的是让我们深入了解单片机与键盘的接口技术,掌握如何通过编程实现对键盘输入的检测和响应,从而提高我们在单片机应用开发中的实际操作能力。

二、实验原理在单片机系统中,键盘通常是作为输入设备使用的。

常见的键盘有独立式键盘和矩阵式键盘两种类型。

独立式键盘是每个按键单独占用一根 I/O 线,其优点是电路简单,编程容易,但缺点是占用较多的 I/O 口资源。

矩阵式键盘则是将按键排列成矩阵形式,通过行线和列线的交叉来识别按键。

这种方式可以有效地节省 I/O 口资源,但电路和编程相对复杂一些。

在本次实验中,我们采用了矩阵式键盘。

其工作原理是通过逐行扫描或者逐列扫描的方式,检测行线和列线的电平状态,从而确定按下的按键。

三、实验设备及材料1、单片机开发板一块2、计算机一台3、编程软件(如 Keil C51)4、下载工具(如 STCISP)四、实验步骤1、硬件连接将矩阵式键盘与单片机的 I/O 口进行连接,注意行线和列线的对应关系。

连接好电源和地线,确保硬件电路正常工作。

2、软件编程打开编程软件,创建一个新的工程。

编写初始化程序,包括设置 I/O 口的工作模式、中断等。

编写键盘扫描程序,通过循环扫描行线和列线的电平状态,判断是否有按键按下。

当检测到按键按下时,根据按键的编码执行相应的操作,如在数码管上显示按键值、控制 LED 灯的亮灭等。

3、编译和下载对编写好的程序进行编译,检查是否有语法错误。

如果编译成功,使用下载工具将程序下载到单片机中。

4、实验调试观察硬件电路的工作状态,看是否有异常现象。

按下不同的按键,检查程序的响应是否正确。

如果出现问题,通过调试工具(如单步调试、断点调试等)查找并解决问题。

五、实验代码以下是本次实验的部分关键代码:```cinclude <reg51h>//定义键盘的行和列define ROW_NUM 4define COL_NUM 4//定义行线和列线的端口sbit ROW1 = P1^0;sbit ROW2 = P1^1;sbit ROW3 = P1^2;sbit ROW4 = P1^3;sbit COL1 = P1^4;sbit COL2 = P1^5;sbit COL3 = P1^6;sbit COL4 = P1^7;//定义按键值的编码unsigned char code KeyCodeMapROW_NUMCOL_NUM ={{'1','2','3','A'},{'4','5','6','B'},{'7','8','9','C'},{'','0','','D'}};//键盘扫描函数void KeyScan(){unsigned char i, j, temp;unsigned char keyValue = 0;//逐行扫描for (i = 0; i < ROW_NUM; i++){//先将所有行线置高电平ROW1 = ROW2 = ROW3 = ROW4 = 1;//将当前行线置低电平switch (i){case 0: ROW1 = 0; break;case 1: ROW2 = 0; break;case 2: ROW3 = 0; break;case 3: ROW4 = 0; break;}//读取列线的电平状态temp = COL1 | COL2 | COL3 | COL4;//如果有列线为低电平,则表示有按键按下if (temp!= 0xF0){//延迟去抖动delay_ms(10);//再次读取列线的电平状态temp = COL1 | COL2 | COL3 | COL4; if (temp!= 0xF0){//确定按下的按键for (j = 0; j < COL_NUM; j++){if ((temp &(1 << j))== 0){keyValue = KeyCodeMapij;break;}}//执行相应的操作switch (keyValue){case '1'://具体操作break;case '2':break;//其他按键的操作}}}}}//主函数void main(){while (1){KeyScan();}}```六、实验结果及分析在实验过程中,我们成功地实现了对矩阵式键盘的输入检测,并能够根据不同的按键执行相应的操作。

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

;设定UART方式MODE0 ;数据指针指到TABLE ;清除ACC ;到TABLE取数据 ;到结束码03了么?不是转A1 ;是则重新开始 ;数据取向 ;A存入30H ;30H的值存入SBUF ;监测TI=1?是则跳到LOOP2 ;否则继续监测 ;延时;数据指针加1
DELAY: MOV R5,#255 D3:MOV R2,#255 D4:DJNZ R2,D4 DJNZ R5,D3 RET table : db 01h,02h,04h,08h db 10h, 20h,40h,80h db 01h,02h,04h,08h db 10h, 20h,40h,80h db 80h,40h,20h,10h db 08h, 04h,02h,01h db 80h,40h,20h,10h db 08h, 04h,02h,01h db 00h,0ffh,00h,0ffh db 03h END
K4: LCALL DELAY2 LCALL KS JNZ K4 POP ACC RET NEXT: INC R4 MOV A,R2 JNB ACC.7,KEY RL A MOV R2,A AJMP K3 KS: MOV P1,#0FH MOV A,P1 XRL A,#0FH RET
;调用延时去抖动程序 ;调用按键检测程序 ;按键没有松开继续返回检测 ;将堆栈的值送入ACC
实验五:串行口应用、 实验五 串行口应用、按键识别与数码管动态 串行口应用 显示 实验目的: 一、实验目的:
单片机在实际应用中需要进行系统扩展, 1、单片机在实际应用中需要进行系统扩展,如果 并行口不够用, 可使用未用的串行口进行扩充, 并行口不够用, 可使用未用的串行口进行扩充,实现 串行输入并行输出。 串行输入并行输出。 输出显示与键盘输入是扩展的重要内容。 2、输出显示与键盘输入是扩展的重要内容。要求 掌握数码管动态显示与矩阵按键的识别技术。 掌握数码管动态显示与矩阵按键的识别技术。 熟悉XLISP XLISP系列 单片机综合仿真试验仪的组成 3、熟悉XLISP系列 单片机综合仿真试验仪的组成 和使用方法。学会应用XLISP仿真试验和keil-uvision2 XLISP仿真试验和 和使用方法。学会应用XLISP仿真试验和 集成调试软件进行仿真实验。 集成调试软件进行仿真实验。
UV2快捷图标 (1)双击桌面上的UV2快捷图标,启动软件。 )双击桌面上的UV2快捷图标,启动软件。 出现的界面分为4部分:左上角为REG REG和系统显 (2)出现的界面分为4部分:左上角为REG和系统显 示区;左下角为调试程序时的信息显示; 示区;左下角为调试程序时的信息显示;右上角为程 序编写和修改区;右下角为CODE(程序存储器) 序编写和修改区;右下角为CODE(程序存储器)和 DATA/XDATA(内部/外部数据存储器)的显示区。 ATA/XDATA(内部/外部数据存储器)的显示区。 点击P (3)点击P工程 N新建工程 输入文件名并选择 存入的盘(如E:)点击保存。出现CPU屏幕,选Atmel 存入的盘( E:)点击保存。出现CPU屏幕, 点击保存 CPU屏幕 点确定。屏幕左上方出现图标目标1 AT89C51 点确定。屏幕左上方出现图标目标1。
开始调试, (5)点击调试 开始调试,点击屏幕上方左下角的 对文件进行编译, 编译图标 对文件进行编译,观察左下角的调试程序 信息显示,如有错可根据该栏提示的信息进行修改, 信息显示,如有错可根据该栏提示的信息进行修改, 修改后要重新保存和编译,直到无错误提示。 修改后要重新保存和编译,直到无错误提示。 点击编译图标右边的建造目标和建造所有目标图 编译图标右边的建造目标和 (6)点击编译图标右边的建造目标和建造所有目标图 对文件进行链接, 标,对文件进行链接,观察左下角的调试程序信息显 直到无错误提示。 示,直到无错误提示。 点击调试,按单步调试F10 观察运算结果: F10, (7)点击调试,按单步调试F10,观察运算结果:左 上角为系统和REG 右下角为存储器( REG, CODE、 上角为系统和REG,右下角为存储器(C:CODE、D: DATA、 XDATA)显示区,查看运算结果是否正确。 DATA、X:XDATA)显示区,查看运算结果是否正确。
;显示4
;选中第六个数码管 ;显示5
;选中第七个数码管 ;显示6
;选中第八个数码管
MOV P0,#7AH LCALL DELAY SETB P2.7 MOV P0,#0FFH AJMP MAIN DELAY: MOV R7,#2 D1: MOV R6,#25 D2: DJNZ R6,D2 DJNZ R7,D1 RET END
;延时程序
;左移
;右移
;闪烁
数码管动态扫描显示01234567 2、数码管动态扫描显示01234567
学习七段LED显示器的动态显示方法 学习七段LED显示器的动态显示方法 LED 硬件连接: 硬件连接: 位数码管的数据线: (1)8位数码管的数据线:将数码管部份的数据口 JP5接到CPU部份的P0口JP51。 JP5接到CPU部份的P0口JP51。 接到CPU部份的P0 位数码管的显示位控制线: (2)8位数码管的显示位控制线:将数码管部份的显 示控制口JP8接到CPU部份的P2口JP52。 示控制口JP8接到CPU部份的P2口JP52。 JP8接到CPU部份的P2
;确认有按下进行下一步 ;无键按下返回继续检测 ;将扫描值送入 R2暂存 ;将第一列值送入R4暂存 ;将R2的值送入P1口 ;P1.0等于1跳转到L1 ;将第一行值送入ACC ;跳转到键值处理程序 ;P1.1等于1跳转到L2 ;将第二行的行值送入ACC ;跳转到键值理程序进行键值处理 ;P1.2等于1跳转到L3 ;将第三行的行值送入ACC ;跳转到键值处理程 ;P1.3等于1跳转到NEXT处 ;将第四行的行值送入ACC ;行值与列值相加后的键值送入A
;选中第四个数码管 ;显示3
;选中第五个数码管
MOV P0,#74H LCALL DELAY MOV P0,#0FFH SETB P2.4 CLR P2.5 MOV P0,#61H LCALL DELAY MOV P0,#0FFH SETB P2.5 CLR P2.6 MOV P0,#21H LCALL DELAY MOV P0,#0FFH SETB P2.6 CLR P2.7
二、实验内容
1、串入并出实验 本实验用74LS164来扩充并行口。 74LS164来扩充并行口 本实验用74LS164来扩充并行口。 硬件连接: 硬件连接: 用一个2PIN数据排线一端插入CPU部分JP53 2PIN数据排线一端插入CPU部分JP53( (1) 用一个2PIN数据排线一端插入CPU部分JP53(P3 P3.0,P3.1。另外一端插入74LS164 74LS164部分的输入 口)的P3.0,P3.1。另外一端插入74LS164部分的输入 JP20。 端JP20。 (2) 用一根8PIN的数据排线,一端插入74LS164部分的 用一根8PIN的数据排线,一端插入74LS164部分的 8PIN的数据排线 74LS164 输出端JP26, 另一端插入8路指示灯的JP32 JP32。 输出端JP26, 另一端插入8路指示灯的JP32。 利用74LS164串行口实现8 74LS164串行口实现 利用74LS164串行口实现8路跑马灯程序。
MOV P0,#0FFH SETB P2.1 CLR P2.2 MOV P0,#0A2H LCALL DELAY MOV P0,#0FFH SETB P2.2 CLR P2.3 MOV P0,#62H LCALL DELAY MOV P0,#0FFH SETB P2.3 CLR P2.4
;选中第三个数码管 ;显示2
; 显示7
;重新开始 ;延时子程序
3、选作 矩阵按键识别技术
了解矩阵式键盘的识别方法,硬件连接如下: (1)用一条8PIN数据排线,把矩阵按键部份的JP50, 接到CPU部份的P1口JP44。 (2) 接8位数码管的数据线。将数码管部份的数据口 JP5接到CPU部份的P0口JP51。 (3) 接8位数码管的显示位线。将数码管部份的显示 位口 JP8接到CPU部份的P2口JP52。 参考程序:本程序实现扫描按键显示功能。 分别按16个键盘分别显示数字123A456B789C*0#D。 键盘口P1,数码管显示第二位p21, 数码管段位p0口。
参考程序: 参考程序:
ORG 0000H LJMP MAIN ORG 0030H MAIN: CLR P2.0 MOV P0,#28H LCALL DELAY MOV P0,#0FFH SETB P2.0 CLR P2.1 MOV P0,#7EH LCALL DELAY
;选中第一个数码管 ;显示0 ; 调用延时 ;关显示 ;选中第二个数码管 ;显示1
出现汇编语言输入区。 (4)点击文件 新建文件 出现汇编语言输入区。 输入汇编语言程序,点击文件中的保存,输入: 输入汇编语言程序,点击文件中的保存,输入:程序 并选择存入的盘( E:)点击保存 点击保存。 名.ASM 并选择存入的盘(如E:)点击保存。(输入的程 序名一般不超过6个字母数字,以字母打头) 序名一般不超过6个字母数字,以字母打头) (5)点击(图标)目标1前的“+”号,出现(图标) 点击(图标)目标1前的“ 号 出现(图标) 源程序组1,选中并点右键,选”文件增加到源程序组 源程序组1 选中并点右键, 文件增加到源程序组 Asm, 1”,选择文件类型为Asm,再选输入的程序名.ASM, ,选择文件类型为Asm 再选输入的程序名.ASM, ADD(加入),点确定。 ),点确定 点ADD(加入),点确定。 此时点击源程序组1可以看到输入的程序名. 此时点击源程序组1可以看到输入的程序名.ASM
本次实验报告中要回答的问题
1、分析80C51串行口的 种工作方法的不 、分析 串行口的4种工作方法的不 串行口的 同 2、分析动态扫描显示的原理和优缺点 、 3、说明矩阵按键识别的控制原理 、
kerl-uvision集成调试软件的操作 三、kerl-uvision集成调试软件的操作 操作步骤: 操作步骤:
相关文档
最新文档