南阳理工单片机题库-编程题(4)

2018-11-27 18:30

unsigned char aa=0x80; 主函数: main() { TMOD=0x21; TL1=220,TH1=11; EA=1,ET1=1; TR1=1; P1=~aa; while(1); }

T1中断服务函数: void int_t1(void) interrupt 3 { TL0=220,TH0=11; aa<<=1; P1=~aa; }

18、编写一函数,对无符号字符型数组用冒泡法从小到大进行排序,函数的入口参数为拟排序的数组aa的数组的长度m。

void sort(unsigned char aa, unsigned char m) { unsigned char I,j,n,tem; for(i=0;i

{ n=m-i-1; for(j=0;jaa[j+1]) { tem=aa[j]; aa[j]=aa[j+1]; aa[j+1]=tem; } } } }

19、在一个fosc为12MHz的89C52系统中接有一片ADC0809,它的地址为7FFFH,试编写ADC0809初始化程序和定时采样通道2的程序(假设采样频率为1ms/次,每次采样4个数据)。 #include #include

define DAC0809 XBYTE[0x7fff] unsigned char xdata buffer[4] _at_ 0xa0;

void main() {

TMOD=0x01; TH0=0xFC; TL0=0x18;

EA=1; ET0=1; TR0=1; DAC0809=2; while(1); }

void time0_srv() interrupt 1 {

unsigned char i; TH0=0xFC; TL0=0x18; for(i=0;i<4;i++) {

DAC0809=2; delay();

buffer[i]=DAC0809; } }

20、设某MCS-51单片机系统的振荡频率为12MHz,编写程序,用定时器/计数器T0以模式1定时,中断方式在P1.0引脚产生周期为1000μs的方波。假设没有使用T0. (1)定时时间为1000μs/2,

计数值为1000μs/2/机器周期=500,T0初值为65036 (2)C语言程序: #include sbit P10=P1^0; 主函数: main() { TMOD=0x21; TL0=12; TH0=254; EA=1; ET0=1; TR0=1; while(1); }

T0中断服务函数: void int_t0(void) interrupt 1

{ TL0=12; TH0=254; P10=~P10; }


南阳理工单片机题库-编程题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:广东重点农业龙头企业申报表

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: