计算机接口 与控制技术
实验报告
中南大学机电工程学院
机械1304班 俞文龙
实验一 穿行静态显示实验
一、 实验目的
1.掌握数字、字符转换成显示段码的软件译码方法 2.静态显示的原理和相关程序的编写 3.掌握C51程序设计方法
二 、 实验说明
1. 输入给定程序,配置选项,调试并运行程序,观察程序控制下仿真器输
出的变化。
2.
选中此项keil为硬件仿真
3. 设置Port 串口:一般为COM3,Baudrate 波特率为最大值:115200bit/s, 最后确认 4. 显示器由8个共阴极LED数码管组成。输入只有两个信号,它们是串行
数据线DIN和移位信号CLK。8个串/并移位寄存器芯片74LS164首尾相连。每片的并行输出作为LED数码管的段码。74LS164为8位串入并出移位寄存器,1、2为 串行输入端,QA~QH为并行输出端,CLK为移位时钟脉冲,上升沿移入一位;CLR为清零端,低电平时并行输出为零。 5. 用C51进行程序设计,选择汇编或者C语言编程均可,要求程序结构清
晰,模块化结构,反复调用部分做成子模块,有必要的注释。编写程序上机调试通过,实验报告要求提交程序流程图及源程序。
三、实验内容
本实验需要用到单片机的最小应用系统(F1区)和串行静态显示模块(I3区)。 1. 使用单片机最小应用系统模块,用导线将连接P3.0(RXD)、P3.1(TXD)
连接到串行静态显示模块的DIN、CLK端。
2. 用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机锁
紧插座中,请注意仿真器的方向:缺口朝上。请指导老师检查接线后再打开模块电源。打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。全速运行程序。 3. 8LED显示“89C51”。程序停止运行时,显示不变,说明静态显示模块具
有数据锁存功能。
四、实验程序及原理图 #include
void delay(void) {
unsigned int i;
for(i=0;i<10;i++) ;
}
void main(void) {
unsigned char i,j,chr,sel; unsigned char code Tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9显示代码 unsigned char xs[8]={5,0,1,6,2,3,2,8};
for(i=0;i<8;i++) {
chr=Tab[xs[i]]; // sel=0x06; for(j=0;j<8;j++) {
Din=chr&sel;
Clk=0;//P1.·同步时钟 sel=sel>>1; delay();
Clk=1; delay(); } }
while(1); }
a11b12c13d14e15f16g17dp18DPYaabcfgbdceedfdpgdpa21b22c23d24e25f26g27dp28DPYaabcfgbdceedfdpgdpa31b32c33d34e35f36g37dp38 DPYaabcfgbdceedfdpgdpa41b42c43d44e45f46g47dp48DPYaabcfgbdceedfdpgdpDINCLK
9991010109R1I51R2I51R3I5174LS16412VCCA31498ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a1b1c1d1e1f1g1dp1dp112VCCA3149874LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a2b2c2d2e2f2g2dp2dp212VCCA3149874LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q73a34b35c36d310e311f312g313dp3dp312VCCA3149810R4I51874LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a4b4c4d4e4f4g4dp4GNDGNDGNDCLKCLKCLKCLK777a51b52c53d54e55f56g57dp58DPYaabcfgbdceedfdpgdpa61b62c63d64e65f66g67dp68DPYaabfbcgdceedfdpgdpa71b72c73d74e75f76g77dp78DPYaabfbcgdceedfdpgdpa81b82c83d84e85f86g87dp88DPYaabfbcgdceedfdpgdp9109910109R5I51R6I51R7I5174LS164dp412VCCA31498ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a5b5c5d5e5f5g5dp5dp512VCCA3149874LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a6b6c6d6e6f6g6dp6dp612VCCA3149874LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a7b7c7d7e7f7g7dp7dp712VCCA3149810R8I517GND74LS164ABVCCMRQ0Q1Q2Q3Q4Q5Q6Q7345610111213a8b8c8d8e8f8g8dp8GNDGNDGNDCLKCLKCLKCLK777五实验体会
通过实验,再次熟悉了51单片机的仿真软件,更加的熟练使用软件。同时,也掌握数字、字符转换成显示段码的软件译码方法,初步学会了软件译码方法。对静态显示的原理和相关程序的编写有了进一步的认识。基本掌握C51程序设计方法
7GND
实验二 交通灯模拟实验串行静态显示实验
一、实验目的
1.掌握ULN2003芯片工作原理 2.掌握十字路口交通灯控制方法
二、实验说明
1. 输入给定程序,配置选项,调试并运行程序,观察程序控制下仿真器输
出的变化。
2.
选中此项keil为硬件仿真
3. 设置Port 串口:一般为COM3,Baudrate 波特率为最大值:115200bit/s, 最后确认 4. ULN2003是大电流驱动阵列,由七个硅NPN达林顿管组成,具有电流增益
高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统,可直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。
5. 用C51进行程序设计,选择汇编或者C语言编程均可,要求程序结构清
晰,模块化结构,反复调用部分做成子模块,有必要的注释。编写程序上机调试通过,实验报告要求提交程序流程图及源程序。
三、实验内容及步骤(完成分值:60分/单个程序)
本实验需要用到本实验需要用到单片机最小应用系统(F1区)和汽车信号灯/交通灯/舞台灯模块(D1区)。
1. 用十字路口交通灯控制模块。单片机最小应用系统的P2口JD2F接至汽
车信号灯/交通灯/舞台灯模块的JD4D。汽车信号灯/交通灯/舞台灯模块的DIN、CLK分别对应的接单片机最小应用系统的P1.1、P1.0口。打开相关模块电源。
2. 用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机锁
紧插座中,请注意仿真器的方向:缺口朝上。请指导老师检查接线后再打开模块电源。打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。全速运行程序。 3. 观察交通灯的模拟情况。东西向绿灯亮若干秒,黄灯闪烁3次后红灯亮,
南北向由红灯变为绿灯,若干秒后南北向黄灯闪烁3次此后变红灯,东西向变绿灯,如此重复。LED灯控制说明:P2.7控制东西向红灯;P2.6控制东西向黄灯;P2.5控制东西向绿灯;P2.4控制南北向红灯;P2.3控制南北向黄灯;P2.2控制南北向绿灯。
四、电路原理图及实验程序