实验三P3.3口输入、P1口输出实验
实验三 4.1 P3.3口输入、P1口输出实验
系别专业:电子系12级电信2班 学号:3121003210
姓名:李书杰 指导老师:刘志群老师
4.1.1 实验要求
1. 复习 Keil C51调试硬件的操作方法。 2. 复习单片机作为通用 I/O口的注意事项。 3. 复习单片机操作 I/O口的程序设计方法。
4.1.2 实验设备
PC 机一台,TD-NMC+教学实验系统
4.1.3 实验目的
1. 熟悉单片机仿真实验软件 Keil C51调试硬件的方法。 2. 了解 P3、P1口作通用 I/O口的使用方法。 3. 掌握延时子程序的编写和使用方法。 4. 了解单片机对简单 I/O的扩展方法。
4.1.4 实验内容
实验 1
根据TD-NMC+实验平台的单元电路,构建一个硬件系统,并编写实验程序实现如下功能:将 P1口的低 4位定义为输出,高 4位定义为输入,数字量从 P1口的高 4位输入,从 P1口的低 4位输出控制发光二极管的亮灭。 程序如下:
KEY: MOV P1,#0F0H ;令所有行为低电平 KEY1:MOV R7,#0FFH ;设置计数常数 DJNZ R7,KEY1 ;延时
MOV A, P1 ;读取P1口的列值 ANL A,#0F0H ;判别有键值按下吗?
CPL A ;求反后,有高电平就有键按下 JZ EKEY ;无键按下时退出 LCALL DEL20 ms ;延时20 ms去抖动
SKEY:MOV A,#00 ;下面进行行扫描,1行1行扫 MOV R0,A ;R0作为行计数器,开始为0 MOV R1,A ;R1作为列计数器,开始为0
MOV R3 #0FEH ;R3暂存行扫描字,低4位为行扫描字 SKEY2:MOV A,R3
MOV P1,A ;输出行扫描字,高4位全1 NOP NOP
NOP
MOV A,P1 ;读列值 MOV R1,A ;暂存列值
ANL A,#0F0H ;取列值 CPL A ;高电平则有键闭合 S123:JNZ SKEY3 ;有键按下转SKEY3 INC R0 ;行计数器加1 SETB C ;准备将行扫描左移1位,
;形成下一行扫描字,C=1保证输出行扫描字中高4位全为1, ;为列输入作准备,低4位中只有1位为0 MOV A,R3 ;R3带进位C左移1位 RLC A MOV R3,A ;形成下一行扫描字→R3 MOV A,R0 CJNE A,#04H,SKEY1 ;最后一行扫(4次)完了吗? EKEY:RET ;列号译码
SKEY3:MOV A,R1 JNB ACC.4,SKEY5 JNB ACC.5,SKEY6 JNB ACC.6,SKEY7 JNB ACC.7,SKEY8 AJMP EKEY SKEY5:MOV A,#00H MOV R2,A ;存0列号 AJMP DKEY SKEY6:MOV A,#01H MOV R2,A ;存1列号 AJMP DKEY SKEY7:MOV A,#02H MOV R2,A ;存2列号 AJMP DKEY SKEY8:MOV A,#03H MOV R2,A ;存3列号 AJMP DKEY ;键位置译码
DKEY: MOV A,R0 ;取行号 ACALL DECODE AJMP EKEY ;键值(键号)译码
DECODE:MOV A,R0 ;取行号送A MOV B,#04H ;每一行按键个数 MUL AB ;行号×按键数 ADD A,R2 ;行号×按键数+列号=键值 RET
实验 2
根据TD-NMC+实验平台的单元电路,构建一个硬件系统,并编写实验程序实现如下功能:将 P3.3口作状态输入口(接一个逻辑开关,即拨码开关),P1口做输入口(接八只发光二极管D0~D7)。当 P3.3=1时循环轮流点亮一个 LED灯;当 P3.3=0时循环轮流点亮相邻两个LED灯。 程序如下:
BUFF EQU 30H
KEYADR:MOV A,BUFF ;键号→A CJNE A,#0FH,KYARD1
AJMP DIGPRO ;等于F,转数字键处理 KYARD1:JC DIGPRO ;小于F,转数字键处理 KEYTBL:MOV DPTR,#JMPTBL ;送功能键地址表指针 CLR C ;请进位位
SUBB A,#10H ;功能键值(10H~1FH)减16 RL A ;(A)×2,使(A)为偶数:0,2,4,… JMP @A+DPTR ;转相应的功能键处理程序 JMPTBL: AJMP AAA AJMP BBB AJMP CCC AJMP DDD AJMP EEE AJMP FFF AJMP GGG AJMP HHH AJMP III AJMP JJJJ AJMP KKK AJMP LLL AJMP MMM AAA:
DIS: MOV R0,#7EH ;显示缓冲区末地址→R0 MOV R2,#01H ;位控字,先点亮最低位(右边) MOV A,R2 MOV DPTR,#TAB ;字型表头地址→DPTR LP0: MOV P1,A MOV A,@R0 ;取显示数据 MOVC A,@A+DPTR ;取出字形码 MOV P0,A ;送出显示 ACALL D1MS ;调延时子程序 DEC R0 ;数据缓冲区地址减1 MOV A,R2 JB ACC.5,LP1 ;扫描到最左面的显示器了吗? RL A ;没有到,左移1位 MOV R2,A AJMP LP0
LP1: RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH DB 6FH,77H,7CH, 39H,5EH,79H,71H,40H,00H D1MS: MOV R7,#02H ;延时1 ms子程序 DL: MOV R6,#0FFH DL1: DJNZ R6,DL1 DJNZ R7,DL RET
4.1.5 实验单元电路及连线
开关及 LED显示单元
4.1.6 实验说明
1、 P1口是准双向口,作输出口时与一般的双向口使用方法相同。由准双向口结构可知当 P1口作输入口时,必须先对它置高电平,同时内接上拉电阻(20KΩ~40 KΩ),使内部MOS截止,这样对外部输入不会产生影响,否则会使读入的数据不正确。
2、 由于机械键盘的抖动作用,常常通过硬件 RS或软件延时的方法去除机械抖动。使用软件延时方法时注意延时子程序的编写。
3、 发光二极管的需要5~10mA的驱动电流,1.7~2.4V的驱动电压。 4、循环轮流点亮LED,可以通过循环移位指令实现。
4.1.7 思考题
1. 8051系列单片机的四个并行口可以作准双向 I/O使用,当它们作为输入口时,必须先向端口输入高电平,为什么?
解: I/O是开漏的,如果输入低电平,该口无论输入高低电平都会被拉至低,所以电平,也就无法正确识别输入电平。
2. 编写按键(如拨码开关)程序时,应注意什么问题?
解:根据不同的拨码开关状态,在程序里写相应拨码开关的程序。 3. 若系统晶振为12MHz,试编写一个延时 10ms的程序段。 MOV R5,#5 D1: MOV R6,#4 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET
4. 本实验中,允许单片机的 I/O口直接驱动 LED灯,为什么?
解:单片机的I/O口的高电平接近电源电压+5V,而发光二极管的工作电压为2V以下,因此需要串接降压电阻,但在此实验中使用低电平驱动,所以允许单片机的 I/O口直接驱动 LED灯。
…… 此处隐藏:1335字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




