单片机期末考试编程题
/***************************************
实验题目要求:
P23- P26口做输出口,接发光二极管,编写并调试程序,使其闪烁。
时间:2012年12月21日
程序撰写者:邹康
*****************************************/
#include<reg52.h>
void delay(unsigned int t) //软延时大致时间为1ms
{
unsigned int a,b;
for(a=0;a<t;a++)
for(b=0;b<120;b++);
}
void main()
{
while(1)
{
P2=~P2;
delay(1000); //延时1s
}
} /*********************************************************
实验题目要求:
P23- P26口做输出口,接发光二极管,编写并调试跑马灯程序。
时间:2012年12月21日
程序撰写者:邹康
***********************************************************/
#include<reg52.h>
void delay(unsigned int t) //延时1ms左右
{
unsigned int a,b;
for(a=0;a<t;a++)
for(b=0;b<120;b++);
}
void main()
{
unsigned char i=0,m=0;
while(1)
{
for(i=0;i<4;i++) //向左移动
{
P2=~(0x08<<i);
delay(1000);
}
m=~P2;
for(i=0;i<4;i++) //向右移动
{
P2=~(m>>i);
delay(1000);
}
}
}/*********************************
实验题目要求:
设计一个二进制减1计数器,按一次键,减1,并用4个LED显示计数结果,减至0时,重新从15开始计数。
时间:2012年12月21日
程序撰写者:邹康
**********************************/
#include<reg52.h>
sbit key1=P2^0;
sbit LED0=P2^6; //单片机板子最右边的led灯
sbit LED1=P2^5; //右边数第二个灯
sbit LED2=P2^4; //右边数第三个灯
sbit LED3=P2^3; //右边数第四个灯
char number=15;
unsigned char num[4];
void key() //通过按键对NUMBER的数值进行减计数
{
static unsigned char m=0;
if(key1==0)
{
m++;
if(m>=30)
{
number--;
if(number<0)
number=15;
m=0;
}
}
}
void number_change() //将十进制转换为二进制
{
unsigned int n=0;
unsigned char j=0;
n=number;
for(j=0;j<4;j++)
{
num[j]=n%2;
n=n/2;
}
}
void show() //通过LED将二进制显示出来
{
LED0=!num[0];
LED1=!num[1];
LED2=!num[2];
LED3=!num[3];
}
void main()
{
while(1)
{
key();
number_change();
show();
}
}/*******************************************
实验题目要求:
用1个按键控制LED的显示,要求显示3种以上的不同模式。
时间:2012年12月22日
程序撰写者:邹康
********************************************/
#include<reg52.h>
sbit led0=P2^3;
sbit led1=P2^4;
sbit led2=P2^5;
sbit led3=P2^6;
sbit mode_key=P2^0;
char mode=0;
void delay(unsigned int t)
{
unsigned int a,b;
for(a=0;a<t;a++)
for(b=0;b<120;b++);
}
void key()
{
static unsigned char m;
if(mode_key==0)
{
m++;
if(m>=30)
{
mode++;
if(mode>=3)
mode=0;
m=0;
}
}
}
void mode_1()
左右
{
unsigned char i=0,c=0;
for(i=0;i<4;i++)
{
P2|=0xf8;
c=~(0x08<<i);
P2&=c;
delay(1000);
} //延时时间大约1ms //通过按键进行模式选择 //模式一 根据开发板,LED循环右移,时间间隔1s
}
void mode_2() //模式二 根据开发板,LED一闪一灭,时间间隔1s左右 {
led0=0;
led1=0;
led2=0;
led3=0;
delay(1000);
led0=1;
led1=1;
led2=1;
led3=1;
delay(1000);
}
void mode_3() //模式三 , 先循环右移,再循环左移,时间间隔1s左右 {
unsigned char i=0,n=0,c=0;
for(i=0;i<4;i++)
{
P2|=0xf8;
P2&=~(0x08<<i);
delay(1000);
}
for(i=0;i<4;i++)
{
P2|=0xf8;
P2&=~(0x40>>i);
delay(1000);
}
}
void main()
{
while(1)
{
key();
switch(mode)
{
case 0 : mode_1();break;
case 1 : mode_2();break;
case 2 : mode_3();break;
}
}/*******************************************
实验题目要求:
用1个按键控制LED的显示,要求显示3种以上的不同模式。
时间:2012年12月22日
程序撰写者:邹康
********************************************/
#include<reg52.h>
sbit led0=P2^3;
sbit led1=P2^4;
sbit led2=P2^5;
sbit led3=P2^6;
sbit mode_key=P2^0;
char mode=0;
void delay(unsigned int t)
{
unsigned int a,b;
for(a=0;a<t;a++)
for(b=0;b<120;b++);
}
void key()
{
static unsigned char m;
if(mode_key==0)
{
m++;
if(m>=30)
{
mode++;
if(mode>=3)
mode=0;
m=0;
}
}
}
void mode_1()
左右
{
unsigned char i=0,c=0;
for(i=0;i<4;i++) //延时时间大约1ms //通过按键进行模式选择 //模式一 根据开发板,LED循环右移,时间间隔1s
{
P2|=0xf8;
c=~(0x08<<i);
P2&=c;
delay(1000);
}
}
void mode_2()
{
led0=0;
led1=0;
led2=0;
led3=0;
delay(1000);
led0=1;
led1=1;
led2=1;
led3=1;
delay(1000);
}
void mode_3()
{
unsigned char i=0,n=0,c=0;
for(i=0;i<4;i++)
{
P2|=0xf8;
P2&=~(0x08<<i);
delay(1000);
}
for(i=0;i<4;i++)
{
P2|=0xf8;
P2&=~(0x40>& …… 此处隐藏:2832字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




