完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
1、实验内容一
1.1、问题一: 设ROM中的表格TAB中存储有8个无符号数(小于等于10),求这8个无符号数的算术平均值(结果只保留整数位),结果存入内部RAM30H中(先将TAB中存入8个常数,可采用指针或存储器绝对地址访问)。 1.2、问题一的代码 C语言采用存储器绝对地址访问代码如下: #include #include int i; void main() { int code TAB[8] = {1,2,3,4,5,6,7,8}; int sum = 0; for (i = 0; i < 8;i++) { sum += TAB; } sum = sum / 8; DBYTE[0x0030] = sum; } C语言采用指针绝对地址访问代码如下: #include #include int i; void main() { int code TAB[8] = {1,2,3,4,5,6,7,8}; int data *xp = 0x30; int sum = 0; for (i = 0; i < 8;i++) { sum += TAB; } sum = sum / 8; *xp = sum; } 2、实验内容二 2.1、问题二: 设晶振为12MHz,编写一个延时N个500ms的延时子程序,N在调用前由主程序赋值。利用该子程序设计一个系统,控制一个发光二极管以不同的频率闪烁。 2.2、问题二的代码: C语言代码如下: #include void delay(int); void main() { int N = 3; while (1) { P1 = 0x00; delay(N); P1 = 0x0FF; delay(N); } } void delay(int n) { int i,j; while(n--) { for (i = 208; i > 0;i--) for(j = 300 ; j > 0;j--) ; } } 3、实验内容三 3.1、问题三: 如图3-1所示,单片机P1口的P1.0和P1.1各接一个开关K1、K2,P1.4、P1.5、P1.6和P1.7各接一只发光二极管。由K1和K2的不同状态来确定哪个发光二极管被点亮。(if语句或switch语句) 3.2、问题三的代码: C语言switch语句代码如下: #include void main () { char a; a=P1; a=a&0x03; switch(a) { case 0: P1=0x7F; break; case 1: P1=0xBF; break; case 2: P1=0xDF; break; default : P1=0xEF; } } C语言if语句代码如下: #include void main() { char a; a = P1; a = a&0x03; if (a == 0) P1 = 0x7F; else if(a == 1) P1 = 0xBF; else if (a == 2) P1 = 0xDF; else P1 = 0xEF; } 4、实验内容四 4.1、问题四: 用单位杜邦线将I/O口P1.0与发光二极管LED1连接,利用PWM(脉冲宽度调制)原理控制该二极管的亮度逐渐变暗至不亮,再逐渐变亮。 4.2、问题四的代码: C语言代码如下: #include void delay(int); ***it P1_0 = P1^0; void main() { while(1) { int low,cycal = 500; for (low = 1; low < cycal;low++) { P1_0 = 1; delay(low); P1_0 = 0; delay(cycal - low); } for (low = 1; low < cycal;low++) { P1_0 = 0; delay(low); P1_0 = 1; delay(cycal - low); } } } void delay(int n) { while(n--) { ; } } |
|
|
|
只有小组成员才能发言,加入小组>>
2489 浏览 0 评论
1056浏览 2评论
672浏览 1评论
438浏览 0评论
173浏览 0评论
282浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 10:21 , Processed in 1.244740 second(s), Total 48, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号