yzwzfyz 发表于 2018-1-7 12:50 保护程序标志位?什么意思啊,我回答的都是中断程序中有的啊,搞不清楚了。。。。无知确实不是借口,但我真不清楚 |
看来你还不糊糊。 把你回答的,补写到中断服务程序中去。 另外DA A是依据PSW中的半进和进位标记进行调整的,你没有保护PSW!!! 我回你的三点在中断务程序中没有看到。 这与你是不是初学无关,能理解、逻辑清楚就好。初学不可以作借口,态度要正确。 |
yzwzfyz 发表于 2018-1-6 20:45 老师,我是初学,受教了 |
yzwzfyz 发表于 2018-1-6 20:42 1,R0是每4毫秒加1,也就是每中断1次就加一, 2,执行中断时,我将累加器的值压入了堆栈,中断结束POP ACC,弹栈 3,秒不会等于大于60H,CJNE A,60H,INC MIN此时MOV 30H,00对秒请0了 |
本帖最后由 zl2168 于 2018-1-6 21:32 编辑 实例94 模拟电子钟(由80C51定时器产生秒时基) 先Proteus仿真一下,确认有效。 ![]() ![]() 以上摘自张志良编著《80C51单片机实用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,程序(双解c和汇编)语句条条有注解,便于阅读理解,便于自学,可从零基础c语言开始学习。 仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。 |
本帖最后由 zl2168 于 2018-1-6 21:28 编辑 实例93 具有校正功能的时钟1302(LED数码管显示) 先Proteus仿真一下,确认有效。 ![]() 以上摘自张志良编著《80C51单片机实用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,程序(双解c和汇编)语句条条有注解,便于阅读理解,便于自学,可从零基础c语言开始学习。 仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。 |
以分为例: 何时清0?何时+1? |
写程序,先画个框图,框图走通了再写程序。 这么点逻辑关系都搞不定,复杂一些怎么办?学会画框图很重要!. |
1、R0何时+1? 2、如果T0中断发生在: NOPRESS4: JB P3.2,LOOP CALL FILTER MOV A,32H ADD A,#01H...........发生在这里 中断返回后: DA A MOV 32H,A 这时的 DA A之后能保证正确码? 3、当秒会不会=60H、61H、62H呢? |