|
*本文及代碼參閱彭偉《單片機C語言程序設計實訓100例》
一,打開文件(可以隨文下載放置在文檔中打開)。(如下圖1所示)
1.png (657.46 KB, 下載次數: 47)
下載附件
2020-7-8 02:57 上傳
圖1
二,調整原理圖大小,適合可視,另存工程文件。(如下圖2,3,4所示)
2.png (236.03 KB, 下載次數: 55)
下載附件
2020-7-8 02:57 上傳
圖2
3.png (245.13 KB, 下載次數: 72)
下載附件
2020-7-8 02:57 上傳
圖3
4.png (284.76 KB, 下載次數: 60)
下載附件
2020-7-8 02:57 上傳
圖4
三,點擊Source Code標簽。(如下圖5所示)
5.png (124.76 KB, 下載次數: 60)
下載附件
2020-7-8 02:57 上傳
圖5
四,編輯main.c Proteus8.9 VSM Studio WINAVR編譯器仿真ATmega16系列a23_USARTS (如下圖6所示)
6.png (144.66 KB, 下載次數: 57)
下載附件
2020-7-8 02:57 上傳
圖6
五,Main.c 代碼:
#include "myfunc01.h"
extern volatile char rx_buffer[];
char data;
int main(void) {
PORTD=0x03;
DDRD= 0x02;
USART_Init(51);
sei();
while(1) {
put_s("Kaillen Welcom You!");
_delay_ms(5000);
put_s(rx_buffer);
cls();
data= 'B';
_delay_ms(5000);
}
}
myfunc01.h
//******************************************************************************************
#ifndef _MYFUNC01_H_
#define _MYFUNC01_H_
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
#define RX_BUFFER_SIZE 50
volatile uchar rx_wr_index, rx_counter;
volatile char rx_buffer_overflow;
volatile char rx_buffer[RX_BUFFER_SIZE];
void cls(void);
void USART_Init( uint baud );
void put_c(char c);
uchar USART_Receive( void );
ISR(USART_RXC_vect);
#endif
六,點擊構建工程按鈕,編譯工程。(如下圖7所示)
7.png (159.29 KB, 下載次數: 56)
下載附件
2020-7-8 02:57 上傳
圖7
七,點擊窗口左下方仿真按鈕,可見信息在虛擬串口顯示屏顯示。 (如下圖8,9,10所示)
8.png (282.31 KB, 下載次數: 64)
下載附件
2020-7-8 02:57 上傳
圖8
9.png (281.94 KB, 下載次數: 61)
下載附件
2020-7-8 02:57 上傳
圖9
10.png (280.17 KB, 下載次數: 53)
下載附件
2020-7-8 02:57 上傳
圖10
八,選擇release,點擊構建工程按鈕,編譯工程生成Hex文件。(如下圖11所示)
11.png (161.45 KB, 下載次數: 56)
下載附件
2020-7-8 02:57 上傳
圖11
附件Proteus8.9 VSM Studio WINAVR編譯器仿真ATmega16系列a23_USARTS在已安裝Proteus8.9的計算機文件夾中打開即可
需要進一步了解,請加入QQ群:976235464
|
-
-
a23_USARTS02pt.rar
2020-7-8 02:58 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
120.23 KB, 下載次數: 8, 下載積分: 黑幣 -5
已安裝Proteus8.9的計算機文件夾中打開即可
評分
-
查看全部評分
|