单片机实验
更新时间:2023-09-23 10:46:01 阅读量: 医药卫生 文档下载
实验一 P1口实验一
一、实验目的:
1、学习P1口的使用方法。
2、学习延时子程序的编写和使用。 二、实验设备:
EL-8051-III型单片机实验箱 三、实验内容:
1、P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2、P1口做输入口,接八个按钮开关,以实验箱上74LS273做输出口,编写程序读取开关状态,在发光二极管上显示出来。 四、实验步骤:
执行程序1(T1_1.ASM)时:P1.0-P1.7接发光二极管L1-L8。
执行程序1(T1_1.ASM)时:P1.0-P1.7接平推开关K1-K8;74LS273的00-07接发光二极管L1-L8;74LS273的片选端CS273接CS0。 五、实验程序: 程序1
NAME T1_2 ;P1口输入实验 OUT_PORT EQU 0CFA0H CSEG AT 0000H LJMP START
CSEG AT 4100H
START: MOV P1,#0FFH ;复位P1口为输入状态
MOV A,P1 ;读P1口的状态值入累加器A
MOV DPTR,#OUT_PORT ;将输出口地址赋给地址指针DPTR MOVX @DPTR,A ;将累加器A的值赋给DPTR指向的地址 JMP START ;继续循环监测端口P1的状态 END
程序2 NAME T1_2 OUT_PORT EQU 0CFA0H CSEG AT 0000H LJMP START CSEG AT 4100H
START: MOV P1,#0FFH MOV A,P1 MOV DPTR,#OUT_PORT MOVX @DPTR,A JMP START END 六、实验体会:
通过本次实验,巩固了课本上的知识,学会了P1口的使用方法以及延时子程序的编写和使用,提高了对P1口的使用能力。
实验二 简单I/0口扩展实验——交通灯控制实验
一、 实验目的:
学习在单片机系统中扩展简单I/0接口的方法,学习数据输出程序的设计方法,学习模拟交通灯控制的实现方法。 二、实验设备:
CPU挂箱、8031CPU模块 三、实验内容:
扩展实验箱上的74LS273Z做为输出口,控制八个发光二极管亮灭,模拟交通灯管理。
四、实验原理:
要完成本实验,首先必须了解交通路灯的亮灭规律。本实验需要到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1(红)、L2(绿)、L3(黄)做为东西方向的指示灯,将L5(红)、L6(绿)、L7(黄)做为南北方向的指示灯。而交通等的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。各发光二极管的阳极通过保护电阻接到+5V的电源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。 五、实验步骤及程序:
74LS273的输出00~07接发光二极管L1~L8,74LS273的片选CS273接片选信号CS0。
NAME T3 ;I/O口扩展实验一
PORT EQU 0CFA0H ;片选地址CS0 CSEG AT 0000H LJMP START CSEG AT 4100H
START: MOV A,#11H ;两个红灯亮,黄灯、绿灯灭
ACALL DISP ;调用273显示单元(以下雷同) ACALL DE3S ;延时3秒
LLL: MOV A,#12H ;东西路口绿灯亮;南北路口红灯亮 ACALL DISP
ACALL DE10S ;延时10秒
MOV A,#10H ;东西路口绿灯灭;南北路口红灯亮 ACALL DISP
MOV R2,#05H ;R2中的值为黄灯闪烁次数
TTT: MOV A,#14H ;东西路口黄灯亮;南北路口红灯亮 ACALL DISP
ACALL DE02S ;延时0.2秒
MOV A,#10H ;东西路口黄灯灭;南北路口红灯亮 ACALL DISP
ACALL DE02S ;延时0.2秒
DJNZ R2,TTT ;返回TTT,使东西路口;黄灯闪烁五次 MOV A,#11H ;两个红灯亮,黄灯、绿灯灭
ACALL DISP
ACALL DE02S ;延时0.2秒
MOV A,#21H ;东西路口红灯亮;南北路口绿灯亮 ACALL DISP
ACALL DE10S ;延时10秒
MOV A,#01H ;东西路口红灯亮;南北路口绿灯灭 ACALL DISP
MOV R2,#05H ;黄灯闪烁五次
GGG: MOV A,#41H ;东西路口红灯亮;南北路口黄灯亮 ACALL DISP
ACALL DE02S ;延时0.2秒
MOV A,#01H ;东西路口红灯亮;南北路口黄灯灭 ACALL DISP
ACALL DE02S ;延时0.2秒
DJNZ R2,GGG ;返回GGG,使南北路口;黄灯闪烁五次 MOV A,#03H ;两个红灯亮,黄灯、绿灯灭 ACALL DISP
ACALL DE02S ;延时0.2秒 JMP LLL ;转LLL循环 DE10S: MOV R5,#100 ;延时10秒 JMP DE1
DE3S: MOV R5,#30 ;延时3秒 JMP DE1
DE02S: MOV R5,#02 ;延时0.2秒 DE1: MOV R6,#200 DE2: MOV R7,#126 DE3: DJNZ R7,DE3 DJNZ R6,DE2 DJNZ R5,DE1 RET
DISP: MOV DPTR,#PORT ;273显示单元 CPL A MOVX @DPTR,A RET END 六、实验体会:
通过本次实验,了解了在单片机系统中扩展简单I/0接口的方法,学会了数据输出程序的设计方法以及模拟交通灯控制的实现方法。
实验三 定时器应用程序设计与调试(2学时)
一、实验目的:
1.学习8051内部计数器的使用和编程方法。 2.进一步掌握中断处理程序的编写方法。 二、实验设备:
CPU挂箱、8031CPU模块
三、实验内容:
由8031内部定时器1按方式1工作,即做为16位定时器使用,每0.1秒钟T1溢出中断一次。P1口的P1.0~P1.7分别接发光二极管的L1~L8。要求编写程序模拟一循环彩灯。彩灯变化花样可自行设计。例程给出的变化花样为:①L1、L2、···L8依次点亮;②L1、L2、···L8依次熄灭;③L1、L2、···L8全亮、全灭。各时许间隔为0.5秒。让发光二极管按以上规律循环显示下去。 四、实验原理:
1.定时常数的确定
定时器/计数器的输入脉冲周期与机器周期一样,为振荡频率的1/12.本实验中时钟频率为6.0MHZ,现要采用中断方法来实现0.5秒延时,要在定时器1中设置一个时间常数,使其每个0.1秒产生一次中断,CPU响应中断后将R0中计数值减一,令R0=05H,即可实现0.5秒延时。
时间常数可按下述方法确定:
机器周期=12÷晶振频率=12/(6×10)=2us
设计数初值为X,则(2e+16-X)×2×10-6=0.1,可求得X=15535 化为十六进制则X=3CAFH,故初始值为TH4=3CH,TL1=AFH 2.初始化程序
包括定时器初始化和中断操作系统初始化,主要是对IP、IE、TCON、TMOD相应位进行正确的设施,并将时间常数送入定时器中。由于只有定时器中断,IP便不必设置。 3.设计中断服务程序和主程序
中断服务程序除了要完成技术减一工作外,还要将时间常数重新送入定时器中,为下一次中断做准备。主程序则用来控制发光二极管按要求顺序燃灭。 五、实验步骤及程序:
NAME T6 ;定时器实验 OUTPORT EQU 0CFB0H CSEG AT 0000H LJMP START CSEG AT 001BH ;定时器/计数器1中断程序入口地址 LJMP INT CSEG AT 4100H
START: MOV A,#01H ;首显示码
MOV R1,#03H ;03是偏移量,即从基址寄存器到表首的距离 MOV R0,#5H ;05是计数值
MOV TMOD,#10H ;计数器置为方式1 MOV TL1,#0AFH ;装入时间常数 MOV TH1,#03CH
ORL IE,#88H ;CPU中断开放标志位和定时器
;1溢出中断允许位均置位 SETB TR1 ;开始计数 LOOP1: CJNE R0,#00,DISP
MOV R0,#5H ;R0计数计完一个周期,重置初值 INC R1 ;表地址偏移量加1 CJNE R1,#31H,LOOP2
MOV R1,#03H ;如到表尾,则重置偏移量初值 LOOP2: MOV A,R1 ;从表中取显示码入累加器 MOVC A,@A+PC JMP DISP
DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH,0FEH,0FCH DB 0F8H,0F0H,0E0H,0C0H,80H,00H,0FFH,00H,0FEH
DB 0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH,0BFH,0DFH DB 0EFH,0F7H,0FBH,0FDH,0FEH,00H,0FFH,00H DISP: ;MOV DPTR,#OUTPORT ;MOVX @DPTR,A
MOV P1,A ;将取得的显示码从P1口输出显示 JMP LOOP1
INT: CLR TR1 ;停止计数 DEC R0 ;计数值减一
MOV TL1,#0AFH ;重置时间常数初值 MOV TH1,#03CH
SETB TR1 ;开始计数 RETI ;中断返回 END
六、实验心得:
通过本次实验,学会了8051内部计数器的使用和编程方法,进一步掌握中断处理程序的编写方法,在实验过程中,我更理解8051的一些功能。
正在阅读:
单片机实验09-23
拔叉 毕业论文03-01
陶艳波02-15
风水外在煞气图解及化解方法01-16
2010年度-小型微利企业所得税优惠政策07-21
北师大版四年级数学下册教学计划07-30
2015年福建省五强两比配合比省厅题库内部文件只要有看省厅题库没变包过1610-10
从百草园到三味书屋阅读答案05-08
《广东省建筑与装饰工程综合定额2010》06-04
解放军陆军兵种师旅编制汇总04-06
- 《庖丁解牛》教案
- 顶岗实习报告2
- 矛盾论,实践论读后感
- 电子围栏监控平台的整体概要设计
- 盖梁预制施工方案 - 图文
- 氮气气调储粮技术规程(20090810)
- 工程系统在线考试复习资料
- 教科版四年级下册科学教案全册
- 工程经济学试卷(含答案)
- 连接CORS网络设置 - 天宝(麦格)
- 高科技公司综合部职位设置及职位说明书
- 高三化学-扬州市2016届高三上学期期末调研考试化学试题 - 图文
- 浅析银行在开户过程中遇到的风险与对策
- 《推拿学》考试题(3)
- 小学语文教研大组研修计划
- 2008陕西省高等职业教育重点专业申报 - 图文
- 基于经验小波变换的机械故障诊断方法
- 市场营销战略外文翻译文献
- 韩军《老王》教学实录(校对版)
- 60万吨球团矿回转窑耐材修补新方法的研究及实施