南邮综合设计报告课程设计proteus和Keil.doc
《南邮综合设计报告课程设计proteus和Keil.doc》由会员分享,可在线阅读,更多相关《南邮综合设计报告课程设计proteus和Keil.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录一、课题1:数码管学号滚动显示41.课题任务要求及技术指标41.1设计任务41.2设计要求42.课题分析及设计思路42.1功能分析42.2实现思路42.3难点描述43.系统设计(建模)43.1硬件框图43.2软件框图43.3电路图53.4元件清单53.5源程序64.仿真结果与结果分析7二、课题2:LED8彩灯花样显示71.课题任务要求及技术指标71.1设计任务71.2设计要求72.课题分析及设计思路72.1功能分析82.3难点描述83.系统设计(建模)83.1硬件框图83.2软件框图83.3电路图83.4元件清单93.5源程序94.仿真结果与结果分析10三、课题3:数字电子钟111.课题任
2、务要求及技术指标111.1设计任务111.2设计要求112.课题分析及设计思路112.1功能分析112.2实现思路122.3难点描述123.系统设计(建模)123.1硬件设计123.2软件设计流程图133.3电路图143.4元件清单153.5源程序154.仿真结果与结果分析19四、课题6:函数发生器201.课题任务要求及技术指标201.1设计任务201.2设计要求202.课题分析及设计思路202.1功能分析202.2实现思路202.3难点描述203.系统设计(建模)203.1硬件设计203.2软件流程图213.3电路图263.4源程序264.仿真结果与结果分析32五、课题12:简易温度计341
3、.课题任务要求及技术指标341.1设计任务341.2设计要求342.课题分析及设计思路342.1功能分析342.2实现思路342.3难点描述343.系统设计(建模)343.1硬件设计343.2软件流程图353.3电路图373.4源程序374.仿真结果与结果分析46六、课程设计小结47一、课题1:数码管学号滚动显示1.课题任务要求及技术指标1.1设计任务:要求学生在六个数码管滚动显示自己的学号(六位),每隔一定时间循环移位一次,学号为奇数则左移,学号为偶数则右移。间隔时间可由开关选择1秒,2秒,3秒和4秒。1.2设计要求:(1)给出正确的原理图;(2)给出正确的程序,并结合原理图给出相应结果。2
4、.课题分析及设计思路2.1功能分析:数码管滚动显示学号,可控制间隔时间。2.2实现思路:1、动态数码显示技术;如何进行动态扫描,由于一次只能让一个数码管显示,因此,要显示6位的数据,必须经过让数码管一个一个轮流显示才可以,同时每个数码管显式的时间大约在1ms到4ms之间,所以为了保证正确显示,必须每隔1ms,就得刷新一个数码管。而这刷新时间我们采用单片机的定时/计数器来控制,每定时1ms对数码管刷新一次。2、在进行数码显示的时候,要对显示单元开辟6个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。2.3难点描述:对延时的精度要求比较高。3.系统设计(建模)3.1硬件框图键盘复位电 路STC8
5、9C51数码管显示震荡电 路3.2软件框图开 始数码管显示学号读取键值根据键值命令数码管延时滚动执行结束3.3电路图3.4元件清单器材规格数量单片机AT89C511数码管7SEG-MPX6-CA-BLUE1按键Button2晶振12MHz1瓷片电容22pF2电解电容10uF1电阻2202电阻10K93.5源程序#include #define uint unsigned int #define uchar unsigned charuchar code DIS_SEG7=0xc0,0xa4,0xc0,0xa4,0xc0,0xf9;/设置学号,共阳字形码uchar code DIS_BIT6=0
6、x3e,0x3d,0x3b,0x37,0x2f,0x1f;/六位数码管位选sbit k1=P10;sbit k2=P11;void delay1ms(uint i) uint j;while(i-) for(j = 0; j 110; j+);void main(void) uchar cnt, ttt;uchar DISP = 0, 1, 2, 3, 4, 5,;while(1) for(ttt = 0; ttt 100; ttt+) for(cnt = 0; cnt 6; cnt+) /点亮数码管0-5 P2 = 0;P0 = DIS_SEG7DISPcnt;P2 = DIS_BITcnt
7、;if(k1=1&k2=1)delay1ms(1);elseif(k1=0&k2=1)delay1ms(2);elseif(k1=1&k2=0)delay1ms(3);elseif(k1=0&k2=0)delay1ms(4);ttt = DISP0;DISP0 = DISP1;DISP1 = DISP2;DISP2 = DISP3;DISP3 = DISP4;DISP4 = DISP5;DISP5 = ttt;4.仿真结果与结果分析当按键K1、K2弹起时,学号延时1s滚动;当K1按下,K2弹起时,学号延时2s滚动;当K1弹起,K2按下时,学号延时3s滚动;当K1、K2按下时,学号延时4s滚动。
8、二、课题2:LED8彩灯花样显示1.课题任务要求及技术指标1.1设计任务:要求学生设计出LED8彩灯在两个拨码开关的控制下每隔1秒,2秒,3秒和4秒间隔点亮。1.2设计要求:(1)给出正确的原理图;(2)给出正确的程序,并结合原理图给出相应结果。2.课题分析及设计思路2.1功能分析:彩灯流水显示,间隔时间可控。2.2实现思路:当51单片机的P2口有高电平输出时,相应的发光二极管就会点亮。应用这一原理我们可以容易的点亮一个数码管,例如令P2口输出0000 0001时D1就会点亮。若再把0000 0001向左循环一位,利用P2口输出,就会点亮D2。在发光二极管两次点亮的间隔中加延时程序,让每次点亮
9、停留一段时间,像这样人眼就可以看到“流水” 的现象。2.3难点描述: 移位与延时之间的关联。3.系统设计(建模)3.1硬件框图键盘复位电 路STC89C51流水灯电 路震荡电 路3.2软件框图开 始数码管显示学号读取键值根据键值命令数码管延时滚动执行结束3.3电路图3.4元件清单器材规格数量单片机AT89C511发光二极管蓝+红+黄+绿2播码开关DIPSW_21晶振11.0592MHz1瓷片电容22pF2电解电容10uF1电阻2208电阻10K13.5源程序#include #include #define uchar unsigned char #define uint unsigned i
10、nt sbit k1=P10;sbit k2=P11;/延时void DelayMS(uint x) uchar i; while(x-) for(i=0;i120;i+); /主程序void main()uchar i; P2=0x80; while(1) for(i=0;i7;i+) P2=_crol_(P2,1); /P2 的值向左循环移动if(k1=1&k2=1)DelayMS(400);elseif(k1=0&k2=1)DelayMS(800);elseif(k1=1&k2=0)DelayMS(1200);elseif(k1=0&k2=0)DelayMS(1600);4.仿真结果与结
11、果分析启动程序,二极管由D1到D8逐个点亮。播码开关播向1,1时,点亮间隔为1s;播码开关播向0,1时,点亮间隔为2s;播码开关播向1,0时,点亮间隔为3s;播码开关播向0,0时,点亮间隔为4s。三、课题3:数字电子钟1.课题任务要求及技术指标1.1设计任务:运用单片机的中断技术,LED显示技术和键盘扫描技术,设计一实用的多功能电子钟。1.2设计要求:(1)给出正确的原理图;(2)给出正确的程序,并结合原理图给出相应结果。2.课题分析及设计思路2.1功能分析:数字电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外还有
12、校时功能。2.2实现思路:8个数码管的段选接到单片机的P0口,位选接到单片机的P2口。数码管按照数码管动态显示的工作原理工作,将标准秒信号送入“秒单元”,“秒单元”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分单元”的时钟脉冲。“分单元”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时单元”。“时单元”采用24进制计时器,可实现对一天24小时的累计。显示电路将“时”、“分”、“秒”通过七段显示器显示出来。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整,按一下S,秒单元就加1 ,按一下M,分就加1,按一下H,时就加1。2.3难
13、点描述:按键校对时间时容易抖动,抖动问题不解决就会引起对闭合键的识别。3.系统设计(建模)3.1硬件设计(1)最小系统设计单片机的最小系统是由电源、复位、晶振、/EA=1组成(2)数码管显示电路数码管使用条件:a、段及小数点上加限流电阻 b、使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定。(3)键盘控制电路当用手按下一个键时,如图3-8所示,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况。这就是抖动。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。很容易想到,抖动问题不解决就会引起对闭合键的识别。用软件方法可以很
14、容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,在读入键盘码。3.2软件设计流程图N24小时到?分单元清零,时单元加1NNNYY时单元清零时间显示中断返回开始一秒时间到?60秒时间到?60分钟到?秒单元加1秒单元清零,分单元加1YY3.3电路图3.4元件清单器材规格数量单片机AT89C511数码管7SEG-MPX8-CC-BLUE1按键Button3晶振11.0592MHz1瓷片电容22pF2电解电容10uF1电阻10K83.5源程序#include sbit ksec=P30; sbit kmin=P31; sbit khour=P32; unsigned char sec
15、shi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0; unsigned int num=0,sec=0,min=0,hour=0; unsigned char code table10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; void delay(unsigned int); void keyscan(); void display();main()TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;ET0=1;T
16、R0=1; while(1) display(); keyscan(); void delay(unsigned int z) unsigned int x,y; for(x=z;x0;x-) for(y=110;y0;y-);/定时器中断程序void time0()interrupt 1 num+; TH0=(65536-50000)/256; TL0=(65536-50000)%256; /LED显示程序void display() if(num=20) num=0; sec+; if(sec=60) sec=0; min+; if(min=60) min=0; hour+; if(hou
17、r=24) hour=0; min=0; sec=0; secge=sec%10; secshi=sec/10; minge=min%10; minshi=min/10;hourge=hour%10; hourshi=hour/10; P2=0xfe; P0=tablesecge; delay(5); P2=0xfd; P0=tablesecshi;delay(5); P2=0xfb; P0=0x40; delay(5); P2=0xf7; P0=tableminge; delay(5); P2=0xef; P0=tableminshi; delay(5); P2=0xdf;P0=0x40;
18、delay(5); P2=0xbf; P0=tablehourge;delay(5); P2=0x7f; P0=tablehourshi; delay(5); /按键控制子程序void keyscan() if(ksec=0) delay(10); if(ksec=0) sec+; if(sec=60) sec=0; while(ksec=0) display();if(kmin=0) delay(10); if(kmin=0) min+; if(min=60) min=0; while(kmin=0)display(); if(khour=0) delay(10);if(khour=0) h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 设计 报告 课程设计 proteus Keil
限制150内