(自动化学院2007.6.6)
微机课程综合设计用于检验和提高学生在原理与接口综合应用方面分析问题与解决问题的能力,同时也给学生提供更多、更好的训练机会,课程给出了10道微机硬件应用综合测试题。为完成每道测试题,至少需要选用TPC微机实验装置中三部分以上的硬件电路(还需将它们有机组合起来)并编制相应的应用软件,要求软件设计应尽可能利用实验装置资源并提高效率。为了发挥每一个同学的创造能力,每一测试题依据题目给出设计要求(分基本要求与进一步要求两部分)及很少的设计提示。学生可根据设计要求,选择利用合适的器件,构成有效的硬件电路来完成。对于学有余力的学生,除了完成基本要求与进一步要求的内容外,还可对同一题选择不同的器件构成不同的硬件电路,或自行进行功能扩展,提高性能指标,尽情发挥和创造。
要求完成:
(1)符合设计要求的硬件和软件设计、编码和测试;
(2)软件运行需有版权页,署上姓名和学号;
(3)完成全部工作后,按设计要求由教师当堂验收、提问要求,并根据基本要求、提高和探索实验完成结果评定验收成绩,指出问题;
(4)整理全部资料,总结提高,并分别撰写课程设计报告。
课程设计报告应包括以下内容:
(1) 简介(目的、基本功能要求、实现情况)
(2) 基本原理(基本设计思想)
(3) 程序流程和编程实现(关键程序片断)
(4) 测试方案和测试结果
(5) 基本、扩展和提高设计系统运行结果
(6) 分析与讨论
1. 综合测试题一:乒乓球比赛
1) 基本要求(难度系数1.1)
用8个LED发光管(红黄绿)的来回滚动显示来模拟打乒乓球时乒乓球在两边球台上的来回运动。比赛双方用按钮/开关(双方各用1个按钮/开关)的方法来模拟发球与接球,即发球方按动其控制的按钮/开关/健,球从发球方一侧向对方运动(LED发光管从发球方到对方逐个点亮,滚动显示),当球运动至接球方时,接球方立即按动其控制的按钮/开关/键,“击球”使球“弹回”发球方一侧,如此周而复始,直至在规定的击球时间内有一方未能完成击球动作,从而对方得一分,然后继续比赛。比赛规则可参照一般的乒乓球比赛规则。要求:
(1) 球以每0.5秒滚过1个LED的速度移动;
(2) 回球需在球到达后的0.5秒内进行(按下按钮),否则按失球计;
(3) 球未到达提前按下按钮按失球处理,不起回球作用;
(4) 用扩展的6个八段码(小键盘上)为双方记分(每方2个八段码, ,按10进制计数,初始值00:00,可
自行设计显示及规则)
2) 设计提示
球到达接球方后,立即读接球方的按钮状态,若未按则有效(若已按下则按失球计),然后不断读此按钮状态,直到按下代表“击球”动作。(采用中断,可以用同一个按键轮流按动识别)。
3) 进一步设计要求(1) 在8×8点阵(虚拟大屏)同步显示球移动情况,设计显示输赢球图形状态、效果等;
移动、击球等精确(中断)计时;
(2) 通过拨动开关或键盘设定改变球移动速度,即每个LED管点亮时间分别为0.5秒、0.3秒、0.2秒;
通过拨动开关或键盘设定改变允许击球时间0.3秒、0.2秒、0.1秒;
球移动速度取决于击球时间,即球移动速度(每个LED点亮时间)在0.2~0.5秒内可变,具体取决于球到达接球方后击球所花的时间0~0.5秒,如花费的时间短则回球后球移动速度快,反之回球后移动速度慢,如表10.1.1所示。
表10.1.1 球移动速度与击球时间对应表
球到达至击球时间 0~0.2秒0.2~0.3秒 0.3~0.4秒 0.4~0.5秒
球移动速度(灯点亮时间) 0.2秒0.3秒0.4秒0.5秒
2. 综合测试题二: 移动靶射击比赛
1) 基本要求(难度系数大键盘1.0, 3×8小键盘1.1)
用8个LED发光管的来回滚动显示或跳跃运动显示来模拟靶的移动,用按1~8数字键(对应8个LED)来模拟射击,如果在某个LED点亮期间按下相应数字键,表示射中并熄灯(全部熄),记录射中次数。比赛规则可有以下两种:
(1) 比赛规则1:靶始终来回不断地移动(一旦射中则从头开始滚动),在规定的时间(如50秒)和规定的射击
次数(如20次)内看谁的射中次数多谁获胜;
(2) 比赛规则2:总共有若干个(如20个)移动靶,每个靶的移动时间在一定的时间范围内(如5秒),要求在
此时间击,若射中则记一分并出现下一个移动靶,若未射中或在规定时间内未射击则不记分并出现下一个移动靶。同样看谁的射中次数多谁就获胜。
(3) 要求精确定时中断计时;
设计要求:
(1) 用一个按钮作为比赛开始总按钮,2个八段数码管倒计数规定时间,扩展的6个八段数码管记录射
中次数;也可合在6个数码管上显示时间和分数;
(2) 靶以较快的移动速度(如每0.5秒点亮1个LED)从左到右或从右到左移动;
(3) 射击需在“靶”出现(即LED亮)时进行(按下相应数字键),一直按着键或提前按下键不起射击作用;
(4) 按比赛规则(1)或(2)设计相应的记分方法。
2)设计提示
靶移到某个位置后立即读相应数字键的状态,若未按下则有效(若已按则无效),然后不断读此键的状态,直到按下代表“射击”动作。
3)进一步设计要求
(1) 用8×8点阵显示射击的动画效果(模拟靶移动、射击点以及射击直线)
(2) 通过拨动开关改变靶的移动速度,即每个LED点亮时间分别为0.5秒、0.3秒或0.15秒;
通过拨动开关改变靶的移动方式:
① 发光二极管1,2,3,…,7,8,7,6,…,2,1,…,如此往复;
② 发光二极管1,3,5,7,8,6,4,2,1,…,如此往复。
编写1个随机数产生子程序,靶的移动速度与靶的移动方式(即靶的移动方向)由产生的随机数确定,使每次靶的移动速度与移动方式均不同(增加射击难度)。
注:可以用键盘在线设定,用开关对应位置打靶,如开关K1对应LED灯L1),提高打靶直观性.3.综合测试题三: 抢答反应测试仪
1)基本要求 (难度系数大键盘1.0, 小键盘1.1)
设计一个用于智力竞赛的抢答计时器,同时能测试人的反应(响应)时间。按启动钮,测试开始, 2个八段码倒计时开始(如从10秒或20秒倒计时),一旦看到灯亮,参赛双方(或三方)分别按不同的抢答按钮参与抢答。一旦其中一位按下按钮,相应的显示灯(LED)亮并响“嘟”的一声,此时若其它按钮按下均无效。若一直到计数到零,无一人按下按钮,则抢答结束(以后再按抢答钮无效)。立即按测试钮,扩展6位数码管显示反应时间xx.xx秒(可闪烁)。要求:
(1)编制1个随机数产生子程序,由随机数决定从按启动钮到对应LED亮的时间(如在3秒~15秒之间内任意变动),使被测试者对LED亮的时间无法预见,以确保测试结果的可信;
(2)必须在见到LED亮后按测试钮才有效,即一直按着按钮或提前按下按钮无效;
(3)反应时间显示N xx.xx秒,准确到百分之一秒(N=1/2/3,抢先按下的一方编号)。
2)设计提示
(1)为确保从每次按启动按钮到LED亮时间是不同的(真正随机变化的),一开始可随机读取某100个RAM单元值求和作为初始值,以后由测试到的反应时间作为下一个随机初始值;
(2)LED灯亮后立即按测试钮状态,若未按下有效(若已按下无效),然后不断读此按钮状态,直到按下代表“响应”动作。
3)进一步设计要求
(1)修改以上设计使进一步能测试人对不同事物的反应(响应)时间。如功能为:按启动钮,测试开始,一旦红灯亮,立即按红灯测试钮,一旦绿灯亮,立即按绿灯测试钮,但黄灯亮为干扰。扩展6位数码管显示反应时间xx.xx秒。若按错钮,则显示出错并响“嘟”一声。要求:
编制2个随机数产生子程序,一个决定从按启动钮到LED亮的时间,另一个决定亮何种颜色灯;
同样要求在见到LED亮时按测试钮才有效。
(2)用8×8点阵代替颜色指示灯,分四组(块),将3×8键盘分三组区测试。
在倒计数时附有音乐伴奏。
4.综合测试题四: 数字电子琴
1)基本要求 (难度系数大键盘0.9,小键盘1.1)
构造一模拟/数字电子琴。
a.选择利用实验仪扬声器/PC机内8253驱动内扬声器与键盘1,2,3,4,5,6,7,8设计一个电子琴,通过按数字键响相应的乐符1,2,3,4,5,6,7,ⅰ,使能演奏简单的乐曲。按1~8数字键时同时点亮相应的8个LED灯,使具有声、光效果。
b.利用实验仪DAC和喇叭,软件控制上述功能.。选择机内还是实验仪由开关设置,可随时切换。
c.在8×8点阵上表示音阶高低;
d. 精确显示从第一个键按下后的时间,(单位秒,要求显示精确到0.1秒)
2)设计提示
(1)PC机扬声器发声驱动系统实验5所示.由机内的8255 I/O接口的PBO控制8253通道2的定时计数;PB1来控制扬声器的接通和断开,以此来发声。8255 PB口地址为61H;8253通道2口地址为42H,控制口为43H;
(2)编程使扬声器发出1,2,3,4,5,6,7,ⅰ,对应的频率分别为262,294,330,347,392,440,494,523HZ。
3)进一步设计要求
(1) 能准确记录开始演奏到结束演奏的时间,在扩展八段数码管上显示。
数字、模拟合奏,同时指示音阶。
(2) 自动录音(不录节奏/时间,只录音键),并具有回放功能。
5.综合测试题五: 参数可调波形发生器
1)基本要求 (难度系数1.1)
编制1个参数在线可调的波形发生程序,由D/A输出,构成参数在线可调的波形发生器,并用示波器观察波形。函数波形要求包括:1)方波、锯齿波、三角波和正弦波。(正弦波可选f(t)=asin(bt),其中a、b参数在线可调—也可自己选择,但要求至少2个参数可调且调节很明显)。参数调节采用如下两种方式之一:
(1)两个可调电位器输出通过A/D转换后作为可调参数;
(2)参数通过实验装置上的键盘实时修改(调整);
(3)精确时间,开关选择标准信号输出(例如a=2V, b=100πRAD/s,即50Hz正弦波)。
2)设计提示
(1)当用电位器调节参数时,输出零不能对应相应的参数值就为零;
(2)当通过键盘修改参数时,先键入参数名如“a”,显示当前参数值,修改后再键入参数名,则修改参数完成,随后输出波形发生变化。
3)进一步设计要求
(1)分别采用两种参数调节方式在线调节参数;
(2)曲线同步在屏幕上显示。
6.综合测试题六:数字直流电机反馈控制系统
1)基本要求 (难度系数DAC直接控制0.8, DAC脉宽控制1.0, 8253脉宽控制1.1)
利用DAC0832或输出一串脉冲,经放大后驱动小直流电机,利用开关K0~K5控制改变输出脉冲的电平或持续时间,达到使电机加速,减速之目的.。控制过程采取开环与闭环两种方式实现: (1)按指定速度控制输出实现开环转速变化;
(2)按指定速度控制输出实现闭环转速变化,闭环控制根据偏差增减输出(固定值或与偏差成比例,类似于积分调节);
(3)速度参数可选择通过实验装置上的可变电位器和键盘实时修改(调整)。
(4)利用转速脉冲检测电机实际转速,并在6位8段数码管上显示速度,偏差和设定, (V=,E=,S=XXX)显示内容的切换利用按键,.
2)设计提示
小直流电机的转速可由DAC直接输出控制,但实际系统中一般采用脉冲宽度调制(PWM)控制,即可由Ub输出脉冲的占空比来决定的,正向占空比越大转速越快,反之越慢。见下面图例:
在本实验装置中,模拟量输出Ub为双极性,当输入数字量小于80H时输出为负,输入等于80H时为0V,输入大于80H时输出为正。因而本实验中,采用开关量控制DAC0832输入数字量只有2个(80H和FFH),通过不同的延迟时间达到改变小电机转速的目的, 可选软件延时和8253定时器/计数器中断,效果有一定差别。
(2) 闭环控制可利用简单的比例调节,也可用PI调节; 闭环时允许临时断开控制回路观察控制效果;
3) 进一步设计要求
(1) 在PC上同步显示设定和转速曲线; 8×8点阵显示输出(柱高--%)
(2)测转速情况,分别用指示灯指示低速异常(含停止), 正常, 偏差过大和高速异常四种状态;
急停按钮;
7. 综合测试题七:模拟电梯
1)设计基本要求(难度系数大键盘1.2,小键盘1.3)
用键盘、按钮、八段码和LED模拟电梯工作过程。楼层设为8层,键盘数字键1~8用来键入希望停的楼层,8个LED显示希望停的楼层,2位八段码指示电梯当前所在楼层,按钮用来启、停电梯。电梯正常运行时以每2秒1层的速度上升或下降。要求“电梯”能按以下方式运行:
(1)设当前电梯停在某层(2位八段码显示相应楼层,8个LED全灭)。键入1~8数字键,如键入的数字与当前电梯停层同,则什么亦不动作,若不同则相应楼层的LED亮;如再按运行键,则电梯自动判别上升或下降(在运行过程中八段码显示楼层变化)一直到达希望停的楼层(八段码显示该楼层,相应LED灭);
(2)设当前电梯正在上升或下降运行(此时八段码显示楼层变化,LED指示希望抵达的楼层),若键入新的希望停的楼层数字(相应的LED亮),则对同方向(上升或下降)未到的楼层能停,对其它情况则先停原希望停的楼层,然后按运行键后继续运行)。如下几例:
① 设电梯当前在2层,向上运行,LED指示希望在6层停,此时若键入4,则电梯将在4楼停,
若再按运行键,则继续运行至6层停;
② 同上情况,若键入的不是4而是8,则电梯将先停在6层,再按运行键,运行至8层停;
③ 同上情况,若键入的不是4(或8),而是1,则电梯先停在6层,再按运行键,运行至1层
停。
2)进一步设计要求
除运行按钮外,再设计几个按钮,模拟更多的电梯运行功能,如:
(1)同步在8*8点阵显示器显示上升与下降箭头,当停止时显示当前所在楼层号.
直达按钮。若按此按钮,电梯按直达方式运行,即对运行期间新键入的停靠楼层(即使是同方向未到楼层)亦不停,直达终点楼层;
急停按钮。电梯运行中,若按此按钮,则电梯立即停在下一到达的楼层;
断电待修按钮。按下该钮电梯不能工作,再按一下才能重新工作;
(2)设置急停开关(K0-K7至一),引入中断处理,立即响应,就近停靠;
音乐,其它功能按钮(由设计者自由发挥),6位数码管实时时钟显示。
8.综合测试题八:步进电机反馈控制系统
1)基本要求与提示(难度系数1.0)
利用利用8255输出脉冲序列,控制BA,BB,BC,BD脉冲,经放大后驱动小型步进电机,达到使电机定速运转之目的.。控制过程采取开环与闭环两种方式实现:
(1)按指定速度控制输出实现开环转速变化;
(2)按指定速度控制输出实现闭环转速变化,闭环控制根据偏差增减输出(固定值或与偏差成比例,类似于积分调节);(3)速度参数可选择通过实验装置上的可变电位器和键盘实时修改(调整)。
(4)利用转速脉冲检测电机实际转速,并在6位8段数码管上显示速度,偏差和设定, (V=,E=,S=XXX)显示内容的切换利用按键。(允许断开控制回路,观察控制效果)
2)设计提示
步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
如图F10.2所示:本实验装置使用的步进电机用直流+5V电压,每相电流为0.16A,电机线圈由四相组成:即:φ1(BA);φ2(BB);φ3(BC);φ4(BD)
图 F10.2
驱动方式为二相激磁方式,各线圈通电顺序如下表。
表中首先向φ1线圈-φ2线圈输入驱动电流,接着φ2-φ3,φ3-φ4,φ4-φ1,又返回到φ1-φ2,按这种顺序切换,电机轴按顺时针方向旋转。
实验可通过不同长度的延时来得到不同频率的步进电机输入脉冲,从而得到多种步进速度。
3)进一步设计要求
(1)在PC上同步显示设定和转速曲线;用开关随时控制正反转方向; 8×8点阵显示输出(柱高--%)
(2)自动监测转速情况,分别用指示灯指示低速异常(含停止), 正常, 偏差过大和高速异常四种状态;
急停按钮;
9.综合测试题九:数字录音机
1)基本要求 (难度系数1.0)
1、将声传感器MIC接J2, 把代表语音的电信号送给ADC0809通道2(IN2);D/A转换器的输出端通过K8跳线接喇叭。编程,以8KHz的速率采集IN2输入的语音数据并存入内存,共采集000个数据(录8秒),然后再以规定的速率和幅度将数据送DAC0832使喇叭发声(放音)。
2.要求用开关K0控制开始, K2停止;K3控制重放; 也可用键盘控制启停;
3.幅度和放音增益由开关或模拟电位器设定,也可用键盘输入指定.
2)设计提示
(1) 利用8253定时中断功能。
(2) 放音输出以录音为基准, 可在0.3-1倍间变化, 需作比例量化处理
3)进一步设计要求
(1) 要求录制40秒内自动启停并存储,重放;在8×8双色点阵显示器上显示录音和放音的粗略波形;
红色为放音,绿色为录音;
(2)录音开始后随时可控制重放;选择变节奏回放;
10.综合测试题十:交通灯控制系统
1)基本要求 (难度系数1.0)
L7、L6、L5作为南北路口的交通灯,L2、L1、L0作为东西路口的交通灯。编程使六个灯按交通灯变化规律亮灭。要求进行周期性重复控制:
(1) 南北路口的绿灯、东西路口的红灯同时亮20秒。
(2) 南北路口的黄灯闪烁3秒,同时东西路口的红灯闪3秒。
(3) 南北路口的红灯、东西路口的绿灯同时亮90秒。
(4) 南北路口的红灯、同时东西路口的黄灯亮闪烁3秒。
(5) 在8段LED上同步显示倒计时;
2)设计提示
(1) 要求精确计时,采用实验装置8253定时器中断或主机8253定时器;
(2) 利用软件定时器.
4)进一步设计要求
(1)用8×8点阵显示当前车流运行方向, 上下对应南北,左右对应东西. 绿色箭头对应,红色箭头对应黄灯状态;
允许南北向路口设置人工按钮, 请求行人提前过街, 如东西绿灯已亮40秒则按钮后10秒南北绿灯亮,否则按钮后40秒南北绿灯亮;
(2)箭头随车流速度刷新显示,车速由两路模拟量AD检测获得;考虑其他复杂情况.
附录1 小型直流电机控制原理
小直流电机的转速是由Ub输出脉冲的占空比来决定的,正向占空比越大转速越快,反之越慢。见下面图例:
在本实验中,模拟量输出Ub为双极性,当输入数字量小于80H时输出为负,输入等于80H时为0V,输入大于80H时输出为正。因而本实验中,DAC0832输入数字量只有2个(80H和FFH),通过不同的延迟时间达到改变小电机转速的目的。
附录2 小型步进电机控制原理
步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
如图F10.2所示:本实验装置使用的步进电机用直流+5V电压,每相电流为0.16A,电机线圈由四相组成:即:φ1(BA);φ2(BB);φ3(BC);φ4(BD)
图 F10.2
驱动方式为二相激磁方式,各线圈通电顺序如下表。
表中首先向φ1线圈-φ2线圈输入驱动电流,接着φ2-φ3,φ3-φ4,φ4-φ1,又返回到φ1-φ2,按这种顺序切换,电机轴按顺时针方向旋转。
实验可通过不同长度的延时来得到不同频率的步进电机输入脉冲,从而得到多种步进速度。
附录3 课程设计报告样本东南大学自动化学院
《微机实验及课程设计》
课程设计报告
姓名:学号:
专业:实验室:
组别:同组人员:
设计时间:年月日——年月日评定成绩:审阅教师:目录一.XXXXX………………………………………………………页码 二.XXXXX………………………………………………………页码 (要求:给出一级目录,宋体加粗,四号字,1.5倍行距。)
(报告正文部分的格式):
(要求:正文部分一律用五号字,宋体,单倍行距。一级大标题靠左,四号,宋体,加粗。二级大标题靠左,小四,宋体,不加粗。)
课程设计的内容如下:
一. 课程设计的目的与要求(含设计指标)
(注:如合作完成,需注明分工)
二. 原理设计(或基本原理)
三. 方案论证(架构设计)
四. 方案实现与测试(或调试)
五.分析与总结
参考书目:(五号,宋体加粗)
[1] 柴诚敬,刘国维,李阿娜,《化工原理课程设计》,天津,天津科学技术出版社,1994年
[2] …………………………………………………………………………..
(要求:五号字,宋体,单倍行距。按作者、书名、出版社、地点、出版时间格式逐一列出,中间用逗号格开)下载本文