四川师范大学成都学院电子工程系课程设计报告
附录4:作品仿真图
19
四川师范大学成都学院电子工程系课程设计报告
附录5:作品程序
#ifndef __SYSCTL_H__ #define __SYSCTL_H__
#include
#define uint unsigned int #define uchar unsigned char #define T 1 #define X 0 #define Y 1
//共阳码管0~9字符 extern uchar code tabl[]; extern uint count; extern uchar mstime; extern uchar stopp; extern uchar chushizhi; //extern uchar tuoshui; //位定义
sbit p10 = P1^0; sbit p11 = P1^1; sbit p12 = P1^2; sbit p13 = P1^3; sbit p14 = P1^4; sbit p15 = P1^5; sbit p16 = P1^6;
20
四川师范大学成都学院电子工程系课程设计报告
sbit p17 = P1^7;
sbit p20 = P2^0; sbit p21 = P2^1; sbit p22 = P2^2; sbit p23 = P2^3; sbit p24 = P2^4; sbit p25 = P2^5; sbit p26 = P2^6; sbit p27 = P2^7; sbit p30 = P3^0; sbit p32 = P3^2; sbit p33 = P3^3;
extern void delay(uint x); //延时函数 extern void settime(void); //设定时间函数 extern void Init(void);
//程序初始化 extern void displayjian(void);
// 时间减
extern void displayjia(void); //时间加 extern void display(void);
//显示函数
#endif
#include\
//共阴数码管0~9字符
uchar code tabl[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uint count = 0;
//定义秒
uchar mstime = 0; //定义分 uchar stopp = 1;
//停止标志
uchar chushizhi = 20; //设定时间值
21
四川师范大学成都学院电子工程系课程设计报告
//uchar tuoshui = 0;
void display(void) //显示函数
{ p20 = Y; p21 = X; p22 = X; p23 = X;
P1 = tabl[mstime/10]; delay(T); p20 = X; p21 = Y; p22 = X; p23 = X;
P1 = tabl[mstime]; delay(T); p20 = X; p21 = X; p22 = Y; p23 = X;
P1 = tabl[count/10]; delay(T); p20 = X; p21 = X; p22 = X; p23 = Y;
P1 = tabl[count]; delay(T);
}
22
四川师范大学成都学院电子工程系课程设计报告
void displayjian(void) {
mstime--;
if(mstime >= 20) mstime = 19; display();
}
void displayjia(void) { mstime++;
if(mstime >= 20) mstime = 0; display();
}
void delay(uint x) { uint i = 0,j = 0; for(i = 0;i < x;i++) for(j = 0;j <= 500;j++);
}
//定时50ms
timer0() interrupt 1 using 1 { p33 = !p33; TH0 = 0x3c; //重置定时初值
TL0 = 0xb0;
23