单片机实验报告78.docVIP

  • 5
  • 0
  • 约2.48千字
  • 约 6页
  • 2016-09-14 发布于重庆
  • 举报
单片机实验报告78

嵌入式系统基础实验报告 实验七 矩阵键盘编程实验 2012年5月8日 实验七 矩阵键盘编程实验 一、实验目的 利用单片机常见的人-机交互设备接口控制输入输出。 二、实验要求 了解行列翻转法进行矩阵键盘解码的工作原理;掌握行列翻转法矩阵键盘解码的编程方法;编写主程序,实现任意按下某键,其对应的键值能够在数码管上显示出来。 三、实验原理 矩阵式键盘由行线和列线组成,按键位于行列式的交叉点上,一个4*4的行列结构可以构成一个含有16个按键的键盘,显然,在按键数量较多时,矩阵键盘较之独立键盘要节省很多I、O口。矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V 上。 四、实验内容 打开KEIL界面,新建一个工程文件,命名为“LED灯.asm”,并保存在D盘中。 选择File\new,然后选择File\save as,在弹出的对话框中写入文件名,将其保存。 单击Target 1前面的“+”号,展开里面的内容Source Group 1,用右键单击Source Group 1, 弹出的菜单中选择Add Files to Group “Source Group 1”,将汇编文件添加到项目文件下。 输入程序如下: KEYBUF EQU 30H ORG 00H START: MOV KEYBUF,#2 NK1: CJNE A,#0DH,NK2 MOV KEYBUF,#1 LJMP DK1 NK2: CJNE A,#0BH,NK3 MOV KEYBUF,#2 LJMP DK1 NK3: CJNE A,#07H,NK4 MOV KEYBUF,#3 LJMP DK1 NK4: NOP DK1: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A DK1A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK1A NK5: CJNE A,#0DH,NK6 MOV KEYBUF,#5 LJMP DK2 NK6: CJNE A,#0BH,NK7 MOV KEYBUF,#6 LJMP DK2 编译无误后,运行并生成十六进制文件,将实验板插入计算机中,调入该程序。 观察实验板的变化情况。 五、实验心得 通过本次实验,使我了解了行列翻转法进行矩阵键盘解码的工作原理;掌握了行列翻转法矩阵键盘解码的编程方法,虽然实验过程中遇到了许多问题,但最终也得到了解决。 嵌入式系统基础实验报告 实验八 蜂鸣器编程实验 2012年5月11日 实验八 蜂鸣器编程实验 一、实验目的 熟悉实验板中蜂鸣器工作原理,掌握汇编编程控制蜂鸣器播放音乐。 二、实验要求 熟悉单片机编程控制蜂鸣器发声的工作原理;掌握单片机编程控制蜂鸣器发出不同频率声音的方法;了解一段简短音乐乐谱的构成,及其单片机程序实现的基本方法;编写主程序,通过编程实现单片机驱动蜂鸣器自动演奏一段音乐。 三、实验原理 本实验板的P1.1口上连接了1个蜂鸣器,具体见原理图。 因为蜂鸣器是通过PNP型三极管8550来驱动的,所以当I/O口P1.1为“0”时蜂鸣器响,当I/O口P1.1为“1”时蜂鸣器不响。 实验内容 (1)、双击Keil u Vision3进入Keil C软件的集成开发环境。 (2)、新建一个项目文件,选择Project/New,就可以建立一个工程文件,并命名为×××。 (3)、这时会弹出一个对话框,选择单片机的型号为ATS89s51. (4)、选择File/New,再选择File/New/Save as,并保存。输入以下程序: ORG 0000H LJMP START ORG 000BH LJMP PGT0 START: OBUF1 EQU 30H OBUF2 EQU 31H OBUF3 EQU 32H OBUF4 EQU 33H FLAGB BIT 00H STOPB BIT 01H K1 BIT P

文档评论(0)

1亿VIP精品文档

相关文档