赞
踩
(1)输出电压:范围0~+9.9V,步进0.1V,纹波不大于10mV;(2)输出电流:500mA;
(3)输出电压值由数码管显示;
(4)由“+”、“-”两键分别控制输出电压步进增减。
2.2发挥部分
(1)输出电压可预置在0~9.9V之间的任意一个值;
(2)用自动扫描代替人工按键,实现输出电压变化(步进0.1V不变);
- #include<reg51.h>
- #include<math.h>
- #define uchar unsigned char
- #define uint unsigned int
-
-
- sbit rs=P2^4;
- sbit rw=P2^5;
- sbit ea=P2^6;
-
- uchar num,i,key,j=0;
- float a2;
- uchar keyscan(void);
-
-
- uchar code table[6]="Please";
- uchar code table1[16]=" enter letter...";
- uchar code table2[16]="0123456789abcde.";
- float table3[6];
- uchar code table4[8]="volt(v):";
- uchar code table5[6]="error!";
- uchar table6[6];

以上提供设计思路,也可以从文章末尾从资料网盘下载
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
-
- uint temp,ge,shi,bai,qian,wan,shiwan,tt;
-
- sbit clock=P3^3; //定义时钟信号的端口
- uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管的编码
-
- void delay(uint z) //延时函数
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
-
- void init() //初始化函数
- {
- tt=0; //初始化刷新液晶的时间
- TMOD=0x90; //定时器T1工作在方式1,门控位为1
- TH1=0; //装入初值
- TL1=0;
- }
-
- void display(uint ge,uint shi,uint bai,uint qian,uint wan,uint shiwan) //数码管显示函数
- {
- P2=0xfe; //位选,后同
- P0=table[shiwan]; //段选,后同
- delay(2);

以上提供设计思路,也可以从文章末尾从资料网盘下载
- #include <reg52.h>
- #include "ziku.h"
- #include "12864.h"
-
- sbit key_1=P3^0; //煮饭按钮
- sbit key_2=P3^1; //保温按钮
- sbit key_3=P3^2; //停止按钮
-
- sbit LED_1=P3^3; //煮饭指示灯
- sbit LED_2=P3^4; //保温指示灯
- sbit LED_3=P3^5; //停止指示灯
-
- char key_1_flag=0; //煮饭按钮标志位
- char key_2_flag=0; //保温按钮标志位
- char key_3_flag=1; //停止按钮标志位
-
- unsigned char temp=25;
- unsigned char num=0;
-
- void main()
- {
- TMOD=0x11; //设置定时器0,1的工作方式
- EA=1; //开中断
- ET0=1; //开外部中断
- ET1=1; //开外部中断
-
- LED_1=0; //初始状态煮饭
- LED_2=0; //保温指示灯不亮
- LED_3=1; //停止指示灯亮

以上提供设计思路,也可以从文章末尾从资料网盘下载
- /************头文件*********/
- #include<reg51.h>
- #include<absacc.h>
- #include <intrins.h>
- /************************** /
-
-
- /********自定义变量********/
- #define uint unsigned int //自定义变量
- #define uchar unsigned char
- char gw,sw,bw,qw;
- uchar j; //定时次数,每次20ms
- uchar f=5; //计数的次数
- sbit P10=P1^0; //PWM输出波形1
- sbit P11=P1^1; //PWM输出波形2
- sbit P12=P1^2; //正反转
- sbit P13=P1^3; //加速
- sbit P14=P1^4; //减速
- sbit P15=P1^5; //停止
- sbit P16=P1^6; //启动
- uchar k;
- uchar t; //脉冲加减
-
- uchar code smg[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x73,0x71};//程序存储区定义字型码表
- char data led[4]={0x08,0x04,0x02,0x01}; //位码
- uint x; //数码管显示的数值
- display(); //数码管显示
- delays(); //延时函数
- key();

目录
1416基于单片机简易数控直流电源protues设计-毕 设课设资料
1443基于单片机脉冲宽度测量仿真系统设计-protues仿真和程序
以上可以按照这个思路进行自行设计,也可以通过百度网盘列表下载现成的
https://www.aiesst.cn/baidu.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。