可以调控的走马灯设计
单片机技术课程设计说明书 可以调控的走马灯设计
专
业
学生姓名 班 学 级 号
指导教师 完成日期 2011 年 6 月 20 日
盐城工学院课程设计说明书(2011)
目
录
1 概述 .................................................................................................................................. 2 1.1 单片机的发展和现状 .............................................................................................. 2 2 课题方案设计 .................................................................................................................. 3 2.1 系统总体设计要求 .................................................................................................. 3 2.2 系统模块结构 .......................................................................................................... 3 3 系统硬件设计 .................................................................................................................. 3 3.1 总体设计 .................................................................................................................. 3 3.2 单片机最小系统 ...................................................................................................... 4 3.3 按键电路 .................................................................................................................. 5 3.4 数码管显示电路 ...................................................................................................... 5 3.5 发光二极管显示电路 .............................................................................................. 6 4 系统软件设计 .................................................................................................................. 6 5 软硬件联调及调试结果 .................................................................................................. 7 5.1 软硬件调试中出现的问题及解决措施 .................................................................. 7 5.2 实物图 ...................................................................................................................... 8 5.3 调试结果 .................................................................................................................. 9 5.4 各模式灯亮 .............................................................................................................. 9 结束语 ............................................................................................................................... 10 参考文献 ........................................................................................................................... 11 附录 ................................................................................................................................... 12 附录 1:基于单片机可以调控的走马灯原理图 ....................................
................... 12 附录 2;基于单片机可以调控的走马灯 PCB 图...................................................... 13 附录 3:基于单片机可以调控的走马灯仿真 ........................................................... 14 附录 4:程序代码 ....................................................................................................... 15 附录 5:元件清单 ....................................................................................................... 20
1
盐城工学院课程设计说明书(2011)
1 概述
1.1 单片机的发展和现状 单片机是所有微处理机中性价比最高的一种,随着种类的不断全面,功能不断完 善,其应用领域也迅速扩大。单片机在智能仪表、实时控制、机电一体化、办公机械、 家用电器等方面都有相当的应用领域。 当前, 位单片机主要用于工业控制, 8 如温度、 压力、流量、计量和机械加工的测量和控制场合;高效能的 16 位单片机(如 MCS-96、 MK-68200)可用在更复杂的计算机网络。可以说,微机测控技术的应用已渗透到国民 经济的各个部门,微机测控技术的应用是产品提高档次和推陈出新的有效途径。 纵观单片机的发展过程,可以预示单片机的发展趋势,大致有: 1.低功耗 CMOS 化 MCS-51 系列的 80C51 推出时的功耗达 120mW,而现在的单片机普遍都在 100mW 左 右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了 CMOS(互补金属氧化物半导体工艺)。CMOS 虽然功耗较低,但由于其物理特征决定其 工作速度不够高,而 CHMOS 则具备了高速和低功耗的特点,更适合于在要求低功耗像 电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。 2.微型单片化 常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序 存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单 一的芯片上,增强型的单片机集成了如 A/D 转换器、PMW(脉宽调制电路)、WDT(看门 狗)、有些单片机将 LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的 单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做, 制造出具有自己特色的单片机芯片。 3.主流与多品种共存 现在虽然单片机的品种繁多,各具特色,但仍以 MCS-51 为核心的单片机占主流, 兼容其结构和指令系统的有 PHILIPS 公司的产品,ATMEL 公司的产品和中国台湾的 WinBond 系列单片机。以 8031 为核心的单片机占据了半壁江山,在一定的时期内, 这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补, 相辅相成、共同发展的道路
。
2
盐城工学院课程设计说明书(2011)
2 课题方案设计
2.1 系统总体设计要求 1、根据选题查找相关资料; 2、确定方案后,画出电路原理图; 3、根据设计要求,编写好软件程序(利用 Keil 软件开发) 4、根据电路原理图,在 Proteus 软件里画好仿真原理图,并将 Keil 软件开发的 可执行文件加载到 Proteus 软件的仿真芯片中(即单片机芯片中) ; 5、在仿真没有问题的前提下,依据方案,确定选用器件; 6、焊接、烧录、调试; 7、完成课程设计说明书 2.2 系统模块结构 多功能走马灯设计使用 AT98C51 芯片,显示效果使用 16 个 LED,设置三个按键, K1-模式键,通过按键调整显示结果,要求有 8 种模式;K2-加速键,提高走马灯显示 效果的速度;K3-减速键,放慢走马灯的显示效果速度;且 8 种模式通过一个共阴型 数码管显示出来,P0 和 P1 引脚控制着 16 个 LED 的显示,P2.0、P2.1 和 P2.2 引脚是 相应的键控模式,而 P3 引脚则控制着数码管的显示,通过键控来实现单片机的相关 中断,通过计数器/定时器 T1 设计相关中断来执行 K1-模式键要求的功能,利用延时 程序和中断程序来执行所要求的相应功能。
3 系统硬件设计
3.1 总体设计 1、显示效果使用 16 个 LED; 2、设置三个按键,K1-模式键,通过按键调整显示结果,要求有 8 种模式 K2 加速 键,提高走马灯显示效果的速度;K3-减速键,放慢走马灯的显示效果速度; 3、8 种模式通过一个共阳型数码管显示出来,比如,走马灯的显示效果为模 式一时,数码管显示数字“1”。 4、系统总体设计图如下:
3
盐城工学院课程设计说明书(2011)
P0 P1 管 管
单 片
系统
机
P2 按钮控制
管 P3
图 3.1 系统总设计图
3.2 单片机最小系统 (1)时钟电路 单片机执行指令是在脉冲控制下进行的,因此时钟信号是单片机的基本工作条 件。 时钟可以由内部和外部两种方式产生, 本设计采用内部方式。 如图所示, XTAL1 在 和 XTAL2 引脚上外接定时元件。定时元件通常采用振荡器和电容组成的并联谐振电 路。X1 为振荡器,C1、C2 为电容。振荡的主要频率决定于晶振,电容对振荡频率起 微调作用。其中,晶振选择 11.0596MHz。晶振接在 18 到 19 两管脚之间。 (2)复位电路 一个时钟周期为振荡周期的 2 倍,12 个时钟周期构成一个机器周期。在 RES 引 脚上输入一个超过两个机器周期的高电平信号,单片机就可以复位。时钟频率为 12MHz,则有效的复位信号至少应保持 2us 以上。下图为单片机的复位电路。RST 复 位是 9 脚,在 9 脚和 31(EA)脚之间接一个复位按钮。
4
盐城工学院课程设计说明书(2011)
图 3.2 最小系统图 3.3 按键电路 系统
按键电路如下图所示:
图 3.3 按键电路图 图中 K1 接 P2.0,K1 是模式按钮共有 8 种模式;K2 接 P2.1,是用来进行加速的; K3 接 P2.2,是用来减速的。 3.4 数码管显示电路 数码显示器件是一种八个 LED 发光二极管组合显示字符的显示器件,其中七个用 于显示字符,一个用于显示小数点,故通常称为七段 LED 数码显示器。 本电路中共阳极接法,把七段发光二极管的阳极连在一起构成公共阳极,使用时 阳极接+5V 电源, 每个发光二极管的阴极通过电阻与输入端连接, 阴极输入低电平时, 发光二极管,输入高电平则不亮,连接方法如图;
5
盐城工学院课程设计说明书(2011)
图 3.4 数码管显示电路图 数码管通过排阻 RN1 接到 P3 口。 3.5 发光二极管显示电路 16 个发光二极管显示电路如下图所示:
图 3.5 发光二极管显示电路图 图中 D1,D2,D3,D4 到 D8 分别接的是 P1.0,P1.1,到 P1.7;D9,D10 到 D16 分别接 的是 P0.0 到 P0.7。
4 系统软件设计
软件程序设计主要由开始、初始化、主程序、以及延时程序等组成。其程序流程 如下图 4.1 所示: 图中 K1 键用来选择模式的,初始时运行模式 0,按一次运行模式 1,以此类推按 7 次则云行模式 7,当再一次按下时又运行模式 0。K2 键用来加速按的次数越多则速 度越快。 用来减速同 K2 按的越多则越慢。 K3 速度的选择可见附录 4 程序中的调速表,
6
盐城工学院课程设计说明书(2011)
程序通过不同的顺序来改变速度。 图中数码管的数字显示是根据 K1 的模式选择的,初始时数码管显示 0,程序运行 模式 0,同理当运行模式 7 时,则数码管显示 7。
开始
初始化 运行模式 0
K1 按键
K2 按键
K3 按键
数码管显示
模式的选择
加速
减速
图 4.1 程序流程图
5 软硬件联调及调试结果
5.1 软硬件调试中出现的问题及解决措施 在画 PCB 图时发现 P3 口的排阻 RN1 只能连接一边,数码管连接不上,后来发现排 阻只有输入没有输出所以不行。原有的电路图如下图 5.1 所示;修改过的电路图如图 5.2 所示;
图 5.1
7
盐城工学院课程设计说明书(2011)
图 5.2 5.2 实物图 (1)正面图
(2)反面图
8
盐城工学院课程设计说明书(2011)
5.3 调试结果
图中为模式 2 显示。 5.4 各模式灯亮 1、模式 0:灯由左向右一个一个顺序熄灭(第一个熄灭后第二个熄灭时第一个又 亮) 。 2、模式 1:灯由右向左一个一个顺序熄灭(同上)。 3、模式 2:四个灯由右向左又由左向右顺序熄灭。 4、模式 3:四个灯由右向左又由左向右循环点亮。 5、模式 4:六个灯由右向左又由左向右循环熄灭。 6、模式 5:一个灯由右向左又由左向右顺序熄灭。 7、模式 6:一个灯由
右向左又由左向右顺序点亮。 8、模式 7:一个灯由右向左又由左向右依次点亮。
9
盐城工学院课程设计说明书(2011)
结束语
我是工学专业的学生,设计是我们将来必需的技能,这次课程设计恰恰给我们提 供了一个应用自己所学知识的机会,从到图书馆查找资料到对电路的设计以及程序的 编写,对电路的仿真再到最后电路的成型,都对我所学的知识进行了检验。 我深刻 的体会到在设计过程中,需要反复实践,其过程很可能相当烦琐,有时花很长时间设 计出来的电路还是需要重做,那时心中未免有点灰心,有时还特别想放弃,此时更加 需要静下心,查找原因。 总体来说,这次实习我受益匪浅。在摸索该如何设计电路 使之实现所需功能的过程中,特别有趣,培养了我的设计思维,增加了实际操作能力。 在让我体会到了设计电路的艰辛的同时,更让我体会到成功的喜悦和快乐。 在这里,我也非常感谢各位老师的耐心辅导以及同学们的热心帮助。我忠心的感 谢各位老师,你们辛苦了! 希望在今后的学习过程中,老师能够多加引领我们走向更尖端的科技和更复杂高 深的领域,加强专业技术的培训和更多的开展科研创新研究。通过实践引导我们在理 论指导下有所创新,为日后工程实践奠定基础。
10
盐城工学院课程设计说明书(2011)
参考文献
[1] 吴微,文军等.单片机原理及制作[M].武汉:武汉大学出版社,2003 [2] 王宏民.LED 显示屏的驱动方案[M].哈尔滨:黑龙江电子技术出版社,1999 [3] 李华.MCS—51 系列单片机实用接口技术[M].北京:北京航空航天大学出版社, 1993 [4] 陈元灯、陈宇.LED 制造技术与应用[M].北京:电子工业出版社,2009 [5] 余锡存,曹国华.单片机原理及接口技术[M].陕西:西安电子科技大学出版社, 2000 [6] 沈国琴. 51 单片机 C 语言开发与实例[M].北京:人民邮电出版社,2008 [7] 徐泳龙.单片机原理及应用[M].北京:机械工业出版社,2004 [8] 周航慈.单片机应用程序设计[M].北京:北京航空航天大学出版社,1991 [9] 陈汝全.实用微机与单片机控制技术[M].成都:电子科技大学出版社,1995 [10] 宋贤法. Altium Designer6. x 入门与实用[M].北京:机械工业出版社,2009 [11] 刘修文.实用电子电路设计制作 300 例[M].北京:中国电力出版社,2004 [12] 诸昌矜.LED 显示屏系统原理及工程技术[M].西安:电子科技大学出版社,2000 [13] 游华.大屏幕图文动画显示屏系统[M].电子技术应用,1994
11
盐城工学院课程设计说明书(2011)
附录
附录 1:基于单片机可以调控的走马灯原理图
12
盐城工学院课程设计说明书(2011)
附录 2;基于单片机可以调控的走马灯 PCB 图
13
盐
城工学院课程设计说明书(2011)
附录 3:基于单片机可以调控的走马灯仿真
14
盐城工学院课程设计说明书(2011)
附录 4:程序代码
#include #define uchar unsigned char #define uint unsigned int
uchar ModeNo; uint Speed;
//模式编号
uchar tCount = 0; uchar Idx; //速度取值索引 uchar mb_Count = 0; //移动位数 bit Dirtect = 1; //断码表 //滚动方向
Uchar code DSY_CODE[]= = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //调速表 uint code sTable[] = {0,1,3,5,7,9,15,30,50,100,200,230,280,300,350};
//延时 void Delay(uint x) { uchar i; while(x--) for(i=0;i
//检测按键 uchar GetKey() { uchar K; if(P2 == 0xFF) Delay(10); switch(P2) {
15
return 0;
盐城工学院课程设计说明书(2011)
case 0xFE:K = 1;break; case 0xFD:K = 2;break; case 0xFB:K = 3;break; default: K=0; } while (P2 != 0xFF);//等待释放按键 return K; } // //16 只 LED 显示 // void Led_Demo(uint Led16) { P1 = (uchar)(Led16 & 0x00FF);//显示低 8 位 P0 = (uchar)(Led16 >> 8); } // //定时器 2 // void T0_INT() interrupt 1 { if( ++tCount > mb_Count);break; case 2: if(Dirtect) Led_Demo(0x000F > mb_Count); if(mb_Count == 15) Dirtect= !Dirtect; break; case 3: if(Dirtect) Led_Demo(~(0x000F>mb_Count)); if(mb_Count == 15) Dirtect= !Dirtect; break; case 4: if(Dirtect) Led_Demo(0x003F>mb_Count); if(mb_Count == 15) Dirtect= !Dirtect;
16
盐城工学院课程设计说明书(2011)
break; case 5: if(Dirtect) Led_Demo(0x0001 > mb_Count); if(mb_Count == 15) Dirtect= !Dirtect; break; case 6: if(Dirtect) Led_Demo(~(0x0001>mb_Count)); if(mb_Count == 15) Dirtect= !Dirtect; break; case 7: if(Dirtect) else Led_Demo(0xFFFE > mb_Count);
if(mb_Count == 15) Dirtect = !Dirtect; break; } mb_Count = (mb_Count + 1) % 16; }
// //键盘按键处理 // void KeyProcess(uchar Key) { switch (Key) { case 1://重设模式 Dirtect = 1;mb_Count = 0; ModeNo = (ModeNo + 1) % 8; P3 = DSY_CODE[ModeNo]; break; case 2://加速 if(Idx > 1) Speed = sTable[--Idx]; break; case 3://减速 if(Idx
17
盐城工学院课程设计说明书(2011)
}
//主程序 // void main() { uchar Key; P0 = P1 = P2 = P3 = 0xFF; ModeNo = 0; Idx = 4; Speed = sTable[Idx]; P3 = DSY_CODE[ModeNo]; IE = 0X82; TMOD = 0X00; TR0 = 1; while(1) { Key = GetKey(); if(Key != 0) KeyProcess(Key); } } void KeyProcess(uchar Key) { switch (Key) { case 1://重设模式 Dirtect = 1;mb_Count = 0; ModeNo = (ModeNo + 1) % 8; P3 = DSY_CODE[ModeNo]; break; case 2://加速 if(Idx > 1) Speed = sTable[--Idx]; break; case 3://减速 if(Idx
18
盐城工学院课程设计
说明书(2011)
}
//主程序 // void main() { uchar Key; P0 = P1 = P2 = P3 = 0xFF; ModeNo = 0; Idx = 4; Speed = sTable[Idx]; P3 = DSY_CODE[ModeNo]; IE = 0X82; TMOD = 0X00; TR0 = 1; while(1) { Key = GetKey(); if(Key != 0) KeyProcess(Key); } }
19
盐城工学院课程设计说明书(2011)
附录 5:元件清单
名称 1 2 3 4 5 6 7 8 9 10 11 单片机 磁片电容 晶振 电解电容 发光二极管 电阻 按键 数码显示管 单片机插座 排阻 电阻
型号 STC89C52 30PF 11.0592MHZ 10UF/16V 红 220 欧 K 共阳极 40P A221J 1K
数量 1 3 2 2 16 24 3 1 1 1 2
20