MCS-51单片机的系统时钟频率:f=12MHz,利用定时器T0,采用工作方式2,T0以中断方式工作, MCS-51单片机的编程题:已知系统晶振频率为12MHZ,采...

MCS-51\u5355\u7247\u673a\u7684\u7cfb\u7edf\u65f6\u949f\u9891\u7387\uff1af=12MHz,\u5229\u7528\u5b9a\u65f6\u5668T0,\u91c7\u7528\u5de5\u4f5c\u65b9\u5f0f2\uff0cT0\u4ee5\u4e2d\u65ad\u65b9\u5f0f\u5de5\u4f5c\uff0c

\u697c\u4e3b\uff1a
1\uff0c\u4f60\u9996\u5148\u8981\u77e5\u9053\uff1aT0,\u91c7\u7528\u5de5\u4f5c\u65b9\u5f0f2\u6700\u5927\u5ef6\u8fdf\u65f6\u95f4\u4e3a256us.
2,\u4f60\u53ef\u4ee5\u901a\u8fc7\u8ba1\u7b97\u516c\u5f0f\uff1a\u521d\u503c=256-t*F/12\u3002t\u4e3a\u5b9a\u65f6\u65f6\u95f4\uff0cF\u5c31\u662f\u4f60\u9009\u7528\u7684\u6676\u4f53\u9891\u7387\u3002
3\uff0c\u56e0\u6b64\uff0c\u4f60\u5148\u7f16\u5199\u4e00\u4e2a50us\u7684T0\u4e2d\u65ad\u51fd\u6570\uff0c350US\u901a\u8fc7\u8bbe\u7f6e\u4e00\u4e2a\u5168\u5c40\u7684\u53d8\u91cf\uff0c\u8ba9\u5b9a\u65f6\u5668T0\u4ea7\u751f7\u6b21\u4e2d\u65ad\u540e\u6e050,\u8fd9\u6837\u4f60\u7684\u4e24\u4e2a\u5ef6\u65f6\u90fd\u517c\u987e\u4e86\u3002
4\uff0c\u4f60\u5728MAIN\u51fd\u6570\u521d\u59cb\u5316\u65f6\uff0c\u8981\u5c06\u5de5\u4f5c\u65b9\u5f0f\u4e3a\u4f60\u8bbe\u7f6e\u7684\u65b9\u5f0f\u3002
\u5982\u6709\u5176\u5b83\u95ee\u9898\uff0c\u4f60go
on...........

\u4e2d\u65ad\u670d\u52a1\u51fd\u6570\u5c31\u4e0d\u7528\u5199\u4e86\u5427\uff0c\u5c31\u5199\u4e2a\u521d\u59cb\u5316\u51fd\u6570\uff1a
void inition()
{
TOMD=0x01;//\u9009\u62e9\u5b9a\u65f6\u56680\u5e76\u9009\u62e9\u5de5\u4f5c\u65b9\u5f0f1
TH0=(65536-50000)/256;
TL0=(65536-500000)%6;
EA=1;
ET0=1;
TR0=1;
}
\u8fd9\u6837\u521d\u59cb\u5316\u5c31\u6ca1\u95ee\u9898\u4e86\uff0c\u53e6\u5916\u8981\u5b9e\u73b01S\u5ef6\u65f6\uff0c\u9700\u8981\u5728\u4e2d\u65ad\u51fd\u6570\u91cc\u52a0\u4e2a\u53d8\u91cf\u81ea\u589e\uff0c\u56e0\u4e3a\u6211\u5b9a\u4e49\u7684\u662f50ms\u4e2d\u65ad\u4e00\u6b21\uff0c\u90a3\u4e48\u8fd9\u4e2a\u53d8\u91cf\u503c\u81ea\u589e\u523020\u540e\u5c31\u4ee3\u88681s\u65f6\u95f4\u5230\uff0c\u6e05\u96f6\u8fd9\u4e2a\u53d8\u91cf\u4e4b\u540e\u65b9\u53ef\u5199\u4f60\u7684\u670d\u52a1\u7a0b\u5e8f\u3002
\u5e0c\u671b\u6211\u7684\u56de\u7b54\u80fd\u5e2e\u52a9\u5230\u4f60\u3002

楼主:
1,你首先要知道:T0,采用工作方式2最大延迟时间为256us.
2,你可以通过计算公式:初值=256-t*F/12。t为定时时间,F就是你选用的晶体频率。
3,因此,你先编写一个50us的T0中断函数,350US通过设置一个全局的变量,让定时器T0产生7次中断后清0,这样你的两个延时都兼顾了。
4,你在MAIN函数初始化时,要将工作方式为你设置的方式。
如有其它问题,你go on...........

#include<reg51.h>
sbit P1_0=P1^0;
unsigned char i;
main()
{
i=0;
TMOD=0x02; //定时器0方式1
EA=1; //允许中断
ET0=1; //TI中断
TR0=1; //TI计数
while(1);
}

void timer_int(void) interrupt 1
{

TH0=199;//重新装入,考虑程序延时问题,大约6-7us
if(i==1)P1_0=0;
else if(i==7)
{
i=0;
P1_0=1;
}
i++; //方波实现
}

工作方式1不行么

  • MCS-51鍗曠墖鏈虹殑MCS-51鍗曠墖鏈虹郴鍒楃畝浠
    绛旓細瀹冧笌浠ュ墠鐨勬満鍨嬬浉姣旓紝鍔熻兘澧炲己浜嗚澶氾紝灏卞叾鎸囦护鍜岃繍琛岄熷害鑰岃█锛岃秴杩囦簡INTEL8085鐨凜PU鍜孼80鐨凜PU锛屾垚涓哄伐涓氭帶鍒绯荤粺涓緝涓虹悊鎯崇殑鏈虹銆傝緝鏃╃殑MCS-51鍏稿瀷鏃堕挓涓12MHz锛岃岀洰鍓嶄笌MCS-51鍗曠墖鏈鍏煎鐨勪竴浜鍗曠墖鏈虹殑鏃堕挓棰鐜囪揪鍒40MHz鐢氳嚦鏇撮珮锛岀幇鍦ㄥ凡鏈400MHz鐨勫崟鐗囨満闂笘銆
  • 璁MCS-51鐨勫崟鐗囨満鏃堕挓棰鐜囦负12Mhz璇风紪鍐欑▼搴忓湪P1.7鑴氳緭鍑哄懆鏈熶负1s,鑴夊...
    绛旓細include<reg51.h>#define uchar unsigned charsbit pluse=P1^7;void delay(int a){uchar i;while(a--)for(i=0;i<120;i++);}main(){while(1) { pluse=1; delay(1); pluse=0; delay(999); }}
  • mcs-51鏃堕挓棰鐜囦负12MHz鑳戒笉鑳借幏寰楀埌9600bps鐨勬尝鐗圭巼?
    绛旓細鎵浠ワ紝浠ュ埄鐢≧S232鎺ュ彛瀹炵幇FPGA涓庤绠楁満杩涜閫氫俊涓轰緥锛屽叿浣撶殑娉㈢壒鐜囨槸鐢辫璁¤呯‘瀹氱殑銆傝鍒╃敤FPGA鐨勬椂閽熸簮鍒嗛寰楀埌浜嗕竴涓4800Hz鐨勬椂閽淇″彿锛岃浣犺浼犺緭鐨勬暟鎹綅闀夸负6浣嶏紝鍦ㄥ彂閫佽繖6浣嶆暟鎹墠锛屼綘鍙互涓鐩村彂閫1锛屼互姝ゅ憡璇夎绠楁満浣犺繕娌″彂閫佹湁鏁堢殑鏁版嵁锛岀劧鍚庝綘鍦ㄦ椂閽熶笂鍗囨部鍒版潵鏃跺彂閫0锛屼互姝ゅ憡璇夎绠楁満浣犲氨瑕...
  • 浠涔堟槸MCS-51鍗曠墖鏈虹殑鏃堕挓鍛ㄦ湡涓庢満鍣ㄥ懆鏈,瀹冧滑涔嬮棿鏈変粈涔堝叧绯?鑻ュ崟鐗囨満...
    绛旓細1.鏃堕挓鍛ㄦ湡鍗虫櫠鎸殑鍗曚綅鏃堕棿鍙戝嚭鐨勮剦鍐叉暟锛12MHZ=12脳10鐨6娆℃柟锛屽嵆姣忕鍙戝嚭12000000涓剦鍐蹭俊鍙凤紝閭d箞鍙戝嚭涓涓剦鍐茬殑鏃堕棿灏辨槸鏃堕挓鍛ㄦ湡锛屽嵆1/12寰銆2.涓涓満鍣ㄥ懆鏈熺瓑浜12涓椂閽熷懆鏈燂紝鎵浠ユ槸1寰銆
  • 浠涔堟槸MCS-51鍗曠墖鏈虹殑闇囪崱鍛ㄦ湡,鐘舵佸懆鏈,鏈哄櫒鍛ㄦ湡,鎸囦护鍛ㄦ湡銆傚綋閲囩敤6...
    绛旓細涓涓姸鎬佸懆鏈熶负锛2/6M绉掋傛満鍣ㄥ懆鏈燂細涓涓満鍣ㄥ懆鏈熷寘鍚6涓姸鎬佸懆鏈燂紝涔熷氨鏄12涓鏃堕挓鍛ㄦ湡锛屼竴涓姸鎬佸懆鏈熶负12/6M绉掋傛寚浠ゅ懆鏈燂細瀹冩槸鎸嘋PU瀹屾垚涓鏉℃搷浣滅殑鎵闇鐨勫叏閮ㄦ椂闂淬傛瘡鏉℃寚浠ゆ墽琛屾椂闂撮兘鏄湁涓涓垨鍑犱釜鏈哄櫒鍛ㄦ湡缁勬垚銆MCS-51绯荤粺涓锛屾湁鍗曞懆鏈熸寚浠ゃ佸弻鍛ㄦ湡鎸囦护鍜屽洓鍛ㄦ湡鎸囦护銆
  • MCS-51鍗曠墖鏈虹殑闇囪崱鍛ㄦ湡,鏃堕挓鍛ㄦ湡,鏈哄櫒鍛ㄦ湡,鎸囦护鍛ㄦ湡鏄浣曞畾涔夌殑?
    绛旓細闇囪崱鍛ㄦ湡锛氭病鎬庝箞鍚紝鐪嬩綘鍚庨潰鐨勬弿杩帮紝搴旇鏄寚 鏅舵尟闇囪崱鍛ㄦ湡銆傚氨鏄櫠鎸骇鐢熺殑姝e鸡娉㈢殑鍛ㄦ湡銆鏃堕挓鍛ㄦ湡锛氬浜庢爣鍑51鍗曠墖鏈鏉ヨ锛屽氨鏄 鏅舵尟闇囪崱鍛ㄦ湡銆傛満鍣ㄥ懆鏈燂細鏍囧噯51鍗曠墖鏈猴紝閲囩敤12T妯″紡鏈哄櫒鍛ㄦ湡锛屽嵆 1涓満鍣ㄥ懆鏈=12鍊嶆椂閽熷懆鏈熴傚綋闇囪崱棰戠巼涓12MHz鏃讹紝鏈哄櫒鍛ㄦ湡=12/12MHz=1us=0.001ms 鎸囦护鍛ㄦ湡锛氬氨鏄...
  • 鏈汉鑷MCS-51(AT89C52)鍗曠墖鏈,鐪嬩功涓婄殑鍐呭缁欏紕娣蜂贡浜,鎸崱鍛ㄦ湡...
    绛旓細锛嶏紞锛 妤间富缁欏嚭鐨勫浘鐗囷紝鏃堕挓鍛ㄦ湡锛屾爣閿欎簡銆傚畠鎶婄姸鎬佸懆鏈燂紝鍐欐垚浜嗘椂閽熷懆鏈熴傚懙鍛碉紝涓嶅悓鍑″搷锛侊紒锛佹椂閽熷懆鏈燂紝鍜屾尟鑽″懆鏈燂紝搴旇鏄畬鍏ㄧ浉鍚岀殑銆備竴涓姸鎬佸懆鏈燂紝鏈変袱涓婃媿銆嬶紝鍗充袱涓椂閽熷懆鏈熴傝儭浜氱惁缂栫殑銆鍗曠墖鏈鍘熺悊鍙婂簲鐢绯荤粺璁捐銆嬶紝瑗垮畨鐢靛瓙绉戞妧澶у鍑虹増绀 锛嶏紞杩欐湰涔︼紝鐪嬫潵鏄紝鏍囨柊绔嬪紓涔嬩綔銆
  • mcs-51鍗曠墖鏈浠12MHZ鐨勯鐜囧伐浣,鍒欐瘡娆″惊鐜湰韬鍗犵敤澶氬皯us?_鐧惧害...
    绛旓細mcs-51鍗曠墖鏈浠12MHZ鐨勯鐜囧伐浣滐紝鏈哄櫒鍛ㄦ湡鏄1us锛屾眹缂栨寚浠や腑锛屽彲浠ョ敤浣滃惊鐜殑鎸囦护鏄疍JNZ锛岄渶瑕佷袱涓満鍣ㄥ懆鏈燂紝鎵浠ワ紝鐢―JNZ鎸囦护姣忔寰幆鏈韩瑕佸崰鐢2us銆侰璇█鐨勫惊鐜鍙ュ彲涓嶅ソ纭畾锛屼笌for 璇彞涓殑鍙橀噺浣嶆暟锛8浣嶆垨16浣嶏級鍙婂彉閲忕殑鍒濆煎強澧為暱鍊奸兘鏈夊叧绯伙紝浣嗚偗瀹氭槸澶氫簬2us鐨勶紝鍥犱负C璇█绋嬪簭缂栬瘧鍚庣殑姹囩紪...
  • MCS_51鍗曠墖鏈涓插彛鎸夋尝鐗圭巼涓1.2KHZ宸ヤ綔,璇曠‘瀹氬畾鏃跺櫒t1鐨勫垵濮嬪,鏅舵尟fo...
    绛旓細fosc = 12MHz锛屼簬鏄绯荤粺鏃堕挓fsys = 12MHz/12 = 1MHz 鑻ユ寜1.2kHz宸ヤ綔锛屽垯瀹氭椂鍛ㄦ湡涓1MHz/1.2kHz 鈮 833 鍥犳T1鍒濆鍊煎簲涓65536 - 833 = 64703 = FCBFh锛屽洜姝H1 = 0xFC锛孴L1 = 0xBF銆
  • 褰撳閮ㄧ殑闇囪崱棰戠巼鏄8mhz鏃,mcs51鍗曠墖鏈虹殑鏃堕挓鍛ㄦ湡鏄灏
    绛旓細鎸崱棰戠巼锛屼篃灏辨槸鏃堕挓棰鐜囥傛椂閽熷懆鏈燂紝鏄椂閽熼鐜囩殑鍊掓暟銆傚嵆 1/8 us銆鍗曠墖鏈轰腑甯哥敤鐨勬槸锛氭満鍣ㄥ懆鏈熴傛満鍣ㄥ懆鏈燂紳12 * 鏃堕挓鍛ㄦ湡锛1.5 us銆
  • 扩展阅读:c51单片机简易电子时钟 ... mcs51单片机时钟电路图 ... 51单片机设计简易时钟 ... mcs-51单片机的最小系统 ... 51单片机电子钟原理图 ... 51单片机时钟c程序 ... mcs-51的时钟最高频率是 ... mcs-51单片机系统简介 ... 画出mcs51单片机时钟电路 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网