久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2024|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

如何使用單片機(jī)模擬一下下降沿?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:695961 發(fā)表于 2020-3-7 18:21 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
正在學(xué)習(xí)STC12C2052AD單片機(jī)中的PCA。


根據(jù)芯片說(shuō)明書中的示例程序:《使用PCA功能擴(kuò)展外部中斷的示例程序》


代碼如下:
  1. #include <STC12C2052AD.H>
  2. #include <INTRINS.H>
  3. #include "UART.H"

  4. sbit LED = P1 ^ 7;
  5. sbit EPCAI = IE ^ 6;

  6. volatile uint8 COMMAND;

  7. // PCA中斷
  8. void PcaIsr() interrupt 6
  9. {
  10.         Prints("觸發(fā)中斷。\r\n");
  11.         CCF0 = 0;
  12.         LED = !LED;
  13. }

  14. void main()
  15. {
  16.         InitUART();                // 初始化串口
  17.        
  18.         CCON = 0;                // 初始化PCA
  19.        
  20.         CL = 0;
  21.         CH = 0;
  22.        
  23.         CMOD = 0;                // 設(shè)置PCA的脈沖為系統(tǒng)時(shí)鐘,并禁止PCA中斷
  24.        
  25.         CCAPM0 = 0x11;        // 允許下降沿捕獲,并使能寄存器CCON的比較捕獲標(biāo)志CCF0,用來(lái)產(chǎn)生中斷
  26.         CR = 1;
  27.         EPCAI = 1;
  28.         EA = 1;
  29.        
  30.        
  31.         while(1)
  32.         {
  33.                 if(COMMAND >= 0x02)
  34.                 {
  35.                         P16 = 0;
  36.                        
  37.                         COMMAND = 0;
  38.                 }
  39.                
  40.                 if(COMMAND == 0x01)
  41.                 {
  42.                        
  43.                         P16 = 1;
  44.                         _nop_();
  45.                         _nop_();
  46.                         _nop_();
  47.                         _nop_();
  48.                         P16 = 0;
  49.                        
  50.                         COMMAND = 0;
  51.                 }
  52.         }
  53. }
復(fù)制代碼

我將P16和P37使用導(dǎo)線連接,P17和LED連接,使用P16模擬一個(gè)下降沿,但是LED沒(méi)有反應(yīng)。有誰(shuí)用過(guò)12C2052AD的PCA的,麻煩幫我看一下,這個(gè)下降沿有問(wèn)題嗎?如何才能觸發(fā)PCA中斷呢?謝謝。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:584814 發(fā)表于 2020-3-7 22:17 | 只看該作者
先拉高小延時(shí)再變低就是一個(gè)下降沿
回復(fù)

使用道具 舉報(bào)

板凳
ID:280000 發(fā)表于 2020-3-9 21:48 | 只看該作者
可以用單片機(jī)定時(shí)器去檢測(cè)
回復(fù)

使用道具 舉報(bào)

地板
ID:401564 發(fā)表于 2020-3-10 00:38 | 只看該作者
你不能用單片機(jī)自身來(lái)產(chǎn)生的
當(dāng)單片機(jī)指令去執(zhí)行的時(shí)候,不管什么中斷,都得等這條指令執(zhí)行完了之后,才去響應(yīng)中斷的
所以,要么是指令執(zhí)行之后端口就是低電平了,PCA并沒(méi)有捕獲到一個(gè)完整的下降沿
要么就壓根就沒(méi)有觸發(fā)中斷
你可以通過(guò)一個(gè)IO串聯(lián)一個(gè)10K電阻給一個(gè)100uF的電容充電,而電容的正極就連著PCA就行了
當(dāng)指令執(zhí)行端口為低電平的時(shí)候,電容是通過(guò)10K電阻來(lái)放電的,時(shí)間要很長(zhǎng),至少能保證指令完成之后才產(chǎn)生下降沿
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩一区二区三区精品 | 欧美黄色一级毛片 | 韩日在线观看视频 | 免费一级黄色录像 | 中文成人在线 | 亚洲天堂一区二区 | 成人av一区二区三区 | 亚洲v日韩v综合v精品v | 久久久网| 亚洲免费一区二区 | 中文字幕在线观看www | 一区二视频 | 国产日韩久久久久69影院 | 精品国产欧美一区二区 | 国产电影一区二区 | 精品一级毛片 | 国产精品毛片无码 | 亚洲欧美日韩中文字幕一区二区三区 | 亚洲欧洲成人av每日更新 | 人人看人人射 | av性色全交蜜桃成熟时 | 99久久久国产精品 | 国产精品久久一区二区三区 | 亚洲一区二区在线免费观看 | 国产精品国产精品国产专区不卡 | 精品福利视频一区二区三区 | 久久99精品国产 | 欧美一区二区视频 | 日韩在线综合 | 精品国产乱码一区二区三区a | 中文字幕亚洲欧美 | 日本一区二区高清视频 | av二区三区| 黄色操视频 | 午夜精品视频在线观看 | 国产精久久久久久 | 中文字幕一区二区三区日韩精品 | av在线免费网站 | 久久久久久久久淑女av国产精品 | 手机av在线 | 91精品国产色综合久久不卡98 |