单。片。机。
课。程。设。计。
报。告。
指导老师:任家富。
学生:钟文旭。
学号:200906050415
一、目的与意义。
单片微机原理及应用》是一门技术性、应用性很强的学科,实验课教学是它的一个极其重要的环节。不论是硬件扩展、接口应用还是编程方法、程序调试,都离不开实验课教学。如果不在切实认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节,学习与应用脱节的局面。
任随书本上单片微机技术介绍得多么重要、多么实用、多么好用,同学们仍然会感到那只是空中楼阁,离自己十分遥远,或者会因此对它失去兴趣,或者会感到它高深莫测无从下手,这些情况都会令课堂教学的效果大打折扣。
《单片微机课程设计》的目的就是让同学们在理论学习的基础上,通过完成一个涉及mcs-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行单片机应用系统的开发设计工作打下一定的基础。
当程序运行时,自动检测是否有按键按下,是哪个按键按下,并且通过返回值,在四位数码管上显示出按下键所对应的数字、字母或执行相应的功能。
通过四位数码管显示相应的按键值、提示语或者执行相关功能。
程序运行时,当按下“b”功能键,八位流水灯依次循环点亮熄灭。
程序运行时,当按下“c”功能键,数码管清零,从零开始逐秒增加。
程序运行时,当按下“f”功能键,数码管显示“232c”,提示进行串口输入,当从串口助手中输入控制字符时,八位led灯得到对应的结果。例如:当输入“00”时,八位灯全亮;当输入“aa”时,八位灯间隔亮。
程序运行时,除串口功能键“f”外,按下任意键,在执行功能的同时,会有短暂的“滴”声,当执行秒表功能时,蜂鸣器会持续发声,直到秒表停止。
通过这次单片机课程设计,我对单片机系统设计更加熟悉,初步学会了单片机程序的编程及调试和主板硬件的焊接技术。在这个过程中,我认识到,单片机的学习需要有耐心,并且持之以恒,坚持不懈,同时还要要不断进行尝试,不要害怕犯错,要在错误中学习、进步。
其中,最困难的就是程序的编写与调试,因为,写好一个程序,往往需要很长时间,之后还需要不断的调试,才能得到理想的结果。还有就是,要实现一个单独的功能比较容易,然而,把这些功能综合到一起,就会出现问题,会出现很多冲突,最后只好放弃一些功能。所以我们在设计和编写程序的时候都必须充分考虑到这些因素,才能得到理想的效果。
#include<>
#include<>
#include<>
#define wr273 xbyte[0xc000]
#define rd244 xbyte[0xc000]
#define dis_play xbyte[0xa000]=xbyte[0xb000]=xbyte[0x9000]=xbyte[0x8000]
#define uchar unsigned char
#define uint unsigned int
uchar t1;
uchar x,flag;
sbit c=p0^1;
void delay(uint z);
uchar m,fen,miao,t,temp;
uchar dis_16_1=无小数点。
uchar dis_16_2=含有小数点。
uchar dis_10=a~f
uchar key_test()
wr273=0xf0;
if((rd244&0x0f)!=0x0f)
else return 0;
void time_init()
tmod=0x01;
th0=(65536-50000)/256;
tl0=(65536-50000)%256;
ea=1;et0=1;tr0=1;
xbyte[0x8000]=0xc7;
xbyte[0x9000]=0xc7;
xbyte[0xa000]=0x86;
xbyte[0xb000]=0x89;
void time_dis()
xbyte[0x8000]=dis_16_1[m%10];
xbyte[0x9000]=dis_16_2[miao%10];
xbyte[0xa000]=dis_16_1[miao/10];
xbyte[0xb000]=dis_16_2[fen%10];
void time_work()
if(t1==2)
time_dis();
延时。void delay(uint z)
uint y;
for(;z>0;z--)
键盘扫描。void scan(uchar value,uchar num,uchar *p)
uchar key;
xbyte[0xc000]=value;
key=xbyte[0xc000];
if((key&0x01)!=0x01)
if((key&0x02)!=0x02)
if((key&0x04)!=0x04)
if((key&0x08)!=0x08)
uchar key_scan()
uchar key_value;
scan(0xf7,0,&key_value);/第一列。
scan(0xfb,1,&key_value);/第二列。
scan(0xfd,2,&key_value);/第三列。
scan(0xfe,3,&key_value);/第四列。
return key_value;
串口。void serial_init()
tmod=0x20;//定时器一为工作方式二。
sm0=0;sm1=1;ren=1;
th1=0xf4;tl1=0xf4;
tr1=1;es=1;ea=1;
void serial()
serial_init();
while(1)
void ser() interrupt 4
ri=0;p1=sbuf;
x=sbuf;
flag=1;
void lsd流水灯。
uchar temp,i;
temp=0xfe;
while(1)
temp=0x7f;
for(i=7;i>0;i--)
void key_firm()
单片机课程设计报告
单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 2014 年 7 月 5 日。目录。1 设计任务和性能指标 1 1.1设计任务 1 2 设计方案 1 2.1方案论证 2 2.2总体设计框图 2 3 系统硬件设计 4 3.1红外线解码电路设计 4 3....
单片机课程设计报告
韶关学院。课程设计说明书 设计题目 基于单片机控制的智能交通灯设计。课程名称 微机原理与应用实训。学生姓名 学号。院系 物理与机电工程学院汽车系。专业班级 12机械制造及其自动化 5班。指导教师姓名及职称 谢杰讲师。陈锦儒助理实验师。起止时间 2015 年 3 月 2015 年 5 月。课程设计评分...
单片机课程设计报告
南京工程学院。课程设计说明书 题目实时钟芯片pcf8563的应用 课程名称单片机原理及应用a 院 系 部 中心 通信工程学院。专业电子信息工程 传感网 班级。学生姓名。学号。设计地点信息楼 c 210 指导教师。设计起止时间 2013年12月23日至 2013年12月27日。一 摘要1 二 课程设计...