单片机课程设计报告_第1页
单片机课程设计报告_第2页
单片机课程设计报告_第3页
单片机课程设计报告_第4页
单片机课程设计报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计报告 姓名: 蔡镇金 毛敏 学号: 202120307138 202120307139 专业: 自动化一班 指导老师: 王洋 一、设计目的 1、了解发光二级管的应用、数码管(SEG)显示的应用及其管脚的接法 2、了解中断的应用及更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,并熟练掌握仿真软件的应用。 3、了解各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件以及各个元件间的布线,是否能实现应有功能,从而得到一个完整的硬件电路。 4、再了解及进一步熟练掌握电路板的焊接以及单片机综合应用系统的应用。2、 设计要求 1、设计一个由8个L

2、ED发光二级管组成的跑马灯:这跑马灯由单片机的P1口输出并且是:跑马灯是在数码管显示之后再点亮的,首先灯从D1D8依次点亮,再全亮,然后再从D1D8一次熄灭,其次是D8保持,灯依次点亮是D8D1、D7D2、D6D3、D5D4然后全亮;然后由D8D1、D7D2、D6D3、D5D4这个顺序依次熄灭;最后再从D1D80点亮,按此顺序一直循环下去。 2、设计一个由数码管的四位时钟:该时钟是由单片机的P0口输出:首先数码管显示是从数码管的第一位依次显示到第四位:3210;然后是数码管的四位依次显示英文字母PLRY,然后保持;然后再就熄灭,再延迟一下,跑马灯就开始点亮。 3、电路接线图: 图一、电路原理图

3、三、仿真过程及结果 1、仿真过程:(1)首先进行硬件的设计:硬件设计所需的元件的选择,选好元件之后,再通过仿真软件进行电路原理图的连接。(2)连接好电路原理图后,再进行软件的设计即,通过编程设计将其功能实现,然后再调试程序。(3)最后把调试好的程序导入到单片机,进行软件仿真得到仿真图。 2、仿真结果: 图二、仿真结果图 图三、 仿真结果图 四、实物及调试过程 1、实物图: 图四、实物图的正面图五是我们布置的实物图接线以及用电烙铁焊接好了的实物图的背面图,这图清晰的显示了背面布线走势。图五、实物图的背面 2、调试过程 (1)连接好实物图之后,我们用万用表检验了接线是否正确,每条通路是否都按预计的

4、想法运作。 (2)检查没问题之后,我们找老师把程序下载到了单片上,然后插上单片机后,再给其通入电压。结果跑马灯在接入电源的那一瞬间闪了一下后不亮了,而数码管也只有暗暗的显示。 (3)对此,我们断开电源,对其电路板进行了仔细的检查,最后发现有一根线在进行焊接的时候焊错了。 (4)最后将其改正过来,并再一次给其通入电压,而这灯会亮了,也回跑了。但亮的顺序与我们设计的跑的顺序不同,而数码管显示的时间也与我们预期的不一样。 (5)然后再一次断开电源,我们进行程序的检查及调试,发现中断时所需的时间算错了。最后将调试好的程序重新导入其单片机内后,再一次给其接通电压,结果虽然得到了我们所设计功能的结果。但结

5、果还不是很满意,因为数码管显示太暗,几乎看不到其显示的内容。 (6)因此,我们再一次的断开电源,再向老师问其数码管显示太暗的原因。通过老师的讲解以及老师的指导,我们了解了其显示太暗的原因:电流太小。 (7)因此我们又用三极管将其P0口输出的电压放大。首先又将仿真图重新做了仿真,然后又把实物图重新焊接了。 (8)最后再次把我们改好的电路板,并将其通入电压。终于得到了我们想要的结果。五、设计总结1、所遇问题: 在设计过程中,首先的就是将片选段接错了,将其片选端接成了低电平;还有就是数码管显示的时钟太暗,几乎看不到其显示的内容。2、解决的方法:发现错误,然后就将其片选端改接成高电平。而数码管显示太暗

6、,我们通过老师,找出其原因(流入数码管的电流太小)后,我们选用三极管将输出口P1口的电压放大,使其流入数码的电流增大。6、 程序#include<reg51.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char#define led0 0xfe;/宏定义,亮灯#define led1 0xfd;#define led2 0xfb;#define led3 0xf7;#define led4 0xef;#define led5 0xdf;#define led6 0xbf;#de

7、fine led7 0x7f;#define nled0 0x01;/宏定义,灭灯#define nled1 0x02;#define nled2 0x04;#define nled3 0x08;#define nled4 0x10;#define nled5 0x20;#define nled6 0x40;#define nled7 0x80;#define Min 60000000/1分钟#define msec 10000/10毫秒/char code seg=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x73,0x38,0x77

8、,0x6e;/段码;共阴极char code seg=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x8c,0xc7,0x88,0x91;/段码;共阳极uchar led,hour=0,min=0,sec=0,h1,h2,m1,m2,s1,s2;static unsigned long T=0;sbit seg1=P20;/seg位选端sbit seg2=P21;/seg位选端sbit seg3=P22;/seg位选端sbit seg4=P23;/seg位选端sbit choice=P33;/选择要设置的位sbit set=P32;/设置

9、时钟数值/*函数声明*/void delay(uint delaytime);/延时delaytime msvoid play1(uint delaytime);/全暗状态,led0至led7依次亮起void play2(uint delaytime);/全亮状态,led0至led6依次暗;led7保持亮void play3(uint delaytime);/led7到led3对角线亮起void play4(uint delaytime);/led7到led3对角线依次灭灯void segshow_play();/显示playvoid segshow_3210();/显示3到0倒计时void

10、segshow_time();/显示时间void segshow_change_seg1();/seg1闪烁,seg2,seg3,seg4保持显示void segshow_change_seg2();/seg2闪烁,seg1,seg3,seg4保持显示void segshow_change_seg3();/seg3闪烁,seg1,seg2,seg4保持显示void segshow_change_seg4();/seg4闪烁,seg1,seg2,seg3保持显示void settime_h1();/设置时钟“时”的十位void settime_h2();/设置时钟“时”的个位void setti

11、me_m1();/设置时钟“分”的十位void settime_m2();/设置时钟“分”的个位void handle_T();/处理时间的进制/*主函数*/void main()uint delaytime;seg1=seg2=seg3=seg4=1;/TMOD=0x01;PT0=1;/TH0=0x00;TL0=0x00;EA=1;EX0=0;EX1=1;ET0=0;ET1=0;ES=0;IT0=0;IT1=0;/TCON=0x10;segshow_3210();segshow_play();T+=13500000;while(1)for(delaytime=100;delaytime>

12、;10;delaytime-=10)/跑马 10 play1(delaytime); play2(delaytime); play3(delaytime); play4(delaytime); T+=40600000; /循环一次所需时间,单位为微秒,数值待算/T+=27250000; handle_T(); /*中断子程序*/void int_1() interrupt 2 using 2/外部中断1,显示时钟时间,char R0,i=50;while(choice=0);/等待按键抬起R0=P1;EX1=0;/关中断delay(1000);T+=1000010;handle_T();P1=

13、0xff;while(choice=1)segshow_time();while(choice=0)/等待按键抬起;P1=0x7e;segshow_change_seg1();while(choice=0)/等待按键抬起;P1=0xbd;segshow_change_seg2();while(choice=0)/等待按键抬起;P1=0xdb;segshow_change_seg3();while(choice=0)/等待按键抬起;P1=0xe7;segshow_change_seg4();P1=0x00;while(i-)segshow_time();P1=R0;EX1=1;/开中断retur

14、n;/*void T_0()interrupt 1 using 1T0=0x0000;T+=0xff;T+=0xff;sec+=T/500000;T%=500000;min+=sec/60;sec%=60;hour+=min/60;hour%=24; */*延时子函数*/void delay(uint delaytime)/延时delaytime msuint q;for(;delaytime>0;delaytime-) for(q=0;q<166;q+);/for(q=0;q<333;q+); /*跑马子函数*/void play1(uint delaytime)/全暗状态

15、,led0至led7依次亮起 led=0xff;delay(delaytime);led=led&led0;P1=led; delay(delaytime); led=led&led1;P1=led;delay(delaytime);led=led&led2;P1=led;delay(delaytime);led=led&led3;P1=led;delay(delaytime);led=led&led4;P1=led;delay(delaytime);led=led&led5;P1=led;delay(delaytime);led=led&

16、;led6;P1=led;delay(delaytime);led=led&led7;P1=led;delay(delaytime);void play2(uint delaytime)/全亮状态,led0至led6依次暗;led7保持亮led=0x00;delay(delaytime);led=led|nled0;P1=led;delay(delaytime);led=led|nled1;P1=led;delay(delaytime);led=led|nled2;P1=led;delay(delaytime);led=led|nled3;P1=led;delay(delaytime)

17、;led=led|nled4;P1=led;delay(delaytime);led=led|nled5;P1=led;delay(delaytime);led=led|nled6;P1=led;delay(delaytime);void play3(uint delaytime)/led7到led3对角线亮起led=0x7f;P1=led;delay(delaytime);led=led&led0;led=led&led6;P1=led;delay(delaytime);led=led&led1;led=led&led5;P1=led;delay(delayt

18、ime);led=led&led2;led=led&led4;P1=led;delay(delaytime);led=led&led3;P1=led;delay(delaytime);void play4(uint delaytime)/led7到led3对角线依次灭灯led=0x00;P1=led;delay(delaytime);led=led|nled7;P1=led;delay(delaytime);led=led|nled0;led=led|nled6;P1=led;delay(delaytime);led=led|nled1;led=led|nled5;P1

19、=led;delay(delaytime);led=led|nled2;led=led|nled4;P1=led;delay(delaytime);led=led|nled3;P1=led;delay(delaytime);/*7段seg显示函数*/void segshow_play()/显示playchar i;seg1=seg2=seg3=seg4=1;seg1=0;P0=seg10;/显示pdelay(100);for(i=0;i<10;i+) /显示plseg1=1;seg2=0;P0=seg11;delay(5);seg2=1;seg1=0;P0=seg10;delay(5);

20、for(i=0;i<8;i+) /显示plaseg1=1;seg2=0;P0=seg11;delay(4);seg2=1;seg3=0;P0=seg12;delay(4);seg3=1;seg1=0;P0=seg10;delay(4);for(i=0;i<60;i+)/显示playseg1=1;seg2=0;P0=seg11;delay(3);seg2=1;seg3=0;P0=seg12;delay(3);seg3=1;seg4=0;P0=seg13;delay(3);seg4=1;seg1=0;P0=seg10;delay(3);seg1=seg2=seg3=seg4=1;voi

21、d segshow_3210()/显示3到0倒计时seg1=seg2=seg3=seg4=1;seg1=0;P0=seg3;delay(1000);seg1=1;seg2=0;P0=seg2;delay(1000);seg2=1;seg3=0;P0=seg1;delay(1000);seg3=1;seg4=0;P0=seg0;delay(1000);seg1=seg2=seg3=seg4=1;void segshow_time()/显示时钟时间seg1=seg2=seg3=seg4=1; seg4=1;seg1=0;P0=segh1; delay(3); seg1=1;seg2=0;P0=se

22、gh2; delay(3);seg2=1;seg3=0;P0=segm1; delay(3);seg3=1;seg4=0;P0=segm2; delay(3);seg1=seg2=seg3=seg4=1; T+=3379; /显示时间程序运行时间,待计算/T+=24200;/T+=12200;handle_T(); /修改时间显示;选中数字闪烁void segshow_change_seg1()/seg1闪烁,seg2,seg3,seg4保持显示char i;while(choice=1)for(i=0;i<5;i+)if(set=0)settime_h1();seg4=1;seg1=0

23、;P0=segh1;delay(2);/显示seg1,seg2,seg3,seg4seg1=1;seg2=0;P0=segh2;delay(2);seg2=1;seg3=0;P0=segm1;delay(2);seg3=1;seg4=0;P0=segm2;delay(2);for(i=0;i<7;i+)if(set=0)settime_h1();seg1=1; /显示seg2,seg3,seg4seg4=1;seg2=0;P0=segh2;delay(2);seg2=1;seg3=0;P0=segm1;delay(2);seg3=1;seg4=0;P0=segm2;delay(2);vo

24、id segshow_change_seg2()/seg2闪烁,seg1,seg3,seg4保持显示char i;while(choice=1)for(i=0;i<5;i+)if(set=0)settime_h2();seg4=1;seg1=0;P0=segh1;delay(2);/显示seg1,seg2,seg3,seg4seg1=1;seg2=0;P0=segh2;delay(2);seg2=1;seg3=0;P0=segm1;delay(2);seg3=1;seg4=0;P0=segm2;delay(2);for(i=0;i<7;i+)if(set=0)settime_h2(

25、);seg2=1; /显示seg1,seg3,seg4seg1=1;seg3=0;P0=segm1;delay(2);seg3=1;seg4=0;P0=segm2;delay(2);seg4=1;seg1=0;P0=segh1;delay(2);void segshow_change_seg3()/seg3闪烁,seg1,seg2,seg4保持显示char i;while(choice=1)for(i=0;i<5;i+)if(set=0)settime_m1();seg4=1;seg1=0;P0=segh1; /显示seg1,seg2,seg3,seg4delay(2);seg1=1;s

26、eg2=0;P0=segh2;delay(2);seg2=1;seg3=0;P0=segm1;delay(2);seg3=1;seg4=0;P0=segm2;delay(2);for(i=0;i<7;i+)if(set=0)settime_m1();seg3=1; /显示seg1,seg2,seg4seg1=1;seg2=0;P0=segh2;delay(2);seg2=1;seg4=0;P0=segm2;delay(2);seg4=1;seg1=0;P0=segh1;delay(2);void segshow_change_seg4()/seg4闪烁,seg1,seg2,seg3保持显

27、示char i;while(choice=1)for(i=0;i<5;i+)if(set=0)settime_m2();seg4=1;seg1=0;P0=segh1;/显示seg1,seg2,seg3,seg4delay(2);seg1=1;seg2=0;P0=segh2;delay(2);seg2=1;seg3=0;P0=segm1;delay(2);seg3=1;seg4=0;P0=segm2;delay(2);for(i=0;i<7;i+)if(set=0)settime_m2();seg4=1; /显示seg1,seg2,seg3seg1=1;seg2=0;P0=segh2

28、;delay(2);seg2=1;seg3=0;P0=segm1;delay(2);seg3=1;seg1=0;P0=segh1;delay(2);/*设置时间*/void settime_h1()/设置时钟“时”的十位if(set=0)delay(1);if(set=0)h1+;if(h1>2)h1=0;hour=h1*10+h2;while(set=0);void settime_h2()/设置时钟“时”的个位if(set=0)delay(1);if(set=0)h2+;if(h1=2&&h2>3|h2>9)h2=0;hour=h1*10+h2;while

29、(set=0);void settime_m1()/设置时钟“分”的十位if(set=0)delay(1);if(set=0)m1+;if(m1>5)m1=0;min=m1*10+m2;while(set=0);void settime_m2()/设置时钟“分”的个位if(set=0)delay(1);if(set=0)m2+;if(m2>9)m2=0;min=m1*10+m2;while(set=0);/*T处理程序*/void handle_T()/处理时钟时间的进制if(T>=Min)min+=(T/Min);T=T%Min;if(min>=60) hour+=(

30、min/60);min=min%60;if(hour>=24)hour=hour%24;h1=hour/10;/if(h1>2)h1%=3;h2=hour%10;/if(h1>2)h2%=10;m1=min/10;/if(h1>2)m1%=6;m2=min%10;/if(h1>2)m2%=10; /*void handle_T()h1=hour/10;h2=hour%10;m1=min/10;m2=min%10;s1=sec/10;s2=sec%10;*/ 咖啡店创业计划书第一部分:背景在中国,人们越来越爱喝咖啡。随之而来的咖啡文化充满生活的每个时刻。无论在家里、

31、还是在办公室或各种社交场合,人们都在品着咖啡。咖啡逐渐与时尚、现代生活联系在一齐。遍布各地的咖啡屋成为人们交谈、听音乐、休息的好地方,咖啡丰富着我们的生活,也缩短了你我之间的距离,咖啡逐渐发展为一种文化。随着咖啡这一有着悠久历史饮品的广为人知,咖啡正在被越来越多的中国人所理解。第二部分:项目介绍第三部分:创业优势目前大学校园的这片市场还是空白,竞争压力小。而且前期投资也不是很高,此刻国家鼓励大学生毕业后自主创业,有一系列的优惠政策以及贷款支持。再者大学生往往对未来充满期望,他们有着年轻的血液、蓬勃的朝气,以及初生牛犊不怕虎的精神,而这些都是一个创业者就应具备的素质。大学生在学校里学到了很多理论

32、性的东西,有着较高层次的技术优势,现代大学生有创新精神,有对传统观念和传统行业挑战的信心和欲望,而这种创新精神也往往造就了大学生创业的动力源泉,成为成功创业的精神基础。大学生创业的最大好处在于能提高自己的潜力、增长经验,以及学以致用;最大的诱人之处是透过成功创业,能够实现自己的理想,证明自己的价值。第四部分:预算1、咖啡店店面费用咖啡店店面是租赁建筑物。与建筑物业主经过协商,以合同形式达成房屋租赁协议。协议资料包括房屋地址、面积、结构、使用年限、租赁费用、支付费用方法等。租赁的优点是投资少、回收期限短。预算10-15平米店面,启动费用大约在9-12万元。2、装修设计费用咖啡店的满座率、桌面的周

33、转率以及气候、节日等因素对收益影响较大。咖啡馆的消费却相对较高,主要针对的也是学生人群,咖啡店布局、格调及采用何种材料和咖啡店效果图、平面图、施工图的设计费用,大约6000元左右3、装修、装饰费用具体费用包括以下几种。(1)外墙装饰费用。包括招牌、墙面、装饰费用。(2)店内装修费用。包括天花板、油漆、装饰费用,木工、等费用。(3)其他装修材料的费用。玻璃、地板、灯具、人工费用也应计算在内。整体预算按标准装修费用为360元/平米,装修费用共360*15=5400元。4、设备设施购买费用具体设备主要有以下种类。(1)沙发、桌、椅、货架。共计2250元(2)音响系统。共计450(3)吧台所用的烹饪设

34、备、储存设备、洗涤设备、加工保温设备。共计600(4)产品制造使用所需的吧台、咖啡杯、冲茶器、各种小碟等。共计300净水机,采用美的品牌,这种净水器每一天能生产12l纯净水,每一天销售咖啡及其他饮料100至200杯,价格大约在人民币1200元上下。咖啡机,咖啡机选取的是电控半自动咖啡机,咖啡机的报价此刻就应在人民币350元左右,加上另外的附件也不会超过1200元。磨豆机,价格在330480元之间。冰砂机,价格大约是400元一台,有点要说明的是,最好是买两台,不然夏天也许会不够用。制冰机,从制冰量上来说,一般是要留有富余。款制冰机每一天的制冰量是12kg。价格稍高550元,质量较好,所以能够用很

35、多年,这么算来也是比较合算的。5、首次备货费用包括购买常用物品及低值易耗品,吧台用各种咖啡豆、奶、茶、水果、冰淇淋等的费用。大约1000元6、开业费用开业费用主要包括以下几种。(1)营业执照办理费、登记费、保险费;预计3000元(2)营销广告费用;预计450元7、周转金开业初期,咖啡店要准备必须量的流动资金,主要用于咖啡店开业初期的正常运营。预计2000元共计:120000+6000+5400+2250+450+600+300+1200+1200+480+400+550+1000+3000+450+2000=145280元第五部分:发展计划1、营业额计划那里的营业额是指咖啡店日常营业收入的多少

36、。在拟定营业额目标时,必须要依据目前市场的状况,再思考到咖啡店的经营方向以及当前的物价情形,予以综合衡量。按照目前流动人口以及人们对咖啡的喜好预计每一天的营业额为400-800,根据淡旺季的不同可能上下浮动2、采购计划依据拟订的商品计划,实际展开采购作业时,为使采购资金得到有效运用以及商品构成达成平衡,务必针对设定的商品资料排定采购计划。透过营业额计划、商品计划与采购计划的确立,我们不难了解,一家咖啡店为了营业目标的达成,同时有效地完成商品构成与灵活地运用采购资金,各项基本的计划是不可或缺的。当一家咖啡店设定了营业计划、商品计划及采购计划之后,即可依照设定的采购金额进行商品的采购。经过进货手续

37、检验、标价之后,即可写在菜单上。之后务必思考的事情,就是如何有效地将这些商品销售出去。3、人员计划为了到达设定的经营目标,经营者务必对人员的任用与工作的分派有一个明确的计划。有效利用人力资源,开展人员培训,都是我们务必思考的。4、经费计划经营经费的分派是管理的重点工作。通常能够将咖啡店经营经费分为人事类费用(薪资、伙食费、奖金等)、设备类费用(修缮费、折旧、租金等)、维持类费用(水电费、消耗品费、事务费、杂费等)和营业类费用(广告宣传费、包装费、营业税等)。还能够依其性质划分成固定费用与变动费用。我们要针对过去的实际业绩设定可能增加的经费幅度。5、财务计划财务计划中的损益计划最能反映全店的经营成果。咖啡店经营者在营运资金的收支上要进行控制,以便做到经营资金合理的调派与运用。总之,以上所列的六项基本计划(营业额、商品采购、销售促进、人员、经费、财务)是咖啡店管理不可或缺的。当然,有一些咖啡店为求管理上更深入,也能够配合工作实际需要制订一些其他辅助性计划。第六部分:市场分析2019-2021年中国

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论