Query requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=<>,d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.index
Of,i=,j=i.to
String,k=i.has
Own
Property,l=,m="2.2.3",n=function(a,b)return new n.fn.init(a,b),o=/^FEFFx
A0>+|FEFFx
A0>+$/g,p=/^-ms-/,q=/-()/gi,r=function(a,b)return b.to
Upper
Case();n.fn=n.prototype=jquery:m,constructor:n,selector:"",length:0,to
Array:function()return e.call(this),get:function(a)return null!=a?0>a?this:this:e.call(this),push
Stack:function(a)var b=n.merge(this.constructor(),a);return b.prev
Object=this,b.context=this.context,b,each:function(a)return n.each(this,a),map:function(a)return this.push
Stack(n.map(this,function(b,c)return a.call(b,c,b))),slice:function()return this.push
Stack(e.apply(this,arguments)),first:function()return this.eq(0),last:function()return this.eq(-1),eq:function(a)var b=this.length,c=+a+(0>a?b:0);return this.push
Stack(c>=0&&b>c?>:<>),end:function(),push:g,sort:c.sort,splice:c.splice,n.extend=n.fn.extend=function(),n.extend(expando:"j
Query"+(m+Math.random()).replace(/D/g,""),is
Ready:!0,error:function(a)throw new Error(a),noop:function(),is
Function:function(a)return"function"===n.type(a),is
Array:Array.is
Array,is
Window:function(a)return null!=a&&a===a.window,is
Numeric:function(a)var b=a&&a.to
String();return!n.is
Array(a)&&b-parse
Float(b)+1>=0,is
Plain
Object:function(a),is
Empty
Object:function(a)var b;for(b in a)return!1;return!0,type:function(a)return null==a?a+"":"object"==typeof a,global
Eval:function(a)var b,c=eval;a=n.trim(a),a&&(1===a.index
Of("use strict")?(b=d.create
Element("script"),b.text=a,d.head.append
Child(b).parent
Node.remove
Child(b)):c(a)),camel
Case:function(a)return a.replace(p,"ms-").replace(q,r),node
Name:function(a,b)return a.node
Name&&a.node
Name.to
Lower
Case()===b.to
Lower
Case(),each:function(a,b)var c,d=0;if(s(a))for(c=a.length;c>d;d++)if(b.call(a,d,a)===!1)breakelse for(d in a)if(b.call(a,d,a)===!1)break;return a,trim:function(a)return null==a?"":(a+"").replace(o,""),make
Array:function(a,b)<>;return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?
:a):g.call(c,a)),c,in
Array:function(a,b,c)return null==b?-1:h.call(b,a,c),merge:function(a,b)for(var c=+b.length,d=0,e=a.length;c>d;d++)a=b;return a.length=e,a,grep:function(a,b,c)for(var d,e=<>,f=0,g=a.length,h=!c;g>f;f++)d=!b(a,f),d!==h&&e.push(a);return e,map:function(a,b,c)var d,e,g=0,h=<>;if(s(a))for(d=a.length;d>g;g++)e=b(a,g,c),null!=e&&h.push(e);else for(g in a)e=b(a,g,c),null!=e&&h.push(e);return f.apply(<>,h),guid:1,proxy:function(a,b)n.guid++,f):void 0,now:Date.now,support:l),"function"==typeof Symbol&&(n.fn=c),n.each("Boolean Number String Function Array Date Reg
Exp Object Error Symbol".split(" "),function(a,b)i<"">=b.to
Lower
Case());function s(a)var t=function(a)var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b)return a===b&&(l=!0),0,C=1c;c++)if(a===b)return c;return-1,K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="<\x20\t\r\n\f>",M="(?:\\.|<\w->|<^\x00-\xa0>)+",N="\<"+L+"*("+M+")(?:"+L+"*(<*^$|!~>?=)"+L+"*(?:"((?:\\.|<^\\">)*)"|"((?:\\.|<^\\">)*)"|("+M+"))|)"+L+"*\>",O=":("+M+")(?:\((("((?:\\.|<^\\">)*)"|"((?:\\.|<^\\">)*)")|((?:\\.|<^\\()<\>>|"+N+")*)|.*)\)|)",P=new Reg
Exp(L+"+","g"),Q=new Reg
Exp("^"+L+"+|((?:^|<^\\>)(?:\\.)*)"+L+"+$","g"),R=new Reg
Exp("^"+L+"*,"+L+"*"),S=new Reg
Exp("^"+L+"*(<>+~>|"+L+")"+L+"*"),T=new Reg
Exp("="+L+"*(<^\>"">*?)"+L+"*\>","g"),U=new Reg
Exp(O),V=new Reg
Exp("^"+M+"$"),W=gt,X=/^(?:input|select|textarea|button)$/i,Y=/^hd$/i,Z=/^<^{>+{s*+)|(w+)|.(+))$/,_=/<+~>/,aa=/"|\/g,ba=new Reg
Exp("\\(<\da-f>1,6"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c),da=function()m();tryH.apply(E=I.call(v.child
Nodes),v.child
Nodes),ENodes.length>.node
Typecatch(ea)H=apply:E.length?function(a,b)G.apply(a,I.call(b)):function(a,b)var c=a.length,d=0;while(a=b);a.length=c-1function fa(a,b,d,e)function ga()var a=<>;function b(c,e)return a.push(c+" ")>d.cache
Length&&delete b,b=ereturn bfunction ha(a)return a=!0,afunction ia(a)var b=n.create
Element("div");tryreturn!!a(b)catch(c)return!1finallyb.parent
Node&&b.parent
Node.remove
Child(b),b=nullfunction ja(a,b)var c=a.split("function ka(a,b)C);if(d)return d;if(c)while(c=c.next
Sibling)if(c===b)return-1;return a?1:-1function la(a)return function(b)var c=b.node
Name.to
Lower
Case();return"input"===c&&b.type===afunction ma(a)return function(b)var c=b.node
Name.to
Lower
Case();return("input"===cfunction na(a)return ha(function(b)return b=+b,ha(function(c,d)var e,f=a(<>,c.length,b),g=f.length;while(g--)c>&&(c=!(d=c))))function oa(a)return a&&"undefined"!=typeof a.get
Elements
By
Tag
Name&&ac=fa.support=,f=fa.is
XML=function(a)a).document
Element;return b?"HTML"!==b.node
Name:!1,m=fa.set
Document=function(a),fa.matches=function(a,b)return fa(a,null,null,b),fa.matches
Selector=function(a,b)!r.test(b))&&(!q,fa.contains=function(a,b)return(a.owner
Document,fa.attr=function(a,b),fa.error=function(a)throw new Error("Syntax error, unrecognized expression: "+a),fa.unique
Sort=function(a)var b,d=<>,e=0,f=0;if(l=!c.detect
Duplicates,k=!c.sort
Stable&&a.slice(0),a.sort(B),l)while(b=a)b===a&&(e=d.push(f));while(e--)a.splice(d,1)return k=null,a,e=fa.get
Text=function(a)var b,c="",d=0,f=a.node
Type;if(f)else while(b=a)c+=e(b);return c,d=fa.selectors=)$/,y=/^.

Bạn đang xem: Code điều khiển led đơn

<^:#<.,>*$/;function z(a,b,c)if(n.is
Function(b))return n.grep(a,function(a,d)return!!b.call(a,d,a)!==c);if(b.node
Type)return n.grep(a,function(a)return a===b!==c);if("string"==typeof b)if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)return n.grep(a,function(a)return h.call(b,a)>-1!==c)n.filter=function(a,b,c)var d=b<0>;return c&&(a=":not("+a+")"),1===b.length&&1===d.node
Type?n.find.matches
Selector(d,a)?:<>:n.find.matches(a,n.grep(b,function(a)return 1===a.node
Type)),n.fn.extend(find:function(a)var b,c=this.length,d=<>,e=this;if("string"!=typeof a)return this.push
Stack(n(a).filter(function()for(b=0;c>b;b++)if(n.contains(e,this))return!0));for(b=0;c>b;b++)n.find(a,e,d);return d=this.push
Stack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d,filter:function(a)<>,!1)),not:function(a)return this.push
Stack(z(this,a,is:function(a)<>,!1).length);var A,B=/^(?:s*()<^>>*,n.extend(Deferred:function(a)var b=<<"resolve","done",n.Callbacks("once memory"),"resolved">,<"reject","fail",n.Callbacks("once memory"),"rejected">,<"notify","progress",n.Callbacks("memory")>>,c="pending",d=state:function()return c,always:function()return e.done(arguments).fail(arguments),this,then:function()var a=arguments;return n.Deferred(function(c)n.each(b,function(b,f)var g=n.is
Function(a)&&a;e>(function()var a=g&&g.apply(this,arguments);a&&n.is
Function(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c+"With">(this===d?c.promise():this,g?:arguments))),a=null).promise(),promise:function(a)return null!=a?n.extend(a,d):d,e=;return d.pipe=d.then,n.each(b,function(a,f)var g=f<2>,h=f<3>;d>=g.add,h&&g.add(function()c=h,b<1^a><2>.disable,b<2><2>.lock),e>=function()return e+"With">(this===e?d:this,arguments),this,e+"With">=g.fire
With),d.promise(e),a&&a.call(e,e),e,when:function(a)g.resolve
With(k,c),g.promise());var I;n.fn.ready=function(a)return n.ready.promise().done(a),this,n.extend(is
Ready:!1,ready
Wait:1,hold
Ready:function(a)a?n.ready
Wait++:n.ready(!0),ready:function(a)(I.resolve
With(d,),n.fn.trigger
Handler&&(n(d).trigger
Handler("ready"),n(d).off("ready")))));function J()d.remove
Event
Listener("DOMContent
Loaded",J),a.remove
Event
Listener("load",J),n.ready()n.ready.promise=function(b),n.ready.promise();var K=function(a,b,c,d,e,f,g)var h=0,i=a.length,j=null==c;if("object"===n.type(c))e=!0;for(h in c)K(a,b,h,c,!0,f,g)else if(void 0!==d&&(e=!0,n.is
Function(d),L=function(a)!+a.node
Type;function M()this.expando=n.expando+M.uid++M.uid=1,M.prototype=register:function(a,b)var c=b,cache:function(a),set:function(a,b,c)var d,e=this.cache(a);if("string"==typeof b)e=c;else for(d in b)e=b;return e,get:function(a,b)return void 0===b?this.cache(a):a&&a,access:function(a,b,c)b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camel
Case(b))):(this.set(a,b,c),void 0!==c?c:b),remove:function(a,b)var c,d,e,f=a;if(void 0!==f),has
Data:function(a)var b=a;return void 0!==b&&!n.is
Empty
Object(b);var N=new M,O=new M,P=/^(?:*|<*>)$/,Q=//g;function R(a,b,c)var d;if(void 0===c&&1===a.node
Type)if(d="data-"+b.replace(Q,"-$&").to
Lower
Case(),c=a.get
Attribute(d),"string"==typeof c)tryc="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parse
JSON(c):c;catch(e)O.set(a,b,c)else c=void 0;return cn.extend(has
Data:function(a),data:function(a,b,c)return O.access(a,b,c),remove
Data:function(a,b)O.remove(a,b),_data:function(a,b,c)return N.access(a,b,c),_remove
Data:function(a,b)N.remove(a,b)),n.fn.extend(data:function(a,b)var c,d,e,f=this<0>,g=f&&f.attributes;if(void 0===a)if(this.length&&(e=O.get(f),1===f.node
Type&&!N.get(f,"has
Data
Attrs")))c=g.length;while(c--)g&&(d=g.name,0===d.index
Of("data-")&&(d=n.camel
Case(d.slice(5)),R(f,d,e)));N.set(f,"has
Data
Attrs",!0)return ereturn"object"==typeof a?this.each(function()O.set(this,a)):K(this,function(b)var c,d;if(f&&void 0===b)O.get(f,a.replace(Q,"-$&").to
Lower
Case()),void 0!==c)return c;if(d=n.camel
Case(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return celse d=n.camel
Case(a),this.each(function()var c=O.get(this,d);O.set(this,d,b),a.index
Of("-")>-1&&void 0!==c&&O.set(this,a,b)),null,b,arguments.length>1,null,!0),remove
Data:function(a)return this.each(function()O.remove(this,a))),n.extend(queue:function(a,b,c),dequeue:function(a,b),_queue
Hooks:function(a,b)),n.fn.extend(queue:function(a,b)var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length","">,thead:<1,"","
">,col:<2,"","
">,tr:<2,"","
">,td:<3,"","
">,_default:<0,"","">;$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b)function aa(a,b)N.get(b,"global
Eval"))var ba=/o;o++)if(f=a,f!function()var a=d.create
Document
Fragment(),b=a.append
Child(d.create
Element("div")),c=d.create
Element("input");c.set
Attribute("type","radio"),c.set
Attribute("checked","checked"),c.set
Attribute("name","t"),b.append
Child(c),l.check
Clone=b.clone
Node(!0).clone
Node(!0).last
Child.checked,b.inner
HTML="x",l.no
Clone
Checked=!!b.clone
Node(!0).last
Child.default
Value();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^(<^.>*)(?:.(.+)|)/;function ga()return!0function ha()return!1function ia()tryreturn d.active
Elementcatch(a)function ja(a,b,c,d,e,f)(g.guid=n.guid++)),a.each(function()n.event.add(this,b,e,d,c))n.event={global:,add:function(a,b,c,d,e)var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r)"").split(".").sort(),o&&(l=n.event.special,remove:function(a,b,c,d,e)var f,g,h,i,j,k,l,m,o,p,q,r=N.has
Data(a)&&N.get(a);if(r&&(i=r.events)),dispatch:function(a)a=n.event.fix(a);var b,c,d,f,g,h=<>,i=e.call(arguments),j=(N.get(this,"events"),handlers:function(a,b)return h>*)/>/gi,la=/

4.4 GIẢI THUẬT VÀ LƯU ĐỒ trong lập trình

Giải thuật là 1 trong những trình từ thực hiện công việc nào đó. Lưu đồ là sự việc biểu diễn đồ dùng hoạ của giải thuật. Lưu đồ gia dụng chứa các ký hiệu biểu diễn các bước của giải thuật. Mỗi ký hiệu màn trình diễn một hoạt động.

Các cam kết hiệu được thực hiện trong lưu giữ đồ:

Nhập - Input: biểu đạt vi tinh chỉnh lấy vào để up date
*
 Xử lý – Process: quá trình xử lí biểu hiện
*
 Quyết định – Decision: lựa chọn hướng đi phù hợp
*
.  Bắt đầu và dứt – Start & Stop:
*
*
 Hiển thị - Display/Output: biểu lộ do vi tinh chỉnh xuất ra để tinh chỉnh thiết bị hiển thị
*
 Gọi công tác con: hotline chương trình con
*
. Khi chương trình nhỏ được gọi, chương trình chính tạm dừng chờ mang đến chương trình nhỏ thực hiện chấm dứt thì chương trình chính mới liên tiếp thực hiện. Bắt đầu và hoàn thành chương trình con:
*
 

Bài 3: Viết công tác để những led nối cùng với Port 1 sáng rồi tắt led. Biết led sáng sủa khi biểu thị xuất ra ở tầm mức 1. Minh họa trong hình phía dưới

*

Phân tích: để led sáng sủa rồi tắt, cần làm cho tín hiệu xuất ra nấc 1 một khoảng thời gian để mắt hoàn toàn có thể nhận biết được, kế tiếp làm biểu đạt xuất ra ở mức 0 một khoảng thời gian như trên. Cứ lặp đi tái diễn đoạn trên sẽ thấy hàng đèn sáng rồi tắt.

*
*

Khi ban đầu chương trình, P1 được truyền cực hiếm là #FFH để triển khai các ngõ ra của P1 ở mức 1. đưa sử ta làm lơ lệnh call chương trình bé Delay, công việc cần thực hiện kế tiếp là làm biểu hiện ở P1 về bên mức 0 để triển khai led tắt, vì chưng vậy P1 được truyền quý hiếm là #0H. Những lệnh của vi điều khiển và tinh chỉnh chỉ tiến hành trong một vài chu kì máy, khoảng vài µs, vì thế nếu bỏ lỡ lệnh hotline chương trình nhỏ Delay thì led sáng sau khoảng chừng vài µs, rồi lại tắt khoảng vài µs, quá trình sáng tắt của led quá cấp tốc làm mắt tín đồ chỉ thấy led sáng sủa liên tục. Mong mỏi mắt người nhận biết led sáng lên rồi tắt đi buộc phải làm biểu đạt xuất ra P1 lâu hơn. Chương trình nhỏ Delay thực hiện nhiệm vụ duy trì trạng thái ở ngõ ra lâu hơn bằng cách cho vi điều khiển tiến hành hàng nghìn lần các câu lệnh nào đó không ảnh hưởng đến tâm trạng ngõ ra. Khi lịch trình chính chạm chán lệnh điện thoại tư vấn chương trình con Delay, chương trình chủ yếu sẽ dừng lại chờ mang lại chương trình nhỏ Delay thực hiện ngừng rồi mới thực hiện câu lệnh kế tiếp.

Phụ chú: xem xét lại về nhãn và lịch trình con

Chương trình:

 

Gọi cùng thưc thi chương trình con cho vi điều khiển

công tác thực hiện, gặp mặt câu lệnh Sjmp Tudau  chương trình đang nhảy về nhãn Tudau sinh sống đầu chương trình, và chương trình liên tiếp lại từ đầu, cứ cầm chương trình tái diễn mãi mãi.

LCall Delay lệnh hotline chương trình nhỏ Delay

Chương trình bé trong lịch trình này được bắt đầu bằng nhãn Delay:, khi tất cả lệnh điện thoại tư vấn chương trình con, thì vi tinh chỉnh và điều khiển sẽ đưa sang tiến hành các câu lệnh của công tác con, sau thời điểm chương trình nhỏ hoàn thành, vi điều khiển và tinh chỉnh trở về chương trình chính để thực hiện tiếp.

Lệnh Kt1: Djnz R6,Kt1 Lệnh Djnz R6,Kt1 này giảm R6 đi một đối kháng vị, ví như R6 chưa bằng 0, lịch trình lại khiêu vũ về nhãn Kt1, nhưng mà nhãn Kt1 lại điện thoại tư vấn lại lệnh này, cho nên vì thế toàn câu lệnh triển khai giảm R6 cho đến khi R6 về 0 thì tiến hành lệnh kế tiếp. Câu lệnh này thực hiện, không ảnh hưởng hay chuyển đổi giá trị của các ô ghi nhớ khác, vày vậy ngõ ra từ những Port cũng không chuyển đổi trạng thái.

Tổng thời gian của chương trình bé Delay:

Nếu sử dụng thạch anh 12MHz thì từng chu kì đồ vật là 1µs
Lệnh Mov R7,#0FFH  thực hiện nay 1 lần cùng mất 1 chu kì máy
Lệnh Djnz R6,Kt1 triển khai 255 lần và các lần mất 2 chu kì máy
Đoạn lệnh Kt2: Mov R6,#0FFH Kt1: Djnz R6,Kt1 ;kí hiệu Kt núm cho kiểm soát Djnz R7,Kt2 Đoạn lệnh này được tiến hành 255 lần với những lần gồm (255×2)chu kì đồ vật của lệnh Djnz R6,Kt1 cùng 2 chu kì sản phẩm công nghệ của lệnh Djnz R7,Kt2 với 1 chu kì máy của lệnh Mov R6,#0FFHTổng cùng đoạn bên trên đã thực hiện (1+(255×2)+2)×255)=130815 chu kì máy
Vậy tổng cộng chương trình nhỏ Delay đã tiến hành 130815+1=130816 chu kì máy có nghĩa là đã thực hiện trong 130816µs , khoảng thời gian gần bởi 0.13s
Như vậy vào 1s led sáng khoảng chừng 4 lần đủ duyệt người rất có thể nhận ra được

giả dụ mô phỏng với Pinnacle 52 lịch trình delay phải chạy với mốc giới hạn lặp lại nhiều hơn để thấy được những trạng thái ngõ ra của những Port, cố kỉnh đoạn chương trình con Delay sinh sống trên bởi đoạn chương trình nhỏ như dưới đây khi tế bào phỏng bởi Pinnacle 52

 

 

 

 

. Bài 4. Bài xích tập tự giải.

Làm cho các led nối Port 2 sáng sủa tắt xen kẹt nhau, ( đèn 1,3,5,7 sáng, đèn 2,4,6,8 tắt , sau đó đèn 1,3,5,7 tắt, đèn 2,4,6,8 sáng. Lặp lại quá trình trên.). Biết led sáng sủa khi bộc lộ xuất ở các chân Port 2 ở tại mức 1. Minh họa vào hình phía dưới

Bài viết liên quan

Xem thêm: 12+ Mẹo Cai Sữa Cho Be Bú Trộm Khi Cai Sữa? Có Nên Cho Con Bú Trộm Khi Cai Sữa