两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

1.書(shū)寫(xiě)優(yōu)化

我們所寫(xiě)過(guò)的下面這些

TH0=0XB8;

TL0=0X00;

或者

TH0=0X4C;

TL0=0X00;

如果代碼沒(méi)有注釋我們根本不知道這是要定時(shí)多長(zhǎng)時(shí)間,所以為了增加程序的可讀性,我們重新優(yōu)化這兩處的書(shū)寫(xiě)。

首先要明白在程序書(shū)寫(xiě)中,以前說(shuō)過(guò),賦值給寄存器的值可以書(shū)寫(xiě)成十六進(jìn)制的數(shù)也可以是十進(jìn)制的數(shù)。大家知道,TH0填充的是高8位,TL0是低8位,那么如果這個(gè)16位的變量的十進(jìn)制值是258,二進(jìn)制的值就是

0000000100000010

所以高八位的值為1 (258/256=1)

低八位的值為2        (258%256=2)

“258/256=1”和“258%256=2”的意思以前已經(jīng)講解過(guò)了,

我們也可以認(rèn)為“258/256=1”是0x0102(258)右移了8位等于0x0001,簡(jiǎn)化書(shū)寫(xiě)就是0x01。

而“258%256=2”是0x0102(258)舍去了高8位等于0x0002,簡(jiǎn)化書(shū)寫(xiě)就是0x02。


再比如,一個(gè)16位的變量的十進(jìn)制值是47104,二進(jìn)制的值就是

1011100000000000

所以高八位的值為184  (47104/256=184)

低八位的值為0             (47104%256=0)

進(jìn)制

那我們要定時(shí)20ms的話,給TH0和TL0賦值方式也可以為

TH0=184;

TL0=0;


我們?cè)倥e一個(gè)例子,假設(shè)定時(shí)的時(shí)間為1ms。

算出要填充“16位的變量”的值為64614=0xFC66

按照之前的寫(xiě)法就是

TH0=0xFC;     (0xFC=252)

TL0=0x66;      (0x66=102)

而我們像下面這樣寫(xiě)也可以達(dá)到相同的效果

TH0=( 65536-( 0.001/(12/11059200) ) )/256

TL0=( 65536-( 0.001/(12/11059200) ) )%256

因?yàn)?/p>

( 65536-( 0.001/(12/11059200) ) )/256 = 252

( 65536-( 0.001/(12/11059200) ) )%256 = 102

 

有了這個(gè)思路,我們就可以把賦初值的寫(xiě)法改為一串?dāng)?shù)字公式即可

比如我們定時(shí)的最小單位時(shí)間為1微秒,那么定時(shí)50000微秒(50毫秒)就可以這樣寫(xiě)來(lái)給TH0和TL0賦初值

TH0=( 65536-( (50000/1000000)/(12/11059200) )/256;

TL0=( 65536-( (50000/1000000)/(12/11059200) )%256;

這里的(50000/1000000)代表定時(shí)的是0.05秒,也就是50毫秒。

如果要定時(shí)其他毫秒數(shù), 數(shù)字公式中的其他數(shù)字我們不需要修改,只需要把50000改為想定時(shí)的時(shí)間就可以了,計(jì)算過(guò)程交給單片機(jī)算出來(lái),我們也就不需要自己用計(jì)算器把最終值算出來(lái)再賦給TH0和TL0這么麻煩了。

我們?cè)倩?jiǎn)上式就是

TH0=( 65536-( (50000*110592)/120000) )/256;

TH0=( 65536-( (50000*110592)/120000) )%256;

點(diǎn)贊(0)

C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會(huì)寫(xiě)的:零基礎(chǔ)C語(yǔ)言學(xué)練課程

解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程

從零到寫(xiě)出一個(gè)爬蟲(chóng)的Python編程課程

只會(huì)語(yǔ)法寫(xiě)不出代碼?手把手帶你寫(xiě)100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門(mén)課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)