1. 根据键盘输入的一个数字显示相应的数据螺旋方阵。如输入4,则显示。
1 2 3 4 12 13 14 5 11 16 15 6
10 9 8 7
共需要显示4^2=16个数字。
要求:①根据键盘输入的数字(3-20),显示相应的数据方阵。
② 画出设计思路流程图,编写相应程序。
2. 显示日期或时间。要求:有提示信息,输入字母“r”,可显示系统当前日期;输入字母“s”,可
显示系统当前时间;输入字母“q”,退出程序。
3. 字符游戏
随机显示字符ch,等待用户输入
如果输入字符与ch一致,则随机显示下一个字符ch2;否则显示“输入错误”; 如此循环; 输入Enter结束
点击Enter程序退出;
4. 从键盘上输入7名裁判的评分(0-10,整数),扣除一个最高分,扣除一个最低分,计算出其它五
个分数的平均值(保留一位小数),并在显示其上输出 “The final score is:”和最终结果。
5. 利用TDN试验箱小键盘的按键实现步进电机的启动、停止、换向,1X速度,2X速度,电动等几种
运行情况
6. 为短跑比赛设计一个确定成绩次序的程序,要求能够输入8个队员编号,成绩;输出最终的排名
次序编号及成绩。(成绩时间格式--秒数:百分秒数,如12:15)
7. 为评委设计一个显示选手通过的指示器,以电脑显示屏作为指示屏。当从键盘输入0时,显示屏
上呈现“×”图形,表示选手被淘汰;当从键盘输入1时,显示屏上呈现“√”图形,表示选手通过。
8. 试设计一个道路收费系统,将车型分为大型车、中型车、小型车,每种车型分别有各自的单公里
收费标准,如下表所示,在收费时,将车型和公里数输入系统,就可自动生成收费额,(公里数取整。收费额以元为单位,保留一位小数)。
序号 1 2 3
车型 大型车 中型车 小型车
单公里收费(单位:0.1元)
5 3 1
9. 为男子25米手枪速射决赛设计一个排名程序。决赛有6名运动员参加,每人每轮次打5枪,每枪
打中靶子的中心区就计一分,打不中就记0分。四轮比赛之后,先将成绩最低的选手淘汰(即为决赛第6名),另外五位队员继续比赛并累计成绩,一轮之后再淘汰最低分,依次进行,直到最后两个队员直接对决,决出冠军。
设计时可将运动员的编号设置为1~6号,且前4轮比赛已经结束,输入前四轮每位运动员的编号和成绩(1-20),找出末位运动员并设置为第6名,并将其去除,剩下5人。以后每轮输入运动员的成绩(0-5),与前面的成绩累加后进行末位排名,直到完成所有的排名。
10. 通过实验箱TDN实现8个LED灯循环闪烁。
要求:首先是1、3、5、7号LED灯以此亮1秒钟,当第7号LED灯亮后,这四个灯同时闪烁5下;然后,2、4、6、8号灯依次亮1秒钟,当第8号灯亮后,这四个灯同时闪烁5下。
11. 输入a,b,c三边后,判断是否能构成三角形,如能构成三角形,输出“It is a triangle.”,
并换行显示三角形的周长和面积,否则输出“ERROR”。 要求:提示输入三角形三边长度a b c; 键盘输入,中间空格隔开;
Enter键结束输入,并换行显示判断结果。
12. 在电脑显示器上显示移动的矩形。
13. 从键盘输入一个以Enter结束的十进制数字串(不超过20个),按ASCII码值的降序显示这个数
字串,并另起一行显示出ASCII码值最大和最小的两个数字。
14. 编辑程序可以实现键盘输入数据与运算符,进行“加减乘除”运算。
(提示:先输入数据与运算符,保存,再按照运算符选择对应的子程序;输入的数据是用字符表示的,需要转换;要有良好的界面(有相应的提示信息))
15. 利用TDN86/88实验系统实现秒表功能,计时显示在数码块上。 要求:具有累计计时的功能;具有启动、停止、清零开关。
16. 显示提示语,输入两个小于 100 的十进制正整数,求出这两个数的平方差,并显示在屏幕上,若
是负的要输出负号。数据的输入和结果的输出都要有必要的提示,且提示独占一行。
17. 查找字符串中的指定字符
基本功能:1 编写程序显示一个操作界面,提示操作:输入一串字符串、输入所查找的字符或字符串等;2 显示出查找到的数目;3 用不同颜色或闪烁标示出所找到的字符或字符串;
18. 按下列要求编程:(1)显示提示语,输入两个小于 100 的十进制正整数。(2)求出这两个数的所
有公约数。(3)数据的输入和结果的输出都要有必要的提示,且提示独占一行。
19. 通过键盘输入字母,然后显示相应的图形。
要求:输入L,之后提示输入两个点的坐标值,显示一段直线。
20. 利用TDN所带小键盘,实现0-8八个数字的输入扫描程序,利用一个开关模拟回车键,让所输入
的数字同时显示在CRT显示器和实验箱数码显示上。
21. 分别输入两个正整数N和M,若M>N则求出N~M连续数据的和,并将和显示出来;若M
N~M连续数据的差,并将差值显示出来(若差值为负,要显示负号)。
22. 从键盘输入一个 4*4 的矩阵。
要求:
(1)每个元素都是 4 位十进制数。
(2)在屏幕上输出该矩阵和它的转置矩阵。 (3)输出这两个矩阵的和(对应元素相加)。
(4)数据的输入和结果的输出都要有必要的提示,且提示独占一行。
23. 用循环程序,显示乘法表。要求输入0-10之间的数值a,显示到a值的乘法表。
要求:提示输入一整数;
键盘输入,Enter键结束输入,并换行显示判断结果。
24. 在屏幕上开一个窗口显示自已的名字(汉字)。
25. 利用TDN实验箱所带小键盘,加上一个开关作为功能选项键,实现A-H八个大写字母以及a-h八
个小写字母的输入扫描程序,利用一个开关模拟回车键,让所输入的字母显示在CRT显示器上。
26. 屏幕输出1000以内同时满足如下条件的数:
要求:个位数与十位数之和除以10所得的余数等于百位数字;
27. 通过键盘输入字母,然后显示相应的图形。
输入R,提示输入两个点的坐标值,显示一个矩形框。
28. 编程序实现十进制数转换成十六进制数。
从键盘输入一个十进制数(1-4位),转换成十六进制数,显示出来。 要求:需要检测输入的是一个规范的十进制数,否则提示输入错误。
29. 在屏幕上接收一串带数字、字母及其它字符的字符串,然后统计其中数字、字母的个数,并分类
显示出来。
30. 在TDN实验箱上实现简易计算器
要求:在小键盘输入十进制数,进行十进制四则运算,具有整数的加、减、乘、除运算功能;结果显示在CRT显示器上。
31. 编写一个汇编程序,将键盘输入的一串字符串中的小写字母用大写显示出来,并剔除非字母字符;
若输入是非字符,显示NON CHAR。
32. 通过键盘输入字母,然后显示相应的图形。
输入C,提供两种画圆方法:1.提示输入圆心坐标与半径值,显示一个圆;2.提示输入两个点的坐标,以这两个点为直径画一个圆。
33. 编程序实现十六进制数转换成十进制数。
从键盘输入一个十六进制数(1-4位),转换成十进制数,显示出来。 要求:需要检测输入一个规范的十六进制数,否则提示输入错误。。
34. 简易信息检索系统。在数据区定义msg0-msg9共十条信息,然后从键盘接收0-9中的某一个数字,
显示相应的信息。
35. 在TDN实验箱上实现抢答器模拟控制
基本要求:
具有8个抢答输入(由8个开关代替,其它按键不起作用); 倒计时显示抢答剩余时间(初始10秒,时间分辨率小于100ms),10秒计时到后,显示8888; 显示抢答成功者(显示数字),同时该抢答指示灯亮并闪烁,并有蜂鸣器声音提示;
设计报告:写出主要设计思路,工作原理;画出硬件接线图;调试出现的问题及解决方法;提交程序清单。
36. 人名排序程序。
从键盘接收十个人名,人名由4-8个字母构成。
按字母上升次序显示所输入的人名,每一个人名占一行。
37. 在显示屏中央开一个窗口显示自已的名字(以拼音显示)。
要求:窗口的大小(行列的象素数,可由用户输入两个数字调整)
38. 由键盘输入两个整数val和val2,输出稍大于val且是val2整数倍的数。
要求:提示输入两十进制正整数;
键盘输入,两整数之间空格隔开,Enter键结束输入,并换行显示结果。
39. 计算字符长度
提示输入字符串;
输入任意字符串string,点击Enter结束输入; 输出字符串string的长度; 点击Enter程序退出;
40. 借助实验系统TDN实验箱模拟电热箱控制。
电热箱使用电热丝加热(电热丝的工作状态由一个LED灯的亮灭来模拟),温度范围为0~90℃,炉内温度值由热电偶检测后,经变送器变成0~5V范围内的电压信号送A/D转换器,转换成对应的数字量送入CPU(温度输入采用电位器进行模拟,并在数码块上显示对应的温度)。把测量到的温度值与设定值进行比较来决定是否启动电热丝加热,若低于30℃则启动电热丝加热,若高于80℃则停止加热以达到控制温度的目的。
41. 查表:将键盘输入的数字月份查表后显示出相应英文形式。
要求:提示键盘输入一个月份数字N,Enter键结束输入,并换行显示查表结果。
42. 数值比较
提示输入数字1;
输入任意数字int1,点击Enter结束输入; 提示输入数字2;
输入任意数字int2,点击Enter结束输入 如果int1大于int2,则输出“int1> int2”;
如果int1等于int2,则输出“int1=int2”; 如果int1小于int2,则输出“int1
43. 简易动画制作。要求:
(1)做一个烟花在空中绽放的动画,从下方飞出,在屏幕上方开花。 文本方式和图形方式均可,要有多种颜色) (2)要使用到子程序。
44. 在输入10个学生的成绩后,依次在界面上显示:及格人数x个,不及格人数y个。
要求:提示输入10学生成绩score,成绩之间空格隔开,键盘送入; 换行输出“10学生成绩分别为……”
换行显示结果:及格人数x个,不及格人数y;
45. 在TDN实验箱上实现密码锁功能。
设计内容及要求:密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时在七段数码管上显示O字样。当输入密码错误时,发出错误警告声音,同时在七段数码管上显示C字样。当输入六次误码时,产生报警信号,七段数码管上显示8字样。还可以实现对密码的修改,修改成功后,蜂鸣器发出确认音。
根据实验系统的配置,用LED灯显示电子锁的当前状态; 画出详细的硬件连接图;
给出程序设计思路、画出软件流程图; 给出所有程序清单并加上必要注释;
46. 去除字符串中的某个字符
提示输入字符串;
输入任意字符串string,点击Enter结束输入; 提示输入字符;
输入任意字符ch,点击Enter结束输入
将字符串中字符ch去除,输出变化后的字符串string2 点击Enter程序退出;
47. 数据段里有一个N个字的数组A,利用冒泡排序法对数组进行从大到小的排序,并输出结果。
要求:读出数据段中存放的数组A;换行显示转换后的数组A;
48. 字符游戏
用“*”绘制一个七层等腰三角形;
点击空格键则三角形倒置一次,再次点击则再次倒置; 点击Enter程序退出;
49. 设计一个程序,让计算机屏幕输出40个自然数来,使得其中任意两个数之差均不相等。
50. 借助实验系统TDN86/88实现模拟量采样。
将实验箱所带电位器的电压转换成0~5V数据,显示在数码块上。
51. 从字符串中截取指定长度的字符
提示输入字符串;
输入任意字符串string,点击Enter结束输入; 提示输入数字;
输入任意数字int,点击Enter结束输入; 截取string的前int位输出; 点击Enter程序退出;
52. 数值求和
提示输入数字;输入任意数字int,点击Enter结束输入;输出“1+2+3+…+int”的值;点击Enter程序退出;
53. 编写一用箭头键控制光标移动的程序。
要求:箭头控制移动,ALT+箭头控制移动并画线。
54. 用循环程序,在屏幕上显示一ASCII字符表。(从20H—FFH)
55. 借助实验系统TDN86/88实现2路模拟量定时巡回采样。
将所得数据分别显示在数码块上。
56. 查找字符串中给定字符首次出现的位置。
要求:字符串给定;
从键盘输入单个字符,Enter键结束并显示该字符所处的位置。
57. 求2个正整数N1和N2的最小公倍数。
要求:提示输入两十进制正整数;
键盘输入,两整数之间空格隔开,Enter键结束输入,并换行显示结果。
58. 图形变换程序设计
完成一个图形变换的程序,系统具有 4 种可选择的功能,按字母“Y”画一个用点组成的圆;按字母“S”画一个用颜色填充的三角形;按字母“Z”画一个用不同颜色填充的矩形;按“q”键退出。
59. 一个数如果恰好等于它的因子之和,这个数就成为“完数“。例如6的因子为1,2,3,且6=1+2+3,
因此6为完数。编程找出10000以内所有完数并输出。 要求:提示“Enter键输出10000以内所有完数”; Enter键,换行显示结果。
60. 采用TDN实验箱设计多个中断子程序。
不按下任何开关时,数码块显示8888; 当开关1闭合时,数码块显示0000; 当开关2闭合时,数码块显示1111; 当开关3闭合时,数码块显示2222; 当开关4闭合时,数码块显示3333;
61. 计算字符串中某个字符出现次数
提示输入字符串;
输入任意字符串string,点击Enter结束输入; 提示输入字符;
输入任意字符ch,点击Enter结束输入 输出字符串string中字符ch的出现次数 点击Enter程序退出;
62. 质数判断
提示输入数字;
输入任意数字int1,点击Enter结束输入;
如果int1是质数,则输出“int1 is aprime number”
如果int1不是质数,则输出“int1 is not aprime number”; 点击Enter程序退出;
63. 显示输出一白色矩形,背景为黑色。
要求:提示白色矩形输出实例;Enter键显示结果,ESC键退出程序。
64. 模拟幸运抽号
要求:程序运行时,在屏幕上随即跳动一组一组十位数字的号码,敲空格键时停止,得到一组幸运号码。
65. 交通灯控制系统(在TDN86/88实验系统上实现)
在A道和B道相交叉的十字路口,A、B道各有两组交通指示灯,每组有红、黄、绿三个灯。A道的同色灯连在一起,B道的同色灯连在一起。对各组的交通灯进行控制,以保证车辆在各道上通畅运行。A、B组的交通灯工作过程为:
1)初始状态A、B道都是红灯亮。当控制系统启动后,A道的绿灯亮,B道的红灯亮。 2)当延时25秒后,A、B道的黄灯同时变亮,且延时5秒。 3)延时后,B道转为绿灯,A道转为红灯,且延时25秒。
4)25秒后,转为A、B道的黄灯亮,延时5秒后,回到第一步,以次重复进行,不断循环。 5)当遇到道路障通,或紧急情况时,A、B道全为红灯。 用七段数码块显示器显示绿灯延时时间。
用相应的发光二极管来代替交通灯,用发光二极管的亮灭显示交通灯的工作情况。
系统有启动按钮和停止按钮,按启动按钮后,系统从第一步开始循环,按停止按钮后,无论在那一步,应回到初始状态。
画出详细的硬件连接图。附控制程序。
66. 将字符串补齐为某个特定长度
提示输入字符串;
输入任意字符串string,点击Enter结束输入; 提示输入数字;
输入任意数字int,点击Enter结束输入; 提示输入字符;
输入任意字符ch,点击Enter结束输入
如果字符串string长度大于int,则截取string的前int位输出;如果字符串string长度小于int,则在string后面添加字符ch,直至使字符串长度等于int;如果字符串string长度等于int,则直接输出字符串。 点击Enter程序退出;
67. 闰年判断
提示输入年份;
输入四位数字int1,点击Enter结束输入;
如果int1表示的年份是闰年,则输出“int1 years is a leap year”
如果int1表示的年份不是闰年,则输出“int1 years is not a leap year”; 点击Enter程序退出;
68. 显示输出一五角星图形。
要求:图形边线为红色,背景颜色自定,居中显示,大小适中。
69. 在DAT单元存放一字节数据X,按照下列形式将字节X中二进制位进行交换:A7A6A5A4A3A2A1A0
→A5A4A7A6A1A0A3A2 。
要求:读出DAT中存放的字节数据为X;换行显示转换后的字节数据;
70. 在TDN实验箱上为篮球比赛设计一个简化的进攻计时装置,要求设置一个启动按钮,一个投篮按
钮,和一个无效进攻指示灯。按下启动按钮后即喀什30秒进攻倒计时,在倒计时期间若有投篮(按下投篮按钮),则30秒倒计时重新开始;若没有投篮则在倒计时结束时点亮无效进攻指示灯。按下启动按钮,无效进攻指示灯灭,30秒倒计时重新开始。
71. 编密码。
按以下规律编码:将输入字母变成其后序的第4个字母,如字母A变为E,a变为e, W变为A,Y变为C,Z变为D,非字母不变。如输入“China”变为“Glmre”。 要求:提示输入一字符串;
键盘输入,Enter键结束输入,并换行显示结果。
72. 把100-200之间不能被3整除的数输出;
要求:提示数据范围为100-200;Enter键换行显示结果。
73. 显示输出一圆形。
要求:圆形边线为白色,圆形区域为蓝色,居中显示,大小不限。
74. 计算并打印杨辉三角形,要求打印到第N行,N由键盘输入。
要求:提示输入一整数N;
键盘输入,Enter键结束输入,并换行显示结果。
75. 在TDN实验箱上,为汽车车灯设计一套控制系统,其工作情况为:
输出信号
操作 左转(操作停止灯灭) 右转(操作停止灯灭)
刹车 左转刹车 (约5s后全部灯灭) 右转刹车 (约5s后全部灯灭)
仪表盘左转灯 闪烁 闪烁
仪表盘右转灯 闪烁
左头灯闪烁 闪烁
右头灯 闪烁
左尾灯 闪烁 亮(约5s)闪烁
右尾灯 闪烁 亮(约5s)
亮
闪烁 闪烁 亮
76. 从键盘输入一行字符,统计字母、空格、数字、其他字符的个数,并显示。
要求:提示输入一行字符串;
键盘输入字符串,Enter键结束输入,并换行显示结果。
77. 如果一个数从左边和从右边读都是相同的数,就称它为回文数,例如383,求出500以内的回文数
并输出显示。
要求:提示数据范围为0-500; Enter键,换行显示结果。
78. 用字符组成汽车图形,在屏幕显示从左向右开动的汽车。
79. 打印输出所有水仙花数。水仙花数:三位数,各个位数的立方和为数字本身。
要求:提示“Enter键输出所有水仙花”; Enter键,换行显示结果。
80. 在TDN实验箱上,通过可编程并行接口芯片8255A和可编程定时器/计数器芯片8253实现电风扇
的自动定时开关控制,编写控制程序。 开关控制要求为:
K1为总开关,闭合时风扇转动,打开时风扇停止。
K2为20秒定时开关,在K1闭合后,K2闭合并定时20秒后,风扇停止工作。 K3为10秒定时开关,在K1闭合后,K3闭合并定时10秒后,风扇停止工作。
81. 比较两个输入的字符串是否完全相同,是则显示YES,并显示字符个数,否则显示NO,并根据情
况具体显示相关信息:字符数目不同;或字符不同。 要求:提示输入字符串1;
输入字符串1,Enter键结束输入并换行; 提示输入字符串2;
输入字符串2,Enter键结束输入并换行; 显示判断结果;
82. 屏幕输出1000以内同时满足如下条件的数:
要求:个位数与十位数之和除以10所得的余数等于百位数字;
83. 在屏幕中间显示一个表格,表格边框,背景等颜色自定。
84. 屏幕输出10到200之间的孪生素数对。孪生素数对指两值相差2的一对素数。如11与13;
85. 在TDN实验箱上实现波形发生器。
要求:生成三角波信号。三角波信号的幅值与其宽度之间的比值通过TDN实验箱所带的7个开关可以有7种不同的情况,采用一个开关控制三角波的正负性。
86. 字符排序
提示输入字符串;
输入任意字符串string,点击Enter结束输入;
按照从A到Z的顺序对字符串重新排序,并输出排序后的字符串; 点击Enter程序退出;
22
87. 求具有abcd=(ab+cd)性质的4位数并输出。例如3025=(30+25)。
要求:Enter键,输出所有结果。
88. 设计一个数字钟,在屏幕上显示 分:秒(mm:ss)。按下非空格键开始计时,并显示00:00,每过
1 秒,ss 增 1,到 60 秒 mm 增 1,到 60 分就是 1 小时。经过 1 小时后又回到00:00 重新计数。当按下空格键时,程序返回 DOS,数字钟消失。
89. 中断处理程序设计
编写一个中断处理程序,要求在主程序运行过程中,每隔 20 秒响铃一次,同时在屏幕上显示信息“The bell is ring!”,按键后恢复原状。
90. 步进电机控制 (在实验系统TDN86/88上实现)
步进电机可以对旋转角度和转动速度进行高精度控制。作为控制执行部件,它广泛应用于自动控制和精密机械等领域。熟悉步进电机的控制方式、驱动方式,完成步进电机的微机控制,设计硬件电路,编制控制程序。
要求:双向四拍控制,通过一个开关实现正反向选择,另采用三个开关实现速度选择,显示出当前的转速等级,画出详细的硬件连接图,附控制程序。
选题规则:
1-8班同学顺次排号,第一个同学从第一题开始选,到第91个同学轮回再选第一题。 每班选硬件题目的同学选举一个联系人,联系实验事宜。
论文要求:
课程设计(论文)必须明确包含:
题目
题目分析
硬件电路图(仅硬件题目提交,采用A3纸绘制,折叠成论文稿纸大小,统一装订在论文中) 软件流程框图
设计思路说明
程序清单(需加必要解释)
设计总结(讨论)
心得体会
1. 根据键盘输入的一个数字显示相应的数据螺旋方阵。如输入4,则显示。
1 2 3 4 12 13 14 5 11 16 15 6
10 9 8 7
共需要显示4^2=16个数字。
要求:①根据键盘输入的数字(3-20),显示相应的数据方阵。
② 画出设计思路流程图,编写相应程序。
2. 显示日期或时间。要求:有提示信息,输入字母“r”,可显示系统当前日期;输入字母“s”,可
显示系统当前时间;输入字母“q”,退出程序。
3. 字符游戏
随机显示字符ch,等待用户输入
如果输入字符与ch一致,则随机显示下一个字符ch2;否则显示“输入错误”; 如此循环; 输入Enter结束
点击Enter程序退出;
4. 从键盘上输入7名裁判的评分(0-10,整数),扣除一个最高分,扣除一个最低分,计算出其它五
个分数的平均值(保留一位小数),并在显示其上输出 “The final score is:”和最终结果。
5. 利用TDN试验箱小键盘的按键实现步进电机的启动、停止、换向,1X速度,2X速度,电动等几种
运行情况
6. 为短跑比赛设计一个确定成绩次序的程序,要求能够输入8个队员编号,成绩;输出最终的排名
次序编号及成绩。(成绩时间格式--秒数:百分秒数,如12:15)
7. 为评委设计一个显示选手通过的指示器,以电脑显示屏作为指示屏。当从键盘输入0时,显示屏
上呈现“×”图形,表示选手被淘汰;当从键盘输入1时,显示屏上呈现“√”图形,表示选手通过。
8. 试设计一个道路收费系统,将车型分为大型车、中型车、小型车,每种车型分别有各自的单公里
收费标准,如下表所示,在收费时,将车型和公里数输入系统,就可自动生成收费额,(公里数取整。收费额以元为单位,保留一位小数)。
序号 1 2 3
车型 大型车 中型车 小型车
单公里收费(单位:0.1元)
5 3 1
9. 为男子25米手枪速射决赛设计一个排名程序。决赛有6名运动员参加,每人每轮次打5枪,每枪
打中靶子的中心区就计一分,打不中就记0分。四轮比赛之后,先将成绩最低的选手淘汰(即为决赛第6名),另外五位队员继续比赛并累计成绩,一轮之后再淘汰最低分,依次进行,直到最后两个队员直接对决,决出冠军。
设计时可将运动员的编号设置为1~6号,且前4轮比赛已经结束,输入前四轮每位运动员的编号和成绩(1-20),找出末位运动员并设置为第6名,并将其去除,剩下5人。以后每轮输入运动员的成绩(0-5),与前面的成绩累加后进行末位排名,直到完成所有的排名。
10. 通过实验箱TDN实现8个LED灯循环闪烁。
要求:首先是1、3、5、7号LED灯以此亮1秒钟,当第7号LED灯亮后,这四个灯同时闪烁5下;然后,2、4、6、8号灯依次亮1秒钟,当第8号灯亮后,这四个灯同时闪烁5下。
11. 输入a,b,c三边后,判断是否能构成三角形,如能构成三角形,输出“It is a triangle.”,
并换行显示三角形的周长和面积,否则输出“ERROR”。 要求:提示输入三角形三边长度a b c; 键盘输入,中间空格隔开;
Enter键结束输入,并换行显示判断结果。
12. 在电脑显示器上显示移动的矩形。
13. 从键盘输入一个以Enter结束的十进制数字串(不超过20个),按ASCII码值的降序显示这个数
字串,并另起一行显示出ASCII码值最大和最小的两个数字。
14. 编辑程序可以实现键盘输入数据与运算符,进行“加减乘除”运算。
(提示:先输入数据与运算符,保存,再按照运算符选择对应的子程序;输入的数据是用字符表示的,需要转换;要有良好的界面(有相应的提示信息))
15. 利用TDN86/88实验系统实现秒表功能,计时显示在数码块上。 要求:具有累计计时的功能;具有启动、停止、清零开关。
16. 显示提示语,输入两个小于 100 的十进制正整数,求出这两个数的平方差,并显示在屏幕上,若
是负的要输出负号。数据的输入和结果的输出都要有必要的提示,且提示独占一行。
17. 查找字符串中的指定字符
基本功能:1 编写程序显示一个操作界面,提示操作:输入一串字符串、输入所查找的字符或字符串等;2 显示出查找到的数目;3 用不同颜色或闪烁标示出所找到的字符或字符串;
18. 按下列要求编程:(1)显示提示语,输入两个小于 100 的十进制正整数。(2)求出这两个数的所
有公约数。(3)数据的输入和结果的输出都要有必要的提示,且提示独占一行。
19. 通过键盘输入字母,然后显示相应的图形。
要求:输入L,之后提示输入两个点的坐标值,显示一段直线。
20. 利用TDN所带小键盘,实现0-8八个数字的输入扫描程序,利用一个开关模拟回车键,让所输入
的数字同时显示在CRT显示器和实验箱数码显示上。
21. 分别输入两个正整数N和M,若M>N则求出N~M连续数据的和,并将和显示出来;若M
N~M连续数据的差,并将差值显示出来(若差值为负,要显示负号)。
22. 从键盘输入一个 4*4 的矩阵。
要求:
(1)每个元素都是 4 位十进制数。
(2)在屏幕上输出该矩阵和它的转置矩阵。 (3)输出这两个矩阵的和(对应元素相加)。
(4)数据的输入和结果的输出都要有必要的提示,且提示独占一行。
23. 用循环程序,显示乘法表。要求输入0-10之间的数值a,显示到a值的乘法表。
要求:提示输入一整数;
键盘输入,Enter键结束输入,并换行显示判断结果。
24. 在屏幕上开一个窗口显示自已的名字(汉字)。
25. 利用TDN实验箱所带小键盘,加上一个开关作为功能选项键,实现A-H八个大写字母以及a-h八
个小写字母的输入扫描程序,利用一个开关模拟回车键,让所输入的字母显示在CRT显示器上。
26. 屏幕输出1000以内同时满足如下条件的数:
要求:个位数与十位数之和除以10所得的余数等于百位数字;
27. 通过键盘输入字母,然后显示相应的图形。
输入R,提示输入两个点的坐标值,显示一个矩形框。
28. 编程序实现十进制数转换成十六进制数。
从键盘输入一个十进制数(1-4位),转换成十六进制数,显示出来。 要求:需要检测输入的是一个规范的十进制数,否则提示输入错误。
29. 在屏幕上接收一串带数字、字母及其它字符的字符串,然后统计其中数字、字母的个数,并分类
显示出来。
30. 在TDN实验箱上实现简易计算器
要求:在小键盘输入十进制数,进行十进制四则运算,具有整数的加、减、乘、除运算功能;结果显示在CRT显示器上。
31. 编写一个汇编程序,将键盘输入的一串字符串中的小写字母用大写显示出来,并剔除非字母字符;
若输入是非字符,显示NON CHAR。
32. 通过键盘输入字母,然后显示相应的图形。
输入C,提供两种画圆方法:1.提示输入圆心坐标与半径值,显示一个圆;2.提示输入两个点的坐标,以这两个点为直径画一个圆。
33. 编程序实现十六进制数转换成十进制数。
从键盘输入一个十六进制数(1-4位),转换成十进制数,显示出来。 要求:需要检测输入一个规范的十六进制数,否则提示输入错误。。
34. 简易信息检索系统。在数据区定义msg0-msg9共十条信息,然后从键盘接收0-9中的某一个数字,
显示相应的信息。
35. 在TDN实验箱上实现抢答器模拟控制
基本要求:
具有8个抢答输入(由8个开关代替,其它按键不起作用); 倒计时显示抢答剩余时间(初始10秒,时间分辨率小于100ms),10秒计时到后,显示8888; 显示抢答成功者(显示数字),同时该抢答指示灯亮并闪烁,并有蜂鸣器声音提示;
设计报告:写出主要设计思路,工作原理;画出硬件接线图;调试出现的问题及解决方法;提交程序清单。
36. 人名排序程序。
从键盘接收十个人名,人名由4-8个字母构成。
按字母上升次序显示所输入的人名,每一个人名占一行。
37. 在显示屏中央开一个窗口显示自已的名字(以拼音显示)。
要求:窗口的大小(行列的象素数,可由用户输入两个数字调整)
38. 由键盘输入两个整数val和val2,输出稍大于val且是val2整数倍的数。
要求:提示输入两十进制正整数;
键盘输入,两整数之间空格隔开,Enter键结束输入,并换行显示结果。
39. 计算字符长度
提示输入字符串;
输入任意字符串string,点击Enter结束输入; 输出字符串string的长度; 点击Enter程序退出;
40. 借助实验系统TDN实验箱模拟电热箱控制。
电热箱使用电热丝加热(电热丝的工作状态由一个LED灯的亮灭来模拟),温度范围为0~90℃,炉内温度值由热电偶检测后,经变送器变成0~5V范围内的电压信号送A/D转换器,转换成对应的数字量送入CPU(温度输入采用电位器进行模拟,并在数码块上显示对应的温度)。把测量到的温度值与设定值进行比较来决定是否启动电热丝加热,若低于30℃则启动电热丝加热,若高于80℃则停止加热以达到控制温度的目的。
41. 查表:将键盘输入的数字月份查表后显示出相应英文形式。
要求:提示键盘输入一个月份数字N,Enter键结束输入,并换行显示查表结果。
42. 数值比较
提示输入数字1;
输入任意数字int1,点击Enter结束输入; 提示输入数字2;
输入任意数字int2,点击Enter结束输入 如果int1大于int2,则输出“int1> int2”;
如果int1等于int2,则输出“int1=int2”; 如果int1小于int2,则输出“int1
43. 简易动画制作。要求:
(1)做一个烟花在空中绽放的动画,从下方飞出,在屏幕上方开花。 文本方式和图形方式均可,要有多种颜色) (2)要使用到子程序。
44. 在输入10个学生的成绩后,依次在界面上显示:及格人数x个,不及格人数y个。
要求:提示输入10学生成绩score,成绩之间空格隔开,键盘送入; 换行输出“10学生成绩分别为……”
换行显示结果:及格人数x个,不及格人数y;
45. 在TDN实验箱上实现密码锁功能。
设计内容及要求:密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时在七段数码管上显示O字样。当输入密码错误时,发出错误警告声音,同时在七段数码管上显示C字样。当输入六次误码时,产生报警信号,七段数码管上显示8字样。还可以实现对密码的修改,修改成功后,蜂鸣器发出确认音。
根据实验系统的配置,用LED灯显示电子锁的当前状态; 画出详细的硬件连接图;
给出程序设计思路、画出软件流程图; 给出所有程序清单并加上必要注释;
46. 去除字符串中的某个字符
提示输入字符串;
输入任意字符串string,点击Enter结束输入; 提示输入字符;
输入任意字符ch,点击Enter结束输入
将字符串中字符ch去除,输出变化后的字符串string2 点击Enter程序退出;
47. 数据段里有一个N个字的数组A,利用冒泡排序法对数组进行从大到小的排序,并输出结果。
要求:读出数据段中存放的数组A;换行显示转换后的数组A;
48. 字符游戏
用“*”绘制一个七层等腰三角形;
点击空格键则三角形倒置一次,再次点击则再次倒置; 点击Enter程序退出;
49. 设计一个程序,让计算机屏幕输出40个自然数来,使得其中任意两个数之差均不相等。
50. 借助实验系统TDN86/88实现模拟量采样。
将实验箱所带电位器的电压转换成0~5V数据,显示在数码块上。
51. 从字符串中截取指定长度的字符
提示输入字符串;
输入任意字符串string,点击Enter结束输入; 提示输入数字;
输入任意数字int,点击Enter结束输入; 截取string的前int位输出; 点击Enter程序退出;
52. 数值求和
提示输入数字;输入任意数字int,点击Enter结束输入;输出“1+2+3+…+int”的值;点击Enter程序退出;
53. 编写一用箭头键控制光标移动的程序。
要求:箭头控制移动,ALT+箭头控制移动并画线。
54. 用循环程序,在屏幕上显示一ASCII字符表。(从20H—FFH)
55. 借助实验系统TDN86/88实现2路模拟量定时巡回采样。
将所得数据分别显示在数码块上。
56. 查找字符串中给定字符首次出现的位置。
要求:字符串给定;
从键盘输入单个字符,Enter键结束并显示该字符所处的位置。
57. 求2个正整数N1和N2的最小公倍数。
要求:提示输入两十进制正整数;
键盘输入,两整数之间空格隔开,Enter键结束输入,并换行显示结果。
58. 图形变换程序设计
完成一个图形变换的程序,系统具有 4 种可选择的功能,按字母“Y”画一个用点组成的圆;按字母“S”画一个用颜色填充的三角形;按字母“Z”画一个用不同颜色填充的矩形;按“q”键退出。
59. 一个数如果恰好等于它的因子之和,这个数就成为“完数“。例如6的因子为1,2,3,且6=1+2+3,
因此6为完数。编程找出10000以内所有完数并输出。 要求:提示“Enter键输出10000以内所有完数”; Enter键,换行显示结果。
60. 采用TDN实验箱设计多个中断子程序。
不按下任何开关时,数码块显示8888; 当开关1闭合时,数码块显示0000; 当开关2闭合时,数码块显示1111; 当开关3闭合时,数码块显示2222; 当开关4闭合时,数码块显示3333;
61. 计算字符串中某个字符出现次数
提示输入字符串;
输入任意字符串string,点击Enter结束输入; 提示输入字符;
输入任意字符ch,点击Enter结束输入 输出字符串string中字符ch的出现次数 点击Enter程序退出;
62. 质数判断
提示输入数字;
输入任意数字int1,点击Enter结束输入;
如果int1是质数,则输出“int1 is aprime number”
如果int1不是质数,则输出“int1 is not aprime number”; 点击Enter程序退出;
63. 显示输出一白色矩形,背景为黑色。
要求:提示白色矩形输出实例;Enter键显示结果,ESC键退出程序。
64. 模拟幸运抽号
要求:程序运行时,在屏幕上随即跳动一组一组十位数字的号码,敲空格键时停止,得到一组幸运号码。
65. 交通灯控制系统(在TDN86/88实验系统上实现)
在A道和B道相交叉的十字路口,A、B道各有两组交通指示灯,每组有红、黄、绿三个灯。A道的同色灯连在一起,B道的同色灯连在一起。对各组的交通灯进行控制,以保证车辆在各道上通畅运行。A、B组的交通灯工作过程为:
1)初始状态A、B道都是红灯亮。当控制系统启动后,A道的绿灯亮,B道的红灯亮。 2)当延时25秒后,A、B道的黄灯同时变亮,且延时5秒。 3)延时后,B道转为绿灯,A道转为红灯,且延时25秒。
4)25秒后,转为A、B道的黄灯亮,延时5秒后,回到第一步,以次重复进行,不断循环。 5)当遇到道路障通,或紧急情况时,A、B道全为红灯。 用七段数码块显示器显示绿灯延时时间。
用相应的发光二极管来代替交通灯,用发光二极管的亮灭显示交通灯的工作情况。
系统有启动按钮和停止按钮,按启动按钮后,系统从第一步开始循环,按停止按钮后,无论在那一步,应回到初始状态。
画出详细的硬件连接图。附控制程序。
66. 将字符串补齐为某个特定长度
提示输入字符串;
输入任意字符串string,点击Enter结束输入; 提示输入数字;
输入任意数字int,点击Enter结束输入; 提示输入字符;
输入任意字符ch,点击Enter结束输入
如果字符串string长度大于int,则截取string的前int位输出;如果字符串string长度小于int,则在string后面添加字符ch,直至使字符串长度等于int;如果字符串string长度等于int,则直接输出字符串。 点击Enter程序退出;
67. 闰年判断
提示输入年份;
输入四位数字int1,点击Enter结束输入;
如果int1表示的年份是闰年,则输出“int1 years is a leap year”
如果int1表示的年份不是闰年,则输出“int1 years is not a leap year”; 点击Enter程序退出;
68. 显示输出一五角星图形。
要求:图形边线为红色,背景颜色自定,居中显示,大小适中。
69. 在DAT单元存放一字节数据X,按照下列形式将字节X中二进制位进行交换:A7A6A5A4A3A2A1A0
→A5A4A7A6A1A0A3A2 。
要求:读出DAT中存放的字节数据为X;换行显示转换后的字节数据;
70. 在TDN实验箱上为篮球比赛设计一个简化的进攻计时装置,要求设置一个启动按钮,一个投篮按
钮,和一个无效进攻指示灯。按下启动按钮后即喀什30秒进攻倒计时,在倒计时期间若有投篮(按下投篮按钮),则30秒倒计时重新开始;若没有投篮则在倒计时结束时点亮无效进攻指示灯。按下启动按钮,无效进攻指示灯灭,30秒倒计时重新开始。
71. 编密码。
按以下规律编码:将输入字母变成其后序的第4个字母,如字母A变为E,a变为e, W变为A,Y变为C,Z变为D,非字母不变。如输入“China”变为“Glmre”。 要求:提示输入一字符串;
键盘输入,Enter键结束输入,并换行显示结果。
72. 把100-200之间不能被3整除的数输出;
要求:提示数据范围为100-200;Enter键换行显示结果。
73. 显示输出一圆形。
要求:圆形边线为白色,圆形区域为蓝色,居中显示,大小不限。
74. 计算并打印杨辉三角形,要求打印到第N行,N由键盘输入。
要求:提示输入一整数N;
键盘输入,Enter键结束输入,并换行显示结果。
75. 在TDN实验箱上,为汽车车灯设计一套控制系统,其工作情况为:
输出信号
操作 左转(操作停止灯灭) 右转(操作停止灯灭)
刹车 左转刹车 (约5s后全部灯灭) 右转刹车 (约5s后全部灯灭)
仪表盘左转灯 闪烁 闪烁
仪表盘右转灯 闪烁
左头灯闪烁 闪烁
右头灯 闪烁
左尾灯 闪烁 亮(约5s)闪烁
右尾灯 闪烁 亮(约5s)
亮
闪烁 闪烁 亮
76. 从键盘输入一行字符,统计字母、空格、数字、其他字符的个数,并显示。
要求:提示输入一行字符串;
键盘输入字符串,Enter键结束输入,并换行显示结果。
77. 如果一个数从左边和从右边读都是相同的数,就称它为回文数,例如383,求出500以内的回文数
并输出显示。
要求:提示数据范围为0-500; Enter键,换行显示结果。
78. 用字符组成汽车图形,在屏幕显示从左向右开动的汽车。
79. 打印输出所有水仙花数。水仙花数:三位数,各个位数的立方和为数字本身。
要求:提示“Enter键输出所有水仙花”; Enter键,换行显示结果。
80. 在TDN实验箱上,通过可编程并行接口芯片8255A和可编程定时器/计数器芯片8253实现电风扇
的自动定时开关控制,编写控制程序。 开关控制要求为:
K1为总开关,闭合时风扇转动,打开时风扇停止。
K2为20秒定时开关,在K1闭合后,K2闭合并定时20秒后,风扇停止工作。 K3为10秒定时开关,在K1闭合后,K3闭合并定时10秒后,风扇停止工作。
81. 比较两个输入的字符串是否完全相同,是则显示YES,并显示字符个数,否则显示NO,并根据情
况具体显示相关信息:字符数目不同;或字符不同。 要求:提示输入字符串1;
输入字符串1,Enter键结束输入并换行; 提示输入字符串2;
输入字符串2,Enter键结束输入并换行; 显示判断结果;
82. 屏幕输出1000以内同时满足如下条件的数:
要求:个位数与十位数之和除以10所得的余数等于百位数字;
83. 在屏幕中间显示一个表格,表格边框,背景等颜色自定。
84. 屏幕输出10到200之间的孪生素数对。孪生素数对指两值相差2的一对素数。如11与13;
85. 在TDN实验箱上实现波形发生器。
要求:生成三角波信号。三角波信号的幅值与其宽度之间的比值通过TDN实验箱所带的7个开关可以有7种不同的情况,采用一个开关控制三角波的正负性。
86. 字符排序
提示输入字符串;
输入任意字符串string,点击Enter结束输入;
按照从A到Z的顺序对字符串重新排序,并输出排序后的字符串; 点击Enter程序退出;
22
87. 求具有abcd=(ab+cd)性质的4位数并输出。例如3025=(30+25)。
要求:Enter键,输出所有结果。
88. 设计一个数字钟,在屏幕上显示 分:秒(mm:ss)。按下非空格键开始计时,并显示00:00,每过
1 秒,ss 增 1,到 60 秒 mm 增 1,到 60 分就是 1 小时。经过 1 小时后又回到00:00 重新计数。当按下空格键时,程序返回 DOS,数字钟消失。
89. 中断处理程序设计
编写一个中断处理程序,要求在主程序运行过程中,每隔 20 秒响铃一次,同时在屏幕上显示信息“The bell is ring!”,按键后恢复原状。
90. 步进电机控制 (在实验系统TDN86/88上实现)
步进电机可以对旋转角度和转动速度进行高精度控制。作为控制执行部件,它广泛应用于自动控制和精密机械等领域。熟悉步进电机的控制方式、驱动方式,完成步进电机的微机控制,设计硬件电路,编制控制程序。
要求:双向四拍控制,通过一个开关实现正反向选择,另采用三个开关实现速度选择,显示出当前的转速等级,画出详细的硬件连接图,附控制程序。
选题规则:
1-8班同学顺次排号,第一个同学从第一题开始选,到第91个同学轮回再选第一题。 每班选硬件题目的同学选举一个联系人,联系实验事宜。
论文要求:
课程设计(论文)必须明确包含:
题目
题目分析
硬件电路图(仅硬件题目提交,采用A3纸绘制,折叠成论文稿纸大小,统一装订在论文中) 软件流程框图
设计思路说明
程序清单(需加必要解释)
设计总结(讨论)
心得体会