上 海 电 力 学 院
课程设计(大型作业)任务书
(2014/2015学年第1学期)
课题名称 计算机硬件技术实践 课题代码
院(系) 自动化工程学院 专 业 自动化/测控技术与仪表 班 级 学 生 时 间 2015年1月19日~2015年1月28日
老师签名: 教研室主任(系主任)签名:
一、 设计目的
通过本项课程设计,对微机原理课程中涉及的芯片结构、控制原理、硬件编程等方面有一定的感性认识和实践操作能力,更好的理解微机原理课程中讲述的基本原理和概念。
二、 设计内容与要求
进行微机原理课程设计前,应学习并掌握了8086/8088汇编语言编程方法,掌握了8255、8253、8259、存储器等芯片的基本结构和工作原理,掌握了芯片编程控制的方法。
本课程设计要求学生设计一个汇编语言或微机应用系统,完成相对完整的测试、控制任务。学生可自主选择规定的参考题目,也可以自定题目(须经指导老师审查)。在下面的参考题目中,只提出最基本设计内容,学生也可以下面的题目为基础,进一步构思,完成有特色的个性化设计。课程设计的参考选题如下(参见《计算机硬件技术实践指导》):
(1)计算机钢琴和音乐发生器的设计(见教材) (2)电子时钟的设计(见教材)
(3)实例3--数字钟的设计(见教材)
(4)实例4--简易计算器的设计(见教材) (5)实例5--温度控制系统的设计(见教材) (6)电子密码锁程序设计。
利用PC机系统功能调用实现电子密码锁。通过显示菜单提示,可输入密码、更改密码、结束程序。
多功能密码锁。密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时显示00 字样。当输入密码错误时,发出错误警告声音,同时显示FF 字样。当6次误码输入的条件下,产生报警电平报警。还可以实现对密码的修改,修改成功后,蜂鸣器发出确认音。设计要求:选用8086 和适当的存储器及接口芯片完成相应的功能;用LED 显示器显示电子锁的当前状态。 (7)电子日历时钟系统程序设计。
功能:1)可通过M键切换显示模式:日期(年、月、日)、时间(小时、分、秒)、秒表(小时、分、秒、1/100秒)、闹钟(小时、分、秒);2)在日期显示模式,可通过A键依次使年、月、日闪烁或变色,这时可通过I键加1调整;3)在时间显示模式,可通过A键依次使小时、分、秒闪烁或变色,这时可通过I键加1调整;4)在秒表显示模式,可通过I键切换(启动/暂停)计时,当暂停计时时可通过A键复位;5)在闹钟显示模式,可通过A键依次使On/Off标志、小时、分、秒闪烁或变色,这时可通过I键切换On/Off标志或加1调整;6)调整和秒表操作不影响日期和时间的准确性;7)可通过Q键结束程序。编程提示:PC机系统中的8253定时器0工作于方式3,外部提供一个时钟作为CLK信号,频率f=1.MHz。定时器0输出方波的频率为 fout=1./65536=18.2Hz,输出方波的周期Tout=1/18.2=54.945ms。8253A每隔55ms引起一次中断,作为定时信号。可用54.945ms作基本计时单位。用BIOS调用INT 1AH可以取得该定时单位。1s需要1000/54.945=18.2个计时单位)。利用PC机系统功能调用实现电子日历时钟,用INT 21H/02H模拟显示5s的变化。 (8)时钟程序设计。
2
在微机屏幕上显示当前时间的时、分、秒。在程序启动后,可键入当前时间,回车键按下后,开始计时,微机屏幕上显示时间的时、分、秒。
LED七段数码管数字钟。设计并完成LED七段数码管数字钟电路,数字钟显示格式为:HH:MM:SS。要求:具有通过键盘能够调整时、分、秒的功能。
电子钟系统设计。利用8053定时,用LED数码管显示出日期和时间,并具有声音提醒功能。要求:1)具有交替显示年、月、日和显示时、分、秒的功能;2)具备校正功能;3)具备设定闹钟和定时闹钟响功能;4)具备准点报时和生日提醒功能(功能1必备,功能2-4可选择之)。 (9)电子秒表设计。
设计一个可任意启动/停止的电子秒表,要求用6位LED数码显示,计时单位为1/100秒。利用功能键进行启/停控制。其功能为:上电后计时器清0,当第一次(或奇数次)按下启/停键时开始计数。第2次(或偶数次)按下该键时停止计时,再一次按启/停键时清零后重新开始计时。可用开关控制,也可用按键控制。
(10)倒计时牌。
要求:1)实现日历功能;2)显示距倒计时时刻还有多长时间(显示天、时、分、秒)。扩展功能:实现倒计时的时间人为设定。 (11)万年历设计。
要求:1)能实现计时功能;2)显示年、月、日、进、分、秒、星期。扩展功能:实现公历与阴历转换。 (12)交通灯模拟控制器。
利用PC机键盘和屏幕实现交通灯模拟器。基本要求:1)实现日常生活中正常的交通路口的十字路口红绿灯控制,实现南北、东西方向的切换;2)显示时间,精确到秒,灯亮时间长短可变;3)具有自动和手动控制功能。提高要求:1)完成夜间状态的控制:由于夜间车辆和行人很少,实现南北、东西方向的黄灯闪烁,进入夜间控制状态;2)完成紧急状态的控制:南北双方向都设置为红灯,利于执行紧急公务;3)完成交通堵塞状态的控制:由于交通事故等原因出现南北或东西某一方向堵塞,可人为地调整每个方向的红灯时间,进入手动控制状态。附加要求:必要的辅助功能(设置、修改等)。编程提示:编写过程中主要涉及的知识点:1)视频显示程序设计:一般由DOS 或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT 10H即可建立某种显示方式。用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令 INT 21H来实现调用;2)键盘扫描程序设计:检测键盘状态,有无输入,并检测输入各值。例:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器;3)定时器中断处理程序:在此中断处理程序中,计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1s)。例:在系统定时中断处理程序中,有一条中断指令INT 1CH指令,在ROM BIOS中,1CH的处理仅一条IRET指令,实际上它并没有做任何工作而只是为用户提供了一个软中断类型号,所以INT 1CH指令每秒也将执行18.2次,设计中可用这个定时周期性工作的处理程序来代替原有的1CH程序,实现定时;4)显示时间子程序:将计时单元的
3