第一范文网 - 专业文章范例文档资料分享平台

最全单片机参考答案(姜志海)

来源:用户分享 时间:2025/5/16 12:44:09 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

{

TH0=(65536-50000)/256; TL0=(65536-50000)%6; i++; if(i==40) { } }

i=0;

P1_1=!P1_1;

5.外部RAM以DATA1开始的数据区中有100个数据,现在要求每隔150ms向内部RAM以DATA2开始的数据区传送10个数据,通过10次传送把数据全部传送完,以定时器1作为定时,编写有关程序。单片机的时钟频率是6MHz。

#include unsigned char i,j,k;

unsigned char xdata data1[100]; unsigned char data data2[100]; void main() { i=0; j=0; TMOD=0x10;

TH1=(65536-25000)/256; TL1=(65536-25000)%6; EA=1; ET1=1;

17

TR1=1; while(j<10); EA=0; while(1); }

void timer1_int(void) interrupt 3 {

TH1=(65536-25000)/256; TL1=(65536-25000)%6; i++;

if(i==3) //150ms时间到,传送一个数据 { } j++; }

i=0;

for(k=0;k++;k<10)

data2[j*10+k]=data1[j*10+k];

6.用单片机和内部定时器来产生矩形波,要求频率为100Hz,占空比为2:1,设单片机的时钟频率为12MHz,写出有关程序。

#include unsigned char i; sbit P1_1=P1^1;

void main() {

18

}

i=0; TMOD=0x10;

TH0=(65536-10000)/256; TL0=(65536-10000)%6; EA=1; ET1=1; TR1=1; while(1);

void timer1_int(void) interrupt 3 {

TH0=(65536-10000)/256; TL0=(65536-10000)%6; i++;

if(i==2) P1_1=0; else if(i==3)

{ i=0; P1_1=1; } }

19

第4章 单片机外部资源的C51编程

1.某单片机系统应用8255开展I/O口,设其A口为方式1输入,B口为方式1输出,C口余下的引脚用于输出,试写出其初始化程序。

#include #include

#define COM8255 XBYTE[0xe003] /*定义8255控制寄存器地址*/ void init8255(void) {

COM8255=0xb4; /*定义8255控制寄存器地址*/ }

2.编写出8×4矩阵键盘的C51程序。 #include #include

#define H_PORT XBYTE[0xport1] #define L_PORT XBYTE[0xport2] #define ulint unsigned long int #define uint unsigned int #define uchar unsigned char

ulint Exp(uint m,uint x); /*定义一个指数函数*/

void keyscan(void) {

uchar h_code,l_code,key_code; uint i,x,m;

H_PORT=0x00; /*所有行输出0*/ l_code=L_PORT;

20

搜索更多关于: 最全单片机参考答案(姜志海) 的文档
最全单片机参考答案(姜志海).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c31t6z4loaq208bi78dn2_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top