4.6 实验步骤
4.7 实验结果
实验五求和程序设计
5.1 实验目的
1.熟悉KEIL的软件使用环境及单片机C51语言编程;
2.掌握C51环境下内存地址的访问方法及循环程序的实现方法。
5.2 实验设备
PC机一台
5.3 实验内容
内容:编写十个字节求和程序。
要求:十个加数在片内RAM区20H~29H单元; 结果存放在片内RAM区30H,31H区。
5.4 实验程序 #include \#include \void main () {
char num;
char add=0x20; int sum=0x18; DWORD[sum]=0X00; for(num=0;num<10;num++) {
DBYTE[add]=0x03;
DWORD[sum]+=DBYTE[add]; add++; } while(1);
}
5.5 实验步骤
开机启动Keil C51软件进入μVision2 集成开发环境,确认89C51处于软件仿真状态。
完成程序的设计、编辑、编译、连接。
进入DEBUG方式,打开存储器Memory 1窗口,在窗口Address栏键入D:20H;点击鼠标右键,选择最后一项Modify Memory ,输入十个加数。 调试和运行程序并记录存储器Memory 1,D:30H窗口实验结果。
5.6 实验结果
实验六基于PROTEUS的60S倒计时器设计
6.1 实验目的
1.熟悉PROTEUS的软件使用环境及单片机C51语言编程;
3.掌握C51环境下定时中断、并行接口及LED的显示方法。
6.2 实验设备
PC机一台
6.3 实验内容
60S倒计时器,利用LED显示秒数。
6.4 实验电路图
6.5 实验程序 #include
char
code
table[]={0xc0,0x90,0x80,0xf8
,0x82,0x92,
0x99,0xb0,0xa4,0xf9};
unsigned char code table1[]={0x92,0x99,0xb0,0xa4,0xf9,0xc0}; void main()
{ num=0; t=0; TMOD=0x01;
TH0=(65536-50000)/256; TL0=(65536-50000)%6; EA=1; ET0=1; TR0=1; P0=0xc0; P2=0x82; while(1) { if(t==20) { t=0; num++; if(num==10) num=0; P2=table[num]; if(num==1) {
P0=table1[n]; n++; } } if(n==6) {
if(num==0) while(1); }