如有你有帮助,请购买下载,谢谢!
讲义第三章实验十
1、编写程序,将8XX51单片机的内部数据存储器20H单元和35H单元的数据相乘,结果存到外部数 据存储器中。 #include int xdata *c; main() {
c=0x0000;
DBYTE[0x20]=0x02; DBYTE[0x35]=0x03;
*c=DBYTE[0x20]*DBYTE[0x35]; while(1); } 2、P1口接8个发光二极管LED,编程实现8个LED灯依次点亮0.5秒钟,如此循环。设fosc=12MHz。 (定时器采用中断方式编程) #include
#define uchar unsigned char #define uint unsigned int uchar i; uchar a=10;
timer0()interrupt 1 using 1 {
TH0=-50000/256; TL0=-5000%6; a--; }
void main() {
while(1) {
TMOD=1; P1=0xfe;
TH0=-50000/256;
1页
如有你有帮助,请购买下载,谢谢!
TL0=-5000%6; EA=1; ET0=1; TR0=1; while(1) if(a==0) {
P1=_crol_(P1,1); a=10; } }
}
3、(选作)将内部RAM从21H单元开始存放的压缩BCD码数转换为二进制数,并存入30H为首址的单元,BCD码的长度存放在20H单元中。 (没有)
讲义第四章实验二
通过ADC0809实现对电位器输出的模拟电压的采集,并将采集到的数字量显示到二极管上。 #include\#include\
#define AD0809 XBYTE[0x7000] main() {
unsigned char i, dat=0xff; while(1) {
AD0809=0x00; //启动AD0809 for(i=0;i<200;i++); //延时等待 dat=AD0809;
//读取A/D转换的结果 P1=dat; //送P1显示 } }
2页
如有你有帮助,请购买下载,谢谢!
讲义第四章实验三
利用DAC0832输出模拟电压信号,并用运算放大器电路反向后进行观察。 #include
#define da0832 XBYTE[0x7FFF] main() {
unsigned char i,j; while(1) {
for(i=0;i<=255;i++) {
da0832=i; /* 启动转换 */ for(j=0;j<=255;j++); /* 延时 */ } } }
讲义第四章实验七(题目有改动)
1、P1接8个开关,P2接8个LED,单片机读入P1状 态,通过串行方式1或2自发自收,从P2口输出显示。 (实验代码丢失,以下仅供参考) #include
SCON=0x50;//方式二 while(1) { TI=0; P1=0xFE;
3页