- 实验目的
熟悉keil与proteus软件
1. 了解单片机的外部引脚和最小系统; 2. 掌握单片机与LED的硬件连接方法; 3. 掌握单片机C51语言的程序框架; 4. 了解Proteus 和 Keil 软件的使用。
打造最小系统
实现单灯闪烁
- 实验设备:笔记本电脑 搭配软件 keil5与proteus8
- 实验内容和结果
通常包括实验要求、硬件原理图、程序流程图、程序、程序运行的仿真效果等。硬件原理图可以手写或打印,其余必须手写。程序要有缩进,要有注释
实现按键控制流水灯
实现功能:按下流水 松开常亮
程序代码:#include <REGX52.H>
#define LED_IO P2
sbit key1=P3^0;
unsigned char ledArr[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(unsigned int n){
unsigned int i,j;
for(i=0;i<n;i++){
for(j=0;j<120;j++);
}
}
void open (){
if(key1==1){
LED_IO=0;
}else{
int i;
for(i=0;i<8;i++){
LED_IO=~ledArr[i];
delay(50);
}
}
}
void main(){
while(1){
open();
}
}
代码截图:
- 实验问题思考
1. 电路设计:
继电器驱动电路:
继电器一般有两个接口,一个是线圈接口,另一个是常开(NO)或常闭(NC)接口。单片机通过输出高电平或低电平来驱动继电器线圈,从而控制继电器的吸合和断开,进而控制较大的负载。
蜂鸣器驱动电路:
蜂鸣器分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器内部包含振荡电路,只需单片机输出直流电即可发声;无源蜂鸣器需要单片机输出交流信号才能发声。
电路原理图及工作原理:
```
继电器驱动电路:
+Vcc (例如5V)
|
R1
|
+-----> Relay Coil
|
GND
蜂鸣器驱动电路:
+Vcc (例如5V)
|
R2
|
+-----> Buzzer (无源蜂鸣器)
|
GND
```
工作原理:
- 继电器驱动电路中,当单片机的某个IO口输出高电平时,通过限流电阻R1给继电器线圈供电,使继电器吸合,其常开(NO)接口导通,从而可以控制外部电路。
- 蜂鸣器驱动电路中,当单片机的某个IO口输出高电平时,通过限流电阻R2给蜂鸣器供电,无源蜂鸣器便发声。
2. 单片机的准双向口和双向口的区别:
准双向口(Quasi-bidirectional port)是指单片机的某些I/O口既可以作为输入也可以作为输出,但是当作为输入时只能读取高电平信号,不能读取低电平信号。这类端口通常用于连接特定的外设,如键盘矩阵扫描等。
双向口(Bidirectional port)是指单片机的I/O口既可以作为输入也可以作为输出,并且可以读取高低电平信号。这种端口的灵活性更高,适用于多种不同的应用场景。
对于51单片机而言,P0口是准双向口,它在外部扩展RAM或ROM时用作双向数据总线。而P1、P2和P3口则是双向口,可以作为普通的I/O口使用,用于输入和输出信号。
- 心得体会
学会上网搜寻资料
仔细看代码