资源简介

扬州大学电气工程专业单片机课程设计包含仿真代码,是往届的遗产,且用且珍惜

资源截图

代码片段和文件信息

#include 
#define uchar unsigned char 
#define uint unsigned int 
#define KEY_IO P3 
#define LCD_IO P0 
sbit LCD_RS = P2^0; 
sbit LCD_RW = P2^1; 
sbit LCD_EN = P2^2; 
sbit LED = P2^4; 
bit new_s modify = 0; 
char t0 sec = 50 min = 59 hour = 23; 
char code LCD_line1[] = “Designed by xuli“; 
char code LCD_line2[] = “ Time: 00:00:00 “; 
char Timer_buf[] = “23:59:50“; 
//--------------------------------------------------- 
void delay(uint z) 

uint 
x y; 
for(x = z; x > 0; x--)  
for(y = 100; y > 0; y--); 

//--------------------------------------------------- 
void W_LCD_Com(uchar com) //写指令

LCD_RS = 0; 
LCD_IO = com; // LCD_RS和R/W都为低电平时,写入指令
LCD_EN = 1; 
delay(5); LCD_EN = 0; //用EN输入一个高脉冲

//--------------------------------------------------- 
void W_LCD_Dat(uchar dat) //写数据 

LCD_RS = 1; 
LCD_IO = dat; // LCD_RS为高、R/W为低时,写入数据
LCD_EN = 1; 
delay(5); LCD_EN = 0; //用EN输入一个高脉冲

//--------------------------------------------------- 
void W_LCD_STR(uchar *s) //写字符串

while(*s) 
W_LCD_Dat(*s++); 

//--------------------------------------------------- 
void W_BUFF(void) //填写显示缓冲区

Timer_buf[7] = sec % 10 + 48; Timer_buf[6] = sec / 10 + 48; 
Timer_buf[4] = min % 10 + 48; Timer_buf[3] = min / 10 + 48; 
Timer_buf[1] = hour % 10 + 48;Timer_buf[0] = hour / 10 + 48; 
W_LCD_Com(0xc0 + 7); W_LCD_STR(Timer_buf); 

//--------------------------------------------------- 
uchar read_key(void) 

uchar 
x1 x2; 
KEY_IO = 255; 
x1 = KEY_IO; 
if (x1 != 255) { 
delay(100);  
x2 = KEY_IO; 
if (x1 != x2) 
return 255;  
while(x2 != 255) x2 = KEY_IO; 
 if 
(x1 == 0x7f) 
return 0; 
else if (x1 == 0xbf) 
return 1; 
else if (x1 == 0xdf) 
return 2; 
else if (x1 == 0xef) 
return 3; 
else if (x1 == 0xf7) 
return 4; 

return 255; 

//--------------------------------------------------- 
void Init() 

LCD_RW = 0; 
W_LCD_Com(0x38); delay(50); 
W_LCD_Com(0x0c); 
W_LCD_Com(0x06); 
W_LCD_Com(0x01); 
W_LCD_Com(0x80); W_LCD_STR(LCD_line1); 
W_LCD_Com(0xC0); W_LCD_STR(LCD_line2); 
TMOD = 0x01; //T0定时方式1 
TH0 = 0x4c; 
TR0 = 1; //启动T0 
PT0 = 1; //高优先级 以保证定时精度
ET0 = 1; 
EA = 1; 

//--------------------------------------------------- 
void main() 

uint i j; 
uchar Key; 
Init(); 
while(1) 

//-------------------------------  
if (new_s) { //如果出现了新的一秒 修改时间 
new_s = 0; 
sec++; 
sec %= 60; 
if(!sec) 

min++; 
min %= 60;  
if(!min) 
{ hour++; hour %= 24;} 

W_BUFF(); //写显示
//------------------------------- 
 

//------------------------------- 
Key = read_key(); //读出按键
switch(Key) {    //分别处理四个按键
case 
0: modify = 1; break; 
case 
1: if(modify) {min++; min %= 60; W_BUFF(); break;} 
case 
2: if(modify) {hour++; hour %= 24; W_BUFF(); break;} 
case 
3: modify = 0; break; 
} } 

//--------------------------------------------------- 
void timer0(void) interrupt 1 
//T0中断函数 50ms执行一次

TH0 = 0x4c; 
t0++; t0 %= 2

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-11-29 15:26  电气1201  单片机课程设计\
     目录           0  2015-11-29 15:26  电气1201  单片机课程设计\121303137  杨帅\
     文件    11935583  2015-06-24 13:54  电气1201  单片机课程设计\121303137  杨帅\单片机课程设计杨帅121303137.doc
     文件       64512  2015-06-24 12:26  电气1201  单片机课程设计\121303137  杨帅\原理图.doc
     文件       35840  2015-06-23 23:09  电气1201  单片机课程设计\121303137  杨帅\程序清单.doc
     目录           0  2015-11-29 15:26  电气1201  单片机课程设计\121401114 陶桃\
     文件      419829  2015-06-23 23:36  电气1201  单片机课程设计\121401114 陶桃\智能电子钟.doc
     文件      105785  2015-06-23 23:38  电气1201  单片机课程设计\121401114 陶桃\智能电子钟.DSN
     文件        7606  2015-06-23 23:38  电气1201  单片机课程设计\121401114 陶桃\源程序.txt
     目录           0  2015-11-29 15:26  电气1201  单片机课程设计\121703102陈宏源\
     文件    50920807  2015-06-23 18:53  电气1201  单片机课程设计\121703102陈宏源\121703102陈宏源.doc
     文件        9502  2015-06-23 18:57  电气1201  单片机课程设计\121703102陈宏源\程序.txt
     文件      106199  2015-06-10 10:24  电气1201  单片机课程设计\121703102陈宏源\软件仿真.DSN
     目录           0  2015-11-29 15:26  电气1201  单片机课程设计\121703110 倪禛霖\
     文件      249251  2015-06-23 14:41  电气1201  单片机课程设计\121703110 倪禛霖\121703110 倪禛霖.docx
     文件       82049  2015-06-11 17:48  电气1201  单片机课程设计\121703110 倪禛霖\222.DSN
     文件        2107  2015-06-24 08:26  电气1201  单片机课程设计\121703110 倪禛霖\数字电压表.ASM
     目录           0  2017-05-25 21:25  电气1201  单片机课程设计\121703116  王珂\
     文件      231936  2015-06-24 00:08  电气1201  单片机课程设计\121703116  王珂\王珂步进电机控制protues仿真.doc
     文件       60928  2015-06-23 23:48  电气1201  单片机课程设计\121703116  王珂\王珂步进电机控制程序.doc
     文件     3073024  2015-06-24 00:57  电气1201  单片机课程设计\121703116  王珂\王珂步进电机控制设计报告.doc
     目录           0  2015-11-29 15:26  电气1201  单片机课程设计\121703121徐历\
     文件        7655  2015-06-11 09:53  电气1201  单片机课程设计\121703121徐历\11
     文件        3194  2015-06-11 09:51  电气1201  单片机课程设计\121703121徐历\11.c
     文件        2405  2015-06-11 09:53  电气1201  单片机课程设计\121703121徐历\11.hex
     文件          21  2015-06-11 09:53  电气1201  单片机课程设计\121703121徐历\11.lnp
     文件        6311  2015-06-11 09:53  电气1201  单片机课程设计\121703121徐历\11.LST
     文件       10744  2015-06-11 09:53  电气1201  单片机课程设计\121703121徐历\11.M51
     文件        8940  2015-06-11 09:53  电气1201  单片机课程设计\121703121徐历\11.OBJ
     文件         629  2015-06-11 09:56  电气1201  单片机课程设计\121703121徐历\11.plg
     文件       55214  2015-06-11 09:56  电气1201  单片机课程设计\121703121徐历\11.uvopt
............此处省略500个文件信息

评论

共有 条评论