资源简介
淮阴工学院 单片机课程设计 以车速里程测量为主的多功能任务设计
要求可以检测车轮所转圈数,从而确定里程,并显示。除基本电路外,需要车轮检测用传感器以及信号调理电路,数码管显示电路,时钟电路等。
代码片段和文件信息
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit SPK = P1^5; //?¨ò?·??ù?÷
sbit SMG_q = P1^0; //êy??1ü??
sbit SMG_b = P1^1;
sbit SMG_s = P1^2;
sbit SMG_g = P1^3;
sbit key1 = P3^7; //°′?ü??
sbit key2 = P3^6;
sbit key3 = P3^5;
sbit key4 = P3^4;
sbit key5 = P3^3;
sbit key6 = P3^2;
uint m;
uchar abcn;
uchar sgspeed;
uchar qianbaishige;
unsigned char code table[]={0xc00xf90xa40xb00x990x920x820xf80x800x90};
void delay(uchar xms) //?óê±ms
{
uchar ij;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void display() //速度数码管显示 P1位选,P0段选
{
P1=0xff;
delay(2);
P1=0xfe;
P0=table[g]; //显示速度的个位
delay(5);
P1=0xff;
delay(2);
P1=0xfd;
P0=table[bai]; //显示百位
delay(5);
P1=0xff;
delay(2);
P1=0xfb;
P0=table[shi]; //显示十位
delay(5);
P1=0xff;
delay(2);
P1=0xf7;
P0=table[ge]; //显示个位
delay(5);
}
void keyscan() //按键扫描
{
if(key4==0) //4按下
{
delay(10);
if(key4==0)
{
while(!key4)
{
display();
}
m++;
ge++;
if(ge>9) //个位>9个位置0,十位加1
{
ge=0;
shi++;
}
if(shi>9)
{
shi=0;
bai++;
}
if(bai>9)
{
bai=0;
qian++;
}
if(qian>9)
{
qian=0;
bai=0;
shi=0;
ge=0;
}
}
}
if(key2==0) //2按下
{
delay(10);
if(key2==0)
{
P1=0xff;
P2=0xfe;
delay(1000);
b=P2;
while(1)
{
for(a=0;a<7;a++)
{
b=_crol_(b1); //流水灯 左移7次
P2=b;
delay(1000);
}
for(c=0;c<7;c++)
{
b=_cror_(b1); //右移7次
P2=b;
delay(1000);
}
if((P3&0xfc)!=0xfc)
break;
}
}
P2=0xff; //关灯
}
if(key1==0) //1按下
{
delay(10);
if(key1==0)
{
P1=0xff;
while(1)
{
SPK=0;
delay(1000); //蜂鸣器鸣叫
delay(1000);
SPK=1;
delay(1000); //蜂鸣器关闭
delay(1000);
if((P3&0xfc)!=0xfc)
break;
}
}
}
if(key3==0) //3按下
{
delay(5);
if(key3==0)
{
while(!key3)
{
while(1)
{
P1=0xff; //消除鬼影
delay(5);
P1=0xfe; //显示1
P0=table[1];
delay(5);
P1=0xff;
delay(5);
P1=0xfd;
P0=table[3];
delay(5);
P1=0xff;
delay(5);
P1=0xfb;
P0=table[1];
delay(5);
P1=0xff;
delay(5);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8686 2019-06-19 16:25 测速\cesu
文件 3778 2019-06-19 16:25 测速\cesu.c
文件 25 2019-06-19 16:25 测速\cesu.lnp
文件 13982 2019-06-19 16:25 测速\cesu.LST
文件 11737 2019-06-19 16:25 测速\cesu.M51
文件 9943 2019-06-19 16:25 测速\cesu.OBJ
文件 163 2019-06-20 16:14 测速\cesu.plg
....... 55214 2019-06-20 16:14 测速\cesu.uvopt
....... 13220 2019-06-19 14:53 测速\cesu.uvproj
....... 55214 2019-06-19 16:25 测速\cesu_uvopt.bak
....... 13227 2019-06-19 14:41 测速\cesu_uvproj.bak
目录 0 2019-06-20 16:14 测速
----------- --------- ---------- ----- ----
185189 12
- 上一篇:城市遍历问题求解模拟退火算法
- 下一篇:UGUI循环滚动+滑动居中
相关资源
- 六人抢答器课程设计.doc
- 冲击电压发生器课程设计
- 基于单片机的温度控制系统
- 课程设计 仓库管理系统设计
- 数据结构课程设计—利用栈求表达式
- 病房呼叫系统课程设计
- 电话本管理系统课程设计.doc
- 操作系统课程设计-论文,感想,程序
- 基于Multisim的数字电路课程设计--数字
- 学生成绩管理系统 数据流程图
- lcd液晶显示简易电子钟课程设计
- 数字电路课程设计 三路抢答器
- 简单的数字电路课程设计
- 时钟程序的汇编课程设计
- DES加密算法 网络安全 课程设计报告
- openssl开发包编写建立在SSL上的C/S课程
- FTP课程设计.rar
- 软件工程 超市管理系统计划书
- AdressBook.zip
- 课程设计数字音乐盒
- 微机原理课程设计模拟计数器运算
- 数据结构课程设计模板
- 汽轮机课程设计压力级Excel计算表格
- 数据结构课程设计B树
- 单片机课程设计数字电压表,有软件
- 山东大学计算机组成原理课程设计 分
- 数据结构各种内排序性能比较课程设
- 嵌入式 linux下多进程课程设计
- 贪吃蛇课程设计报告
- 数据库仪器仪表课程设计
评论
共有 条评论