单片机微机系统与接口 课程设计报告(论文)
题目(3号宋体加粗居中)
专业班级:________________ 姓 名:________________ 时 间:________________ 指导教师:________________
年 月 日
××××课程设计任务书(小三宋体)
1.设计目的与要求(5号黑体)
设计出一个简单的单片机键盘输入八段管输出系统。准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:
(1)设计4×4键盘以及8位数码管硬件电路,。
键盘如下:
1 2 3 A
4 5 6 B
7 8 9 C
* 0 # D
(2)基本要求:
A键实现学号和时间两档显示的切换。
学号:9×××××××
时间:日 时 分 秒 (共八位)
B键实现修改时间模式下 可以切换修改不同的两位数码管,例如按第一下可以修改表示“日”的两位数码管,再按一下可以修改表示“时”的数码管。
C键实现修改时间模式下的加1键
D键实现修改时间模式下的减1键
(3)提高要求
①要求数字键还是可以直接将数字输出给数码管,例如修改模式下,如果正在修改表示 “日”的两位数码管,按下1号键和2号键 “日”就修改成12,再按下2号键和3号键,“日”就修改成23,不允许超过31。 1
②实现修改时间模式下的闪烁功能,修改完成之前正在修改的两位数码管会出现亮暗的闪烁,闪烁时间为1s。可以利用剩下的“*”“#”两个按键中某一个按键作为确定键,一旦按下确定键,则停止闪烁。
③利用剩下两个按键“*”“#”实现额外的功能,功能可以自定义。
2.设计内容
(1)利用手头的51单片机开发板正确连线
(2)合理选择元器件及元件参数;
(3)进行电路模拟仿真;
3.编写设计报告
写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩
在规定时间内,完成叙述并回答问题。
论文结构清晰,层次分明,理论严谨
任务书要求单页打印。1.5倍行间距,标准字间距。
2
题目(3号宋体加粗居中)
班级姓名(小5号宋体)
摘要:本设计?(小5号宋体)
关键词:电子线路(小5号宋体)
1 引言(4号黑体)
正文?
2 总体设计方案(4号黑体)
2.1 设计思路(5号宋体)
2.1.1 ?
(1)方案确立(5号宋体)
正文?
2.2 设计方框图
3 设计原理分析(4号黑体)
3.1 时钟电路的设计
3.2 控制电路的设计
正文全部为5号宋体,首行缩进两字,单倍行距。图、表都居中,要有对应的图号、图题、表号和表题。图、表中的文字为小5号宋体。文中数字和符号的字体为Times New Roman字体。图号、图题在图的下面,表号和表题在表的上面居中。页码居中。A4纸排版,页边距上、下、右为2.5cm,左为3cm。 4 结束语(4号黑体)
一般不超过200字。
参考文献(4号黑体)
[1] 叶挺秀.应用电子学[M].杭州:浙江大学出版社,1994(小5号宋体)
[2] 朱承高.电工及电子技术手册[M].北京:高等教育出版社,1990
[3] 阎石.数字电子技术基础(第三版)[M]. 北京:高等教育出版社,1989
[4] 廖常初.现场总线概述[J].电工技术,1999.6
附录(4号黑体)
3
参考文献著录内容要求及示例
1. 专著著录格式
[序号]著者.书名[M].版本(第一版不写).出版地:出版者,出版年.起止页码
例[1]孙家广,杨长青.计算机图形学[M].北京:清华大学出版社,1995.26~28
Sun Jiaguang, Yang Changqing. Computer graphics[M].Beijing: Tsinghua University Press,1995.26~28(in Chinese)
[2]Skolink M I. Radar handbook[M]. New York: McGraw-Hill, 1990
2. 期刊著录格式
[序号]作者.题名[J].刊名,出版年份,卷号(期号):起止页码
例[3]李旭东,宗光华,毕树生,等.生物工程微操作机器人视觉系统的研究[J].北京航空航天大学学报,2002,28(3):249~252
Li Xudong, Zong Guanghua, Bi Shusheng, et al. Research on global vision system for bioengineering-oriented micromanipulation robot system[J]. Journal of Beijing University of Aeronautics and Astronautics, 2002,28(3):249~252(in Chinese)
3. 论文集著录格式
[序号]作者.题名[A].见(英文用In):主编.论文集名[C].出版地:出版者,出版年.起止页码
例[4]张佐光,张晓宏,仲伟虹,等.多相混杂纤维复合材料拉伸行为分析[A].见:张为民编.第九届全国复合材料学术会议论文集(下册)[C].北京:世界图书出版公司,1996.410~416
[5]Odoni A R. The flow management problem in air traffic control[A]. In: Odoni A R, Szego G,eds. Flow Control of Congested Networks[C]. Berlin: Springer-Verlag,1987.269~298
4. 学位论文著录格式
[序号]作者.题名[D].保存地点:保存单位,年
例[6]金 宏.导航系统的精度及容错性能的研究[D].北京:北京航空 4
航天大学自动控制系,1998
5. 科技报告著录格式
[序号]作者.题名[R].报告题名及编号,出版年
例[7]Kyungmoon Nho. Automatic landing system design using fuzzy logic[R].AIAA-98-4484,1998
6. 国际或国家标准著录格式
[序号]标准编号,标准名称[S]
例[8]GB/T 16159-1996,汉语拼音正词法基本规则[S]
7. 专利著录格式
[序号]专利所有者.专利题名[P].专利国别:专利号,出版日期
例[9]姜锡洲.一种温热外敷药制备方案[P].中国专利:881056073,1989-07-06
8. 电子文献著录格式
[序号]作者.题名[电子文献/载体类型标识].电子文献的出处或可获得地址,发表或更新日期/引用日期
例[10]王明亮.关于中国学术期刊标准化数据系统工程的进展[EB/OL]. http://www./pub/wm1.txt/980810-2.html,1998-08-16/1998
9. 各种未定义类型的文献
[序号]作者.题名[Z].出版地:出版者,出版年
说明:
(1)参考文献应是公开出版物,按在论著中出现的先后用阿拉伯数字连续排序。
(2)参考文献中外国人名书写时一律姓前,名后,姓用全称,名可缩写为首字母(大写),不加缩写点(见例2)。
(3)参考文献中作者为3人或少于3人应全部列出,3人以上只列出前3人,后加“等”或“et al”(见例3)。
(4)在著录中文参考文献时应提供英文著录,见例1、例3。
(5)参考文献类型及其标识见表1,电子参考文献类型及其标识见表2。 5
(6)电子文献的载体类型及其标识为:磁带——MT, 磁盘——DK, 光盘——CD,
联机网络——OL。
6
第二篇:单片机课程设计报告格式洗衣机
电气工程学院
一、课程设计任务书
1.设计内容
1)以89C51单片机为核心器件组成控制器,采用定时中断实现精确时间定时;用A/D转换对水温进行检测。
2)利用提供的单元模块构成硬件系统。
2.设计要求要求:
1)基本功能:
使用6位LED显示器,4位用来显示时间;显示格式为“分分秒秒”;2位显示温度值,4个键组成键盘,可设置洗衣机整个工作过程中各段时间,热加热温度设定。按键启动、停止等。
键盘:功能键、移位键、加1键、启动/停止键。
2)扩展功能:
增加定时启动功能。
3. 课程设计报告要求
1)自行设计系统硬件结构,硬件图纸要求B5图纸打印;图纸符合电气规范、美观。
2)编写系统程序,要求程序书写规范,功能完全;
3)书写报告,3千字左右,报告按照设计过程来进行撰写,文后需要附系统硬件原理图一份。
4)课程设计总结(可包括课程设计过程中的收获、体会及对该课程设计的意见、建议等)。
5)参考图书及文献清单。
3、参考资料
[1]李广弟,朱月秀,王秀山编著.单片机基础. 北京:北京航空航天大学出版社,2001
[2] 何立民编著.MCS-51系列单片机应用系统设计系统配置与接口技术.北京:北京航空航天大学出版社,1999
[3] 蔡美琴等编著.MCS-51 单片机系统及应用.北京:高等教育出版社.1992
4.设计进度(20##年6月14日至6月27日)
5.设计地点
新实验楼 308、313
二、评语及成绩
成绩:
指导教师:
单片机课程设计报告
班 级: 自0856
姓 名: 郜辉
学 号: 24
指导教师: 唐耀武
撰写日期: 20##-7-6
目 录
第一章 课程设计内容与要求分析......................... 1
1.1课程设计内容................................... 1
1.2课程设计要求分析............................... 1
1.2.1系统单元电路组成.......................... 1
1. 2. 2 加热器的工作原理 …… ……………………………….1
1 .2 .3 显示接口的设计……………………………………1
1. 2. 4 键盘接口的设计…………………………………... 2
1. 2. 5 74LS16的简介……………………………………..3
1. 2. 6 74LS39的简介……………………………………..4
1. 2. 7 ADC0809的工作原理……………………………....5
第二章 控制系统程序设计............................. …6
2. 1 加热器程序的程图…………………………………………20
2.2加热器程序清单..................................................................20
单片机原理及应用课程设计总结......................... 21
参考文献............................................. 22
附录................................................. 23
第一章 课程设计内容与要求分析
1.1课程设计内容
以89C51单片机为核心器件组成控制器,采用定时中断实现精确时钟定时;用A/D转换对水温进行检测。
利用提供的单元模块构成硬件系统。
1.2课程设计要求分析
基本功能:
使用6位LED显示器,4位用来显示时间;显示格式为“时时分分”;秒用LED指示;2位显示温度值,4个键组成键盘,可设置热水器启动和停止时间,加热温度设定。随时按键启动、停止等。
键盘:功能键、移位键、加1键、启动/停止键。
扩展功能:
增加多时段启动/停止功
1.2.1加热器的工作原理
加热器开始工作进行程序初始化,等待按键如果有按键按下判断是否是启动键,如果是内部标志位取反进行启动。利用A/D转换来控制温度是否达到预定值。
否则是功能键进行设定。如果没有按键,是否有定时启动和时间对比是否到时,时间到即开始启动。
1.2.2系统单元电路组成
8031单片机是Intel公司生产的MCS-51系列单片机中的一种,除无片内ROM外,其余特性与MCS-51单片机基本一样。8031单片机都采用40引脚的直插封装(DIP方式),在单片机的40条引脚中有2条专用于主电源的引脚,2条外接晶体的引脚,4条控制或与其它电源复用的引脚,32条输入/输出(I/O)引脚。8031单片机的引脚除了电源、复位、时钟接入,用户I/O口外,其余管脚是为实现系统扩展而设置的。这些引脚构成8031单片机片外三总线结构,即:
①地址总线(AB):地址总线宽为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由P0口经地址锁存器提供8位地址(A0至A7);P2口直接提供8位地址(A8至A15)。
②数据总线(DB):数据总线宽度为8位,由P0提供。
③控制总线(CB):由P3口的第二功能状态和4根独立控制线RESET、EA、ALE、PSEN组成。
1. 2 .3显示接口电路的设计
键盘和显示电路是人机交互的重要手段。控制键是用户干预系统运行的唯一接口,也是用户比较关心的问题。为了实现控制器对时间与温度的设定及显示功能,串行显示电路采用串入并出芯片74LS164驱动4位数码管实现时间与温度的静态显示。
该电路只使用80C51的3个端口,配接4片串入并出移位寄存器74LS164与1片三端可调稳压器LM317T。其中74LS164的引脚Q0~Q7为8位并行输出端;引脚A、B为串行输入端;引脚CL K为时钟脉冲输入端,在CLK脉冲的上升沿作用下实现移位,在CLK=0、清除端MR=1时,74LS164保持原来数据状态;MR=0时,74LS164输出清零,其显示电路如图:
74ls164其工作过程如下:80C51的串行口设定在方式0移位寄存器状态下,串行数据由P3.0发送,移位时钟由P3.1送出。在移位时钟的作用下,串行口发送缓冲器的数据一位一位地移入74LS164中。4片74LS164串级扩展为4个8位并行输出口,分别连接到4个LED显示器的段选端作静态显示。需要指出的是,由于74LS164无并行输出控制端,因而在串行输入过程中,其输出端的状态会不断变化,造成不应显示的字段仍有较暗的亮度,影响了显示的效果。以往的做法是在74LS164的输出端加接4片锁存器或三态门,使移位寄存器串行输入数据时其输出端的变化不反映到LED上,待串行输入结束后再打开锁存器或三态门,将稳定的显示数据送给LED。
本设计电路的独特之处在于仅采用了1片三端可调稳压器LM317T,317T的3、2脚分别是电压输入、输出端,317T的1脚是电压调整端,脚2输出电压随脚1电压而变化。脚1与接地电阻之间并一个NPN三极管,它的基极受P1.7口线控制,串行输入时P1.7口线为高电平,三极管饱和导通使317T的脚1约为0.3 V,脚2输出电压随之下降到1.5 V,不足以使共阳极LED发光,故此时串行输入的影响不会反映到LED上;串行输入结束后,使P1.7口线为低电平,三极管截止,脚2输出电压因脚1电压增高便上升到2.0V使LED正常发光。因此,1片三端可调稳压器LM317T起到了4片锁存器的作用使LED显示不会闪烁。本电路的另一优点是通过可调电位器P1可在线调整脚2的输出电压,使LED的显示亮度均匀可调,而且省掉了大量的LED限流电阻。
1. 2. 4 键盘电路设计
四键模式:功能键(P1.0)、移位键(P1.1)、加1键(P1.2)、启动键(P1.3)在定时设定时,是定时功能取消键。启动键按一下启动,再按一下停止。键盘电路跟显示电路一样采用扫描方式,并利用动态显示时的数码管驱动位置信号来判断相应按键的状态单片机的P3.3~P3.5口输出的BCD码经译码器译码后,相应的Y口呈低电平,而AT89C205 1的P3.7口平时为高电平(由于有上拉电阻),只有当某一按键按下时,P3.7才被下拉为低,这时,单片机将利用程序查询P3.7是否为低,如果P3.7为低电平,则读回单片机P3.3~.P3.5口的值(从缓冲区读取),并判断是那个按键按下.然后调用相应的处理程序进行处理
1.2.5 74LS164简介
ls164为8位移位寄存器,其主要电特性的典型值如下:
54/74164 185mW 54/74LS164 80mW
当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。 串行数据输入端(A,B)可控制数据。当 A、B任意一个为 低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0 为低电平。当A、B 有一个为高电平,则另一个就允许输入数据,并在CLOCK 上升沿作用下决定Q0 的状态.
164为8位移位寄存器, 门控(赋能/禁止)串行输入,并行输出; 全为缓冲的时钟和串行输入; 异步清除其主要电特性的典型值如下: 型号 fm pn 54/74164 36mhz 185mw 54/74ls16436 mhz 80mw 当清除端(clear)为低电平时,输出端(qa-qh)均为低电平. 串行数据输入端(a,b)可控制数据.当a,b任意一个为低电平,则禁止新数据输入,在时钟端(clock)脉冲上升沿作用下q0为低电平.当a,b有一个为高电平,则另一个就允许输入数据,并在clock上升沿作用下决定q0的状态. 引出端符号 clock 时钟输入端 clear 同步清除输入端(低电平有效) a,b 串行数据输入端 qa-qh 输出端 逻辑及封装图 双列直插封装 极限值 电源电压7v 输入电压为5.5v 工作环境温度 54164 -55~125℃ 74164… -0~70℃ 储存温度-65℃~150℃ 真值表 h-高电平 l-低电平 x-任意电平 ↑-低到高电平跳变 qa0,qb0,qh0 -规定的稳态条件建立前的电平 qan,qgn -时钟最近的↑前的电平 时序图为推荐工作条件: 54/74164 最小 额定 最大 单位 54 4.5 5 5.5 电源电压vcc74 4.75 5 5.25 v 输入高电平电压vih2 v 输入低电平电压vil 0.8 v 输出高电平电流ioh -400 ua 输出低电平电流iol 8 ma 时钟频率fcp0 25 mhz 脉冲宽度tw clock,clear 20 ns 建立时间tset 25 ns 保持时间th5 ns 静态特性(ta为工作环境温度范围) '164 参 数 测 试 条 件【1】最小 最大 单位 vik输入嵌位电压 vcc=最小,vik=-12ma -1.5 v voh输出高电平电压 vcc=最小vih =2v vil=0.8v, ioh=-400 a 2.4 v vol输出低电平电压 vcc=最小,vih=2v, vil=0.8v,iol=8ma 0.4 v ii最大输入电压时输入电流 vcc=最大 vi=5.5v 1 ma iih输入高电平电流 vcc=最大,vih=2.4v 40 a iil输入低电平电流 vcc=最大,vil=0.4v -1.6 ma 54 -10 -27.5 ios输出短路电流 vcc=最大 74 -9 -27.5 ma icc电源电流 vcc=最大,a和b接地,clock接2.4v,clear瞬间接地后接4.5v 54 ma [1]: 测试条件中的"最小"和"最大"用推荐工作条件中的相应值. 动态特性(ta=25℃) '164 参 数[2]测 试 条 件 最小 最大 单位 fmax 25 mhz tplh 27 ns tphl clock→任一q32 ns tphl clear 任一q→vcc =5v,cl=15pf,rl=800ω 36 ns [2]: fmax 最大时钟频率.tplh输出由低电平到高电平传输延迟时间 tphl输出由高电平到低电平传输延迟时间
1. 2. 6 74LS393的简介
74ls393 lsttl型双四位二进制计数器 推荐工作条件 电 性 能:(除特别说明外,均为全温度范围) 74ⅱ 54 参数值 参数值 符号 参数名称 测试条件 最小 典型 最大 最小 典型 最大 单位vik 输入钳位电压 vcc=最小 ii=-18ma -1.5 -1.5 v voh 输出高电平电压 vcc=最小 vil=最大vih=2v ioh=最大2.7 2.5 3.4 v vol 输出低电平电压 vcc=最小 vil=最大vih=2v iol=最大 0.5 0.25 0.4 v vcc=最大 vi=7v 清除clr 0.1 0.1 ii 输入电流 (最大输入电压时) vcc=最大vi=5.5v a输入 0.2 0.2 ma清除clr 20 20 iih 输入高电平电流 vcc=最大 vi=2.7v a输入 100 100 μa清除clr -0.4 -0.4 iil 输入低电平电流 vcc=最大 vi=0.4v a输入 -1.6 -1.6 maios 输出短路电流 vcc=最大 vo=0v-20 -100 -20 -100 maicc 电源电流 vcc=最大 (注) 26 15 26 ma注:测icc时,所有输出开路,二个清除输入先瞬时接4.5v再接地,所有其它输入端接地. 所有典型值均在vcc=5.0v, ta=25℃下测量得出.
1. 2. 7 ADC0809的简介与工作原理
ADC0809是一种逐次比较式8路模拟输入,8位数字量数字输入量输出的A/D转换器。
1.ADC0809引脚功能
ADC0809共有28脚,采用双列直插式封装。其主要功能如下:
(1) IN0-IN7是八路模拟信号输入端。
(2) D0-D7是八位数字量输出端。
(3) A,B,C与ALE控制八路模拟通道的切换,A,B,C分别与3根地址线或数据线相连,3位编码对应8个通道地址口。C,B,A=000-111分别对应IN0-IN7通道的地址。
这里要强调的是:ADC0809虽然有八路模拟通道可以同时输入八路模拟信号,但每个瞬间只能转换一路,各路之间的切换由软件改变C,B,A引脚上的代码来实现。
入端,CLK为时钟输入端。
(5)Vr(+)和VR(+)为参考电压输入端。
2. ADC0809结构及转换原理
ADC0809是采用逐次比较的方法完成A/D转换的,由单一的+5v电源供电。片内带有锁存功能的八路选一的模拟开关,由C,B,A引脚的编码来决定所选通道。0809完成一次转换需要100us左右,输出三态锁存缓冲器,直接连到8031的数据总线上。通过适当的外接电路,0809可对0-5v的模拟信号进行转换。
3.ADC0809与8031单片机的接口
由于ADC0809片内无时钟,可利用8031提供的地址锁存允许信号ALE经D触发器2分频后获得,ALE引脚的频率是8031单片机时钟频率的1/6。由于ADC0809具有输出三态锁存器,其8位数据引脚可直接与数据总线相连。地址引脚C,A,B分别与地址总线的低3位A2,A1,A0相连,以选通IN0-IN7中的一个通路。
第二章 热水器的程序设计
2.1 热水器程序流程图
2.2 热水器程序清单:
;四键模式:功能键(P1.0)、移位键(P1.1)、加1键(P1.2)、启动键(P1.3)在定时设定时,是定时功能取消键。 启动键按一下启动,再按一下停止。
;A/D转换地址:0000H
;指示灯输出地址:5000H
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T00K
ORG 0030H
MAIN:MOV SP,#60H
STRT:MOV P1,#0FFH
MOV DPTR,#4000H
MOV A,#0FFH
MOVX @DPTR,A
MOV 30H,#1 ;显示缓冲单元
MOV 31H,#2
MOV 32H,#3
MOV 33H,#4
MOV 35H,#0 ;按键功能计数
MOV 50H,#00H ; 启动时间1设定
MOV 51H,#00H ;
MOV 52H,#00H ; 关闭时间1设定
MOV 53H,#00H ;
MOV 54H,#60H ; 温度设定 默认温度60度
MOV 3CH,#0 ;分起始值
MOV 3DH,#0 ;时起始值
CLR 00H ;定时启动标志
CLR 02H ;定时启动标志
CLR 05H ;按键标志
CLR 01H ;人为启动标志
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV 40H,#10 ;中断次数
MOV 44H,#0 ;交替显示标志
CLR F0 ;闪烁标志
SETB TR0
SETB ET0
SETB EA
MOV 41H,3CH ;41H 是分
MOV 42H,3DH ;42H 是时
MOV 43H,#00H ;43H是秒
MOV R0,#3CH
ACALL BCDF ;bcd码分解,把3ch,3dh分解送显示缓冲区
ACALL DISP
NOP
HH:ACALL KSMAO ;查按键
JZ HH
ACALL T10MS
ACALL KSMAO
JZ HH
AJMP KEY ;转健处理程序
;用34H存闪烁的数
;用35H记录功能号
;用36H记录闪烁单元
;用37H记录闪烁起始单元
;用38H记录被设定单元地址
KEY:MOV A,P1 ;KEY ###########
JB ACC.0,HK ;不是功能键
SETB 05H ;置按键标志
INC 35H
KE10:MOV A,35H
DEC A
RL A ;乘2
MOV DPTR,#K20
JMP @A+DPTR ;功能散转
NOP
K20:AJMP K111 ;时间设定
AJMP K112 ;启动定时设定
AJMP K113 ;关闭时间设定
AJMP K114 ;温度设定
HK:JB ACC.3,HH ;也不是启动键,转回
HK1:ACALL KSMAO
JNZ HK1
LJMP QD ;转人工启动
NOP ;K12K12K12K12K12K1
K12:ACALL KSMAO ;K12 功能键按下后,再判其他键
JZ K12
NOP
ACALL T10MS
ACALL KSMAO
JZ K12
NOP
MOV A,P1
JB ACC.0,KES1
CLR F0
K15:MOV R1,36H ;功能键,保存最后一位闪的内容
MOV A,34H
MOV @R1,A ;保存设定值
MOV R0,38H
ACALL HBCD ;合并bcd码
INC 35H
MOV A,35H
CJNE A,#05H,KE10
MOV 35H,#0
CLR F0
CLR 05H
MOV 41H,3CH
MOV 42H,3DH
MOV R0,#41H ;设定完成
ACALL BCDF
ACALL DISP
KS11:ACALL KSMAO
JNZ KS11
LJMP HH
KES1:JB ACC.1,KES2
MOV R1,36H ;********移位键
MOV A,34H
MOV @R1,A ;恢复现场
INC 36H ;移位闪烁
MOV A,36H
CJNE A,#34H,K62
MOV 36H,37H ;恢复闪烁起始单元
K62:MOV R1,36H
MOV 34H,@R1
K63:LCALL KSMAO ;判松键
JNZ K63
AJMP K12
KES2:JB ACC.2,KES3 ;------加1键
INC 34H
ANL 34H,#0FH
MOV A,35H
CJNE A,#4,KS2S
SJMP KS23 ;温度设定不大于99
KS2S:MOV A,36H
CJNE A,#30H,KS21
MOV A,34H ;30H的内容不大于2
CJNE A,#3,KS2A
MOV 34H,#0
SJMP KS2A
KS21:MOV A,36H
CJNE A,#31H,KS22
MOV A,34H
CJNE A,#4,KS2A ;31H的内容不大于3
MOV 34H,#0
SJMP KS2A
KS22:MOV A,36H
CJNE A,#32H,KS23
MOV A,34H
CJNE A,#6,KS2A ;32H的内容不大于5
MOV 34H,#0
SJMP KS2A
KS23:MOV A,34H
CJNE A,#10,KS2A ;33H的内容不大于9
MOV 34H,#0
KS2A:ACALL KSMAO
JNZ KS2A
AJMP K12
KES3:NOP ;定时启动取消键
MOV A,35H
CJNE A,#2,KS32
CLR 00H ;取消定时标志
MOV A,38H
MOV R0,A
MOV @R0,#0
INC R0
MOV @R0,#0
MOV 30H,#0
MOV 31H,#0
MOV 32H,#0
MOV 33H,#0
MOV 34H,#0
ACALL DISP
KS32:ACALL KSMAO
JNZ KS32
KES4:AJMP K12
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
K111:CLR F0 ;停止闪烁
MOV 30H,#01H ;时间设定设定
MOV 31H,#01H ;4个数码管显示1111 2秒钟
MOV 32H,#01H
MOV 33H,#01H
ACALL DISP
MOV R7,#250
LOP1:ACALL T10MS
DJNZ R7,LOP1 ;延时2秒
MOV 38H,#3CH
MOV R0,#3CH
ACALL BCDF
MOV 36H,#30H
MOV 37H,#30H
MOV 34H,30H
ACALL DISP
SETB F0 ;开始闪烁
KZ11:ACALL KSMAO ;判松键
JNZ KZ11
AJMP K12
K112:CLR F0 ;定时启动时间设定
MOV 30H,#2 ; 4个数码管显示2222 2秒钟
MOV 31H,#2
MOV 32H,#2
MOV 33H,#2
ACALL DISP
MOV R7,#250
LOP2:ACALL T10MS
DJNZ R7,LOP2 ;延时2秒
MOV 38H,#50H
MOV R0,#50H
ACALL BCDF
MOV 36H,#30H
MOV 37H,#30H
MOV 34H,30H
ACALL DISP
SETB F0
SETB 00H ;置定时启动标志
KZ21:ACALL KSMAO
JNZ KZ21
AJMP K12
K113:CLR F0 ;关闭时间设定设定
MOV 30H,#3
MOV 31H,#3 ; 4个数码管显示3333 2秒钟
MOV 32H,#3
MOV 33H,#3
ACALL DISP
MOV R7,#250
LP2:ACALL T10MS
DJNZ R7,LP2 ;延时2秒
MOV 38H,#52H
MOV R0,#52H
ACALL BCDF
MOV 36H,#30H
MOV 37H,#30H
MOV 34H,30H
ACALL DISP
SETB F0
KZ31:ACALL KSMAO
JNZ KZ31
AJMP K12
K114:CLR F0 ;温度设定 温度设定小于99
MOV 30H,#4
MOV 31H,#4 ; 4个数码管显示4444 2秒钟
MOV 32H,#4
MOV 33H,#4
ACALL DISP
MOV R7,#250
LP23:ACALL T10MS
DJNZ R7,LP23 ;延时2秒
MOV 38H,#54H
MOV R0,#54H
ACALL BCDF
MOV 30H,#10 ;灭码
MOV 31H,#10
MOV 36H,#32H
MOV 37H,#32H
MOV 34H,32H
ACALL DISP
SETB F0
KZ41:ACALL KSMAO
JNZ KZ41
AJMP K12
T00K:PUSH ACC ;T0中断子程序
PUSH PSW
PUSH 00H
PUSH 01H
MOV TH0,#3CH ;定时中断
MOV TL0,#0B0H
DJNZ 40H,RETUN
MOV 40H,#10
JB 05H,SANS ;05H是按键状态
;INC 43H ;秒加1
;MOV A,43H
;CJNE A,#60,T10
;MOV 43H,#0 ;时间处理
MOV A,41H
ADD A,#1
DA A
MOV 41H,A
CJNE A,#60H,T10
MOV 41H,#0
MOV A,42H
ADD A,#1
DA A
MOV 42H,A
CJNE A,#24H,T10
MOV 42H,#0 ;42H是时,41H是分,43H是秒
T10:JNB 01H,T11 ;不是手动方式
AJMP RETUN
T11:JNB 00H,T12 ; 不是定时方式
MOV A,50H
CJNE A,41H,T20 ;比较分
MOV A,51H
CJNE A,42H,T20 ;比较时
SETB 02H
MOV DPTR,#4000H ;启动
MOV A,#0FEH
MOVX @DPTR,A
NOP
ACALL ADBJ ;调A/D比较程序
NOP
T20:JNB 02H,T12
MOV A,52H ;是否到停止时间
CJNE A,41H,T22
MOV A,53H
CJNE A,42H,T22
CLR 02H
MOV DPTR,#4000H
MOV A,#0FFH
MOVX @DPTR,A ;停
SJMP T12
T22: ACALL ADBJ ;调A/D比较程序 显示温度
SJMP T13
T12:MOV R0,#41H ;显示时间
ACALL BCDF
T13:ACALL DISP
SJMP RETUN
SANS:JNB F0,RETUN ;F0=1闪烁 是按键状态
MOV A,44H
CPL A
MOV 44H,A
JZ SAN1
MOV R0,36H
MOV @R0,#10
SJMP SAN2
SAN1:MOV R0,36H
MOV @R0,34H
SAN2:ACALL DISP
RETUN:POP 01H
POP 00H
POP PSW
POP ACC
RETI
T10MS:MOV R2,#2 ;10MS延时
SS2:MOV R3,#200
SS1:NOP
NOP
NOP
DJNZ R3,SS1
DJNZ R2,SS2
RET
DISP:MOV SCON,#00H ;显示子程序
MOV R0,#30H
MOV R2,#4
DISP2:MOV A,@R0
MOV DPTR,#DDB1
MOVC A,@A+DPTR ;取断码
MOV SBUF,A
DISP1:JNB TI,DISP1
CLR TI
INC R0
DJNZ R2,DISP2
RET
DDB1: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H,0FFH
ADBJ:MOV DPTR,#0000H
MOV A,#00H ;选择0通道
MOVX @DPTR,A
MOV R7,#200
ADC1:DJNZ R7,ADC1 ;延时等AD结果
MOV DPTR,#0000H
MOVX A,@DPTR ;结果在A中
NOP
ACALL BCD ;结果在31H,32H,33H中
MOV A,31H
JNZ AD1 ;百位不为0
MOV A,32H
SWAP A
ORL A,33H
CJNE A,#90H,AD2 ;和90度比较
AD2:JNC AD1
CJNE A,54H,AD3 ;和设定温度比较
AD3:JNC AD1
MOV DPTR,#4000H ;温度低,加热
MOV A,#0FEH
MOVX @DPTR,A
SJMP AD4
AD1: MOV DPTR,#4000H ;温度高,关闭加热
MOV A,#0FFH
MOVX @DPTR,A
AD4:RET
KSMAO:MOV A,P1
CPL A
ANL A,#0FH
RET
BCDF:MOV A,@R0 ;把3ch,3dh分解送显示缓冲区
ANL A,#0FH
MOV 33H,A
MOV A,@R0
SWAP A
ANL A,#0FH
MOV 32H,A
INC R0
MOV A,@R0
ANL A,#0FH
MOV 31H,A
MOV A,@R0
SWAP A
ANL A,#0FH
MOV 30H,A
RET
HBCD:MOV A,32H ;回存设定值
SWAP A
ORL A,33H
MOV @R0,A
INC R0
MOV A,30H
SWAP A
ORL A,31H
MOV @R0,A
RET
BCD:NOP
MOV B,#100
DIV AB
MOV 31H,A
MOV A,B
MOV B,#10
DIV AB
MOV 32H,A
MOV 33H,B
MOV 30H,#10
RET
QD:NOP ;人工启动
SETB 01H ;
MOV DPTR,#4000H
MOV A,#0FEH
MOVX @DPTR,A ;启动
QD3:ACALL ADBJ ;调a/D比较
ACALL DISP
MOV R7,#100
QD5:ACALL T10MS ;延时2秒
DJNZ R7,QD5
ACALL KSMAO ;调键扫描
JZ QD3
ACALL T10MS
ACALL KSMAO
JZ QD3
MOV A,P1
JB ACC.3,QD3 ;判断是否按下启动键
NOP
ACALL T10MS
QD4:ACALL KSMAO
JNZ QD4
MOV DPTR,#4000H
MOV A,#0FFH
MOVX @DPTR,A ;关闭
CLR 01H ;人工启动标志清零
LJMP HH
单片机课程设计原理及总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近四星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在唐耀武老师的辛勤指导下,终于游逆而解。同时,在唐耀武老师那里我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
郜辉
2010.07.05
参考资料
[1]李广弟,朱月秀,王秀山编著.单片机基础. 北京:北京航空航天大学出版社,2001
[2] 何立民编著.MCS-51系列单片机应用系统设计系统配置与接口技术.北京:北京航空航天大学出版社,1999
[3] 蔡美琴等编著.MCS-51 单片机系统及应用.北京:高等教育出版社.1992
附图1 键盘显示部分
附图2 A/D D/A部