单片机c语言和汇编例题
时间: 2023-08-03 16:08:55 浏览: 105
云龙51单片机LCD1602液晶例题_云龙51单片机LCD1602液晶_
5星 · 资源好评率100%
以下是一个单片机C语言和汇编的例题:
C语言部分:
```c
#include<reg52.h> // 51单片机头文件
void delay(unsigned int i) // 延时函数
{
while(i--);
}
void main()
{
while(1)
{
P1=0x55; // P1口输出0x55
delay(50000); // 延时
P1=0xAA; // P1口输出0xAA
delay(50000); // 延时
}
}
```
汇编部分:
```asm
org 0x0000 ; 程序入口地址
mov P1,#0x55 ; P1口输出0x55
mov R0,#0x7F ; R0寄存器赋值为0x7F
loop: ; 循环标签
djnz R0,loop ; R0寄存器自减并跳转到loop标签
mov P1,#0xAA ; P1口输出0xAA
mov R0,#0x7F ; R0寄存器赋值为0x7F
sjmp loop ; 无条件跳转到loop标签
```
以上代码实现了单片机P1口输出0x55和0xAA的循环。C语言部分使用了51单片机头文件中的delay函数,而汇编部分使用了djnz(循环)和sjmp(跳转)指令。
阅读全文