四川师范大学成都学院电子工程系课程设计报告
三相桥式半控电路 三相桥式半控整流电路与三相桥式全控整流电路基本相同,仅将共阳极组VT4,VT6,VT2的晶闸管元件换成了VD4,VD6,VD2整流二极管,以构成三相桥式半控整流电路。
第四章 软件设计
软件设计需要实现的主要功能是检测键盘的输入,根据输入结果选择输出相应的波形信号。键盘操作和对应的输出如下。 输入按键“0”(第1行第1列),得到正弦波; 输入按键“1”(第1行第2列),得到矩形波; 输入按键“2”(第1行第3列),得到三角波;
4.1程序流程
单片机控制MAX038实现波形输出的程序流程如图(4)所示。
在流程图中,键码为11对应的是第1行第1列的按键;键码为21对应的是第1行第2列的按键;键码为41对应的是第1行第3列的按键;
开始
初始化
键盘扫描
11
四川师范大学成都学院电子工程系课程设计报告
No Yes 键码为11?
输出正弦波 No Yes No 键码为41? Yes 键码为21? 输出矩形波 输出三角波 No
4.2程序说明
主要程序代码及说明(见注释语句)如下: #include
#define uchar unsigned char #define uint unsigned int void delay(void); uchar kbscan(void); sbit A0=P2^1; sbit A1=P2^2; uchar key; void main(void) {
12
四川师范大学成都学院电子工程系课程设计报告
uchar key; while(1) {
key=kbscan(); delay(); if(key==0x7e) { A0=0; A1=1; }
if(key==0xbe) { A0=0; A1=0; }
if(key==0xbe) { A0=1; A1=0; } } }
13
四川师范大学成都学院电子工程系课程设计报告
void delay(void) {
uchar i;
for(i=300;i>0;i--); }
uchar kbscan(void) {
uchar sccode,recode; P1=0xf0;
if((P1&0xf0)!=0xf0) {
delay();
if((P1&0xf0)!=0xf0) {
sccode=0xfe;
while((sccode&0x10)!=0) {
P1=sccode;
if((P1&0xf0)!=0xf0) {
recode=(P1&0xf0)|0x0f; return((~sccode)+(~recode));
14
四川师范大学成都学院电子工程系课程设计报告
}
else sccode=(sccode<<1)|0x01; } } }
return(0); }
第五章 系统仿真与调试
5.1 原理图的绘制
首先打开PROTEUS软件,可出现下面界面:
点击左上方箭头下面的按钮,再点击P,可出现选择元器件的窗口,再出现的窗口上方输入所需元件的名称,选择所需原器件如下方
15