《C语言编程实训》实训指导书一Word文档格式.doc
- 文档编号:14175659
- 上传时间:2022-10-19
- 格式:DOC
- 页数:8
- 大小:123.50KB
《C语言编程实训》实训指导书一Word文档格式.doc
《《C语言编程实训》实训指导书一Word文档格式.doc》由会员分享,可在线阅读,更多相关《《C语言编程实训》实训指导书一Word文档格式.doc(8页珍藏版)》请在冰豆网上搜索。
①AT89C51:
单片机②10WATT1K:
电阻③LED-GREEN:
绿色发光二极管
④AVX0402NP033P、AV100U25V:
电容、电解电容⑤CRYSTAL:
晶振⑥SW-SPST:
开关
(2)放置元器件
(3)放置电源和地(终端)
(4)连线
(5)元器件属性设置
(6)电气检测
注意:
以上操作方法详见教材《单片机原理与接口技术》第6章(P62)
绘制完成的电路原理图如下所示:
图1-1循环彩灯电路原理图
绘制电路原理图时,也可以用1个排阻RX8代替8个1K电阻10WATT1K。
3.源程序设计、生成目标代码文件
使用KEILC软件进行循环彩灯C语言程序的编辑、编译、链接,并生成HEX文件具体操作步骤与方法详见《C语言编程实训》实训指导书二。
附:
原程序清单
unsignedinti;
charj,k;
sbitP3_0=P3^0;
voidmain()
{
while
(1)
{
if(P3_0==0)
{
k=0x80;
for(j=0;
j<
8;
j++)
{
P1=k;
for(i=0;
i<
5000;
i++);
k=k>
>
1;
}
k=0x01;
k=k<
<
}
else
P1=0xff;
}
}
4.PROTEUS仿真
(1)加载目标代码文件
鼠标指针指在器件AT89C51上,先右击再左击,在弹出的属性编辑对话框ProgramFile一栏中单击打开按钮,出现文件浏览对话框,找到.HEX文件,单击“打开”按钮,完成添加文件。
在ClockFrequency栏中把频率设定为12MHZ,单击“OK”按钮退出。
(2)全速仿真
单击运行按钮,启动仿真,仿真运行片断如图1-2所示。
暗点以<0.5HZ频率由低位到高位循环移动。
二、位操作控制P1口的输出
1.实训目的
(1)编写含有“位变量”定义语句及执行语句的C语言程序,通过AT89C51单片机P1口实现位操作。
(2)用PROTEUS设计灯塔信号灯控制电路原理图。
从PROTEUS库中选取以下元器件:
RES,CAP,NPN,CRYSTAL,LED-YELLOW,OPTOCOUPLER-NPN,AT89C51.BUS
设计如图1-3所示。
仿真控制按钮,从左至右依次是:
运行、单步运行、暂停、停止。
图1-2循环彩灯仿真片断
图1-3灯塔信号灯控制电路原理图
使用KEILC软件进行灯塔信号灯C语言程序的编辑、编译、链接,并生成HEX文件。
具体操作步骤与方法详见《C语言编程实训》实训指导书二。
#include"
reg51.h"
#defineuintunsignedint
voiddelayms(uint);
sbitP1_0=P1^0;
voidmain()
{
for(;
;
)
{
P1_0=0;
delayms(50);
P1_0=1;
delayms(50);
}
voiddelayms(uintxms)
{
uinti,j;
for(i=xms;
i>
0;
i--)
for(j=110;
j>
j--);
}
三、交通信号灯程序设计1
(1)编写含有“switch”语句结构或含有“for”语句结构的C语言程序,通过AT89C51单片机P1口实现交通信号灯控制。
(2)用PROTEUS设计交通信号灯反向控制电路原理图。
2.PROTEUS电路设计
10WATT1K,AT89C51,AVX0402NP033P,AX100U25V,CRYSTAL,LED-GREEN,SW-SPST
按照教材第59页图5-11所示,画出交通信号灯反向控制电路原理图。
3.源程序设计、生成目标代码文件
使用KEILC软件进行交通信号灯控制C语言程序的编辑、编译、链接,并生成HEX文件。
具体操作步骤与方法详见《C语言编程实训》实训指导书二;
C语言程序详见教材P58。
4.PROTEUS仿真
(1)加载目标代码文件
(2)全速仿真
四、交通信号灯程序设计2
(1)编写采用函数调用结构的C语言程序,通过AT89C51单片机P1口实现交通信号灯控制。
(2)用PROTEUS设计交通信号灯直接控制电路原理图。
RES,BUTTON,AT89C51,TRAFFICLIGHTS,按照教材第78页图7-3所示,画出交通信号灯直接控制电路原理图。
C语言程序详见教材P78。
五、中断嵌套控制程序设计
(1)编写采用中断嵌套结构的C语言程序,通过AT89C51单片机P1、P2口实现2个响应优先级的中断系统控制。
(2)用PROTEUS设计中断嵌套控制电路原理图。
3WATT1K
7SEG-COM-ANODE
74LS47
BUTTON
AT89C51
按照教材第86页图7-11所示,画出中断嵌套控制电路原理图。
使用KEILC软件进行中断嵌套控制C语言程序的编辑、编译、链接,并生成HEX文件。
六、定时器程序设计
(1)编写含有一维数组语句、定时器初始化与中断函数的C语言程序,通过AT89C51单片机P1口实现时序控制。
(2)用PROTEUS设计定时器控制时序电路原理图。
AT89C51,LED-BARGRAPH-GRN
按照教材第97页图8-8所示,画出定时器控制时序电路原理图。
使用KEILC软件进行定时器C语言程序的编辑、编译、链接,并生成HEX文件。
C语言程序详见教材P98。
七、计数器程序设计
(1)编写含有宏定义语句、定时器初始化与定时中断程序的C语言程序,通过AT89C51单片机P1口和P3.4引脚实现数码管显示计数值的控制装置。
(2)用PROTEUS设计计数值LED显示的电路原理图。
(1)从PROTEUS库中选取以下元器件:
AT89C51,LED-BARGRAPH-GRN
按照教材第101页所示,画出计数值LED显示的电路原理图。
(2)点击信号发生器图标,在GENERTORS栏中选用DCLOCK探针接入单片机AT89C51的P3.4引脚;
(3)点击左键选中DCLOCK探针(选中后显红色),再点击右键,在弹出对话框的GeneratorName项中输入:
U1[P34/T0],Frequency(HZ)项中输入:
600,最后点击“OK”。
使用KEILC软件进行LED计数器C语言程序的编辑、编译、链接,并生成HEX文件。
C语言程序详见教材P101。
八、独立式键盘程序设计
(1)编写含有wile语句、if语句与一维数组语句的C语言程序,通过AT89C51单片机P1、P2口实现独立式8键键盘的控制电路。
(2)用PROTEUS设计独立式键盘电路原理图。
7SEG-COM-CAT-GRN,AT89C51,BUTTON
按照教材第136页图10-4所示,画出独立式键盘电路原理图。
使用KEILC软件进行独立式键盘C语言程序的编辑、编译、链接,并生成HEX文件。
C语言程序详见教材P136。
九、行列式键盘程序设计
(1)编写含有宏定义语句、一维数组语句、与、或、非、左移等四种运算语句的C语言程序,通过AT89C51单片机P1口实现行列式键盘的控制电路。
(2)用PROTEUS设计4×
4行列式键盘电路原理图。
按照教材第140页图10-9所示,画出4×
使用KEILC软件进行行列式键盘(扫描法)C语言程序的编辑、编译、链接,并生成HEX文件。
C语言程序详见教材P140。
十、LED静态显示程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言编程实训 语言 编程 指导书