山东华宇职业技术学院毕业设计用纸
参考文献
[1] 傅丰林.模拟电子线路基础 [M]. 西安:西安电子科技大学出版社,2001.1
[2] 江志红.51单片机技术与应用系统开发案列精选 [M]. 北京:清华大学出版社,2008.12 [3] 王选民 智能仪器原理及设计 [M]. 北京:清华大学出版社,2008.7 [4] 文东 孙鹏飞 C语言程序设计 [M]. 北京:中国人民大学出版社,2009.2
[5] 杨加国 单片机原理与应用及C51程序设计 [M]. 北京:清华大学出版社,20
08.3
17
山东华宇职业技术学院毕业设计用纸
附录
#include
#define uchar unsigned char #define uint unsigned int
sbit open = P2^0; sbit close = P2^1; sbit swap = P2^2; sbit sub_speed = P2^3; sbit add_speed = P2^4;
sbit PWM1 = P3^0; sbit PWM2 = P3^1;
/************************液晶显示*************/ sbit E=P3^7; sbit RW = P3^6; sbit RS = P3^5; sbit test = P3^4;
18
山东华宇职业技术学院毕业设计用纸
int time = 0; int high = 20; int period = 30; int change = 0; int flag = 0; int num_medium = 0; int num_display = 0; int count_speed = 0;
uchar wword[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
/*******************延时t毫秒****************/ void delay(uchar t) {
uint i; while(t) {
/*对于11.0592MHz时钟,延时1ms*/ for(i=0;i<125;i++); t--; } }
//写命令函数LCD void wc51r(uchar j) {
RS=0; RW=0;
P1=j;
19
}
E=1; E=0;
山东华宇职业技术学院毕业设计用纸
delay(3);
//写数据函数LCD void wc51ddr(uchar j) {
RS=1; RW=0;
P1=j;
}
//初始化函数LCD void init() {
wc51r(0x01); //清屏
wc51r(0x38); //使用8位数据,显示两行,使用5*7的字型 wc51r(0x0c); //显示器件,光标开,字符不闪烁 wc51r(0x06); //字符不动,光标自动右移一格 }
E=1; E=0; delay(2);
/***********8T0中断服务程序************PWM波的生成**********/ void time0_int(void) interrupt 1
20
{ }
山东华宇职业技术学院毕业设计用纸
time++; TH0 = 0xec; TL0 = 0x78;
if(change == 0) { } else
{ PWM1 = 1;
if(time == high) PWM2=0;
else if(time == period) {
PWM2 = 1; if(time == high) PWM1=0;
else if(time == period) {
PWM1 = 1; time = 0;
}
PWM2 = 1;
time = 0;
}
21