100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 【Proteus仿真】51单片机串口输出实验

【Proteus仿真】51单片机串口输出实验

时间:2021-07-06 19:40:00

相关推荐

【Proteus仿真】51单片机串口输出实验

【Proteus仿真】51单片机串口输出实验

📌相关篇《【Proteus仿真】51单片机Blink点灯实验》🔖Proteus仿真基础实验-串口输出。🌿Proteus8.12平台🌿本实验代码基于VSM Studio,采用SDCC编译器。🌿调试串口波特率:9600🎬仿真演示:

⛳头文件使用说明

⚡第一次调用STC89.h头文件时,有可能会报错,因为安装后的SDCC自带头文件库中,有些寄存器定义有问题。可以将报错的寄存器注释掉。或者使用8052.h头文件。

🌿使用printf()函数打印调试信息,包含stdio.h头文件。

int putchar(int data1){SendData(data1);return data1;}

🌿虚拟串口监视器

📝实验代码

/* Main.c file generated by New Project wizard** Created: 周六 5月 20 * Processor: 80C52* Compiler: SDCC for 8051*///#include <8052.h>#include <stc89.h>#include <stdio.h>#define FOSC 11059200UL//System frequency#define BAUD 9600 //UART baudrate#define LED P2_1void uart_init(){SCON = 0x50;TMOD = 0x20;// TH1 = 0xFD;//波特率9600// TL1 = 0xFD;TH1 = (unsigned char)(((65536 - (FOSC/32/BAUD) )>>8) - 2) ; TL1 = (unsigned char)(65536- (FOSC/32/BAUD) - 2) ;TR1 = 1;}void SendData(char data1){SBUF = data1;while (!TI) ;TI = 0;}void SendString(unsigned char *buffer){unsigned char *p = buffer;while (*p){SendData(*p);p++;}}int putchar(int data1){SendData(data1);return data1;}void delayms(unsigned int ms){unsigned int x, y;for (y = ms; y > 0; y--) {for (x = 227; x > 0; x--);}}void main(void){unsigned char cnt = 0;uart_init();SendString("USART test !\ r\n");// Write your code herewhile (1){cnt++;LED = !LED;//状态翻转delayms(500);printf("cnt:%d Hello world! \r\n",cnt);//SendString("Hello world! \r\n");}}

📚仿真实验文件

链接: /s/1MGWgNB7wCGRrf8PvIIhdSQ提取码: zqtr

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。