单片机实验二
2017-12-23 22:56
127 查看
1、实验内容一
1.1、问题一:
设系统晶振为12MHz,编写一个延时1s的延时程序,并计算程序实际的延时。
1.2、问题一的代码
汇编语言代码如下:
C语言代码如下:
2、实验内容二
2.1、问题二:
设实验连线如图2-1所示,设计一个系统点亮发光二极管。
图2-1
2.2、问题二的代码:
汇编语言代码如下:
ORG 0000H
AJMP START
ORG 0100H
START:MOV P1 , 00H
END
C语言代码如下:
3、实验内容三
3.1、问题三:
实验原理如图2-1所示,用8位杜邦线将P1与J9连接,设计一个系统控制发光二极管以1秒的频率闪烁。
3.2、问题三的代码:
汇编语言代码如下:
C语言代码如下:
4、实验内容四
4.1、问题四:
保持上述电路连接,再用一8位杜邦线将另一个8位并行口P3与J26(独立开关)连接,设计一个系统根据开关控制发光二极管的亮灭。独立按键原理图如下:
4.2、问题四的代码:
汇编语言代码如下:
C语言代码如下:
5、实验内容五
5.1、问题五:
设实验连线如图2-1所示,设计一个程序控制各个发光二极管以1s的频率依次循环亮(分别实现循环左移点亮和循环右移点亮)。
5.2、问题五的代码:
汇编语言代码如下:
C语言代码如下:
1.1、问题一:
设系统晶振为12MHz,编写一个延时1s的延时程序,并计算程序实际的延时。
1.2、问题一的代码
汇编语言代码如下:
ORG 0000H AJMP MIAN ORG 0100H MIAN:ACALL DELAY MOV P1 , #0FFH ORG 0200H DELAY:MOV R5 , #10 LOOP1:MOV R6 , #200 LOOP2:MOV R7 , #248 LOOP3:DJNZ R7 , LOOP3 DJNZ R6 , LOOP2 DJNZ R5 , LOOP1 RET END
C语言代码如下:
#include <reg51.h> void delay(); void main() { P1 = 0x00; delay(); P1 = 0x0FF; delay(); } void delay() { int i,j; for (i = 208; i > 0;i--) for(j = 600 ; j > 0;j--) ; }
2、实验内容二
2.1、问题二:
设实验连线如图2-1所示,设计一个系统点亮发光二极管。
图2-1
2.2、问题二的代码:
汇编语言代码如下:
ORG 0000H
AJMP START
ORG 0100H
START:MOV P1 , 00H
END
C语言代码如下:
#include <reg51.h> void main() { while (1) { P1 = 0x00; } }
3、实验内容三
3.1、问题三:
实验原理如图2-1所示,用8位杜邦线将P1与J9连接,设计一个系统控制发光二极管以1秒的频率闪烁。
3.2、问题三的代码:
汇编语言代码如下:
ORG 0000H AJMP MIAN ORG 0100H MIAN:MOV P1 , #00H ACALL DELAY MOV P1 , #0FFH ACALL DELAY AJMP MIAN ORG 0200H DELAY:MOV R5 , #10 LOOP1:MOV R6 , #200 LOOP2:MOV R7 , #248 LOOP3:DJNZ R7 , LOOP3 DJNZ R6 , LOOP2 DJNZ R5 , LOOP1 RET END
C语言代码如下:
#include <reg51.h> void delay(); void main() { while (1) { P1 = 0x00; delay(); P1 = 0x0FF; delay(); } } void delay() { int i,j; for (i = 208; i > 0;i--) for(j = 600 ; j > 0;j--) ; }
4、实验内容四
4.1、问题四:
保持上述电路连接,再用一8位杜邦线将另一个8位并行口P3与J26(独立开关)连接,设计一个系统根据开关控制发光二极管的亮灭。独立按键原理图如下:
4.2、问题四的代码:
汇编语言代码如下:
ORG 0000H AJMP MIAN ORG 0100H MIAN:MOV P1 , P3 ACALL DELAY AJMP MIAN ORG 0200H DELAY:MOV R5 , #10 LOOP1:MOV R6 , #200 LOOP2:MOV R7 , #248 LOOP3:DJNZ R7 , LOOP3 DJNZ R6 , LOOP2 DJNZ R5 , LOOP1 RET END
C语言代码如下:
#include <reg51.h> void delay(); void main() { while (1) { P1 = P3; delay(); } } void delay() { int i,j; for (i = 208; i > 0;i--) for(j = 600 ; j > 0;j--) ; }
5、实验内容五
5.1、问题五:
设实验连线如图2-1所示,设计一个程序控制各个发光二极管以1s的频率依次循环亮(分别实现循环左移点亮和循环右移点亮)。
5.2、问题五的代码:
汇编语言代码如下:
ORG 0000H AJMP MIAN ORG 0100H MIAN:MOV P1 , P3 ACALL DELAY AJMP MIAN ORG 0200H DELAY:MOV R5 , #10 LOOP1:MOV R6 , #200 LOOP2: 4000 MOV R7 , #248 LOOP3:DJNZ R7 , LOOP3 DJNZ R6 , LOOP2 DJNZ R5 , LOOP1 RET END
C语言代码如下:
#include <reg51.h> #include <intrins.h> void delay(); void main() { char temp = 0xFE; while (1) { P1 = temp; delay(); temp = _cror_(temp,1); } } void delay() { int i,j; for (i = 208; i > 0;i--) for(j = 600 ; j > 0;j--) ; }
相关文章推荐
- 单片机实验——4X4矩阵键盘识别技术
- 单片机实验四
- 单片机实验3
- STM32单片机学习(5) 定时器中断实验
- AVR单片机模数转换的ADC实验 ATmega16
- 单片机实验——0到60秒的计时器(使用硬件中断方式实现)
- 单片机AT89C51键盘扫描识别实验
- 【单片机】编码键盘实验
- STM32单片机学习(6) PWM输出实验
- 单片机实验4
- AVR单片机模数转换的ADC实验 ATmega16
- 基于proteus的51单片机仿真实例二十六、“万能逻辑电路”实验
- 【单片机】LED实验
- 单片机实验——让响声器发出“滴,滴”声
- 每天一个单片机小实验—LED流水灯
- micropython 进阶小实验 如何用单片机制作鞋码匹配仪
- 单片机实验: 三轴磁场模块 GY-271
- 单片机实验题目
- 单片机实验——电子表(数码管动态显示技术)
- 51 单片机串口实验