3)电机的转数,通过霍尔元件变换为脉冲个数,送入8253的通道2,计数后,将转数转换为里程数,最小单位为0.01公里。
9.数字式电压表 (1)要求:
1)采用系统提供的8259A芯片的IR7作为AD转换完成后的中断申请输入端。 2)8255的A口作为数码管的笔划码驱动;C口的低4位作为段码控制,显示测量的电压值。
3)AD转换器使用ADC0809,使用通道0作为模拟电压输入端
10.电子显示屏 (1)要求:
1)由若干LED组合在一个模块上, 2)用语在公众场合发布信息。
11、竞赛抢答器 (1)要求:
1)同时供多名选手或代表队比赛,分别用相应按钮表示。 2)设置系统定时和由主持人控制的抢答控制开关。
3)抢答器具有优先锁存与编号显示功能,保持到系统清除为止。 4)另外设置抢答定时时间。
12、流水灯控制 (1)要求:
1)实现对装饰灯点亮和关断。 2)另外设置数码管显示效果编号,
3)功能键选择自动/手动转换、流水方向、选择效果和调节流水速度。
13、串行口通信 (1)要求:
1)利用RS232C方式(两台以上用RS485),用电缆将两台或两台以上的微机连接,
2)要求编写串行通信软件,从一台微机向另一台微机传送数据。
3)数据可以键盘输入、接口输入或是来自文件等,使用直接控制台方式或点对点文件方式,传送通信协议可以选择。
14.简易计算器系统设计
设计一个可以进行2位数四则运算的计算器,要求: 1,用按键输入数和运算符号;
2,用LED显示运算过程和结果(十进制数); 3,可以表示出当前的运算类型; 3,具有清零和复位功能; 4,具有连续运算功能。
15.压力测试系统设计:
利用压力传感器和ADC0809采用中断方式设计一个压力测试系统,
并将测试结果(十进制)在LED上显示出来,并定义一个测试最大值按键 ,当按下该键时,可进行最大值测量(按键不动作时为正常测量显示), 即:只有当当前测量值大于上次测量值时才刷新显示,显示格式为:P=XXX。 可以每隔0.3秒测量一次。
16.函数发生器1的设计:
利用D/A设计一个函数发生器,并利用按键选择输出波形,
能分别产生三角波、阶梯波(每阶梯1V)、正向锯齿波、负向锯齿波和方波。 并利用按键(自行定义)进行输出波形选择,同时将当前输出波形代号显示在LED上(左边位):0为方波、1为正向锯齿波、2为负向锯齿波 、3 为三角波 、4为阶梯波。
17.温度测控系统的设计:
利用ADC0809采用中断方式设计一个温度测控系统, 在LED数码显示器上显示温度值,并对温度进行测试和控制, 当检测温度到达温度上限60℃时开风扇(即开启电动机),
低于下限30℃时关闭风扇,LED上的显示内容为:XX ℃(采用十进制显示)。 注意:
每一个小组的成绩原则上基本一致,同时也会根据每个同学的个人报告拉开一定差距。
同学们可以参考一些相关资料,但报告必须有自己做的东西,不能全部拷贝,一旦发现作零分处理。
附件:
例: 交通灯控制(硬件,软件,流程)
1、 硬件连接图 XD0 PA0 D0 8个LED指示灯 ┇
PA7 ┇ ┇ PB0 D7 ┇ XD7 CPU 8255 ┇ ┇ PB7
PC0 ┅ ┇
PC3 INTR PC4
┇ PC7 INT K4 K1 ┅ 8259 IR0 8253 CLK0 1.19MHz
+5V OUT0 GATE0
硬件连接说明:
①8253和8259采用系统连接,8253的定时器通道0,输入频率为1.19MHz,输出产生0.05秒的定时信号,通过8259的IR0向CPU申请中断,即每产生一次中断,则说明定时0.05秒。
②8255的A口输出,控制8个发光二极管的亮灭,作为指示灯,实际只用二个绿灯和红灯。 ③8259的B口输出,作为4个数码管的笔划码,其显示码与显示数据的关系如下表;C口的PC0~PC3为字段码控制,控制哪一个数码管显示。 显示数值 0 1 2 3 4 显示码 Dp g f e d c b a 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 显示数值 5 6 7 8 9 显示码 Dp g f e d c b a 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1
④8259的C口输入,根据开关K1~K4的值,设置通行时间从00~90秒,间隔10秒。
2、 程序流程图
主程序流程如下: 中断处理程序如下: