—基于8位单片机C语言程序设计
(第二版)
实验指导书
1
嵌入式开发基础
实验一 软件集成开发环境WAVE6000的使用和练习
一, 系统的安装和启动
1,仿真开发系统集成调试软件的安装和使用见WAVE仿真开发系统使用手册。 2,用户根据实验内容,进行MCS51单片机实验时,应插上EX51B仿真板。 3,将配套的串行通讯电缆的一端与实验仪上的“仿真器串口” 4,9芯D形插座相连,另一端与PC相的串行口相连。 5,将实验台的电源线与220V电源相连。(实验结束后应拔下)
6,打开实验台电源开关,红色电源指示灯亮。仿真开发器初始化成功后, 7,LED会显示8051,表示仿真系统正常。
8,打开计算机电源,执行WAVE集成调试软件。
二, MCS51系列单片机实验仿真器设置
WAVE集成调试环境应设置如下: 1,仿真器型号:伟福Lab6000实验仪 2,仿真头型号:MCS51实验 (8031/32) 三, 实验内容 1,建立并运行Hello.prj项目。 2,实验File,View,Edit,Project菜单和其他选项功能。 3,实验设置Options的方法。 四,实验步骤 1, 进入WAVE集成调试环境。 2, 建立Hello.prj项目。 3,编辑,编译程序文件Hello.C。 4,运行并观察输出结果。
五, 参考程序Hello.C
#includ
#include
SCON=0x50;//SCON:mode 1, 8-bit UART TMOD|=ox20;//tmod TC1 mode 2 TH1=221;//16M BOT=1200 TR1=1;//T1起动 While(1) {
Printf("Hello Word\\n"); } }
2
实验二 P1口输入输出实验
一, 实验内容
1. P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2. P1.0、P1.1作输入口,接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,
编写程序读取开关状态,将此状态,在发光二极管上显示出来。编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。
二, 实验目的
1, 学习P1口的使用方法。
2, 学习延时子程序的编写和使用
三, 实验仪器、电路及连线
连线 连接孔1 连接孔2 1 2 3 4
5 6 7 8 P1.4 P1.5 P1.6 P1.7 L4 L5 L6 L7 P1.0 P1.1 P1.2 P1.3 L0 L1 L2 L3 连线 连接孔1 1 2 3 4 S0 S1 P1.2 P1.3 连接孔2 P1.0 P1.1 L4 L5
实验1 P1口循环点灯 实验2 P1口输入输出
四, 实验说明 P1口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。
五,实验原理及软件框图
3
开始 设置初始值 设移位次数 数据输出 左移一位 延时 是 否 移位次数完成? (A) P1口循环点灯程序框图
六, 参考程序 (1)
#include
void delay() {
unsigned int i;
for (i=0; i<20000; i++) {} }
void main() {
unsigned char index; unsigned char LED;
while (1) { LED = 1;
for (index=0; index < 8; index++) { P1 = LED; LED <<= 1; delay();
开始 P1.0,P1.1置1 读入P1.0口值 将读入的值输出到P1.2 读入P1.1口值 将读入的值输出到P1.3
(B) P1口输入输出程序框图
4
} } } (2)
#include
void main() {
while (1) { LEDLeft = KeyLeft; LEDRight = KeyRight; } }
5